<?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>172247</bug_id>
          
          <creation_ts>2017-05-17 15:18:32 -0700</creation_ts>
          <short_desc>Update web-platform-tests tools</short_desc>
          <delta_ts>2017-05-18 10:08:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>172218</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>lforschler</cc>
    
    <cc>sam</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1309859</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-17 15:18:32 -0700</bug_when>
    <thetext>Update web-platform-tests tools</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1309949</commentid>
    <comment_count>1</comment_count>
      <attachid>310471</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-17 19:12:14 -0700</bug_when>
    <thetext>Created attachment 310471
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1309956</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-05-17 19:28:56 -0700</bug_when>
    <thetext>Can you update resources/testharness.js as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1309958</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-17 19:37:04 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #2)
&gt; Can you update resources/testharness.js as well?

I think the patch is already big enough and it was already out of sync with the WPT one. I do not mind doing it in a follow-up though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1309965</commentid>
    <comment_count>4</comment_count>
      <attachid>310478</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-17 20:11:14 -0700</bug_when>
    <thetext>Created attachment 310478
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1309982</commentid>
    <comment_count>5</comment_count>
      <attachid>310478</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-05-17 21:29:32 -0700</bug_when>
    <thetext>Comment on attachment 310478
Patch

Attachment 310478 did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/3766560

New failing tests:
imported/w3c/web-platform-tests/resource-timing/idlharness.html
imported/w3c/web-platform-tests/html/dom/reflection-embedded.html
imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1309983</commentid>
    <comment_count>6</comment_count>
      <attachid>310485</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-05-17 21:29:33 -0700</bug_when>
    <thetext>Created attachment 310485
Archive of layout-test-results from ews121 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews121  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1309985</commentid>
    <comment_count>7</comment_count>
      <attachid>310486</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-17 21:33:39 -0700</bug_when>
    <thetext>Created attachment 310486
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310120</commentid>
    <comment_count>8</comment_count>
      <attachid>310486</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-18 10:08:02 -0700</bug_when>
    <thetext>Comment on attachment 310486
Patch

Clearing flags on attachment: 310486

Committed r217047: &lt;http://trac.webkit.org/changeset/217047&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310121</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-18 10:08:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310471</attachid>
            <date>2017-05-17 19:12:14 -0700</date>
            <delta_ts>2017-05-17 20:11:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172247-20170517191210.patch</filename>
            <type>text/plain</type>
            <size>1050367</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MDA0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDczNmViY2Y3YzY1NTZmYzEwNzVl
NTBhM2QxNGVhZTYzOTQzODdlZi4uZjA1NjI4ODMxMDEyZWRhOWE2MzJmOTE5NjNkNWI1MjFkNWI2
NzI4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDE3LTA1LTE3ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cyB0b29s
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMjQ3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvaW50
ZXJmYWNlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcmVzb3VyY2VzL2lkbGhhcm5lc3MuanM6
CisgICAgICAgIChzZXQgZXhwb3NlZCk6CisgICAgICAgIChJZGxBcnJheS5wcm90b3R5cGUudGVz
dCk6CisgICAgICAgIChJZGxBcnJheS5wcm90b3R5cGUuYXNzZXJ0X3R5cGVfaXMpOgorICAgICAg
ICAoSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3NlbGYpOgorICAgICAgICAoSWRsSW50ZXJm
YWNlLnByb3RvdHlwZS5hZGRfaXRlcmFibGVfbWVtYmVycyk6CisgICAgICAgIChJZGxJbnRlcmZh
Y2UucHJvdG90eXBlLnRlc3RfbWVtYmVycyk6CisgICAgICAgIChJZGxJbnRlcmZhY2UucHJvdG90
eXBlLnRlc3RfcHJpbWFyeV9pbnRlcmZhY2Vfb2YpOgorICAgICAgICAoSWRsSW50ZXJmYWNlLnBy
b3RvdHlwZS50ZXN0X2ludGVyZmFjZV9vZik6CisgICAgICAgIChJZGxJbnRlcmZhY2UucHJvdG90
eXBlLmRvX2ludGVyZmFjZV9hdHRyaWJ1dGVfYXNzZXJ0cyk6CisgICAgICAgIChJZGxUeXBlZGVm
KToKKworMjAxNy0wNS0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAg
ICAgIFNldHRpbmcgVVJMLnNlYXJjaCB0byAnJyByZXN1bHRzIGluIGEgc3RyaW5naWZpZWQgVVJM
IGVuZGluZyBpbiAnPycKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2MjM0NQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzE4MDA0NDE+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwYTMyNjYzZGU0NGMzMGZmYTZjZDc4NTZhZWY3MjE0
YWVmOTAzZWE2Li45ZWI0OWMzYjI5MjQwYTE1MzkxYTVhODQxOTIxMjg0OWZlMThlNjkyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNjczIEBACiAyMDE3LTA1LTE3
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgVXBkYXRlIHdlYi1w
bGF0Zm9ybS10ZXN0cyB0b29scworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcyMjQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmViYXNlbGluZSB0ZXN0cyBub3cgdGhhdCBXUFQgdG9vbHMgd2VyZSB1cGRh
dGVkLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvaWRsaGFybmVzcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvaWRsaGFy
bmVzcy53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9G
aWxlQVBJL3VybC9tdWx0aS1nbG9iYWwtb3JpZ2luLXNlcmlhbGl6YXRpb24uc3ViLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50
ZXJmYWNlcy53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJDcnlwdG9BUEkvZGVyaXZlX2JpdHNfa2V5cy90ZXN0X2VjZGhfYml0cy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9kZXJpdmVfYml0
c19rZXlzL3Rlc3RfZWNkaF9rZXlzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvaWRsaGFybmVzcy53b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9mb3Jt
ZGF0YS1mb3JlYWNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
WE1MSHR0cFJlcXVlc3QvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNldHlwZS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3RpbWVvdXQtc3luYy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2JhY2tncm91bmQtZmV0
Y2gvaW50ZXJmYWNlcy53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jb3JzL29yaWdpbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWdpc3RyeS9kZWZpbmUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
cGFyc2VyL3BhcnNlci1mYWxsc2JhY2stdG8tdW5rbm93bi1lbGVtZW50LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY29udGVu
dFR5cGUvY29udGVudFR5cGUvY29udGVudHR5cGVfZGF0YXVyaV8wMS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jb250ZW50VHlw
ZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRhdXJpXzAyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZW5jb2RpbmcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9pbnRlZ3JpdHkt
c2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2hlYWRlcnMvaGVhZGVycy1pZGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9yZXNw
b25zZS1pZGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9oci10
aW1lL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4t
b2JqZWN0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
YnJvd3NlcnMvb3JpZ2luL2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3Rz
Lmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24t
ZW1iZWRkZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJl
Y3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFnLWNo
YW5naW5nLTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJl
Y3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFnLWNo
YW5naW5nLTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJl
Y3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvbW92aW5nLWRvY3VtZW50cy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Rv
Y3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1t
ZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9ub3QtaW4tc2hhZG93LXRyZWUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250
ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFjZXMvSFRNTEVsZW1lbnQvSFRNTFRyYWNrRWxlbWVu
dC9zcmNsYW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1Rl
eHRUcmFjay9sYW5ndWFnZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVhZHkt
c3RhdGVzL2F1dG9wbGF5LXdpdGgtc2xvdy10ZXh0LXRyYWNrcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vz
c2luZy1tb2RlbC0yL3dpbmRvdy1vbmVycm9yLXBhcnNlLWVycm9yLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9wcm9j
ZXNzaW5nLW1vZGVsLTIvd2luZG93LW9uZXJyb3ItcnVudGltZS1lcnJvci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcv
cHJvY2Vzc2luZy1tb2RlbC0yL3dpbmRvdy1vbmVycm9yLXJ1bnRpbWUtZXJyb3ItdGhyb3ctZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ub3RpZmljYXRpb25zL2lu
dGVyZmFjZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9ydC1pbml0aWF0b3JUeXBlLW90aGVyLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2lkbGhhcm5lc3Mu
anM6CisgICAgICAgIChzZXQgZXhwb3NlZCk6CisgICAgICAgIChJZGxBcnJheS5wcm90b3R5cGUu
dGVzdCk6CisgICAgICAgIChJZGxBcnJheS5wcm90b3R5cGUuYXNzZXJ0X3R5cGVfaXMpOgorICAg
ICAgICAoSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3NlbGYpOgorICAgICAgICAoSWRsSW50
ZXJmYWNlLnByb3RvdHlwZS5hZGRfaXRlcmFibGVfbWVtYmVycyk6CisgICAgICAgIChJZGxJbnRl
cmZhY2UucHJvdG90eXBlLnRlc3RfbWVtYmVyX2l0ZXJhYmxlKToKKyAgICAgICAgKElkbEludGVy
ZmFjZS5wcm90b3R5cGUudGVzdF9tZW1iZXJzKToKKyAgICAgICAgKElkbEludGVyZmFjZS5wcm90
b3R5cGUudGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZik6CisgICAgICAgIChJZGxJbnRlcmZhY2Uu
cHJvdG90eXBlLnRlc3RfaW50ZXJmYWNlX29mKToKKyAgICAgICAgKElkbEludGVyZmFjZS5wcm90
b3R5cGUuZG9faW50ZXJmYWNlX2F0dHJpYnV0ZV9hc3NlcnRzKToKKyAgICAgICAgKElkbFR5cGVk
ZWYpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM6CisgICAgICAgIChXaW5kb3dUZXN0RW52aXJvbm1lbnQpOgorICAgICAgICAoV2luZG93VGVz
dEVudmlyb25tZW50LnByb3RvdHlwZS5fZGlzcGF0Y2gpOgorICAgICAgICAoV2luZG93VGVzdEVu
dmlyb25tZW50LnByb3RvdHlwZS5fZm9yRWFjaF93aW5kb3dzKToKKyAgICAgICAgKFNlcnZpY2VX
b3JrZXJUZXN0RW52aXJvbm1lbnQpOgorICAgICAgICAocHJvbWlzZV90ZXN0KToKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudC1wcm90b3R5cGUtY3VycmVu
dFNjcmlwdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvYnl0ZS1sZW5ndGgtcXVldWluZy1zdHJhdGVneS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL2NvdW50LXF1ZXVpbmctc3Ry
YXRlZ3kuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc3RyZWFtcy9waXBpbmcvY2xvc2UtcHJvcGFnYXRpb24tYmFja3dhcmQuc2hhcmVkd29y
a2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9w
aXBpbmcvY2xvc2UtcHJvcGFnYXRpb24tZm9yd2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9lcnJvci1wcm9w
YWdhdGlvbi1iYWNrd2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9lcnJvci1wcm9wYWdhdGlvbi1mb3J3YXJk
LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3N0cmVhbXMvcGlwaW5nL2Zsb3ctY29udHJvbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9nZW5lcmFsLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZ2Vu
ZXJhbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3BpcGluZy9tdWx0aXBsZS1wcm9wYWdhdGlvbi5zaGFyZWR3b3JrZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9w
aXBlLXRocm91Z2guc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvdHJhbnNmb3JtLXN0cmVhbXMuc2hhcmVkd29ya2Vy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFk
YWJsZS1ieXRlLXN0cmVhbXMvZ2VuZXJhbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvYmFkLXN0
cmF0ZWdpZXMuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2JhZC11bmRlcmx5aW5nLXNvdXJjZXMu
c2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2JyYW5kLWNoZWNrcy5zaGFyZWR3b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0
cmVhbXMvY2FuY2VsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9jb3VudC1xdWV1aW5nLXN0cmF0
ZWd5LWludGVncmF0aW9uLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9kZWZhdWx0LXJlYWRlci5z
aGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9z
dHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS5z
aGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9z
dHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZ2FyYmFnZS1jb2xsZWN0aW9uLnNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFi
bGUtc3RyZWFtcy9nZW5lcmFsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9waXBlLXRocm91Z2gu
c2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbS1yZWFkZXIuc2hhcmVkd29y
a2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9y
ZWFkYWJsZS1zdHJlYW1zL3RlZS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvdGVtcGxhdGVkLnNo
YXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2Jyb3dzZXJ1dGlscy9fX2luaXRfXy5weTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy9icm93c2VyLnB5OiBBZGRlZC4KKyAgICAgICAg
KHBhdGgpOgorICAgICAgICAoQnJvd3Nlcik6CisgICAgICAgIChCcm93c2VyLmluc3RhbGwpOgor
ICAgICAgICAoQnJvd3Nlci5pbnN0YWxsX3dlYmRyaXZlcik6CisgICAgICAgIChCcm93c2VyLnZl
cnNpb24pOgorICAgICAgICAoQnJvd3Nlci5yZXF1aXJlbWVudHMpOgorICAgICAgICAoQnJvd3Nl
ci5wcmVwYXJlX2Vudmlyb25tZW50KToKKyAgICAgICAgKEZpcmVmb3gpOgorICAgICAgICAoRmly
ZWZveC5wbGF0Zm9ybV9zdHJpbmcpOgorICAgICAgICAoRmlyZWZveC5wbGF0Zm9ybV9zdHJpbmdf
Z2Vja29kcml2ZXIpOgorICAgICAgICAoRmlyZWZveC5sYXRlc3RfbmlnaHRseV9saXN0aW5nKToK
KyAgICAgICAgKEZpcmVmb3guZ2V0X2Zyb21fbmlnaHRseSk6CisgICAgICAgIChGaXJlZm94Lmlu
c3RhbGwpOgorICAgICAgICAoRmlyZWZveC5maW5kX2JpbmFyeSk6CisgICAgICAgIChGaXJlZm94
LmZpbmRfY2VydHV0aWwpOgorICAgICAgICAoRmlyZWZveC5maW5kX3dlYmRyaXZlcik6CisgICAg
ICAgIChGaXJlZm94Lmluc3RhbGxfY2VydHV0aWwpOgorICAgICAgICAoRmlyZWZveC5pbnN0YWxs
X3ByZWZzKToKKyAgICAgICAgKEZpcmVmb3guX2xhdGVzdF9nZWNrb2RyaXZlcl92ZXJzaW9uKToK
KyAgICAgICAgKEZpcmVmb3guaW5zdGFsbF93ZWJkcml2ZXIpOgorICAgICAgICAoRmlyZWZveC52
ZXJzaW9uKToKKyAgICAgICAgKENocm9tZSk6CisgICAgICAgIChDaHJvbWUucGxhdGZvcm1fc3Ry
aW5nKToKKyAgICAgICAgKENocm9tZS5pbnN0YWxsKToKKyAgICAgICAgKENocm9tZS5maW5kX3dl
YmRyaXZlcik6CisgICAgICAgIChDaHJvbWUuaW5zdGFsbF93ZWJkcml2ZXIpOgorICAgICAgICAo
Q2hyb21lLnZlcnNpb24pOgorICAgICAgICAoQ2hyb21lLnByZXBhcmVfZW52aXJvbm1lbnQpOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMvdXRpbHMucHk6
IEFkZGVkLgorICAgICAgICAoS3dhcmdzKToKKyAgICAgICAgKEt3YXJncy5zZXRfaWZfbm9uZSk6
CisgICAgICAgIChjYWxsKToKKyAgICAgICAgKGdldF9naXRfY21kKToKKyAgICAgICAgKGdldF9n
aXRfY21kLmdpdCk6CisgICAgICAgIChzZWVrYWJsZSk6CisgICAgICAgICh1bnRhcik6CisgICAg
ICAgICh1bnppcCk6CisgICAgICAgIChwd2QpOgorICAgICAgICAocHdkLl9faW5pdF9fKToKKyAg
ICAgICAgKHB3ZC5fX2VudGVyX18pOgorICAgICAgICAocHdkLl9fZXhpdF9fKToKKyAgICAgICAg
KGdldCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy92
aXJ0dWFsZW52LnB5OiBBZGRlZC4KKyAgICAgICAgKFZpcnR1YWxlbnYpOgorICAgICAgICAoVmly
dHVhbGVudi5fX2luaXRfXyk6CisgICAgICAgIChWaXJ0dWFsZW52LmV4aXN0cyk6CisgICAgICAg
IChWaXJ0dWFsZW52LmNyZWF0ZSk6CisgICAgICAgIChWaXJ0dWFsZW52LmJpbl9wYXRoKToKKyAg
ICAgICAgKFZpcnR1YWxlbnYucGlwX3BhdGgpOgorICAgICAgICAoVmlydHVhbGVudi5hY3RpdmF0
ZSk6CisgICAgICAgIChWaXJ0dWFsZW52LnN0YXJ0KToKKyAgICAgICAgKFZpcnR1YWxlbnYuaW5z
dGFsbF9yZXF1aXJlbWVudHMpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9i
cm93c2VydXRpbHMvdzNjLWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMv
cGVyZm9ybWFuY2UvdzNjLWltcG9ydC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2NvbmZ0ZXN0LnB5OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9n
aXRpZ25vcmUvdGVzdHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2dpdGlnbm9yZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9jL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9maWx0ZXJzL3czYy1pbXBv
cnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi9zZXJpYWxpemVyL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy9wZXJmb3JtYW5jZS93M2MtaW1wb3J0
LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVs
aWIvdGVzdHMvdGVzdGRhdGEvZW5jb2RpbmcvY2hhcmRldC93M2MtaW1wb3J0LmxvZzoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVz
dGRhdGEvZW5jb2RpbmcvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3Nhbml0aXplci93M2Mt
aW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
aHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvc2VyaWFsaXplci93M2MtaW1wb3J0LmxvZzoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVz
dGRhdGEvc25pZmZlci93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdG9rZW5pemVyL3czYy1p
bXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS90cmVlLWNvbnN0cnVjdGlvbi9zY3JpcHRlZC93M2MtaW1w
b3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRt
bDVsaWIvdGVzdHMvdGVzdGRhdGEvdHJlZS1jb25zdHJ1Y3Rpb24vdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3Rz
L3Rlc3RkYXRhL3ZhbGlkYXRvci93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdzNjLWltcG9y
dC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1
bGliL3Rlc3RzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVlYWRhcHRlcnMvdzNjLWltcG9ydC5sb2c6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWVidWls
ZGVycy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
aHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUvdzNjLWltcG9y
dC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1
bGliL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9o
dG1sNWxpYi91dGlscy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2xpbnQvbGludC5weToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL21hdGNoL3N1cHBvcnQvdG9vbHMvdzNj
LWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVz
dHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRjaC9zdXBwb3J0L3czYy1pbXBvcnQubG9nOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUv
bWF0Y2gvdG9vbHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRjaC93M2MtaW1wb3J0LmxvZzoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3Mt
dW5pcXVlL25vdC1tYXRjaC9zdXBwb3J0L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbm90LW1hdGNo
L3Rvb2xzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbm90LW1hdGNoL3czYy1pbXBvcnQubG9nOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11
bmlxdWUvc2VsZWN0b3JzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvc3VwcG9ydC90b29scy93M2Mt
aW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0
cy9kdW1teS9jc3MtdW5pcXVlL3N1cHBvcnQvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS90b29scy93
M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90
ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy93b3JrLWluLXByb2dyZXNzL2Zv
by9zdXBwb3J0L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9saW50L3Rlc3RzL2R1bW15L3JlZi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS93M2MtaW1wb3J0LmxvZzoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy93M2MtaW1wb3J0Lmxv
ZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC93M2MtaW1wb3J0Lmxv
ZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbG9jYWxwYXRocy5weToKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvY2F0YWxvZy93M2MtaW1w
b3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdGVz
dHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21h
bmlmZXN0L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXRlc3QuaW5pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3Qv
X3B5dGVzdC9fY29kZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvYXNzZXJ0aW9uL3czYy1pbXBvcnQubG9nOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC92ZW5kb3JlZF9wYWNr
YWdlcy9wbHVnZ3ktMC4zLjEuZGlzdC1pbmZvL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC92ZW5kb3JlZF9wYWNrYWdlcy93
M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0
L19weXRlc3QvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5dGVzdC9iZW5jaC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9fdGVtcGxhdGVzL3czYy1pbXBvcnQubG9nOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190aGVtZXMvZmxh
c2svc3RhdGljL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXRlc3QvZG9jL2VuL190aGVtZXMvZmxhc2svdzNjLWltcG9ydC5sb2c6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RoZW1lcy93M2MtaW1w
b3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9l
bi9hbm5vdW5jZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Fzc2VydGlvbi9nbG9iYWxfdGVzdG1vZHVsZV9j
b25maWcvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9hc3NlcnRpb24vdzNjLWltcG9ydC5sb2c6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlz
ZXR1cC9zdWIxL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvY29zdGx5c2V0dXAvc3ViMi93M2MtaW1wb3J0Lmxv
ZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFt
cGxlL2Nvc3RseXNldHVwL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvbGF5b3V0MS93M2MtaW1wb3J0LmxvZzoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxl
L25vbnB5dGhvbi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL3B5MnB5My93M2MtaW1wb3J0LmxvZzoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL3czYy1p
bXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9j
L2VuL2ltZy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHl0ZXN0L2RvYy9lbi90ZXN0L3BsdWdpbi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi90ZXN0L3czYy1pbXBvcnQubG9n
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3czYy1p
bXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZXh0
cmEvc2V0dXAtcHkudGVzdC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L2V4dHJhL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy9jb2RlL3czYy1pbXBvcnQubG9nOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy9jeF9mcmVl
emUvdGVzdHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5dGVzdC90ZXN0aW5nL2N4X2ZyZWV6ZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvcHl0aG9uL3czYy1pbXBvcnQu
bG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy93
M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0
L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdl
YnNvY2tldC9zcmMvZXhhbXBsZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL21vZF9weXdlYnNvY2tldC9oYW5kc2hha2Uv
dzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vi
c29ja2V0L3NyYy9tb2RfcHl3ZWJzb2NrZXQvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L2NlcnQvdzNjLWltcG9y
dC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3Ny
Yy90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL3Rlc3QvdGVzdGRhdGEvaGFu
ZGxlcnMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5d2Vic29ja2V0L3NyYy90ZXN0L3Rlc3RkYXRhL3czYy1pbXBvcnQubG9nOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC93M2MtaW1wb3J0
LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3Jj
L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9ydW5u
ZXIvY3NzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9ydW5uZXIvZm9udHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3J1bm5lci93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvc2NyaXB0cy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvc2VydmUvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3NpeC9kb2N1bWVudGF0aW9uL3czYy1pbXBvcnQubG9nOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zaXgvdzNjLWltcG9ydC5sb2c6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NzbHV0aWxzL3czYy1pbXBvcnQubG9nOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90b3guaW5pOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL1JFQURNRS5tZDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvd2ViZHJpdmVyL2NsaWVudC5weToKKyAgICAg
ICAgKEVsZW1lbnQuc2VuZF9rZXlzKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd2ViZHJpdmVyL3dlYmRyaXZlci93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVuLnB5OiBBZGRlZC4KKyAgICAgICAgKFdwdHJ1bm5lckhl
bHBBY3Rpb24pOgorICAgICAgICAoV3B0cnVubmVySGVscEFjdGlvbi5fX2luaXRfXyk6CisgICAg
ICAgIChXcHRydW5uZXJIZWxwQWN0aW9uLl9fY2FsbF9fKToKKyAgICAgICAgKGNyZWF0ZV9wYXJz
ZXIpOgorICAgICAgICAoZXhpdCk6CisgICAgICAgIChhcmdzX2dlbmVyYWwpOgorICAgICAgICAo
Y2hlY2tfZW52aXJvbik6CisgICAgICAgIChwcm9tcHRfaW5zdGFsbCk6CisgICAgICAgIChhcmdz
X2ZpcmVmb3gpOgorICAgICAgICAoc2V0dXBfZmlyZWZveCk6CisgICAgICAgIChhcmdzX2Nocm9t
ZSk6CisgICAgICAgIChzZXR1cF9jaHJvbWUpOgorICAgICAgICAoc2V0dXBfZWRnZSk6CisgICAg
ICAgIChzZXR1cF9zYXVjZSk6CisgICAgICAgIChzZXR1cF9zZXJ2byk6CisgICAgICAgIChzZXR1
cF93cHRydW5uZXIpOgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci9MSUNFTlNFOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9MSUNFTlNFLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvTUFOSUZFU1QuaW46IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvUkVBRE1FLnJzdDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL01h
a2VmaWxlOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL2RvY3MvYXJjaGl0ZWN0dXJlLnN2ZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL2NvbmYucHk6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9kZXNpZ24ucnN0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvZXhwZWN0
YXRpb24ucnN0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL2RvY3MvaW5kZXgucnN0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvbWFrZS5iYXQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy91c2FnZS5yc3Q6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy93M2MtaW1wb3J0
LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci9yZXF1aXJlbWVudHMudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19jaHJvbWUudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19maXJlZm94
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci9yZXF1aXJlbWVudHNfc2F1Y2UudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19zZXJ2by50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvc2V0dXAucHk6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRh
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbC5pbmk6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfY3ljbGVfZmFpbC5odG1sLmluaTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF9t
YXRjaF9mYWlsLmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoX2Zh
aWwuaHRtbC5pbmk6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfcmVmX3RpbWVvdXQuaHRtbC5p
bmk6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC5odG1sLmluaTogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRh
L3JlZnRlc3QvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L19f
ZGlyX18uaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdGVzdF9wcmVm
X3Jlc2V0Lmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdzNj
LWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2ltZy93M2MtaW1wb3J0LmxvZy4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5l
c3MvZmlyZWZveC90ZXN0X3ByZWZfc2V0Lmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mv
ZmlyZWZveC93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvdzNjLWltcG9ydC5sb2cuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRh
L3Rlc3RoYXJuZXNzL3N1YmRpci9fX2Rpcl9fLmluaTogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3N1
YmRpci90ZXN0aGFybmVzc18xLmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mvc3ViZGly
L3czYy1pbXBvcnQubG9nOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL2Vu
Y29kaW5nL2NoYXJkZXQvdzNjLWltcG9ydC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNz
XzAuaHRtbC5pbmk6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc19lcnJvci5odG1s
LmluaTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVvdXQuaHRtbC5pbmk6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC9tZXRhZGF0YS90ZXN0aGFybmVzcy93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvdzNj
LWltcG9ydC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3QuY2ZnLmV4YW1wbGU6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0LnB5OiBBZGRlZC4KKyAgICAgICAgKHNldHVw
X3dwdHJ1bm5lcl9sb2dnaW5nKToKKyAgICAgICAgKFJlc3VsdEhhbmRsZXIpOgorICAgICAgICAo
UmVzdWx0SGFuZGxlci5fX2luaXRfXyk6CisgICAgICAgIChSZXN1bHRIYW5kbGVyLnNldF9wcm9k
dWN0KToKKyAgICAgICAgKFJlc3VsdEhhbmRsZXIuX19jYWxsX18pOgorICAgICAgICAodGVzdF9z
ZXR0aW5ncyk6CisgICAgICAgIChyZWFkX2NvbmZpZyk6CisgICAgICAgIChydW5fdGVzdHMpOgor
ICAgICAgICAoc2V0dGluZ3NfdG9fYXJndik6CisgICAgICAgIChzZXRfZnJvbV9hcmdzKToKKyAg
ICAgICAgKHJ1bik6CisgICAgICAgIChnZXRfcGFyc2VyKToKKyAgICAgICAgKG1haW4pOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9y
ZWZ0ZXN0L2dyZWVuLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLXJlZi1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1yZWYuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRh
L3JlZnRlc3QvZ3JlZW4uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0cHMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3Qv
cmVmdGVzdC5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2FuZF9mYWlsLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rl
c3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2FuZF9mYWlsXzAtcmVmLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0
ZXN0L3JlZnRlc3RfY3ljbGUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVz
dF9jeWNsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlXzAtcmVmLWV4cGVj
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMC1yZWYuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rl
c3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV8xLXJlZi1leHBlY3RlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlXzEtcmVmLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfY3ljbGVfZmFpbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X2N5Y2xlX2ZhaWwuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsXzAt
cmVmLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfZmFpbF8w
LXJlZi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9tYXRjaF9mYWlsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRl
c3RfbWF0Y2hfZmFpbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2guaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rl
c3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNtYXRjaF9mYWlsLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVz
dC9yZWZ0ZXN0X29yXzAtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9v
cl8wLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfcmVmX3RpbWVvdXQtZXhwZWN0ZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvcmVmdGVzdC9yZWZ0ZXN0X3RpbWVvdXQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRl
c3QvcmVmdGVzdF90aW1lb3V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfd2FpdF8w
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfd2FpdF8wLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90
ZXN0ZGF0YS9yZWZ0ZXN0L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmly
ZWZveC9zdWJkaXIvdGVzdF9wcmVmX2luaGVyaXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNz
L2ZpcmVmb3gvc3ViZGlyL3Rlc3RfcHJlZl9yZXNldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5l
c3MvZmlyZWZveC9zdWJkaXIvdzNjLWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
dGVzdHMvcGVyZm9ybWFuY2UvdzNjLWltcG9ydC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gv
dGVzdF9wcmVmX2Rpci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC90ZXN0X3By
ZWZfc2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3czYy1pbXBvcnQubG9n
OiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2dpdGlnbm9yZS93M2MtaW1wb3J0LmxvZy4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3Rl
c3RoYXJuZXNzXzEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3N1YmRpci93M2MtaW1wb3J0
LmxvZzogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weS9kb2MvaW1nL3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0
aGFybmVzcy5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfMC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfZXJyb3IuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX2xvbmdfdGltZW91dC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
dGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfdGltZW91dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5l
c3MvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi90ZXN0cy90ZXN0ZGF0YS9zYW5pdGl6ZXIvdzNjLWltcG9ydC5sb2cuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90b3guaW5pOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3czYy1pbXBvcnQubG9nOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci5kZWZhdWx0LmluaTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvX19pbml0X18ucHk6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL19faW5pdF9f
LnB5OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9icm93c2Vycy9iMmdfc2V0dXAvY2VydHRlc3RfYXBwLnppcDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJv
d3NlcnMvYjJnX3NldHVwL3czYy1pbXBvcnQubG9nOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2RvYy9pbWcvdzNjLWltcG9y
dC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvYnJvd3NlcnMvYmFzZS5weTogQWRkZWQuCisgICAgICAgIChjbWRfYXJnKToKKyAgICAg
ICAgKGdldF9mcmVlX3BvcnQpOgorICAgICAgICAoYnJvd3Nlcl9jb21tYW5kKToKKyAgICAgICAg
KEJyb3dzZXJFcnJvcik6CisgICAgICAgIChCcm93c2VyKToKKyAgICAgICAgKEJyb3dzZXIuX19p
bml0X18pOgorICAgICAgICAoQnJvd3Nlci5fX2luaXRfXy5zZXJ2aW5nKToKKyAgICAgICAgKEJy
b3dzZXIuX19pbml0X18uYWxzbyk6CisgICAgICAgIChCcm93c2VyLl9fZW50ZXJfXyk6CisgICAg
ICAgIChCcm93c2VyLl9fZXhpdF9fKToKKyAgICAgICAgKEJyb3dzZXIuc2V0dXApOgorICAgICAg
ICAoQnJvd3Nlci5zdGFydCk6CisgICAgICAgIChCcm93c2VyLnN0b3ApOgorICAgICAgICAoQnJv
d3Nlci5waWQpOgorICAgICAgICAoQnJvd3Nlci5pc19hbGl2ZSk6CisgICAgICAgIChCcm93c2Vy
LnNldHVwX3NzbCk6CisgICAgICAgIChCcm93c2VyLmNsZWFudXApOgorICAgICAgICAoQnJvd3Nl
ci5leGVjdXRvcl9icm93c2VyKToKKyAgICAgICAgKEJyb3dzZXIuZXhlY3V0b3JfYnJvd3Nlci5m
b3IpOgorICAgICAgICAoQnJvd3Nlci5sb2dfY3Jhc2gpOgorICAgICAgICAoTnVsbEJyb3dzZXIp
OgorICAgICAgICAoTnVsbEJyb3dzZXIuX19pbml0X18pOgorICAgICAgICAoTnVsbEJyb3dzZXIu
c3RhcnQpOgorICAgICAgICAoTnVsbEJyb3dzZXIuc3RvcCk6CisgICAgICAgIChOdWxsQnJvd3Nl
ci5waWQpOgorICAgICAgICAoTnVsbEJyb3dzZXIuaXNfYWxpdmUpOgorICAgICAgICAoTnVsbEJy
b3dzZXIub25fb3V0cHV0KToKKyAgICAgICAgKEV4ZWN1dG9yQnJvd3Nlcik6CisgICAgICAgIChF
eGVjdXRvckJyb3dzZXIuX19pbml0X18pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2Nocm9tZS5weTogQWRkZWQuCisgICAg
ICAgIChjaGVja19hcmdzKToKKyAgICAgICAgKGJyb3dzZXJfa3dhcmdzKToKKyAgICAgICAgKGV4
ZWN1dG9yX2t3YXJncyk6CisgICAgICAgIChlbnZfZXh0cmFzKToKKyAgICAgICAgKGVudl9vcHRp
b25zKToKKyAgICAgICAgKENocm9tZUJyb3dzZXIpOgorICAgICAgICAoQ2hyb21lQnJvd3Nlci5f
X2luaXRfXyk6CisgICAgICAgIChDaHJvbWVCcm93c2VyLnN0YXJ0KToKKyAgICAgICAgKENocm9t
ZUJyb3dzZXIuc3RvcCk6CisgICAgICAgIChDaHJvbWVCcm93c2VyLnBpZCk6CisgICAgICAgIChD
aHJvbWVCcm93c2VyLmlzX2FsaXZlKToKKyAgICAgICAgKENocm9tZUJyb3dzZXIuY2xlYW51cCk6
CisgICAgICAgIChDaHJvbWVCcm93c2VyLmV4ZWN1dG9yX2Jyb3dzZXIpOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2VkZ2Uu
cHk6IEFkZGVkLgorICAgICAgICAoY2hlY2tfYXJncyk6CisgICAgICAgIChicm93c2VyX2t3YXJn
cyk6CisgICAgICAgIChleGVjdXRvcl9rd2FyZ3MpOgorICAgICAgICAoZW52X2V4dHJhcyk6Cisg
ICAgICAgIChlbnZfb3B0aW9ucyk6CisgICAgICAgIChFZGdlQnJvd3Nlcik6CisgICAgICAgIChF
ZGdlQnJvd3Nlci5fX2luaXRfXyk6CisgICAgICAgIChFZGdlQnJvd3Nlci5zdGFydCk6CisgICAg
ICAgIChFZGdlQnJvd3Nlci5zdG9wKToKKyAgICAgICAgKEVkZ2VCcm93c2VyLnBpZCk6CisgICAg
ICAgIChFZGdlQnJvd3Nlci5pc19hbGl2ZSk6CisgICAgICAgIChFZGdlQnJvd3Nlci5jbGVhbnVw
KToKKyAgICAgICAgKEVkZ2VCcm93c2VyLmV4ZWN1dG9yX2Jyb3dzZXIpOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2ZpcmVm
b3gucHk6IEFkZGVkLgorICAgICAgICAoY2hlY2tfYXJncyk6CisgICAgICAgIChicm93c2VyX2t3
YXJncyk6CisgICAgICAgIChleGVjdXRvcl9rd2FyZ3MpOgorICAgICAgICAoZW52X2V4dHJhcyk6
CisgICAgICAgIChlbnZfb3B0aW9ucyk6CisgICAgICAgIChydW5faW5mb19leHRyYXMpOgorICAg
ICAgICAodXBkYXRlX3Byb3BlcnRpZXMpOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIpOgorICAg
ICAgICAoRmlyZWZveEJyb3dzZXIuX19pbml0X18pOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIu
c3RhcnQpOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIubG9hZF9wcmVmcyk6CisgICAgICAgIChG
aXJlZm94QnJvd3Nlci5zdG9wKToKKyAgICAgICAgKEZpcmVmb3hCcm93c2VyLnBpZCk6CisgICAg
ICAgIChGaXJlZm94QnJvd3Nlci5vbl9vdXRwdXQpOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIu
aXNfYWxpdmUpOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIuY2xlYW51cCk6CisgICAgICAgIChG
aXJlZm94QnJvd3Nlci5leGVjdXRvcl9icm93c2VyKToKKyAgICAgICAgKEZpcmVmb3hCcm93c2Vy
LmxvZ19jcmFzaCk6CisgICAgICAgIChGaXJlZm94QnJvd3Nlci5zZXR1cF9zc2wpOgorICAgICAg
ICAoRmlyZWZveEJyb3dzZXIuc2V0dXBfc3NsLmNlcnR1dGlsKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZS5weTog
QWRkZWQuCisgICAgICAgIChnZXRfY2FwYWJpbGl0aWVzKToKKyAgICAgICAgKGdldF9zYXVjZV9j
b25maWcpOgorICAgICAgICAoY2hlY2tfYXJncyk6CisgICAgICAgIChicm93c2VyX2t3YXJncyk6
CisgICAgICAgIChleGVjdXRvcl9rd2FyZ3MpOgorICAgICAgICAoZW52X2V4dHJhcyk6CisgICAg
ICAgIChlbnZfb3B0aW9ucyk6CisgICAgICAgIChnZXRfdGFyKToKKyAgICAgICAgKFNhdWNlQ29u
bmVjdCk6CisgICAgICAgIChTYXVjZUNvbm5lY3QuX19pbml0X18pOgorICAgICAgICAoU2F1Y2VD
b25uZWN0Ll9fZW50ZXJfXyk6CisgICAgICAgIChTYXVjZUNvbm5lY3QuX19leGl0X18pOgorICAg
ICAgICAoU2F1Y2VDb25uZWN0LnVwbG9hZF9wcmVydW5fZXhlYyk6CisgICAgICAgIChTYXVjZUV4
Y2VwdGlvbik6CisgICAgICAgIChTYXVjZUJyb3dzZXIpOgorICAgICAgICAoU2F1Y2VCcm93c2Vy
Ll9faW5pdF9fKToKKyAgICAgICAgKFNhdWNlQnJvd3Nlci5zdGFydCk6CisgICAgICAgIChTYXVj
ZUJyb3dzZXIuc3RvcCk6CisgICAgICAgIChTYXVjZUJyb3dzZXIucGlkKToKKyAgICAgICAgKFNh
dWNlQnJvd3Nlci5pc19hbGl2ZSk6CisgICAgICAgIChTYXVjZUJyb3dzZXIuY2xlYW51cCk6Cisg
ICAgICAgIChTYXVjZUJyb3dzZXIuZXhlY3V0b3JfYnJvd3Nlcik6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0
dXAvZWRnZS1wcmVydW4uYmF0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZV9zZXR1cC9zYWZhcmktcHJl
cnVuLnNoOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZV9zZXR1cC93M2MtaW1wb3J0LmxvZzogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9n
aXRpZ25vcmUvdGVzdHMvdzNjLWltcG9ydC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2VydmVyLWxvY2F0aW9ucy50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2Jyb3dzZXJzL3NlcnZvLnB5OiBBZGRlZC4KKyAgICAgICAgKGNoZWNrX2FyZ3Mp
OgorICAgICAgICAoYnJvd3Nlcl9rd2FyZ3MpOgorICAgICAgICAoZXhlY3V0b3Jfa3dhcmdzKToK
KyAgICAgICAgKGVudl9leHRyYXMpOgorICAgICAgICAoZW52X29wdGlvbnMpOgorICAgICAgICAo
dXBkYXRlX3Byb3BlcnRpZXMpOgorICAgICAgICAoU2Vydm9Ccm93c2VyKToKKyAgICAgICAgKFNl
cnZvQnJvd3Nlci5fX2luaXRfXyk6CisgICAgICAgIChTZXJ2b0Jyb3dzZXIuZXhlY3V0b3JfYnJv
d3Nlcik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvYnJvd3NlcnMvc2Vydm9kcml2ZXIucHk6IEFkZGVkLgorICAgICAgICAoY2hlY2tfYXJn
cyk6CisgICAgICAgIChicm93c2VyX2t3YXJncyk6CisgICAgICAgIChleGVjdXRvcl9rd2FyZ3Mp
OgorICAgICAgICAoZW52X2V4dHJhcyk6CisgICAgICAgIChlbnZfb3B0aW9ucyk6CisgICAgICAg
ICh1cGRhdGVfcHJvcGVydGllcyk6CisgICAgICAgIChtYWtlX2hvc3RzX2ZpbGUpOgorICAgICAg
ICAoU2Vydm9XZWJEcml2ZXJCcm93c2VyKToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyQnJvd3Nl
ci5fX2luaXRfXyk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlckJyb3dzZXIuc3RhcnQpOgorICAg
ICAgICAoU2Vydm9XZWJEcml2ZXJCcm93c2VyLnN0b3ApOgorICAgICAgICAoU2Vydm9XZWJEcml2
ZXJCcm93c2VyLnBpZCk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlckJyb3dzZXIub25fb3V0cHV0
KToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyQnJvd3Nlci5pc19hbGl2ZSk6CisgICAgICAgIChT
ZXJ2b1dlYkRyaXZlckJyb3dzZXIuY2xlYW51cCk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlckJy
b3dzZXIuZXhlY3V0b3JfYnJvd3Nlcik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Nv
bmZpZy5qc29uOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9jb25maWcucHk6IEFkZGVkLgorICAgICAgICAoQ29uZmlnRGljdCk6
CisgICAgICAgIChDb25maWdEaWN0Ll9faW5pdF9fKToKKyAgICAgICAgKENvbmZpZ0RpY3QuZ2V0
X3BhdGgpOgorICAgICAgICAocmVhZCk6CisgICAgICAgIChwYXRoKToKKyAgICAgICAgKGxvYWQp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2Vudmlyb25tZW50LnB5OiBBZGRlZC4KKyAgICAgICAgKGRvX2RlbGF5ZWRfaW1wb3J0cyk6Cisg
ICAgICAgIChzZXJ2ZV9wYXRoKToKKyAgICAgICAgKGdldF9zc2xfa3dhcmdzKToKKyAgICAgICAg
KHNzbF9lbnYpOgorICAgICAgICAoVGVzdEVudmlyb25tZW50RXJyb3IpOgorICAgICAgICAoVGVz
dEVudmlyb25tZW50KToKKyAgICAgICAgKFRlc3RFbnZpcm9ubWVudC5fX2luaXRfXyk6CisgICAg
ICAgIChUZXN0RW52aXJvbm1lbnQuX19lbnRlcl9fKToKKyAgICAgICAgKFRlc3RFbnZpcm9ubWVu
dC5fX2V4aXRfXyk6CisgICAgICAgIChUZXN0RW52aXJvbm1lbnQuaWdub3JlX2ludGVycnVwdHMp
OgorICAgICAgICAoVGVzdEVudmlyb25tZW50LnByb2Nlc3NfaW50ZXJydXB0cyk6CisgICAgICAg
IChUZXN0RW52aXJvbm1lbnQubG9hZF9jb25maWcpOgorICAgICAgICAoVGVzdEVudmlyb25tZW50
LnNldHVwX3NlcnZlcl9sb2dnaW5nKToKKyAgICAgICAgKFRlc3RFbnZpcm9ubWVudC5nZXRfcm91
dGVzKToKKyAgICAgICAgKFRlc3RFbnZpcm9ubWVudC5lbnN1cmVfc3RhcnRlZCk6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3Jz
L19faW5pdF9fLnB5OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvYmFzZS5weTogQWRkZWQuCisgICAgICAgIChl
eGVjdXRvcl9rd2FyZ3MpOgorICAgICAgICAoc3RyaXBfc2VydmVyKToKKyAgICAgICAgKFRlc3Ro
YXJuZXNzUmVzdWx0Q29udmVydGVyKToKKyAgICAgICAgKFRlc3RoYXJuZXNzUmVzdWx0Q29udmVy
dGVyLl9fY2FsbF9fKToKKyAgICAgICAgKHJlZnRlc3RfcmVzdWx0X2NvbnZlcnRlcik6CisgICAg
ICAgIChweXRlc3RfcmVzdWx0X2NvbnZlcnRlcik6CisgICAgICAgIChFeGVjdXRvckV4Y2VwdGlv
bik6CisgICAgICAgIChFeGVjdXRvckV4Y2VwdGlvbi5fX2luaXRfXyk6CisgICAgICAgIChUZXN0
RXhlY3V0b3IpOgorICAgICAgICAoVGVzdEV4ZWN1dG9yLl9faW5pdF9fKToKKyAgICAgICAgKFRl
c3RFeGVjdXRvci5fX2luaXRfXy5mb3IpOgorICAgICAgICAoVGVzdEV4ZWN1dG9yLmxvZ2dlcik6
CisgICAgICAgIChUZXN0RXhlY3V0b3Iuc2V0dXApOgorICAgICAgICAoVGVzdEV4ZWN1dG9yLnRl
YXJkb3duKToKKyAgICAgICAgKFRlc3RFeGVjdXRvci5ydW5fdGVzdCk6CisgICAgICAgIChUZXN0
RXhlY3V0b3Iuc2VydmVyX3VybCk6CisgICAgICAgIChUZXN0RXhlY3V0b3IudGVzdF91cmwpOgor
ICAgICAgICAoVGVzdEV4ZWN1dG9yLmRvX3Rlc3QpOgorICAgICAgICAoVGVzdEV4ZWN1dG9yLm9u
X2Vudmlyb25tZW50X2NoYW5nZSk6CisgICAgICAgIChUZXN0RXhlY3V0b3IucmVzdWx0X2Zyb21f
ZXhjZXB0aW9uKToKKyAgICAgICAgKFRlc3RoYXJuZXNzRXhlY3V0b3IpOgorICAgICAgICAoUmVm
VGVzdEV4ZWN1dG9yKToKKyAgICAgICAgKFJlZlRlc3RFeGVjdXRvci5fX2luaXRfXyk6CisgICAg
ICAgIChSZWZUZXN0SW1wbGVtZW50YXRpb24pOgorICAgICAgICAoUmVmVGVzdEltcGxlbWVudGF0
aW9uLl9faW5pdF9fKToKKyAgICAgICAgKFJlZlRlc3RJbXBsZW1lbnRhdGlvbi5sb2dnZXIpOgor
ICAgICAgICAoUmVmVGVzdEltcGxlbWVudGF0aW9uLmdldF9oYXNoKToKKyAgICAgICAgKFJlZlRl
c3RJbXBsZW1lbnRhdGlvbi5pc19wYXNzKToKKyAgICAgICAgKFJlZlRlc3RJbXBsZW1lbnRhdGlv
bi5ydW5fdGVzdCk6CisgICAgICAgIChSZWZUZXN0SW1wbGVtZW50YXRpb24ucmV0YWtlX3NjcmVl
bnNob3QpOgorICAgICAgICAoV2RzcGVjRXhlY3V0b3IpOgorICAgICAgICAoUHJvdG9jb2wpOgor
ICAgICAgICAoUHJvdG9jb2wuX19pbml0X18pOgorICAgICAgICAoUHJvdG9jb2wubG9nZ2VyKToK
KyAgICAgICAgKFByb3RvY29sLnNldHVwKToKKyAgICAgICAgKFByb3RvY29sLnRlYXJkb3duKToK
KyAgICAgICAgKFByb3RvY29sLndhaXQpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9leGVjdXRvcm1hcmlvbmV0dGUucHk6
IEFkZGVkLgorICAgICAgICAoZG9fZGVsYXllZF9pbXBvcnRzKToKKyAgICAgICAgKE1hcmlvbmV0
dGVQcm90b2NvbCk6CisgICAgICAgIChNYXJpb25ldHRlUHJvdG9jb2wuX19pbml0X18pOgorICAg
ICAgICAoTWFyaW9uZXR0ZVByb3RvY29sLnNldHVwKToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90
b2NvbC50ZWFyZG93bik6CisgICAgICAgIChNYXJpb25ldHRlUHJvdG9jb2wuaXNfYWxpdmUpOgor
ICAgICAgICAoTWFyaW9uZXR0ZVByb3RvY29sLmFmdGVyX2Nvbm5lY3QpOgorICAgICAgICAoTWFy
aW9uZXR0ZVByb3RvY29sLnNldF90aW1lb3V0KToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2Nv
bC5sb2FkX3J1bm5lcik6CisgICAgICAgIChNYXJpb25ldHRlUHJvdG9jb2wuY2xvc2Vfb2xkX3dp
bmRvd3MpOgorICAgICAgICAoTWFyaW9uZXR0ZVByb3RvY29sLndhaXQpOgorICAgICAgICAoTWFy
aW9uZXR0ZVByb3RvY29sLm9uX2Vudmlyb25tZW50X2NoYW5nZSk6CisgICAgICAgIChNYXJpb25l
dHRlUHJvdG9jb2wuc2V0X3ByZWYpOgorICAgICAgICAoTWFyaW9uZXR0ZVByb3RvY29sLmNsZWFy
X3VzZXJfcHJlZik6CisgICAgICAgIChNYXJpb25ldHRlUHJvdG9jb2wuZ2V0X3ByZWYpOgorICAg
ICAgICAoTWFyaW9uZXR0ZVByb3RvY29sLmNsZWFyX29yaWdpbik6CisgICAgICAgIChSZW1vdGVN
YXJpb25ldHRlUHJvdG9jb2wpOgorICAgICAgICAoUmVtb3RlTWFyaW9uZXR0ZVByb3RvY29sLl9f
aW5pdF9fKToKKyAgICAgICAgKFJlbW90ZU1hcmlvbmV0dGVQcm90b2NvbC5zZXR1cCk6CisgICAg
ICAgIChSZW1vdGVNYXJpb25ldHRlUHJvdG9jb2wudGVhcmRvd24pOgorICAgICAgICAoUmVtb3Rl
TWFyaW9uZXR0ZVByb3RvY29sLmlzX2FsaXZlKToKKyAgICAgICAgKEV4ZWN1dGVBc3luY1Njcmlw
dFJ1bik6CisgICAgICAgIChFeGVjdXRlQXN5bmNTY3JpcHRSdW4uX19pbml0X18pOgorICAgICAg
ICAoRXhlY3V0ZUFzeW5jU2NyaXB0UnVuLnJ1bik6CisgICAgICAgIChFeGVjdXRlQXN5bmNTY3Jp
cHRSdW4uX3J1bik6CisgICAgICAgIChNYXJpb25ldHRlVGVzdGhhcm5lc3NFeGVjdXRvcik6Cisg
ICAgICAgIChNYXJpb25ldHRlVGVzdGhhcm5lc3NFeGVjdXRvci5fX2luaXRfXyk6CisgICAgICAg
IChNYXJpb25ldHRlVGVzdGhhcm5lc3NFeGVjdXRvci5pc19hbGl2ZSk6CisgICAgICAgIChNYXJp
b25ldHRlVGVzdGhhcm5lc3NFeGVjdXRvci5vbl9lbnZpcm9ubWVudF9jaGFuZ2UpOgorICAgICAg
ICAoTWFyaW9uZXR0ZVRlc3RoYXJuZXNzRXhlY3V0b3IuZG9fdGVzdCk6CisgICAgICAgIChNYXJp
b25ldHRlVGVzdGhhcm5lc3NFeGVjdXRvci5kb190ZXN0aGFybmVzcyk6CisgICAgICAgIChNYXJp
b25ldHRlUmVmVGVzdEV4ZWN1dG9yKToKKyAgICAgICAgKE1hcmlvbmV0dGVSZWZUZXN0RXhlY3V0
b3IuX19pbml0X18pOgorICAgICAgICAoTWFyaW9uZXR0ZVJlZlRlc3RFeGVjdXRvci5pc19hbGl2
ZSk6CisgICAgICAgIChNYXJpb25ldHRlUmVmVGVzdEV4ZWN1dG9yLm9uX2Vudmlyb25tZW50X2No
YW5nZSk6CisgICAgICAgIChNYXJpb25ldHRlUmVmVGVzdEV4ZWN1dG9yLmRvX3Rlc3QpOgorICAg
ICAgICAoTWFyaW9uZXR0ZVJlZlRlc3RFeGVjdXRvci5zY3JlZW5zaG90KToKKyAgICAgICAgKE1h
cmlvbmV0dGVSZWZUZXN0RXhlY3V0b3IuX3NjcmVlbnNob3QpOgorICAgICAgICAoV2RzcGVjUnVu
KToKKyAgICAgICAgKFdkc3BlY1J1bi5fX2luaXRfXyk6CisgICAgICAgIChXZHNwZWNSdW4ucnVu
KToKKyAgICAgICAgKFdkc3BlY1J1bi5fcnVuKToKKyAgICAgICAgKE1hcmlvbmV0dGVXZHNwZWNF
eGVjdXRvcik6CisgICAgICAgIChNYXJpb25ldHRlV2RzcGVjRXhlY3V0b3IuX19pbml0X18pOgor
ICAgICAgICAoTWFyaW9uZXR0ZVdkc3BlY0V4ZWN1dG9yLmlzX2FsaXZlKToKKyAgICAgICAgKE1h
cmlvbmV0dGVXZHNwZWNFeGVjdXRvci5vbl9lbnZpcm9ubWVudF9jaGFuZ2UpOgorICAgICAgICAo
TWFyaW9uZXR0ZVdkc3BlY0V4ZWN1dG9yLmRvX3Rlc3QpOgorICAgICAgICAoTWFyaW9uZXR0ZVdk
c3BlY0V4ZWN1dG9yLmRvX3dkc3BlYyk6CisgICAgICAgIChNYXJpb25ldHRlV2RzcGVjRXhlY3V0
b3IuZG9fZGVsYXllZF9pbXBvcnRzKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZWxlbml1bS5weTogQWRk
ZWQuCisgICAgICAgIChkb19kZWxheWVkX2ltcG9ydHMpOgorICAgICAgICAoU2VsZW5pdW1Qcm90
b2NvbCk6CisgICAgICAgIChTZWxlbml1bVByb3RvY29sLl9faW5pdF9fKToKKyAgICAgICAgKFNl
bGVuaXVtUHJvdG9jb2wuc2V0dXApOgorICAgICAgICAoU2VsZW5pdW1Qcm90b2NvbC50ZWFyZG93
bik6CisgICAgICAgIChTZWxlbml1bVByb3RvY29sLmlzX2FsaXZlKToKKyAgICAgICAgKFNlbGVu
aXVtUHJvdG9jb2wuYWZ0ZXJfY29ubmVjdCk6CisgICAgICAgIChTZWxlbml1bVByb3RvY29sLmxv
YWRfcnVubmVyKToKKyAgICAgICAgKFNlbGVuaXVtUHJvdG9jb2wud2FpdCk6CisgICAgICAgIChT
ZWxlbml1bVJ1bik6CisgICAgICAgIChTZWxlbml1bVJ1bi5fX2luaXRfXyk6CisgICAgICAgIChT
ZWxlbml1bVJ1bi5ydW4pOgorICAgICAgICAoU2VsZW5pdW1SdW4uX3J1bik6CisgICAgICAgIChT
ZWxlbml1bVRlc3RoYXJuZXNzRXhlY3V0b3IpOgorICAgICAgICAoU2VsZW5pdW1UZXN0aGFybmVz
c0V4ZWN1dG9yLl9faW5pdF9fKToKKyAgICAgICAgKFNlbGVuaXVtVGVzdGhhcm5lc3NFeGVjdXRv
ci5pc19hbGl2ZSk6CisgICAgICAgIChTZWxlbml1bVRlc3RoYXJuZXNzRXhlY3V0b3Iub25fZW52
aXJvbm1lbnRfY2hhbmdlKToKKyAgICAgICAgKFNlbGVuaXVtVGVzdGhhcm5lc3NFeGVjdXRvci5k
b190ZXN0KToKKyAgICAgICAgKFNlbGVuaXVtVGVzdGhhcm5lc3NFeGVjdXRvci5kb190ZXN0aGFy
bmVzcyk6CisgICAgICAgIChTZWxlbml1bVJlZlRlc3RFeGVjdXRvcik6CisgICAgICAgIChTZWxl
bml1bVJlZlRlc3RFeGVjdXRvci5fX2luaXRfXyk6CisgICAgICAgIChTZWxlbml1bVJlZlRlc3RF
eGVjdXRvci5pc19hbGl2ZSk6CisgICAgICAgIChTZWxlbml1bVJlZlRlc3RFeGVjdXRvci5kb190
ZXN0KToKKyAgICAgICAgKFNlbGVuaXVtUmVmVGVzdEV4ZWN1dG9yLnNjcmVlbnNob3QpOgorICAg
ICAgICAoU2VsZW5pdW1SZWZUZXN0RXhlY3V0b3IuX3NjcmVlbnNob3QpOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9leGVj
dXRvcnNlcnZvLnB5OiBBZGRlZC4KKyAgICAgICAgKG1ha2VfaG9zdHNfZmlsZSk6CisgICAgICAg
IChTZXJ2b1Rlc3RoYXJuZXNzRXhlY3V0b3IpOgorICAgICAgICAoU2Vydm9UZXN0aGFybmVzc0V4
ZWN1dG9yLl9faW5pdF9fKToKKyAgICAgICAgKFNlcnZvVGVzdGhhcm5lc3NFeGVjdXRvci50ZWFy
ZG93bik6CisgICAgICAgIChTZXJ2b1Rlc3RoYXJuZXNzRXhlY3V0b3IuZG9fdGVzdCk6CisgICAg
ICAgIChTZXJ2b1Rlc3RoYXJuZXNzRXhlY3V0b3Iub25fb3V0cHV0KToKKyAgICAgICAgKFNlcnZv
VGVzdGhhcm5lc3NFeGVjdXRvci5vbl9maW5pc2gpOgorICAgICAgICAoVGVtcEZpbGVuYW1lKToK
KyAgICAgICAgKFRlbXBGaWxlbmFtZS5fX2luaXRfXyk6CisgICAgICAgIChUZW1wRmlsZW5hbWUu
X19lbnRlcl9fKToKKyAgICAgICAgKFRlbXBGaWxlbmFtZS5fX2V4aXRfXyk6CisgICAgICAgIChT
ZXJ2b1JlZlRlc3RFeGVjdXRvcik6CisgICAgICAgIChTZXJ2b1JlZlRlc3RFeGVjdXRvci5fX2lu
aXRfXyk6CisgICAgICAgIChTZXJ2b1JlZlRlc3RFeGVjdXRvci50ZWFyZG93bik6CisgICAgICAg
IChTZXJ2b1JlZlRlc3RFeGVjdXRvci5zY3JlZW5zaG90KToKKyAgICAgICAgKFNlcnZvUmVmVGVz
dEV4ZWN1dG9yLmRvX3Rlc3QpOgorICAgICAgICAoU2Vydm9SZWZUZXN0RXhlY3V0b3Iub25fb3V0
cHV0KToKKyAgICAgICAgKFNlcnZvV2RzcGVjUHJvdG9jb2wpOgorICAgICAgICAoU2Vydm9XZHNw
ZWNQcm90b2NvbC5fX2luaXRfXyk6CisgICAgICAgIChTZXJ2b1dkc3BlY1Byb3RvY29sLnNldHVw
KToKKyAgICAgICAgKFNlcnZvV2RzcGVjUHJvdG9jb2wudGVhcmRvd24pOgorICAgICAgICAoU2Vy
dm9XZHNwZWNQcm90b2NvbC5pc19hbGl2ZSk6CisgICAgICAgIChTZXJ2b1dkc3BlY1Byb3RvY29s
LmRvX2RlbGF5ZWRfaW1wb3J0cyk6CisgICAgICAgIChTZXJ2b1dkc3BlY0V4ZWN1dG9yKToKKyAg
ICAgICAgKFNlcnZvV2RzcGVjRXhlY3V0b3IuX19pbml0X18pOgorICAgICAgICAoU2Vydm9XZHNw
ZWNFeGVjdXRvci5pc19hbGl2ZSk6CisgICAgICAgIChTZXJ2b1dkc3BlY0V4ZWN1dG9yLm9uX2Vu
dmlyb25tZW50X2NoYW5nZSk6CisgICAgICAgIChTZXJ2b1dkc3BlY0V4ZWN1dG9yLmRvX3Rlc3Qp
OgorICAgICAgICAoU2Vydm9XZHNwZWNFeGVjdXRvci5kb193ZHNwZWMpOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9leGVj
dXRvcnNlcnZvZHJpdmVyLnB5OiBBZGRlZC4KKyAgICAgICAgKGRvX2RlbGF5ZWRfaW1wb3J0cyk6
CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclByb3RvY29sKToKKyAgICAgICAgKFNlcnZvV2ViRHJp
dmVyUHJvdG9jb2wuX19pbml0X18pOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJQcm90b2NvbC5z
ZXR1cCk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclByb3RvY29sLnRlYXJkb3duKToKKyAgICAg
ICAgKFNlcnZvV2ViRHJpdmVyUHJvdG9jb2wuaXNfYWxpdmUpOgorICAgICAgICAoU2Vydm9XZWJE
cml2ZXJQcm90b2NvbC5hZnRlcl9jb25uZWN0KToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyUHJv
dG9jb2wud2FpdCk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclByb3RvY29sLm9uX2Vudmlyb25t
ZW50X2NoYW5nZSk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclJ1bik6CisgICAgICAgIChTZXJ2
b1dlYkRyaXZlclJ1bi5fX2luaXRfXyk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclJ1bi5ydW4p
OgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJSdW4uX3J1bik6CisgICAgICAgICh0aW1lb3V0X2Z1
bmMpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJUZXN0aGFybmVzc0V4ZWN1dG9yKToKKyAgICAg
ICAgKFNlcnZvV2ViRHJpdmVyVGVzdGhhcm5lc3NFeGVjdXRvci5fX2luaXRfXyk6CisgICAgICAg
IChTZXJ2b1dlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3Iub25fcHJvdG9jb2xfY2hhbmdlKToK
KyAgICAgICAgKFNlcnZvV2ViRHJpdmVyVGVzdGhhcm5lc3NFeGVjdXRvci5pc19hbGl2ZSk6Cisg
ICAgICAgIChTZXJ2b1dlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3IuZG9fdGVzdCk6CisgICAg
ICAgIChTZXJ2b1dlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3IuZG9fdGVzdGhhcm5lc3MpOgor
ICAgICAgICAoVGltZW91dEVycm9yKToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyUmVmVGVzdEV4
ZWN1dG9yKToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyUmVmVGVzdEV4ZWN1dG9yLl9faW5pdF9f
KToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyUmVmVGVzdEV4ZWN1dG9yLmlzX2FsaXZlKToKKyAg
ICAgICAgKFNlcnZvV2ViRHJpdmVyUmVmVGVzdEV4ZWN1dG9yLmRvX3Rlc3QpOgorICAgICAgICAo
U2Vydm9XZWJEcml2ZXJSZWZUZXN0RXhlY3V0b3Iuc2NyZWVuc2hvdCk6CisgICAgICAgIChTZXJ2
b1dlYkRyaXZlclJlZlRlc3RFeGVjdXRvci5fc2NyZWVuc2hvdCk6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Byb2Nlc3Mu
cHk6IEFkZGVkLgorICAgICAgICAoUHJvY2Vzc1Rlc3RFeGVjdXRvcik6CisgICAgICAgIChQcm9j
ZXNzVGVzdEV4ZWN1dG9yLl9faW5pdF9fKToKKyAgICAgICAgKFByb2Nlc3NUZXN0RXhlY3V0b3Iu
c2V0dXApOgorICAgICAgICAoUHJvY2Vzc1Rlc3RFeGVjdXRvci5pc19hbGl2ZSk6CisgICAgICAg
IChQcm9jZXNzVGVzdEV4ZWN1dG9yLmRvX3Rlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9weXRlc3RydW5uZXIvX19p
bml0X18ucHk6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9weXRlc3RydW5uZXIvcnVubmVyLnB5OiBBZGRlZC4K
KyAgICAgICAgKGRvX2RlbGF5ZWRfaW1wb3J0cyk6CisgICAgICAgIChydW4pOgorICAgICAgICAo
U3VidGVzdFJlc3VsdFJlY29yZGVyKToKKyAgICAgICAgKFN1YnRlc3RSZXN1bHRSZWNvcmRlci5f
X2luaXRfXyk6CisgICAgICAgIChTdWJ0ZXN0UmVzdWx0UmVjb3JkZXIucHl0ZXN0X3J1bnRlc3Rf
bG9ncmVwb3J0KToKKyAgICAgICAgKFN1YnRlc3RSZXN1bHRSZWNvcmRlci5yZWNvcmRfcGFzcyk6
CisgICAgICAgIChTdWJ0ZXN0UmVzdWx0UmVjb3JkZXIucmVjb3JkX2ZhaWwpOgorICAgICAgICAo
U3VidGVzdFJlc3VsdFJlY29yZGVyLnJlY29yZF9lcnJvcik6CisgICAgICAgIChTdWJ0ZXN0UmVz
dWx0UmVjb3JkZXIucmVjb3JkX3NraXApOgorICAgICAgICAoU3VidGVzdFJlc3VsdFJlY29yZGVy
LnJlY29yZCk6CisgICAgICAgIChUZW1wb3JhcnlEaXJlY3RvcnkpOgorICAgICAgICAoVGVtcG9y
YXJ5RGlyZWN0b3J5Ll9fZW50ZXJfXyk6CisgICAgICAgIChUZW1wb3JhcnlEaXJlY3RvcnkuX19l
eGl0X18pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL2V4ZWN1dG9ycy9weXRlc3RydW5uZXIvdzNjLWltcG9ydC5sb2c6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdu
b3JlL3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXQuanM6IEFkZGVkLgorICAg
ICAgICAodGVzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvZXhlY3V0b3JzL3JlZnRlc3Qtd2FpdF9zZXJ2b2RyaXZlci5qczogQWRkZWQu
CisgICAgICAgIChjaGVja19kb25lKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13YWl0X3dlYmRyaXZlci5q
czogQWRkZWQuCisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC5qczogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhl
Y3V0b3JzL3Rlc3RoYXJuZXNzX21hcmlvbmV0dGUuanM6IEFkZGVkLgorICAgICAgICAobGlzdGVu
ZXIpOgorICAgICAgICAodGltZW91dC5zLnRpbWVyLnNldFRpbWVvdXQpOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy90ZXN0
aGFybmVzc19zZXJ2b2RyaXZlci5qczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX3dlYmRy
aXZlci5qczogQWRkZWQuCisgICAgICAgIChmKToKKyAgICAgICAgKHRpbWVyLnNldFRpbWVvdXQp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhwZWN0ZWQucHk6IEFkZGVkLgorICAg
ICAgICAoZXhwZWN0ZWRfcGF0aCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvaG9zdHMucHk6IEFkZGVkLgorICAgICAgICAoSG9zdHNMaW5l
KToKKyAgICAgICAgKEhvc3RzTGluZS5fX2luaXRfXyk6CisgICAgICAgIChIb3N0c0xpbmUuZnJv
bV9zdHJpbmcpOgorICAgICAgICAoSG9zdHNGaWxlKToKKyAgICAgICAgKEhvc3RzRmlsZS5fX2lu
aXRfXyk6CisgICAgICAgIChIb3N0c0ZpbGUuc2V0X2hvc3QpOgorICAgICAgICAoSG9zdHNGaWxl
LmZyb21fZmlsZSk6CisgICAgICAgIChIb3N0c0ZpbGUudG9fc3RyaW5nKToKKyAgICAgICAgKEhv
c3RzRmlsZS50b19maWxlKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9tYW5pZmVzdGV4cGVjdGVkLnB5OiBBZGRlZC4KKyAgICAgICAgKGRh
dGFfY2xzX2dldHRlcik6CisgICAgICAgIChib29sX3Byb3ApOgorICAgICAgICAodGFncyk6Cisg
ICAgICAgIChwcmVmcyk6CisgICAgICAgIChwcmVmcy52YWx1ZSk6CisgICAgICAgIChFeHBlY3Rl
ZE1hbmlmZXN0KToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QuX19pbml0X18pOgorICAgICAg
ICAoRXhwZWN0ZWRNYW5pZmVzdC5hcHBlbmQpOgorICAgICAgICAoRXhwZWN0ZWRNYW5pZmVzdC5f
cmVtb3ZlX2NoaWxkKToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QuZ2V0X3Rlc3QpOgorICAg
ICAgICAoRXhwZWN0ZWRNYW5pZmVzdC51cmwpOgorICAgICAgICAoRXhwZWN0ZWRNYW5pZmVzdC5k
aXNhYmxlZCk6CisgICAgICAgIChFeHBlY3RlZE1hbmlmZXN0LnJlc3RhcnRfYWZ0ZXIpOgorICAg
ICAgICAoRXhwZWN0ZWRNYW5pZmVzdC50YWdzKToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3Qu
cHJlZnMpOgorICAgICAgICAoRGlyZWN0b3J5TWFuaWZlc3QpOgorICAgICAgICAoRGlyZWN0b3J5
TWFuaWZlc3QuZGlzYWJsZWQpOgorICAgICAgICAoRGlyZWN0b3J5TWFuaWZlc3QucmVzdGFydF9h
ZnRlcik6CisgICAgICAgIChEaXJlY3RvcnlNYW5pZmVzdC50YWdzKToKKyAgICAgICAgKERpcmVj
dG9yeU1hbmlmZXN0LnByZWZzKToKKyAgICAgICAgKFRlc3ROb2RlKToKKyAgICAgICAgKFRlc3RO
b2RlLl9faW5pdF9fKToKKyAgICAgICAgKFRlc3ROb2RlLmlzX2VtcHR5KToKKyAgICAgICAgKFRl
c3ROb2RlLnRlc3RfdHlwZSk6CisgICAgICAgIChUZXN0Tm9kZS5pZCk6CisgICAgICAgIChUZXN0
Tm9kZS5kaXNhYmxlZCk6CisgICAgICAgIChUZXN0Tm9kZS5yZXN0YXJ0X2FmdGVyKToKKyAgICAg
ICAgKFRlc3ROb2RlLnRhZ3MpOgorICAgICAgICAoVGVzdE5vZGUucHJlZnMpOgorICAgICAgICAo
VGVzdE5vZGUuYXBwZW5kKToKKyAgICAgICAgKFRlc3ROb2RlLmdldF9zdWJ0ZXN0KToKKyAgICAg
ICAgKFN1YnRlc3ROb2RlKToKKyAgICAgICAgKFN1YnRlc3ROb2RlLl9faW5pdF9fKToKKyAgICAg
ICAgKFN1YnRlc3ROb2RlLmlzX2VtcHR5KToKKyAgICAgICAgKGdldF9tYW5pZmVzdCk6CisgICAg
ICAgIChnZXRfZGlyX21hbmlmZXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tYW5pZmVzdGluY2x1ZGUucHk6IEFkZGVkLgorICAgICAg
ICAoSW5jbHVkZU1hbmlmZXN0KToKKyAgICAgICAgKEluY2x1ZGVNYW5pZmVzdC5fX2luaXRfXyk6
CisgICAgICAgIChJbmNsdWRlTWFuaWZlc3QuY3JlYXRlKToKKyAgICAgICAgKEluY2x1ZGVNYW5p
ZmVzdC5hcHBlbmQpOgorICAgICAgICAoSW5jbHVkZU1hbmlmZXN0LmluY2x1ZGUpOgorICAgICAg
ICAoSW5jbHVkZU1hbmlmZXN0Ll9pbmNsdWRlKToKKyAgICAgICAgKEluY2x1ZGVNYW5pZmVzdC5f
Z2V0X2NvbXBvbmVudHMpOgorICAgICAgICAoSW5jbHVkZU1hbmlmZXN0Ll9hZGRfcnVsZSk6Cisg
ICAgICAgIChJbmNsdWRlTWFuaWZlc3QuYWRkX2luY2x1ZGUpOgorICAgICAgICAoSW5jbHVkZU1h
bmlmZXN0LmFkZF9leGNsdWRlKToKKyAgICAgICAgKGdldF9tYW5pZmVzdCk6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3R1cGRh
dGUucHk6IEFkZGVkLgorICAgICAgICAoQ29uZGl0aW9uRXJyb3IpOgorICAgICAgICAoZGF0YV9j
bHNfZ2V0dGVyKToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QpOgorICAgICAgICAoRXhwZWN0
ZWRNYW5pZmVzdC5fX2luaXRfXyk6CisgICAgICAgIChFeHBlY3RlZE1hbmlmZXN0LmFwcGVuZCk6
CisgICAgICAgIChFeHBlY3RlZE1hbmlmZXN0Ll9yZW1vdmVfY2hpbGQpOgorICAgICAgICAoRXhw
ZWN0ZWRNYW5pZmVzdC5nZXRfdGVzdCk6CisgICAgICAgIChFeHBlY3RlZE1hbmlmZXN0Lmhhc190
ZXN0KToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QudXJsKToKKyAgICAgICAgKFRlc3ROb2Rl
KToKKyAgICAgICAgKFRlc3ROb2RlLl9faW5pdF9fKToKKyAgICAgICAgKFRlc3ROb2RlLmNyZWF0
ZSk6CisgICAgICAgIChUZXN0Tm9kZS5pc19lbXB0eSk6CisgICAgICAgIChUZXN0Tm9kZS50ZXN0
X3R5cGUpOgorICAgICAgICAoVGVzdE5vZGUuaWQpOgorICAgICAgICAoVGVzdE5vZGUuZGlzYWJs
ZWQpOgorICAgICAgICAoVGVzdE5vZGUuc2V0X3Jlc3VsdCk6CisgICAgICAgIChUZXN0Tm9kZS5j
b2FsZXNjZV9leHBlY3RlZCk6CisgICAgICAgIChUZXN0Tm9kZS5fYWRkX2tleV92YWx1ZSk6Cisg
ICAgICAgIChUZXN0Tm9kZS5jbGVhcl9leHBlY3RlZCk6CisgICAgICAgIChUZXN0Tm9kZS5hcHBl
bmQpOgorICAgICAgICAoVGVzdE5vZGUuZ2V0X3N1YnRlc3QpOgorICAgICAgICAoU3VidGVzdE5v
ZGUpOgorICAgICAgICAoU3VidGVzdE5vZGUuX19pbml0X18pOgorICAgICAgICAoU3VidGVzdE5v
ZGUuY3JlYXRlKToKKyAgICAgICAgKFN1YnRlc3ROb2RlLmlzX2VtcHR5KToKKyAgICAgICAgKGdy
b3VwX2NvbmRpdGlvbmFscyk6CisgICAgICAgIChtYWtlX2V4cHIpOgorICAgICAgICAoZ2V0X21h
bmlmZXN0KToKKyAgICAgICAgKGNvbXBpbGUpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21ldGFkYXRhLnB5OiBBZGRlZC4KKyAgICAgICAg
KGxvYWRfdGVzdF9tYW5pZmVzdHMpOgorICAgICAgICAodXBkYXRlX2V4cGVjdGVkKToKKyAgICAg
ICAgKGRvX2RlbGF5ZWRfaW1wb3J0cyk6CisgICAgICAgIChmaWxlc19pbl9yZXBvKToKKyAgICAg
ICAgKHJldl9yYW5nZSk6CisgICAgICAgIChwYXRoc19jaGFuZ2VkKToKKyAgICAgICAgKGxvYWRf
Y2hhbmdlX2RhdGEpOgorICAgICAgICAodW5leHBlY3RlZF9jaGFuZ2VzKToKKyAgICAgICAgKHVw
ZGF0ZV9mcm9tX2xvZ3MpOgorICAgICAgICAoZGlyZWN0b3J5X21hbmlmZXN0cyk6CisgICAgICAg
ICh3cml0ZV9jaGFuZ2VzKToKKyAgICAgICAgKHdyaXRlX25ld19leHBlY3RlZCk6CisgICAgICAg
IChFeHBlY3RlZFVwZGF0ZXIpOgorICAgICAgICAoRXhwZWN0ZWRVcGRhdGVyLl9faW5pdF9fKToK
KyAgICAgICAgKEV4cGVjdGVkVXBkYXRlci51cGRhdGVfZnJvbV9sb2cpOgorICAgICAgICAoRXhw
ZWN0ZWRVcGRhdGVyLnN1aXRlX3N0YXJ0KToKKyAgICAgICAgKEV4cGVjdGVkVXBkYXRlci50ZXN0
X2lkKToKKyAgICAgICAgKEV4cGVjdGVkVXBkYXRlci50ZXN0X3N0YXJ0KToKKyAgICAgICAgKEV4
cGVjdGVkVXBkYXRlci50ZXN0X3N0YXR1cyk6CisgICAgICAgIChFeHBlY3RlZFVwZGF0ZXIudGVz
dF9lbmQpOgorICAgICAgICAoY3JlYXRlX3Rlc3RfdHJlZSk6CisgICAgICAgIChjcmVhdGVfZXhw
ZWN0ZWQpOgorICAgICAgICAobG9hZF9leHBlY3RlZCk6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvcHJvZHVjdHMucHk6IEFkZGVkLgorICAg
ICAgICAocHJvZHVjdHNfZW5hYmxlZCk6CisgICAgICAgIChwcm9kdWN0X21vZHVsZSk6CisgICAg
ICAgIChsb2FkX3Byb2R1Y3QpOgorICAgICAgICAobG9hZF9wcm9kdWN0X3VwZGF0ZSk6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvcmVkdWNl
LnB5OiBBZGRlZC4KKyAgICAgICAgKHNldHVwX2xvZ2dpbmcpOgorICAgICAgICAoZ3JvdXApOgor
ICAgICAgICAobmV4dF9wb3dlcl9vZl90d28pOgorICAgICAgICAoUmVkdWNlcik6CisgICAgICAg
IChSZWR1Y2VyLl9faW5pdF9fKToKKyAgICAgICAgKFJlZHVjZXIucnVuKToKKyAgICAgICAgKFJl
ZHVjZXIudW5zdGFibGUpOgorICAgICAgICAoUmVkdWNlci5sb2dfaXNfdW5zdGFibGUpOgorICAg
ICAgICAoUmVkdWNlci5sb2dfaXNfdW5zdGFibGUuaGFuZGxlX3N0YXR1cyk6CisgICAgICAgIChS
ZWR1Y2VyLmxvZ19pc191bnN0YWJsZS5oYW5kbGVfZW5kKToKKyAgICAgICAgKFJlZHVjZXIuZ2V0
X2luaXRpYWxfdGVzdHMpOgorICAgICAgICAoZG9fcmVkdWNlKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFybmVzc19ydW5uZXIu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQtc2Vydm8uanM6IEFkZGVkLgorICAgICAgICAo
YWRkX2NvbXBsZXRpb25fY2FsbGJhY2spOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVwb3J0LXNlcnZvZHJpdmVyLmpz
OiBBZGRlZC4KKyAgICAgICAgKGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrLik6CisgICAgICAgIChh
ZGRfY29tcGxldGlvbl9jYWxsYmFjayk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQuanM6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3Rs
b2FkZXIucHk6IEFkZGVkLgorICAgICAgICAoZG9fZGVsYXllZF9pbXBvcnRzKToKKyAgICAgICAg
KFRlc3RDaHVua2VyKToKKyAgICAgICAgKFRlc3RDaHVua2VyLl9faW5pdF9fKToKKyAgICAgICAg
KFRlc3RDaHVua2VyLl9fY2FsbF9fKToKKyAgICAgICAgKFVuY2h1bmtlZCk6CisgICAgICAgIChV
bmNodW5rZWQuX19pbml0X18pOgorICAgICAgICAoVW5jaHVua2VkLl9fY2FsbF9fKToKKyAgICAg
ICAgKEhhc2hDaHVua2VyKToKKyAgICAgICAgKEhhc2hDaHVua2VyLl9fY2FsbF9fKToKKyAgICAg
ICAgKERpcmVjdG9yeUhhc2hDaHVua2VyKToKKyAgICAgICAgKERpcmVjdG9yeUhhc2hDaHVua2Vy
Ll9fY2FsbF9fKToKKyAgICAgICAgKEVxdWFsVGltZUNodW5rZXIpOgorICAgICAgICAoRXF1YWxU
aW1lQ2h1bmtlci5fZ3JvdXBfYnlfZGlyZWN0b3J5KToKKyAgICAgICAgKEVxdWFsVGltZUNodW5r
ZXIuX2dyb3VwX2J5X2RpcmVjdG9yeS5QYXRoRGF0YSk6CisgICAgICAgIChFcXVhbFRpbWVDaHVu
a2VyLl9ncm91cF9ieV9kaXJlY3RvcnkuUGF0aERhdGEuX19pbml0X18pOgorICAgICAgICAoRXF1
YWxUaW1lQ2h1bmtlci5fbWF5YmVfcmVtb3ZlKToKKyAgICAgICAgKEVxdWFsVGltZUNodW5rZXIu
X21heWJlX2FkZCk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9tYXliZV9tb3ZlKToKKyAg
ICAgICAgKEVxdWFsVGltZUNodW5rZXIuX2JhZG5lc3MpOgorICAgICAgICAoRXF1YWxUaW1lQ2h1
bmtlci5fZ2V0X2NodW5rKToKKyAgICAgICAgKEVxdWFsVGltZUNodW5rZXIuX2FsbF90ZXN0cyk6
CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9jaHVua2VkX3Rlc3RzKToKKyAgICAgICAgKEVx
dWFsVGltZUNodW5rZXIuX2NyZWF0ZV9pbml0aWFsX2NodW5rcyk6CisgICAgICAgIChFcXVhbFRp
bWVDaHVua2VyLl9jcmVhdGVfaW5pdGlhbF9jaHVua3MuQ2h1bmspOgorICAgICAgICAoRXF1YWxU
aW1lQ2h1bmtlci5fY3JlYXRlX2luaXRpYWxfY2h1bmtzLkNodW5rLl9faW5pdF9fKToKKyAgICAg
ICAgKEVxdWFsVGltZUNodW5rZXIuX2NyZWF0ZV9pbml0aWFsX2NodW5rcy5DaHVuay5hcHBlbmRs
ZWZ0KToKKyAgICAgICAgKEVxdWFsVGltZUNodW5rZXIuX2NyZWF0ZV9pbml0aWFsX2NodW5rcy5D
aHVuay5hcHBlbmQpOgorICAgICAgICAoRXF1YWxUaW1lQ2h1bmtlci5fY3JlYXRlX2luaXRpYWxf
Y2h1bmtzLkNodW5rLnBvcCk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9jcmVhdGVfaW5p
dGlhbF9jaHVua3MuQ2h1bmsucG9wbGVmdCk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9j
cmVhdGVfaW5pdGlhbF9jaHVua3MuQ2h1bmsuYmFkbmVzcyk6CisgICAgICAgIChFcXVhbFRpbWVD
aHVua2VyLl91cGRhdGVfY2h1bmtzKToKKyAgICAgICAgKEVxdWFsVGltZUNodW5rZXIuX2dldF90
ZXN0cyk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9fY2FsbF9fKToKKyAgICAgICAgKFRl
c3RGaWx0ZXIpOgorICAgICAgICAoVGVzdEZpbHRlci5fX2luaXRfXyk6CisgICAgICAgIChUZXN0
RmlsdGVyLl9fY2FsbF9fKToKKyAgICAgICAgKFRhZ0ZpbHRlcik6CisgICAgICAgIChUYWdGaWx0
ZXIuX19pbml0X18pOgorICAgICAgICAoVGFnRmlsdGVyLl9fY2FsbF9fKToKKyAgICAgICAgKE1h
bmlmZXN0TG9hZGVyKToKKyAgICAgICAgKE1hbmlmZXN0TG9hZGVyLl9faW5pdF9fKToKKyAgICAg
ICAgKE1hbmlmZXN0TG9hZGVyLmxvYWQpOgorICAgICAgICAoTWFuaWZlc3RMb2FkZXIuY3JlYXRl
X21hbmlmZXN0KToKKyAgICAgICAgKE1hbmlmZXN0TG9hZGVyLnVwZGF0ZV9tYW5pZmVzdCk6Cisg
ICAgICAgIChNYW5pZmVzdExvYWRlci5sb2FkX21hbmlmZXN0KToKKyAgICAgICAgKGl0ZXJmaWx0
ZXIpOgorICAgICAgICAoVGVzdExvYWRlcik6CisgICAgICAgIChUZXN0TG9hZGVyLl9faW5pdF9f
KToKKyAgICAgICAgKFRlc3RMb2FkZXIudGVzdF9pZHMpOgorICAgICAgICAoVGVzdExvYWRlci5n
ZXRfdGVzdCk6CisgICAgICAgIChUZXN0TG9hZGVyLmxvYWRfZGlyX21ldGFkYXRhKToKKyAgICAg
ICAgKFRlc3RMb2FkZXIubG9hZF9tZXRhZGF0YSk6CisgICAgICAgIChUZXN0TG9hZGVyLml0ZXJf
dGVzdHMpOgorICAgICAgICAoVGVzdExvYWRlci5pdGVyX3dwdHRlc3QpOgorICAgICAgICAoVGVz
dExvYWRlci5fbG9hZF90ZXN0cyk6CisgICAgICAgIChUZXN0TG9hZGVyLmdyb3Vwcyk6CisgICAg
ICAgIChUZXN0U291cmNlKToKKyAgICAgICAgKFRlc3RTb3VyY2UucXVldWVfdGVzdHMpOgorICAg
ICAgICAoVGVzdFNvdXJjZS5yZXF1ZXVlX3Rlc3QpOgorICAgICAgICAoVGVzdFNvdXJjZS5fX2Vu
dGVyX18pOgorICAgICAgICAoVGVzdFNvdXJjZS5fX2V4aXRfXyk6CisgICAgICAgIChTaW5nbGVU
ZXN0U291cmNlKToKKyAgICAgICAgKFNpbmdsZVRlc3RTb3VyY2UuX19pbml0X18pOgorICAgICAg
ICAoU2luZ2xlVGVzdFNvdXJjZS5xdWV1ZV90ZXN0cyk6CisgICAgICAgIChTaW5nbGVUZXN0U291
cmNlLmdldF9xdWV1ZSk6CisgICAgICAgIChTaW5nbGVUZXN0U291cmNlLnJlcXVldWVfdGVzdCk6
CisgICAgICAgIChQYXRoR3JvdXBlZFNvdXJjZSk6CisgICAgICAgIChQYXRoR3JvdXBlZFNvdXJj
ZS5fX2luaXRfXyk6CisgICAgICAgIChQYXRoR3JvdXBlZFNvdXJjZS5xdWV1ZV90ZXN0cyk6Cisg
ICAgICAgIChQYXRoR3JvdXBlZFNvdXJjZS5nZXRfcXVldWUpOgorICAgICAgICAoUGF0aEdyb3Vw
ZWRTb3VyY2UucmVxdWV1ZV90ZXN0KToKKyAgICAgICAgKFBhdGhHcm91cGVkU291cmNlLl9fZXhp
dF9fKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci90ZXN0cnVubmVyLnB5OiBBZGRlZC4KKyAgICAgICAgKE1lc3NhZ2VMb2dnZXIpOgorICAg
ICAgICAoTWVzc2FnZUxvZ2dlci5fX2luaXRfXyk6CisgICAgICAgIChNZXNzYWdlTG9nZ2VyLl9s
b2dfZGF0YSk6CisgICAgICAgIChNZXNzYWdlTG9nZ2VyLnByb2Nlc3Nfb3V0cHV0KToKKyAgICAg
ICAgKF9sb2dfZnVuYyk6CisgICAgICAgIChfbG9nX2Z1bmMubG9nKToKKyAgICAgICAgKFRlc3RS
dW5uZXIpOgorICAgICAgICAoVGVzdFJ1bm5lci5fX2luaXRfXyk6CisgICAgICAgIChUZXN0UnVu
bmVyLl9faW5pdF9fLmRlbGVnYXRlcyk6CisgICAgICAgIChUZXN0UnVubmVyLl9fZW50ZXJfXyk6
CisgICAgICAgIChUZXN0UnVubmVyLl9fZXhpdF9fKToKKyAgICAgICAgKFRlc3RSdW5uZXIuc2V0
dXApOgorICAgICAgICAoVGVzdFJ1bm5lci50ZWFyZG93bik6CisgICAgICAgIChUZXN0UnVubmVy
LnJ1bik6CisgICAgICAgIChUZXN0UnVubmVyLnN0b3ApOgorICAgICAgICAoVGVzdFJ1bm5lci5y
dW5fdGVzdCk6CisgICAgICAgIChUZXN0UnVubmVyLndhaXQpOgorICAgICAgICAoVGVzdFJ1bm5l
ci5zZW5kX21lc3NhZ2UpOgorICAgICAgICAoc3RhcnRfcnVubmVyKToKKyAgICAgICAgKG5leHRf
bWFuYWdlcl9udW1iZXIpOgorICAgICAgICAoQnJvd3Nlck1hbmFnZXIpOgorICAgICAgICAoQnJv
d3Nlck1hbmFnZXIuX19pbml0X18pOgorICAgICAgICAoQnJvd3Nlck1hbmFnZXIuaW5pdCk6Cisg
ICAgICAgIChCcm93c2VyTWFuYWdlci5zZW5kX21lc3NhZ2UpOgorICAgICAgICAoQnJvd3Nlck1h
bmFnZXIuaW5pdF90aW1lb3V0KToKKyAgICAgICAgKEJyb3dzZXJNYW5hZ2VyLmFmdGVyX2luaXQp
OgorICAgICAgICAoQnJvd3Nlck1hbmFnZXIuc3RvcCk6CisgICAgICAgIChCcm93c2VyTWFuYWdl
ci5jbGVhbnVwKToKKyAgICAgICAgKEJyb3dzZXJNYW5hZ2VyLmxvZ19jcmFzaCk6CisgICAgICAg
IChCcm93c2VyTWFuYWdlci5pc19hbGl2ZSk6CisgICAgICAgIChfUnVubmVyTWFuYWdlclN0YXRl
KToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5h
Z2VyLl9faW5pdF9fKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLnJ1bik6CisgICAgICAg
IChUZXN0UnVubmVyTWFuYWdlci53YWl0X2V2ZW50KToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5h
Z2VyLnNob3VsZF9zdG9wKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLnN0YXJ0X2luaXQp
OgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIuaW5pdCk6CisgICAgICAgIChUZXN0UnVubmVy
TWFuYWdlci5zdGFydF90ZXN0X3J1bm5lcik6CisgICAgICAgIChUZXN0UnVubmVyTWFuYWdlci5p
bml0X3N1Y2NlZWRlZCk6CisgICAgICAgIChUZXN0UnVubmVyTWFuYWdlci5pbml0X2ZhaWxlZCk6
CisgICAgICAgIChUZXN0UnVubmVyTWFuYWdlci5nZXRfbmV4dF90ZXN0KToKKyAgICAgICAgKFRl
c3RSdW5uZXJNYW5hZ2VyLnJ1bl90ZXN0KToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLnRl
c3RfZW5kZWQpOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIud2FpdF9maW5pc2hlZCk6Cisg
ICAgICAgIChUZXN0UnVubmVyTWFuYWdlci5hZnRlcl90ZXN0X2VuZCk6CisgICAgICAgIChUZXN0
UnVubmVyTWFuYWdlci5yZXN0YXJ0X3J1bm5lcik6CisgICAgICAgIChUZXN0UnVubmVyTWFuYWdl
ci5sb2cpOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIuZXJyb3IpOgorICAgICAgICAoVGVz
dFJ1bm5lck1hbmFnZXIuc3RvcF9ydW5uZXIpOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIu
dGVhcmRvd24pOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIuZW5zdXJlX3J1bm5lcl9zdG9w
cGVkKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLnJ1bm5lcl90ZWFyZG93bik6CisgICAg
ICAgIChUZXN0UnVubmVyTWFuYWdlci5zZW5kX21lc3NhZ2UpOgorICAgICAgICAoVGVzdFJ1bm5l
ck1hbmFnZXIuY2xlYW51cCk6CisgICAgICAgIChUZXN0UXVldWUpOgorICAgICAgICAoVGVzdFF1
ZXVlLl9faW5pdF9fKToKKyAgICAgICAgKFRlc3RRdWV1ZS5fX2VudGVyX18pOgorICAgICAgICAo
VGVzdFF1ZXVlLl9fZXhpdF9fKToKKyAgICAgICAgKE1hbmFnZXJHcm91cCk6CisgICAgICAgIChN
YW5hZ2VyR3JvdXAuX19pbml0X18pOgorICAgICAgICAoTWFuYWdlckdyb3VwLl9fZW50ZXJfXyk6
CisgICAgICAgIChNYW5hZ2VyR3JvdXAuX19leGl0X18pOgorICAgICAgICAoTWFuYWdlckdyb3Vw
LnJ1bik6CisgICAgICAgIChNYW5hZ2VyR3JvdXAuaXNfYWxpdmUpOgorICAgICAgICAoTWFuYWdl
ckdyb3VwLndhaXQpOgorICAgICAgICAoTWFuYWdlckdyb3VwLnN0b3ApOgorICAgICAgICAoTWFu
YWdlckdyb3VwLnVuZXhwZWN0ZWRfY291bnQpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL19faW5pdF9fLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0
cy90ZXN0X2NodW5rZXIucHk6IEFkZGVkLgorICAgICAgICAoTW9ja1Rlc3QpOgorICAgICAgICAo
TW9ja1Rlc3QuX19pbml0X18pOgorICAgICAgICAobWFrZV9tb2NrX21hbmlmZXN0KToKKyAgICAg
ICAgKFRlc3RFcXVhbFRpbWVDaHVua2VyKToKKyAgICAgICAgKFRlc3RFcXVhbFRpbWVDaHVua2Vy
LnRlc3RfaW5jbHVkZV9hbGwpOgorICAgICAgICAoVGVzdEVxdWFsVGltZUNodW5rZXIudGVzdF9p
bmNsdWRlX2FsbF8xKToKKyAgICAgICAgKFRlc3RFcXVhbFRpbWVDaHVua2VyLnRlc3RfbG9uZyk6
CisgICAgICAgIChUZXN0RXF1YWxUaW1lQ2h1bmtlci50ZXN0X2xvbmdfMSk6CisgICAgICAgIChU
ZXN0RXF1YWxUaW1lQ2h1bmtlci50ZXN0X3Rvb19mZXdfZGlycyk6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF9ob3N0cy5w
eTogQWRkZWQuCisgICAgICAgIChIb3N0c1Rlc3QpOgorICAgICAgICAoSG9zdHNUZXN0LmRvX3Rl
c3QpOgorICAgICAgICAoSG9zdHNUZXN0LnRlc3Rfc2ltcGxlKToKKyAgICAgICAgKHRlc3RfYmxh
bmtfbGluZXMpOgorICAgICAgICAodGVzdF93aGl0ZXNwYWNlKToKKyAgICAgICAgKHRlc3RfYWxp
Z25tZW50KToKKyAgICAgICAgKHRlc3RfbXVsdGlwbGVfc2FtZV9uYW1lKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X3Rl
c3Rsb2FkZXIucHk6IEFkZGVkLgorICAgICAgICAodGVzdF9maWx0ZXJfdW5pY29kZSk6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMv
dGVzdF91cGRhdGUucHk6IEFkZGVkLgorICAgICAgICAoVGVzdEV4cGVjdGVkVXBkYXRlcik6Cisg
ICAgICAgIChUZXN0RXhwZWN0ZWRVcGRhdGVyLmNyZWF0ZV9tYW5pZmVzdCk6CisgICAgICAgIChU
ZXN0RXhwZWN0ZWRVcGRhdGVyLmNyZWF0ZV91cGRhdGVyKToKKyAgICAgICAgKFRlc3RFeHBlY3Rl
ZFVwZGF0ZXIuY3JlYXRlX2xvZyk6CisgICAgICAgIChUZXN0RXhwZWN0ZWRVcGRhdGVyLmNvYWxl
c2NlX3Jlc3VsdHMpOgorICAgICAgICAoVGVzdEV4cGVjdGVkVXBkYXRlci50ZXN0X3VwZGF0ZV8w
KToKKyAgICAgICAgKFRlc3RFeHBlY3RlZFVwZGF0ZXIudGVzdF91cGRhdGVfMSk6CisgICAgICAg
IChUZXN0RXhwZWN0ZWRVcGRhdGVyLnRlc3RfbmV3X3N1YnRlc3QpOgorICAgICAgICAoVGVzdEV4
cGVjdGVkVXBkYXRlci50ZXN0X3VwZGF0ZV9tdWx0aXBsZV8wKToKKyAgICAgICAgKFRlc3RFeHBl
Y3RlZFVwZGF0ZXIudGVzdF91cGRhdGVfbXVsdGlwbGVfMSk6CisgICAgICAgIChUZXN0RXhwZWN0
ZWRVcGRhdGVyLnRlc3RfdXBkYXRlX211bHRpcGxlXzIpOgorICAgICAgICAoVGVzdEV4cGVjdGVk
VXBkYXRlci50ZXN0X3VwZGF0ZV9tdWx0aXBsZV8zKToKKyAgICAgICAgKFRlc3RFeHBlY3RlZFVw
ZGF0ZXIudGVzdF91cGRhdGVfaWdub3JlX2V4aXN0aW5nKToKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy93M2MtaW1wb3J0LmxvZzog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy9wZXJmb3JtYW5jZS93M2MtaW1wb3J0LmxvZy4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91
cGRhdGUvX19pbml0X18ucHk6IEFkZGVkLgorICAgICAgICAocmVtb3ZlX2xvZ2dpbmdfYXJncyk6
CisgICAgICAgIChzZXR1cF9sb2dnaW5nKToKKyAgICAgICAgKHJ1bl91cGRhdGUpOgorICAgICAg
ICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvdXBkYXRlL2Jhc2UucHk6IEFkZGVkLgorICAgICAgICAoU3RlcCk6CisgICAgICAg
IChTdGVwLl9faW5pdF9fKToKKyAgICAgICAgKFN0ZXAucnVuKToKKyAgICAgICAgKFN0ZXAucnVu
LmZvcik6CisgICAgICAgIChTdGVwLmNyZWF0ZSk6CisgICAgICAgIChTdGVwLnJlc3RvcmUpOgor
ICAgICAgICAoU3RlcFJ1bm5lcik6CisgICAgICAgIChTdGVwUnVubmVyLl9faW5pdF9fKToKKyAg
ICAgICAgKFN0ZXBSdW5uZXIucnVuKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvbWV0YWRhdGEucHk6IEFkZGVkLgorICAgICAg
ICAoR2V0VXBkYXRlUHJvcGVydHlMaXN0KToKKyAgICAgICAgKEdldFVwZGF0ZVByb3BlcnR5TGlz
dC5jcmVhdGUpOgorICAgICAgICAoVXBkYXRlRXhwZWN0ZWQpOgorICAgICAgICAoVXBkYXRlRXhw
ZWN0ZWQuY3JlYXRlKToKKyAgICAgICAgKENyZWF0ZU1ldGFkYXRhUGF0Y2gpOgorICAgICAgICAo
Q3JlYXRlTWV0YWRhdGFQYXRjaC5jcmVhdGUpOgorICAgICAgICAoTWV0YWRhdGFVcGRhdGVSdW5u
ZXIpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3VwZGF0ZS9zdGF0ZS5weTogQWRkZWQuCisgICAgICAgIChTdGF0ZSk6CisgICAgICAgIChT
dGF0ZS5fX25ld19fKToKKyAgICAgICAgKFN0YXRlLl9faW5pdF9fKToKKyAgICAgICAgKFN0YXRl
Ll9fZ2V0c3RhdGVfXyk6CisgICAgICAgIChTdGF0ZS5sb2FkKToKKyAgICAgICAgKFN0YXRlLnB1
c2gpOgorICAgICAgICAoU3RhdGUuc2F2ZSk6CisgICAgICAgIChTdGF0ZS5pc19lbXB0eSk6Cisg
ICAgICAgIChTdGF0ZS5jbGVhcik6CisgICAgICAgIChTdGF0ZS5fX3NldGF0dHJfXyk6CisgICAg
ICAgIChTdGF0ZS5fX2dldGF0dHJfXyk6CisgICAgICAgIChTdGF0ZS5fX2NvbnRhaW5zX18pOgor
ICAgICAgICAoU3RhdGUudXBkYXRlKToKKyAgICAgICAgKFN0YXRlLmtleXMpOgorICAgICAgICAo
U3RhdGVDb250ZXh0KToKKyAgICAgICAgKFN0YXRlQ29udGV4dC5fX2luaXRfXyk6CisgICAgICAg
IChTdGF0ZUNvbnRleHQuX19lbnRlcl9fKToKKyAgICAgICAgKFN0YXRlQ29udGV4dC5fX2V4aXRf
Xyk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvdXBkYXRlL3N5bmMucHk6IEFkZGVkLgorICAgICAgICAoY29weV93cHRfdHJlZSk6CisgICAg
ICAgIChhZGRfbGljZW5zZSk6CisgICAgICAgIChVcGRhdGVDaGVja291dCk6CisgICAgICAgIChV
cGRhdGVDaGVja291dC5jcmVhdGUpOgorICAgICAgICAoVXBkYXRlQ2hlY2tvdXQucmVzdG9yZSk6
CisgICAgICAgIChHZXRTeW5jVGFyZ2V0Q29tbWl0KToKKyAgICAgICAgKEdldFN5bmNUYXJnZXRD
b21taXQuY3JlYXRlKToKKyAgICAgICAgKExvYWRNYW5pZmVzdCk6CisgICAgICAgIChMb2FkTWFu
aWZlc3QuY3JlYXRlKToKKyAgICAgICAgKFVwZGF0ZU1hbmlmZXN0KToKKyAgICAgICAgKFVwZGF0
ZU1hbmlmZXN0LmNyZWF0ZSk6CisgICAgICAgIChDb3B5V29ya1RyZWUpOgorICAgICAgICAoQ29w
eVdvcmtUcmVlLmNyZWF0ZSk6CisgICAgICAgIChDcmVhdGVTeW5jUGF0Y2gpOgorICAgICAgICAo
Q3JlYXRlU3luY1BhdGNoLmNyZWF0ZSk6CisgICAgICAgIChTeW5jRnJvbVVwc3RyZWFtUnVubmVy
KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci91cGRhdGUvdHJlZS5weTogQWRkZWQuCisgICAgICAgIChnZXRfdW5pcXVlX25hbWUpOgorICAg
ICAgICAoTm9WQ1NUcmVlKToKKyAgICAgICAgKE5vVkNTVHJlZS5fX2luaXRfXyk6CisgICAgICAg
IChOb1ZDU1RyZWUuaXNfdHlwZSk6CisgICAgICAgIChOb1ZDU1RyZWUuaXNfY2xlYW4pOgorICAg
ICAgICAoTm9WQ1NUcmVlLmFkZF9uZXcpOgorICAgICAgICAoTm9WQ1NUcmVlLmNyZWF0ZV9wYXRj
aCk6CisgICAgICAgIChOb1ZDU1RyZWUudXBkYXRlX3BhdGNoKToKKyAgICAgICAgKE5vVkNTVHJl
ZS5jb21taXRfcGF0Y2gpOgorICAgICAgICAoSGdUcmVlKToKKyAgICAgICAgKEhnVHJlZS5fX2lu
aXRfXyk6CisgICAgICAgIChIZ1RyZWUuX19nZXRzdGF0ZV9fKToKKyAgICAgICAgKEhnVHJlZS5f
X3NldHN0YXRlX18pOgorICAgICAgICAoSGdUcmVlLmlzX3R5cGUpOgorICAgICAgICAoSGdUcmVl
LmlzX2NsZWFuKToKKyAgICAgICAgKEhnVHJlZS5hZGRfbmV3KToKKyAgICAgICAgKEhnVHJlZS5j
cmVhdGVfcGF0Y2gpOgorICAgICAgICAoSGdUcmVlLnVwZGF0ZV9wYXRjaCk6CisgICAgICAgIChI
Z1RyZWUuY29tbWl0X3BhdGNoKToKKyAgICAgICAgKEhnVHJlZS5jb250YWluc19jb21taXQpOgor
ICAgICAgICAoR2l0VHJlZSk6CisgICAgICAgIChHaXRUcmVlLl9faW5pdF9fKToKKyAgICAgICAg
KEdpdFRyZWUuX19nZXRzdGF0ZV9fKToKKyAgICAgICAgKEdpdFRyZWUuX19zZXRzdGF0ZV9fKToK
KyAgICAgICAgKEdpdFRyZWUuaXNfdHlwZSk6CisgICAgICAgIChHaXRUcmVlLnJldik6CisgICAg
ICAgIChHaXRUcmVlLmlzX2NsZWFuKToKKyAgICAgICAgKEdpdFRyZWUuYWRkX25ldyk6CisgICAg
ICAgIChHaXRUcmVlLmxpc3RfcmVmcyk6CisgICAgICAgIChHaXRUcmVlLmxpc3RfcmVtb3RlKToK
KyAgICAgICAgKEdpdFRyZWUuZ2V0X3JlbW90ZV9zaGExKToKKyAgICAgICAgKEdpdFRyZWUuY3Jl
YXRlX3BhdGNoKToKKyAgICAgICAgKEdpdFRyZWUudXBkYXRlX3BhdGNoKToKKyAgICAgICAgKEdp
dFRyZWUuY29tbWl0X3BhdGNoKToKKyAgICAgICAgKEdpdFRyZWUuaW5pdCk6CisgICAgICAgIChH
aXRUcmVlLmNoZWNrb3V0KToKKyAgICAgICAgKEdpdFRyZWUudXBkYXRlKToKKyAgICAgICAgKEdp
dFRyZWUuY2xlYW4pOgorICAgICAgICAoR2l0VHJlZS5wYXRocyk6CisgICAgICAgIChHaXRUcmVl
LnN1Ym1vZHVsZXMpOgorICAgICAgICAoR2l0VHJlZS5jb250YWluc19jb21taXQpOgorICAgICAg
ICAoQ29tbWl0TWVzc2FnZSk6CisgICAgICAgIChDb21taXRNZXNzYWdlLl9faW5pdF9fKToKKyAg
ICAgICAgKENvbW1pdE1lc3NhZ2UuX19zdHJfXyk6CisgICAgICAgIChDb21taXRNZXNzYWdlLl9w
YXJzZV9tZXNzYWdlKToKKyAgICAgICAgKENvbW1pdCk6CisgICAgICAgIChDb21taXQuX19pbml0
X18pOgorICAgICAgICAoQ29tbWl0Ll9fZ2V0c3RhdGVfXyk6CisgICAgICAgIChDb21taXQuX19z
ZXRzdGF0ZV9fKToKKyAgICAgICAgKENvbW1pdC5fZ2V0X21ldGEpOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS91cGRhdGUucHk6
IEFkZGVkLgorICAgICAgICAoc2V0dXBfcGF0aHMpOgorICAgICAgICAoTG9hZENvbmZpZyk6Cisg
ICAgICAgIChMb2FkQ29uZmlnLmNyZWF0ZSk6CisgICAgICAgIChMb2FkVHJlZXMpOgorICAgICAg
ICAoTG9hZFRyZWVzLmNyZWF0ZSk6CisgICAgICAgIChTeW5jRnJvbVVwc3RyZWFtKToKKyAgICAg
ICAgKFN5bmNGcm9tVXBzdHJlYW0uY3JlYXRlKToKKyAgICAgICAgKFVwZGF0ZU1ldGFkYXRhKToK
KyAgICAgICAgKFVwZGF0ZU1ldGFkYXRhLmNyZWF0ZSk6CisgICAgICAgIChVcGRhdGVSdW5uZXIp
OgorICAgICAgICAoV1BUVXBkYXRlKToKKyAgICAgICAgKFdQVFVwZGF0ZS5fX2luaXRfXyk6Cisg
ICAgICAgIChXUFRVcGRhdGUuX19pbml0X18uaG9sZGluZyk6CisgICAgICAgIChXUFRVcGRhdGUu
cnVuKToKKyAgICAgICAgKFdQVFVwZGF0ZS5hYm9ydCk6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3czYy1pbXBvcnQubG9nOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci92Y3MucHk6IEFkZGVkLgorICAgICAgICAodmNzKToKKyAgICAgICAgKHZjcy5pbm5lcik6
CisgICAgICAgIChiaW5kX3RvX3JlcG8pOgorICAgICAgICAoaXNfZ2l0X3Jvb3QpOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3czYy1pbXBv
cnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci93ZWJkcml2ZXJfc2VydmVyLnB5OiBBZGRlZC4KKyAgICAgICAgKFdlYkRy
aXZlclNlcnZlcik6CisgICAgICAgIChXZWJEcml2ZXJTZXJ2ZXIuX19pbml0X18pOgorICAgICAg
ICAoV2ViRHJpdmVyU2VydmVyLm1ha2VfY29tbWFuZCk6CisgICAgICAgIChXZWJEcml2ZXJTZXJ2
ZXIuc3RhcnQpOgorICAgICAgICAoV2ViRHJpdmVyU2VydmVyLl9ydW4pOgorICAgICAgICAoV2Vi
RHJpdmVyU2VydmVyLnN0b3ApOgorICAgICAgICAoV2ViRHJpdmVyU2VydmVyLmlzX2FsaXZlKToK
KyAgICAgICAgKFdlYkRyaXZlclNlcnZlci5vbl9vdXRwdXQpOgorICAgICAgICAoV2ViRHJpdmVy
U2VydmVyLnBpZCk6CisgICAgICAgIChXZWJEcml2ZXJTZXJ2ZXIudXJsKToKKyAgICAgICAgKFdl
YkRyaXZlclNlcnZlci5wb3J0KToKKyAgICAgICAgKFdlYkRyaXZlclNlcnZlci5fZmluZF9uZXh0
X2ZyZWVfcG9ydCk6CisgICAgICAgIChTZWxlbml1bVNlcnZlcik6CisgICAgICAgIChTZWxlbml1
bVNlcnZlci5tYWtlX2NvbW1hbmQpOgorICAgICAgICAoQ2hyb21lRHJpdmVyU2VydmVyKToKKyAg
ICAgICAgKENocm9tZURyaXZlclNlcnZlci5fX2luaXRfXyk6CisgICAgICAgIChDaHJvbWVEcml2
ZXJTZXJ2ZXIubWFrZV9jb21tYW5kKToKKyAgICAgICAgKEVkZ2VEcml2ZXJTZXJ2ZXIpOgorICAg
ICAgICAoRWRnZURyaXZlclNlcnZlci5fX2luaXRfXyk6CisgICAgICAgIChFZGdlRHJpdmVyU2Vy
dmVyLm1ha2VfY29tbWFuZCk6CisgICAgICAgIChHZWNrb0RyaXZlclNlcnZlcik6CisgICAgICAg
IChHZWNrb0RyaXZlclNlcnZlci5fX2luaXRfXyk6CisgICAgICAgIChHZWNrb0RyaXZlclNlcnZl
ci5tYWtlX2NvbW1hbmQpOgorICAgICAgICAoU2Vydm9Ecml2ZXJTZXJ2ZXIpOgorICAgICAgICAo
U2Vydm9Ecml2ZXJTZXJ2ZXIuX19pbml0X18pOgorICAgICAgICAoU2Vydm9Ecml2ZXJTZXJ2ZXIu
bWFrZV9jb21tYW5kKToKKyAgICAgICAgKGNtZF9hcmcpOgorICAgICAgICAoZ2V0X2ZyZWVfcG9y
dCk6CisgICAgICAgICh3YWl0X2Zvcl9zZXJ2aWNlKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRjb21tYW5kbGluZS5weTogQWRkZWQu
CisgICAgICAgIChhYnNfcGF0aCk6CisgICAgICAgICh1cmxfb3JfcGF0aCk6CisgICAgICAgIChy
ZXF1aXJlX2FyZyk6CisgICAgICAgIChjcmVhdGVfcGFyc2VyKToKKyAgICAgICAgKHNldF9mcm9t
X2NvbmZpZyk6CisgICAgICAgIChnZXRfdGVzdF9wYXRocyk6CisgICAgICAgIChleGVfcGF0aCk6
CisgICAgICAgIChjaGVja19hcmdzKToKKyAgICAgICAgKGNoZWNrX2FyZ3NfdXBkYXRlKToKKyAg
ICAgICAgKGNyZWF0ZV9wYXJzZXJfdXBkYXRlKToKKyAgICAgICAgKGNyZWF0ZV9wYXJzZXJfcmVk
dWNlKToKKyAgICAgICAgKHBhcnNlX2FyZ3MpOgorICAgICAgICAocGFyc2VfYXJnc191cGRhdGUp
OgorICAgICAgICAocGFyc2VfYXJnc19yZWR1Y2UpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdGxvZ2dpbmcucHk6IEFkZGVkLgorICAg
ICAgICAoc2V0dXApOgorICAgICAgICAoc2V0dXBfc3RkbGliX2xvZ2dlcik6CisgICAgICAgIChM
b2dMZXZlbFJld3JpdGVyKToKKyAgICAgICAgKExvZ0xldmVsUmV3cml0ZXIuX19pbml0X18pOgor
ICAgICAgICAoTG9nTGV2ZWxSZXdyaXRlci5fX2NhbGxfXyk6CisgICAgICAgIChMb2dUaHJlYWQp
OgorICAgICAgICAoTG9nVGhyZWFkLl9faW5pdF9fKToKKyAgICAgICAgKExvZ1RocmVhZC5ydW4p
OgorICAgICAgICAoTG9nZ2luZ1dyYXBwZXIpOgorICAgICAgICAoTG9nZ2luZ1dyYXBwZXIuX19p
bml0X18pOgorICAgICAgICAoTG9nZ2luZ1dyYXBwZXIud3JpdGUpOgorICAgICAgICAoTG9nZ2lu
Z1dyYXBwZXIuZmx1c2gpOgorICAgICAgICAoQ2FwdHVyZUlPKToKKyAgICAgICAgKENhcHR1cmVJ
Ty5fX2luaXRfXyk6CisgICAgICAgIChDYXB0dXJlSU8uX19lbnRlcl9fKToKKyAgICAgICAgKENh
cHR1cmVJTy5fX2V4aXRfXyk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvX19pbml0X18ucHk6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlm
ZXN0L2JhY2tlbmRzL19faW5pdF9fLnB5OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9jb25k
aXRpb25hbC5weTogQWRkZWQuCisgICAgICAgIChDb25kaXRpb25hbFZhbHVlKToKKyAgICAgICAg
KENvbmRpdGlvbmFsVmFsdWUuX19pbml0X18pOgorICAgICAgICAoQ29uZGl0aW9uYWxWYWx1ZS52
YWx1ZSk6CisgICAgICAgIChDb25kaXRpb25hbFZhbHVlLl9fY2FsbF9fKToKKyAgICAgICAgKENv
bmRpdGlvbmFsVmFsdWUuc2V0X3ZhbHVlKToKKyAgICAgICAgKENvbmRpdGlvbmFsVmFsdWUucmVt
b3ZlKToKKyAgICAgICAgKENvbXBpbGVyKToKKyAgICAgICAgKENvbXBpbGVyLmNvbXBpbGUpOgor
ICAgICAgICAoQ29tcGlsZXIuY29tcGlsZS5vZik6CisgICAgICAgIChDb21waWxlci5jb21waWxl
X2NvbmRpdGlvbik6CisgICAgICAgIChDb21waWxlci5faW5pdGlhbF9vdXRwdXRfbm9kZSk6Cisg
ICAgICAgIChDb21waWxlci52aXNpdF9EYXRhTm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNp
dF9LZXlWYWx1ZU5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfTGlzdE5vZGUpOgorICAg
ICAgICAoQ29tcGlsZXIudmlzaXRfVmFsdWVOb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0
X0F0b21Ob2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X0NvbmRpdGlvbmFsTm9kZSk6Cisg
ICAgICAgIChDb21waWxlci52aXNpdF9TdHJpbmdOb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZp
c2l0X1N0cmluZ05vZGUudmFsdWUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfTnVtYmVyTm9k
ZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9WYXJpYWJsZU5vZGUpOgorICAgICAgICAoQ29t
cGlsZXIudmlzaXRfVmFyaWFibGVOb2RlLnZhbHVlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0
X0luZGV4Tm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9VbmFyeUV4cHJlc3Npb25Ob2Rl
KToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X0JpbmFyeUV4cHJlc3Npb25Ob2RlKToKKyAgICAg
ICAgKENvbXBpbGVyLnZpc2l0X1VuYXJ5T3BlcmF0b3JOb2RlKToKKyAgICAgICAgKENvbXBpbGVy
LnZpc2l0X0JpbmFyeU9wZXJhdG9yTm9kZSk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0pOgorICAg
ICAgICAoTWFuaWZlc3RJdGVtLl9faW5pdF9fKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5fX3Jl
cHJfXyk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uX19zdHJfXyk6CisgICAgICAgIChNYW5pZmVz
dEl0ZW0uX19jb250YWluc19fKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5pc19lbXB0eSk6Cisg
ICAgICAgIChNYW5pZmVzdEl0ZW0ucm9vdCk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0ubmFtZSk6
CisgICAgICAgIChNYW5pZmVzdEl0ZW0uaGFzX2tleSk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0u
Z2V0KToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5zZXQpOgorICAgICAgICAoTWFuaWZlc3RJdGVt
Ll9hZGRfa2V5X3ZhbHVlKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5hcHBlbmQpOgorICAgICAg
ICAoTWFuaWZlc3RJdGVtLnJlbW92ZSk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uX3JlbW92ZV9j
aGlsZCk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uaXRlcmNoaWxkcmVuKToKKyAgICAgICAgKE1h
bmlmZXN0SXRlbS5fZmxhdHRlbik6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uaXRlcml0ZW1zKToK
KyAgICAgICAgKE1hbmlmZXN0SXRlbS5pdGVya2V5cyk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0u
cmVtb3ZlX3ZhbHVlKToKKyAgICAgICAgKGNvbXBpbGVfYXN0KToKKyAgICAgICAgKGNvbXBpbGUp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3dwdG1hbmlmZXN0L2JhY2tlbmRzL3N0YXRpYy5weTogQWRkZWQuCisgICAgICAgIChDb21waWxl
cik6CisgICAgICAgIChDb21waWxlci5jb21waWxlKToKKyAgICAgICAgKENvbXBpbGVyLmNvbXBp
bGUub2YpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfRGF0YU5vZGUpOgorICAgICAgICAoQ29t
cGlsZXIudmlzaXRfS2V5VmFsdWVOb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X1ZhbHVl
Tm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9BdG9tTm9kZSk6CisgICAgICAgIChDb21w
aWxlci52aXNpdF9MaXN0Tm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9Db25kaXRpb25h
bE5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfU3RyaW5nTm9kZSk6CisgICAgICAgIChD
b21waWxlci52aXNpdF9OdW1iZXJOb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X1Zhcmlh
YmxlTm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9JbmRleE5vZGUpOgorICAgICAgICAo
Q29tcGlsZXIudmlzaXRfVW5hcnlFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChDb21waWxlci52
aXNpdF9CaW5hcnlFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9VbmFy
eU9wZXJhdG9yTm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9CaW5hcnlPcGVyYXRvck5v
ZGUpOgorICAgICAgICAoTWFuaWZlc3RJdGVtKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5fX2lu
aXRfXyk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uX19yZXByX18pOgorICAgICAgICAoTWFuaWZl
c3RJdGVtLl9fc3RyX18pOgorICAgICAgICAoTWFuaWZlc3RJdGVtLmlzX2VtcHR5KToKKyAgICAg
ICAgKE1hbmlmZXN0SXRlbS5yb290KToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5oYXNfa2V5KToK
KyAgICAgICAgKE1hbmlmZXN0SXRlbS5nZXQpOgorICAgICAgICAoTWFuaWZlc3RJdGVtLnNldCk6
CisgICAgICAgIChNYW5pZmVzdEl0ZW0ucmVtb3ZlKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5f
cmVtb3ZlX2NoaWxkKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5pdGVyY2hpbGRyZW4pOgorICAg
ICAgICAoTWFuaWZlc3RJdGVtLl9mbGF0dGVuKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5pdGVy
aXRlbXMpOgorICAgICAgICAoTWFuaWZlc3RJdGVtLml0ZXJrZXlzKToKKyAgICAgICAgKE1hbmlm
ZXN0SXRlbS5pdGVydmFsdWVzKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5hcHBlbmQpOgorICAg
ICAgICAoY29tcGlsZV9hc3QpOgorICAgICAgICAoY29tcGlsZSk6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvYmFja2Vu
ZHMvdzNjLWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvcGVyZm9ybWFu
Y2UvdzNjLWltcG9ydC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3Qvbm9kZS5weTogQWRkZWQuCisgICAgICAgIChO
b2RlVmlzaXRvcik6CisgICAgICAgIChOb2RlVmlzaXRvci52aXNpdCk6CisgICAgICAgIChOb2Rl
VmlzaXRvci52aXNpdC5ib2R5KToKKyAgICAgICAgKE5vZGUpOgorICAgICAgICAoTm9kZS5fX2lu
aXRfXyk6CisgICAgICAgIChOb2RlLmFwcGVuZCk6CisgICAgICAgIChOb2RlLnJlbW92ZSk6Cisg
ICAgICAgIChOb2RlLl9fcmVwcl9fKToKKyAgICAgICAgKE5vZGUuX19zdHJfXyk6CisgICAgICAg
IChOb2RlLl9fZXFfXyk6CisgICAgICAgIChOb2RlLmNvcHkpOgorICAgICAgICAoRGF0YU5vZGUp
OgorICAgICAgICAoRGF0YU5vZGUuYXBwZW5kKToKKyAgICAgICAgKEtleVZhbHVlTm9kZSk6Cisg
ICAgICAgIChLZXlWYWx1ZU5vZGUuYXBwZW5kKToKKyAgICAgICAgKExpc3ROb2RlKToKKyAgICAg
ICAgKExpc3ROb2RlLmFwcGVuZCk6CisgICAgICAgIChWYWx1ZU5vZGUpOgorICAgICAgICAoVmFs
dWVOb2RlLmFwcGVuZCk6CisgICAgICAgIChBdG9tTm9kZSk6CisgICAgICAgIChDb25kaXRpb25h
bE5vZGUpOgorICAgICAgICAoVW5hcnlFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChVbmFyeUV4
cHJlc3Npb25Ob2RlLl9faW5pdF9fKToKKyAgICAgICAgKFVuYXJ5RXhwcmVzc2lvbk5vZGUuYXBw
ZW5kKToKKyAgICAgICAgKFVuYXJ5RXhwcmVzc2lvbk5vZGUuY29weSk6CisgICAgICAgIChCaW5h
cnlFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChCaW5hcnlFeHByZXNzaW9uTm9kZS5fX2luaXRf
Xyk6CisgICAgICAgIChCaW5hcnlFeHByZXNzaW9uTm9kZS5hcHBlbmQpOgorICAgICAgICAoQmlu
YXJ5RXhwcmVzc2lvbk5vZGUuY29weSk6CisgICAgICAgIChVbmFyeU9wZXJhdG9yTm9kZSk6Cisg
ICAgICAgIChVbmFyeU9wZXJhdG9yTm9kZS5hcHBlbmQpOgorICAgICAgICAoQmluYXJ5T3BlcmF0
b3JOb2RlKToKKyAgICAgICAgKEJpbmFyeU9wZXJhdG9yTm9kZS5hcHBlbmQpOgorICAgICAgICAo
SW5kZXhOb2RlKToKKyAgICAgICAgKFZhcmlhYmxlTm9kZSk6CisgICAgICAgIChTdHJpbmdOb2Rl
KToKKyAgICAgICAgKE51bWJlck5vZGUpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3BhcnNlci5weTogQWRkZWQuCisg
ICAgICAgIChQYXJzZUVycm9yKToKKyAgICAgICAgKFBhcnNlRXJyb3IuX19pbml0X18pOgorICAg
ICAgICAoZGVjb2RlKToKKyAgICAgICAgKHByZWNlZGVuY2UpOgorICAgICAgICAoVG9rZW5UeXBl
cyk6CisgICAgICAgIChUb2tlblR5cGVzLl9faW5pdF9fKToKKyAgICAgICAgKFRva2VuaXplcik6
CisgICAgICAgIChUb2tlbml6ZXIuX19pbml0X18pOgorICAgICAgICAoVG9rZW5pemVyLnJlc2V0
KToKKyAgICAgICAgKFRva2VuaXplci50b2tlbml6ZSk6CisgICAgICAgIChUb2tlbml6ZXIuY2hh
cik6CisgICAgICAgIChUb2tlbml6ZXIuY29uc3VtZSk6CisgICAgICAgIChUb2tlbml6ZXIucGVl
ayk6CisgICAgICAgIChUb2tlbml6ZXIuc2tpcF93aGl0ZXNwYWNlKToKKyAgICAgICAgKFRva2Vu
aXplci5lb2xfc3RhdGUpOgorICAgICAgICAoVG9rZW5pemVyLmxpbmVfc3RhcnRfc3RhdGUpOgor
ICAgICAgICAoVG9rZW5pemVyLmRhdGFfbGluZV9zdGF0ZSk6CisgICAgICAgIChUb2tlbml6ZXIu
aGVhZGluZ19zdGF0ZSk6CisgICAgICAgIChUb2tlbml6ZXIua2V5X3N0YXRlKToKKyAgICAgICAg
KFRva2VuaXplci5hZnRlcl9rZXlfc3RhdGUpOgorICAgICAgICAoVG9rZW5pemVyLmxpc3Rfc3Rh
cnRfc3RhdGUpOgorICAgICAgICAoVG9rZW5pemVyLmxpc3RfdmFsdWVfc3RhcnRfc3RhdGUpOgor
ICAgICAgICAoVG9rZW5pemVyLmxpc3RfdmFsdWVfc3RhdGUpOgorICAgICAgICAoVG9rZW5pemVy
Lmxpc3RfdmFsdWVfYXRvbV9zdGF0ZSk6CisgICAgICAgIChUb2tlbml6ZXIubGlzdF9lbmRfc3Rh
dGUpOgorICAgICAgICAoVG9rZW5pemVyLnZhbHVlX3N0YXRlKToKKyAgICAgICAgKFRva2VuaXpl
ci52YWx1ZV9pbm5lcl9zdGF0ZSk6CisgICAgICAgIChUb2tlbml6ZXIuY29tbWVudF9zdGF0ZSk6
CisgICAgICAgIChUb2tlbml6ZXIubGluZV9lbmRfc3RhdGUpOgorICAgICAgICAoVG9rZW5pemVy
LmNvbnN1bWVfc3RyaW5nKToKKyAgICAgICAgKFRva2VuaXplci5leHByX29yX3ZhbHVlX3N0YXRl
KToKKyAgICAgICAgKFRva2VuaXplci5leHByX3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5v
cGVyYXRvcl9zdGF0ZSk6CisgICAgICAgIChUb2tlbml6ZXIuZGlnaXRfc3RhdGUpOgorICAgICAg
ICAoVG9rZW5pemVyLmlkZW50X3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5jb25zdW1lX2Vz
Y2FwZSk6CisgICAgICAgIChUb2tlbml6ZXIuZGVjb2RlX2VzY2FwZSk6CisgICAgICAgIChUb2tl
bml6ZXIuZXNjYXBlX3ZhbHVlKToKKyAgICAgICAgKFBhcnNlcik6CisgICAgICAgIChQYXJzZXIu
X19pbml0X18pOgorICAgICAgICAoUGFyc2VyLnJlc2V0KToKKyAgICAgICAgKFBhcnNlci5wYXJz
ZSk6CisgICAgICAgIChQYXJzZXIuY29uc3VtZSk6CisgICAgICAgIChQYXJzZXIuZXhwZWN0KToK
KyAgICAgICAgKFBhcnNlci5tYW5pZmVzdCk6CisgICAgICAgIChQYXJzZXIuZGF0YV9ibG9jayk6
CisgICAgICAgIChQYXJzZXIuZW9mX29yX2VuZF9ncm91cCk6CisgICAgICAgIChQYXJzZXIudmFs
dWVfYmxvY2spOgorICAgICAgICAoUGFyc2VyLmxpc3RfdmFsdWUpOgorICAgICAgICAoUGFyc2Vy
LmV4cHJlc3Npb25fdmFsdWVzKToKKyAgICAgICAgKFBhcnNlci52YWx1ZSk6CisgICAgICAgIChQ
YXJzZXIuYXRvbSk6CisgICAgICAgIChQYXJzZXIuZXhwcl9zdGFydCk6CisgICAgICAgIChQYXJz
ZXIuZXhwcik6CisgICAgICAgIChQYXJzZXIuZXhwcl9vcGVyYW5kKToKKyAgICAgICAgKFBhcnNl
ci5leHByX3VuYXJ5X29wKToKKyAgICAgICAgKFBhcnNlci5leHByX2Jpbl9vcCk6CisgICAgICAg
IChQYXJzZXIuZXhwcl92YWx1ZSk6CisgICAgICAgIChQYXJzZXIuZXhwcl9udW1iZXIpOgorICAg
ICAgICAoVHJlZWJ1aWxkZXIpOgorICAgICAgICAoVHJlZWJ1aWxkZXIuX19pbml0X18pOgorICAg
ICAgICAoVHJlZWJ1aWxkZXIuYXBwZW5kKToKKyAgICAgICAgKFRyZWVidWlsZGVyLnBvcCk6Cisg
ICAgICAgIChFeHByZXNzaW9uQnVpbGRlcik6CisgICAgICAgIChFeHByZXNzaW9uQnVpbGRlci5f
X2luaXRfXyk6CisgICAgICAgIChFeHByZXNzaW9uQnVpbGRlci5maW5pc2gpOgorICAgICAgICAo
RXhwcmVzc2lvbkJ1aWxkZXIubGVmdF9wYXJlbik6CisgICAgICAgIChFeHByZXNzaW9uQnVpbGRl
ci5yaWdodF9wYXJlbik6CisgICAgICAgIChFeHByZXNzaW9uQnVpbGRlci5wdXNoX29wZXJhdG9y
KToKKyAgICAgICAgKEV4cHJlc3Npb25CdWlsZGVyLnBvcF9vcGVyYXRvcik6CisgICAgICAgIChF
eHByZXNzaW9uQnVpbGRlci5wdXNoX29wZXJhbmQpOgorICAgICAgICAoRXhwcmVzc2lvbkJ1aWxk
ZXIucG9wX29wZXJhbmQpOgorICAgICAgICAoRXhwcmVzc2lvbkJ1aWxkZXIuaXNfZW1wdHkpOgor
ICAgICAgICAoRXhwcmVzc2lvbkJ1aWxkZXIucHJlY2VkZW5jZSk6CisgICAgICAgIChwYXJzZSk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
d3B0bWFuaWZlc3Qvc2VyaWFsaXplci5weTogQWRkZWQuCisgICAgICAgIChlc2NhcGUpOgorICAg
ICAgICAoTWFuaWZlc3RTZXJpYWxpemVyKToKKyAgICAgICAgKE1hbmlmZXN0U2VyaWFsaXplci5f
X2luaXRfXyk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIuc2VyaWFsaXplKToKKyAgICAg
ICAgKE1hbmlmZXN0U2VyaWFsaXplci52aXNpdF9EYXRhTm9kZSk6CisgICAgICAgIChNYW5pZmVz
dFNlcmlhbGl6ZXIudmlzaXRfS2V5VmFsdWVOb2RlKToKKyAgICAgICAgKE1hbmlmZXN0U2VyaWFs
aXplci52aXNpdF9MaXN0Tm9kZSk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRf
VmFsdWVOb2RlKToKKyAgICAgICAgKE1hbmlmZXN0U2VyaWFsaXplci52aXNpdF9BdG9tTm9kZSk6
CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfQ29uZGl0aW9uYWxOb2RlKToKKyAg
ICAgICAgKE1hbmlmZXN0U2VyaWFsaXplci52aXNpdF9TdHJpbmdOb2RlKToKKyAgICAgICAgKE1h
bmlmZXN0U2VyaWFsaXplci52aXNpdF9OdW1iZXJOb2RlKToKKyAgICAgICAgKE1hbmlmZXN0U2Vy
aWFsaXplci52aXNpdF9WYXJpYWJsZU5vZGUpOgorICAgICAgICAoTWFuaWZlc3RTZXJpYWxpemVy
LnZpc2l0X0luZGV4Tm9kZSk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfVW5h
cnlFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfQmlu
YXJ5RXhwcmVzc2lvbk5vZGUpOgorICAgICAgICAoTWFuaWZlc3RTZXJpYWxpemVyLnZpc2l0X1Vu
YXJ5T3BlcmF0b3JOb2RlKToKKyAgICAgICAgKE1hbmlmZXN0U2VyaWFsaXplci52aXNpdF9CaW5h
cnlPcGVyYXRvck5vZGUpOgorICAgICAgICAoc2VyaWFsaXplKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy9f
X2luaXRfXy5weTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9jb25kaXRpb25hbC5weTog
QWRkZWQuCisgICAgICAgIChUZXN0Q29uZGl0aW9uYWwpOgorICAgICAgICAoVGVzdENvbmRpdGlv
bmFsLmNvbXBpbGUpOgorICAgICAgICAoVGVzdENvbmRpdGlvbmFsLnRlc3RfZ2V0XzApOgorICAg
ICAgICAodGVzdF9nZXRfMSk6CisgICAgICAgICh0ZXN0X2dldF8yKToKKyAgICAgICAgKHRlc3Rf
Z2V0XzMpOgorICAgICAgICAodGVzdF9zZXRfMCk6CisgICAgICAgICh0ZXN0X3NldF8xKToKKyAg
ICAgICAgKHRlc3Rfc2V0XzIpOgorICAgICAgICAodGVzdF9hcGlfMCk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVz
dHMvdGVzdF9wYXJzZXIucHk6IEFkZGVkLgorICAgICAgICAoVGVzdEV4cHJlc3Npb24pOgorICAg
ICAgICAoVGVzdEV4cHJlc3Npb24uc2V0VXApOgorICAgICAgICAoVGVzdEV4cHJlc3Npb24ucGFy
c2UpOgorICAgICAgICAoVGVzdEV4cHJlc3Npb24uY29tcGFyZSk6CisgICAgICAgIChUZXN0RXhw
cmVzc2lvbi5tYXRjaCk6CisgICAgICAgIChUZXN0RXhwcmVzc2lvbi50ZXN0X2V4cHJfMCk6Cisg
ICAgICAgICh0ZXN0X2V4cHJfMSk6CisgICAgICAgICh0ZXN0X2F0b21fMCk6CisgICAgICAgICh0
ZXN0X2F0b21fMSk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zZXJpYWxpemVyLnB5OiBBZGRlZC4K
KyAgICAgICAgKFRva2VuaXplclRlc3QpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC5zZXRVcCk6
CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnNlcmlhbGl6ZSk6CisgICAgICAgIChUb2tlbml6ZXJU
ZXN0LmNvbXBhcmUpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0XzApOgorICAgICAgICAo
dGVzdF8xKToKKyAgICAgICAgKHRlc3RfMik6CisgICAgICAgICh0ZXN0XzMpOgorICAgICAgICAo
dGVzdF80KToKKyAgICAgICAgKHRlc3RfNSk6CisgICAgICAgICh0ZXN0XzYpOgorICAgICAgICAo
dGVzdF83KToKKyAgICAgICAgKHRlc3RfOCk6CisgICAgICAgICh0ZXN0XzkpOgorICAgICAgICAo
dGVzdF8xMCk6CisgICAgICAgICh0ZXN0XzExKToKKyAgICAgICAgKHRlc3RfMTIpOgorICAgICAg
ICAodGVzdF8xMyk6CisgICAgICAgICh0ZXN0XzE0KToKKyAgICAgICAgKHRlc3RfMTUpOgorICAg
ICAgICAodGVzdF8xNik6CisgICAgICAgICh0ZXN0XzE3KToKKyAgICAgICAgKHRlc3RfMTgpOgor
ICAgICAgICAodGVzdF9lc2NhcGVfMCk6CisgICAgICAgICh0ZXN0X2VzY2FwZV8xKToKKyAgICAg
ICAgKHRlc3RfZXNjYXBlXzIpOgorICAgICAgICAodGVzdF9lc2NhcGVfMyk6CisgICAgICAgICh0
ZXN0X2VzY2FwZV80KToKKyAgICAgICAgKHRlc3RfZXNjYXBlXzUpOgorICAgICAgICAodGVzdF9l
c2NhcGVfNik6CisgICAgICAgICh0ZXN0X2VzY2FwZV83KToKKyAgICAgICAgKHRlc3RfZXNjYXBl
XzgpOgorICAgICAgICAodGVzdF9lc2NhcGVfOSk6CisgICAgICAgICh0ZXN0X2VzY2FwZV8xMCk6
CisgICAgICAgICh0ZXN0X2VzY2FwZV8xMSk6CisgICAgICAgICh0ZXN0X2F0b21fMSk6CisgICAg
ICAgICh0ZXN0X2F0b21fMik6CisgICAgICAgICh0ZXN0X2F0b21fMyk6CisgICAgICAgICh0ZXN0
X2F0b21fNCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zdGF0aWMucHk6IEFkZGVkLgorICAgICAg
ICAoVGVzdFN0YXRpYyk6CisgICAgICAgIChUZXN0U3RhdGljLmNvbXBpbGUpOgorICAgICAgICAo
VGVzdFN0YXRpYy50ZXN0X2dldF8wKToKKyAgICAgICAgKHRlc3RfZ2V0XzEpOgorICAgICAgICAo
dGVzdF9nZXRfMyk6CisgICAgICAgICh0ZXN0X2dldF80KToKKyAgICAgICAgKHRlc3RfYXBpKToK
KyAgICAgICAgKHRlc3RfaXNfZW1wdHlfMSk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF90b2tlbml6
ZXIucHk6IEFkZGVkLgorICAgICAgICAoVG9rZW5pemVyVGVzdCk6CisgICAgICAgIChUb2tlbml6
ZXJUZXN0LnNldFVwKToKKyAgICAgICAgKFRva2VuaXplclRlc3QudG9rZW5pemUpOgorICAgICAg
ICAoVG9rZW5pemVyVGVzdC5jb21wYXJlKToKKyAgICAgICAgKFRva2VuaXplclRlc3QudGVzdF9o
ZWFkaW5nXzApOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2hlYWRpbmdfMSk6CisgICAg
ICAgIChUb2tlbml6ZXJUZXN0LnRlc3RfaGVhZGluZ18yKToKKyAgICAgICAgKFRva2VuaXplclRl
c3QudGVzdF9oZWFkaW5nXzMpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2hlYWRpbmdf
NCk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3RfaGVhZGluZ181KToKKyAgICAgICAgKFRv
a2VuaXplclRlc3QudGVzdF9oZWFkaW5nXzYpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0
X2tleV8wKToKKyAgICAgICAgKFRva2VuaXplclRlc3QudGVzdF9rZXlfMSk6CisgICAgICAgIChU
b2tlbml6ZXJUZXN0LnRlc3Rfa2V5XzIpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2tl
eV8zKToKKyAgICAgICAgKFRva2VuaXplclRlc3QudGVzdF9rZXlfNCk6CisgICAgICAgIChUb2tl
bml6ZXJUZXN0LnRlc3Rfa2V5XzUpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2tleV82
KToKKyAgICAgICAgKFRva2VuaXplclRlc3QudGVzdF9rZXlfNyk6CisgICAgICAgIChUb2tlbml6
ZXJUZXN0LnRlc3Rfa2V5XzgpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2tleV85KToK
KyAgICAgICAgKFRva2VuaXplclRlc3QudGVzdF9rZXlfMTApOgorICAgICAgICAoVG9rZW5pemVy
VGVzdC50ZXN0X2tleV8xMSk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3Rfa2V5XzEyKToK
KyAgICAgICAgKFRva2VuaXplclRlc3QudGVzdF9rZXlfMTMpOgorICAgICAgICAoVG9rZW5pemVy
VGVzdC50ZXN0X2tleV8xNCk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3RfbGlzdF8wKToK
KyAgICAgICAgKHRlc3RfbGlzdF8xKToKKyAgICAgICAgKHRlc3RfbGlzdF8yKToKKyAgICAgICAg
KHRlc3RfbGlzdF8zKToKKyAgICAgICAgKHRlc3RfbGlzdF80KToKKyAgICAgICAgKHRlc3RfbGlz
dF81KToKKyAgICAgICAgKHRlc3RfbGlzdF82KToKKyAgICAgICAgKHRlc3RfZXhwcl8wKToKKyAg
ICAgICAgKHRlc3RfZXhwcl8xKToKKyAgICAgICAgKHRlc3RfZXhwcl8yKToKKyAgICAgICAgKHRl
c3RfZXhwcl8zKToKKyAgICAgICAgKHRlc3RfZXhwcl80KToKKyAgICAgICAgKHRlc3RfZXhwcl81
KToKKyAgICAgICAgKHRlc3RfZXhwcl82KToKKyAgICAgICAgKHRlc3RfZXhwcl83KToKKyAgICAg
ICAgKHRlc3RfZXhwcl84KToKKyAgICAgICAgKHRlc3RfZXhwcl85KToKKyAgICAgICAgKHRlc3Rf
ZXhwcl8xMCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlm
ZXN0L3czYy1pbXBvcnQubG9nOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2dpdGlnbm9yZS93M2MtaW1wb3J0LmxvZy4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRydW5u
ZXIucHk6IEFkZGVkLgorICAgICAgICAoc2V0dXBfbG9nZ2luZyk6CisgICAgICAgIChnZXRfbG9h
ZGVyKToKKyAgICAgICAgKGxpc3RfdGVzdF9ncm91cHMpOgorICAgICAgICAobGlzdF9kaXNhYmxl
ZCk6CisgICAgICAgIChnZXRfcGF1c2VfYWZ0ZXJfdGVzdCk6CisgICAgICAgIChydW5fdGVzdHMp
OgorICAgICAgICAoc3RhcnQpOgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0dGVzdC5weTogQWRkZWQuCisg
ICAgICAgIChSZXN1bHQpOgorICAgICAgICAoUmVzdWx0Ll9faW5pdF9fKToKKyAgICAgICAgKFJl
c3VsdC5fX3JlcHJfXyk6CisgICAgICAgIChTdWJ0ZXN0UmVzdWx0KToKKyAgICAgICAgKFN1YnRl
c3RSZXN1bHQuX19pbml0X18pOgorICAgICAgICAoU3VidGVzdFJlc3VsdC5fX3JlcHJfXyk6Cisg
ICAgICAgIChUZXN0aGFybmVzc1Jlc3VsdCk6CisgICAgICAgIChUZXN0aGFybmVzc1N1YnRlc3RS
ZXN1bHQpOgorICAgICAgICAoUmVmdGVzdFJlc3VsdCk6CisgICAgICAgIChXZHNwZWNSZXN1bHQp
OgorICAgICAgICAoV2RzcGVjU3VidGVzdFJlc3VsdCk6CisgICAgICAgIChnZXRfcnVuX2luZm8p
OgorICAgICAgICAoUnVuSW5mbyk6CisgICAgICAgIChSdW5JbmZvLl9faW5pdF9fKToKKyAgICAg
ICAgKFJ1bkluZm8uX3VwZGF0ZV9tb3ppbmZvKToKKyAgICAgICAgKFRlc3QpOgorICAgICAgICAo
VGVzdC5fX2luaXRfXyk6CisgICAgICAgIChUZXN0Ll9fZXFfXyk6CisgICAgICAgIChUZXN0LmZy
b21fbWFuaWZlc3QpOgorICAgICAgICAoVGVzdC5pZCk6CisgICAgICAgIChUZXN0LmtleXMpOgor
ICAgICAgICAoVGVzdC5hYnNfcGF0aCk6CisgICAgICAgIChUZXN0Ll9nZXRfbWV0YWRhdGEpOgor
ICAgICAgICAoVGVzdC5pdGVybWV0YSk6CisgICAgICAgIChUZXN0LmRpc2FibGVkKToKKyAgICAg
ICAgKFRlc3QucmVzdGFydF9hZnRlcik6CisgICAgICAgIChUZXN0LnRhZ3MpOgorICAgICAgICAo
VGVzdC5wcmVmcyk6CisgICAgICAgIChUZXN0LmV4cGVjdGVkKToKKyAgICAgICAgKFRlc3QuX19y
ZXByX18pOgorICAgICAgICAoVGVzdGhhcm5lc3NUZXN0KToKKyAgICAgICAgKFRlc3RoYXJuZXNz
VGVzdC5pZCk6CisgICAgICAgIChNYW51YWxUZXN0KToKKyAgICAgICAgKE1hbnVhbFRlc3QuaWQp
OgorICAgICAgICAoUmVmdGVzdFRlc3QpOgorICAgICAgICAoUmVmdGVzdFRlc3QuX19pbml0X18p
OgorICAgICAgICAoUmVmdGVzdFRlc3QuZnJvbV9tYW5pZmVzdCk6CisgICAgICAgIChSZWZ0ZXN0
VGVzdC5pZCk6CisgICAgICAgIChSZWZ0ZXN0VGVzdC5rZXlzKToKKyAgICAgICAgKFdkc3BlY1Rl
c3QpOgorICAgICAgICAoZnJvbV9tYW5pZmVzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHNlcnZlL2RvY3MvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC9zdWJk
aXIvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC93M2Mt
aW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUv
dzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNl
cnZlL3dwdHNlcnZlL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy91cmwvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQ6CisKKzIwMTctMDUtMTcgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBTZXR0aW5nIFVSTC5zZWFyY2ggdG8gJycg
cmVzdWx0cyBpbiBhIHN0cmluZ2lmaWVkIFVSTCBlbmRpbmcgaW4gJz8nCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjIzNDUKICAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzMxODAwNDQxPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2lkbGhhcm5l
c3MtZXhwZWN0ZWQudHh0CmluZGV4IDVhNmM3YjgyM2ZiMTc4YzdiN2Y1MGRhYmQ1ODQ5YzcwYTdh
NjU5ZmYuLjZiODgzN2RlNjQxYTk1YzdmMjFiY2JjMTEzYWNkOGEwZGU1NWJkZGYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTEyLDgg
KzEyLDYgQEAgUEFTUyBCbG9iIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImMKIFBBU1MgQmxvYiBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBzaXplIAogUEFTUyBCbG9iIGludGVyZmFjZTogYXR0cmlidXRlIHR5cGUgCiBQQVNT
IEJsb2IgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2xpY2UobG9uZyBsb25nLGxvbmcgbG9uZyxET01T
dHJpbmcpIAotUEFTUyBCbG9iIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEJsb2Io
WyJURVNUIl0pIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEJsb2IoWyJURVNUIl0pIAog
UEFTUyBCbG9iIGludGVyZmFjZTogbmV3IEJsb2IoWyJURVNUIl0pIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAic2l6ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBCbG9iIGludGVyZmFj
ZTogbmV3IEJsb2IoWyJURVNUIl0pIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidHlwZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBCbG9iIGludGVyZmFjZTogbmV3IEJsb2IoWyJURVNU
Il0pIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2xpY2UiIHdpdGggdGhlIHByb3BlciB0eXBlICgy
KSAKQEAgLTI1LDggKzIzLDYgQEAgUEFTUyBGaWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CiBQQVNTIEZpbGUgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAogUEFTUyBGaWxlIGludGVyZmFjZTogYXR0cmli
dXRlIG5hbWUgCiBQQVNTIEZpbGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGFzdE1vZGlmaWVkIAot
UEFTUyBGaWxlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZpbGUoWyJteUZpbGVC
aXRzIl0sICJteUZpbGVOYW1lIikgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRmlsZShb
Im15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSAKIFBBU1MgRmlsZSBpbnRlcmZhY2U6IG5ldyBG
aWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
bmFtZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBGaWxlIGludGVyZmFjZTogbmV3
IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJsYXN0TW9kaWZpZWQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgQmxvYiBpbnRl
cmZhY2U6IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAic2l6ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIApAQCAtNDAsOCArMzYs
NiBAQCBQQVNTIEZpbGVMaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CiBQQVNTIEZpbGVMaXN0IGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNv
bnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgRmlsZUxpc3QgaW50ZXJmYWNlOiBvcGVyYXRpb24g
aXRlbSh1bnNpZ25lZCBsb25nKSAKIFBBU1MgRmlsZUxpc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
bGVuZ3RoIAotUEFTUyBGaWxlTGlzdCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGZpbGVf
aW5wdXQuZmlsZXMgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBmaWxlX2lucHV0LmZpbGVzIAog
UEFTUyBGaWxlTGlzdCBpbnRlcmZhY2U6IGZpbGVfaW5wdXQuZmlsZXMgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJpdGVtIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIEZpbGVMaXN0IGlu
dGVyZmFjZTogY2FsbGluZyBpdGVtKHVuc2lnbmVkIGxvbmcpIG9uIGZpbGVfaW5wdXQuZmlsZXMg
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRmlsZUxp
c3QgaW50ZXJmYWNlOiBmaWxlX2lucHV0LmZpbGVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGVu
Z3RoIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCkBAIC03MCw4ICs2NCw2IEBAIFBBU1MgRmls
ZVJlYWRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWQKIFBBU1MgRmlsZVJlYWRlciBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmFib3J0IAogUEFTUyBGaWxlUmVhZGVyIGludGVyZmFjZTogYXR0
cmlidXRlIG9uZXJyb3IgCiBQQVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25s
b2FkZW5kIAotUEFTUyBGaWxlUmVhZGVyIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3
IEZpbGVSZWFkZXIoKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBGaWxlUmVhZGVyKCkg
CiBQQVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBuZXcgRmlsZVJlYWRlcigpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAicmVhZEFzQXJyYXlCdWZmZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAK
IFBBU1MgRmlsZVJlYWRlciBpbnRlcmZhY2U6IGNhbGxpbmcgcmVhZEFzQXJyYXlCdWZmZXIoQmxv
Yikgb24gbmV3IEZpbGVSZWFkZXIoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cg
VHlwZUVycm9yIAogUEFTUyBGaWxlUmVhZGVyIGludGVyZmFjZTogbmV3IEZpbGVSZWFkZXIoKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgInJlYWRBc0JpbmFyeVN0cmluZyIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgKDEpIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9GaWxlQVBJL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9pZGxoYXJuZXNz
Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggNGI5N2QzNzczZjYyODg0ODE4ZjE0NmY1ZWVjYmVi
MTVjZWUzNWIxYi4uYmU0NDI2MjRkYjg0YjU0NTdhMTQ1N2M4YTNiOWUyYzQ2MTJjNjc4MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxl
QVBJL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvaWRsaGFybmVzcy53b3JrZXItZXhw
ZWN0ZWQudHh0CkBAIC0xNCw4ICsxNCw2IEBAIFBBU1MgQmxvYiBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjCiBQQVNT
IEJsb2IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2l6ZSAKIFBBU1MgQmxvYiBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSB0eXBlIAogUEFTUyBCbG9iIGludGVyZmFjZTogb3BlcmF0aW9uIHNsaWNlKGxvbmcg
bG9uZyxsb25nIGxvbmcsRE9NU3RyaW5nKSAKLVBBU1MgQmxvYiBtdXN0IGJlIHByaW1hcnkgaW50
ZXJmYWNlIG9mIG5ldyBCbG9iKFsiVEVTVCJdKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5l
dyBCbG9iKFsiVEVTVCJdKSAKIFBBU1MgQmxvYiBpbnRlcmZhY2U6IG5ldyBCbG9iKFsiVEVTVCJd
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNpemUiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAK
IFBBU1MgQmxvYiBpbnRlcmZhY2U6IG5ldyBCbG9iKFsiVEVTVCJdKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgInR5cGUiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgQmxvYiBpbnRlcmZh
Y2U6IG5ldyBCbG9iKFsiVEVTVCJdKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNsaWNlIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC0yNyw4ICsyNSw2IEBAIEZBSUwgRmlsZSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCBhc3NlCiBGQUlMIEZpbGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkZpbGUiIGV4
cGVjdGVkIHByb3BlcnR5ICJGaWxlIiBtaXNzaW5nCiBGQUlMIEZpbGUgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJGaWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZSIgbWlzc2luZwogRkFJTCBGaWxl
IGludGVyZmFjZTogYXR0cmlidXRlIGxhc3RNb2RpZmllZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAi
RmlsZSIgbWlzc2luZwotRkFJTCBGaWxlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3
IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgYXNzZXJ0X2VxdWFsczogVW5leHBl
Y3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBn
b3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSIKLUZB
SUwgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFt
ZSIpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBv
YmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0
IGZpbmQgdmFyaWFibGU6IEZpbGUiCiBGQUlMIEZpbGUgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15
RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5hbWUiIHdp
dGggdGhlIHByb3BlciB0eXBlICgwKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBGaWxlIgogRkFJTCBGaWxlIGludGVy
ZmFjZTogbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJsYXN0TW9kaWZpZWQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSBhc3NlcnRf
ZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVj
dGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBGaWxlIgogRkFJTCBCbG9iIGludGVyZmFjZTogbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0s
ICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzaXplIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMCkgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFs
dWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSIKQEAgLTY3LDggKzYzLDYgQEAgUEFTUyBGaWxl
UmVhZGVyIGludGVyZmFjZTogYXR0cmlidXRlIG9ubG9hZAogUEFTUyBGaWxlUmVhZGVyIGludGVy
ZmFjZTogYXR0cmlidXRlIG9uYWJvcnQgCiBQQVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25lcnJvciAKIFBBU1MgRmlsZVJlYWRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxv
YWRlbmQgCi1QQVNTIEZpbGVSZWFkZXIgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcg
RmlsZVJlYWRlcigpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEZpbGVSZWFkZXIoKSAK
IFBBU1MgRmlsZVJlYWRlciBpbnRlcmZhY2U6IG5ldyBGaWxlUmVhZGVyKCkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJyZWFkQXNBcnJheUJ1ZmZlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAog
UEFTUyBGaWxlUmVhZGVyIGludGVyZmFjZTogY2FsbGluZyByZWFkQXNBcnJheUJ1ZmZlcihCbG9i
KSBvbiBuZXcgRmlsZVJlYWRlcigpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgCiBQQVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBuZXcgRmlsZVJlYWRlcigpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVhZEFzQmluYXJ5U3RyaW5nIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAoMSkgCkBAIC05OSw4ICs5Myw2IEBAIFBBU1MgRmlsZVJlYWRlclN5bmMgaW50ZXJmYWNl
OiBvcGVyYXRpb24gcmVhZEFzQXJyYXlCdWZmZXIoQmxvYikKIFBBU1MgRmlsZVJlYWRlclN5bmMg
aW50ZXJmYWNlOiBvcGVyYXRpb24gcmVhZEFzQmluYXJ5U3RyaW5nKEJsb2IpIAogUEFTUyBGaWxl
UmVhZGVyU3luYyBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZWFkQXNUZXh0KEJsb2IsRE9NU3RyaW5n
KSAKIFBBU1MgRmlsZVJlYWRlclN5bmMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVhZEFzRGF0YVVS
TChCbG9iKSAKLVBBU1MgRmlsZVJlYWRlclN5bmMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBv
ZiBuZXcgRmlsZVJlYWRlclN5bmMoKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBGaWxl
UmVhZGVyU3luYygpIAogUEFTUyBGaWxlUmVhZGVyU3luYyBpbnRlcmZhY2U6IG5ldyBGaWxlUmVh
ZGVyU3luYygpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVhZEFzQXJyYXlCdWZmZXIiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgRmlsZVJlYWRlclN5bmMgaW50ZXJmYWNlOiBjYWxs
aW5nIHJlYWRBc0FycmF5QnVmZmVyKEJsb2IpIG9uIG5ldyBGaWxlUmVhZGVyU3luYygpIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIEZpbGVSZWFkZXJT
eW5jIGludGVyZmFjZTogbmV3IEZpbGVSZWFkZXJTeW5jKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJyZWFkQXNCaW5hcnlTdHJpbmciIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS91
cmwvbXVsdGktZ2xvYmFsLW9yaWdpbi1zZXJpYWxpemF0aW9uLnN1Yi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvdXJsL211
bHRpLWdsb2JhbC1vcmlnaW4tc2VyaWFsaXphdGlvbi5zdWItZXhwZWN0ZWQudHh0CmluZGV4IDRm
ZDA1ZjMzYjJlYWY2YTcwZTllMWNiYTNjNjY0NGE2OTQxMGE1YmMuLjA2Nzc4NjJjZjI1NGRiM2Yw
ZDM1MzJhOTkzNzdiMTI4MzNjZWFkY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS91cmwvbXVsdGktZ2xvYmFsLW9yaWdpbi1z
ZXJpYWxpemF0aW9uLnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL3VybC9tdWx0aS1nbG9iYWwtb3JpZ2luLXNl
cmlhbGl6YXRpb24uc3ViLWV4cGVjdGVkLnR4dApAQCAtMiw2ICsyLDUgQEAgQmxvY2tlZCBhY2Nl
c3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93d3cubG9jYWxob3N0Ojg4MDAvRmlsZUFQSS9zdXBw
b3J0L2luY3VtYmUKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxOTogVHlwZUVycm9yOiBmcmFtZXNb
MF0uY3JlYXRlQmxvYlVSTCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdmcmFtZXNbMF0uY3JlYXRl
QmxvYlVSTCgpJywgJ2ZyYW1lc1swXS5jcmVhdGVCbG9iVVJMJyBpcyB1bmRlZmluZWQpCiAKIAot
SGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IGZyYW1lc1swXS5jcmVh
dGVCbG9iVVJMIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2ZyYW1lc1swXS5jcmVhdGVCbG9iVVJM
KCknLCAnZnJhbWVzWzBdLmNyZWF0ZUJsb2JVUkwnIGlzIHVuZGVmaW5lZCkKLQorRkFJTCBCbG9i
IFVSTCBzZXJpYWxpemF0aW9uIChzcGVjaWZpY2FsbHkgdGhlIG9yaWdpbikgaW4gbXVsdGktZ2xv
YmFsIHNpdHVhdGlvbnMgVHlwZUVycm9yOiBmcmFtZXNbMF0uY3JlYXRlQmxvYlVSTCBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdmcmFtZXNbMF0uY3JlYXRlQmxvYlVSTCgpJywgJ2ZyYW1lc1swXS5j
cmVhdGVCbG9iVVJMJyBpcyB1bmRlZmluZWQpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKaW5kZXggZWExNDQzN2Q0ZGZjNTFhYzEyYjQ3
ZTQ3ZWQ5NTZkN2U4ZWIwY2YxMi4uZWY3MjQzM2ZlMWY1MDNiYTI1MzhhZjdjNGU3ZjMwODk0NDk5
MTRhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy1leHBl
Y3RlZC50eHQKQEAgLTI5LDggKzI5LDYgQEAgUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3QKIFBBU1Mg
SURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAK
IFBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9sZFZlcnNp
b24gCiBQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuZXdW
ZXJzaW9uIAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgbXVzdCBiZSBwcmltYXJ5IGludGVy
ZmFjZSBvZiBuZXcgSURCVmVyc2lvbkNoYW5nZUV2ZW50KCdmb28nKSAKLVBBU1MgU3RyaW5naWZp
Y2F0aW9uIG9mIG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQoJ2ZvbycpIAogUEFTUyBJREJWZXJz
aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBuZXcgSURCVmVyc2lvbkNoYW5nZUV2ZW50KCdmb28n
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9sZFZlcnNpb24iIHdpdGggdGhlIHByb3BlciB0eXBl
ICgwKSAKIFBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogbmV3IElEQlZlcnNp
b25DaGFuZ2VFdmVudCgnZm9vJykgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJuZXdWZXJzaW9uIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKQEAgLTQxLDggKzM5LDYg
QEAgUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWMKIFBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBvcGVuKERPTVN0cmluZyx1bnNpZ25lZCBsb25nIGxvbmcpIAogUEFTUyBJREJGYWN0
b3J5IGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZURhdGFiYXNlKERPTVN0cmluZykgCiBQQVNT
IElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gY21wKGFueSxhbnkpIAotUEFTUyBJREJG
YWN0b3J5IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygd2luZG93LmluZGV4ZWREQiAKLVBB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIHdpbmRvdy5pbmRleGVkREIgCiBQQVNTIElEQkZhY3Rvcnkg
aW50ZXJmYWNlOiB3aW5kb3cuaW5kZXhlZERCIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3BlbiIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogY2Fs
bGluZyBvcGVuKERPTVN0cmluZyx1bnNpZ25lZCBsb25nIGxvbmcpIG9uIHdpbmRvdy5pbmRleGVk
REIgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgSURC
RmFjdG9yeSBpbnRlcmZhY2U6IHdpbmRvdy5pbmRleGVkREIgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJkZWxldGVEYXRhYmFzZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIApAQCAtMTIwLDggKzEx
Niw2IEBAIFBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gbG93ZXJCb3VuZChh
bnksYm9vbGVhbikKIFBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gdXBwZXJC
b3VuZChhbnksYm9vbGVhbikgCiBQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9u
IGJvdW5kKGFueSxhbnksYm9vbGVhbixib29sZWFuKSAKIFBBU1MgSURCS2V5UmFuZ2UgaW50ZXJm
YWNlOiBvcGVyYXRpb24gaW5jbHVkZXMoYW55KSAKLVBBU1MgSURCS2V5UmFuZ2UgbXVzdCBiZSBw
cmltYXJ5IGludGVyZmFjZSBvZiBJREJLZXlSYW5nZS5vbmx5KDApIAotUEFTUyBTdHJpbmdpZmlj
YXRpb24gb2YgSURCS2V5UmFuZ2Uub25seSgwKSAKIFBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNl
OiBJREJLZXlSYW5nZS5vbmx5KDApIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93ZXIiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBJREJLZXlS
YW5nZS5vbmx5KDApIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXBwZXIiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgxKSAKIFBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBJREJLZXlSYW5nZS5vbmx5
KDApIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93ZXJPcGVuIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMikgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pbnRlcmZhY2VzLndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmZhY2Vz
Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggYzY0ZjBmMDYwM2M2ZDJhM2QyODI4ZjcwYmE0MDQx
ZWJkMTUyZTAxMi4uNDU2ZGUwNjdiYmNhMTE2MzBkOWIxNjQxNDNjMWEwZGNhMjAxNWQwZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaW50ZXJmYWNlcy53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMud29ya2Vy
LWV4cGVjdGVkLnR4dApAQCAtMjcsOCArMjcsNiBAQCBQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVu
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdAog
UEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5IAogUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2xk
VmVyc2lvbiAKIFBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogYXR0cmlidXRl
IG5ld1ZlcnNpb24gCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQoJ2ZvbycpIAotUEFTUyBTdHJp
bmdpZmljYXRpb24gb2YgbmV3IElEQlZlcnNpb25DaGFuZ2VFdmVudCgnZm9vJykgCiBQQVNTIElE
QlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQo
J2ZvbycpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib2xkVmVyc2lvbiIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgKDApIAogUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBuZXcgSURC
VmVyc2lvbkNoYW5nZUV2ZW50KCdmb28nKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5ld1ZlcnNp
b24iIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IApAQCAtMzksOCAr
MzcsNiBAQCBQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplYwogUEFTUyBJREJGYWN0b3J5IGludGVyZmFj
ZTogb3BlcmF0aW9uIG9wZW4oRE9NU3RyaW5nLHVuc2lnbmVkIGxvbmcgbG9uZykgCiBQQVNTIElE
QkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlRGF0YWJhc2UoRE9NU3RyaW5nKSAK
IFBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbXAoYW55LGFueSkgCi1QQVNT
IElEQkZhY3RvcnkgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBzZWxmLmluZGV4ZWREQiAK
LVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHNlbGYuaW5kZXhlZERCIAogUEFTUyBJREJGYWN0b3J5
IGludGVyZmFjZTogc2VsZi5pbmRleGVkREIgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvcGVuIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBjYWxs
aW5nIG9wZW4oRE9NU3RyaW5nLHVuc2lnbmVkIGxvbmcgbG9uZykgb24gc2VsZi5pbmRleGVkREIg
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgSURCRmFj
dG9yeSBpbnRlcmZhY2U6IHNlbGYuaW5kZXhlZERCIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVs
ZXRlRGF0YWJhc2UiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKQEAgLTExOCw4ICsxMTQsNiBA
QCBQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIGxvd2VyQm91bmQoYW55LGJv
b2xlYW4pCiBQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIHVwcGVyQm91bmQo
YW55LGJvb2xlYW4pIAogUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBib3Vu
ZChhbnksYW55LGJvb2xlYW4sYm9vbGVhbikgCiBQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTog
b3BlcmF0aW9uIGluY2x1ZGVzKGFueSkgCi1QQVNTIElEQktleVJhbmdlIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgSURCS2V5UmFuZ2Uub25seSgwKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9u
IG9mIElEQktleVJhbmdlLm9ubHkoMCkgCiBQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogSURC
S2V5UmFuZ2Uub25seSgwKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvd2VyIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMCkgCiBQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogSURCS2V5UmFuZ2Uu
b25seSgwKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwcGVyIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMSkgCiBQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogSURCS2V5UmFuZ2Uub25seSgwKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImxvd2VyT3BlbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIp
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJDcnlwdG9BUEkvZGVyaXZlX2JpdHNfa2V5cy90ZXN0X2VjZGhfYml0cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0
b0FQSS9kZXJpdmVfYml0c19rZXlzL3Rlc3RfZWNkaF9iaXRzLWV4cGVjdGVkLnR4dAppbmRleCA4
MjdhZDQ1NjU1YzI4NjFhYTA0MzhmY2U2ODFjZGY2YTlmMjgwNzcxLi45ZjQ1ZWJiM2VhMjQxZWFm
OGI1NmEwZmNjMmVhYjNiMjA4ODI0MjJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9kZXJpdmVfYml0c19rZXlzL3Rl
c3RfZWNkaF9iaXRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9kZXJpdmVfYml0c19rZXlzL3Rlc3RfZWNk
aF9iaXRzLWV4cGVjdGVkLnR4dApAQCAtMiw2ICsyLDUgQEAgQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE5ODogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBEYXRhRXJyb3IgKERPTSBFeGNlcHRp
b24KIGRlcml2ZUJpdHMgVGVzdHMgZm9yIEVDREgKIAogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwg
bWVzc2FnZSA9IERhdGEgcHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVx
dWlyZW1lbnRzCi0KK0ZBSUwgV2ViQ3J5cHRvQVBJOiBkZXJpdmVCaXRzKCkgVXNpbmcgRUNESCBE
YXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1dlYkNyeXB0b0FQSS9kZXJpdmVfYml0c19rZXlzL3Rlc3RfZWNkaF9rZXlzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRv
QVBJL2Rlcml2ZV9iaXRzX2tleXMvdGVzdF9lY2RoX2tleXMtZXhwZWN0ZWQudHh0CmluZGV4IDli
YjIxYzEzNzFlY2NkNzNkNzE5NWJhMjJlMzFmODhlMjEyM2M5NDkuLjBlMzdkNDYxYTNjMDhjZDRl
MmYxMzE2MWJhNzUwMzk5N2JjYWRhNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2Rlcml2ZV9iaXRzX2tleXMvdGVz
dF9lY2RoX2tleXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2Rlcml2ZV9iaXRzX2tleXMvdGVzdF9lY2Ro
X2tleXMtZXhwZWN0ZWQudHh0CkBAIC0yLDYgKzIsNSBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTY3OiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IERhdGFFcnJvciAoRE9NIEV4Y2VwdGlv
bgogZGVyaXZlS2V5IFRlc3RzIGZvciBFQ0RICiAKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1l
c3NhZ2UgPSBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0IHJlcXVp
cmVtZW50cwotCitGQUlMIFdlYkNyeXB0b0FQSTpkZXJpdmVLZXkoKSBVc2luZyBFQ0RIIERhdGEg
cHJvdmlkZWQgdG8gYW4gb3BlcmF0aW9uIGRvZXMgbm90IG1lZXQgcmVxdWlyZW1lbnRzCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2Vi
Q3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvaWRsaGFybmVzcy1leHBlY3RlZC50
eHQKaW5kZXggOTcyNWE1Mzk1ZGM3OWY4MzMzNDZkMWM1NWExOGJlNjY0YTg2MGU2Zi4uNDI1NTZi
MDU2NGMwY2EwMDNlZTM0YWMzODI3N2ZkNWNkZDc0NjA5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvaWRsaGFybmVz
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9XZWJDcnlwdG9BUEkvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTEwLDggKzEw
LDYgQEAgUEFTUyBDcnlwdG8gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKIFBBU1MgQ3J5cHRvIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgQ3J5cHRvIGludGVyZmFjZTogYXR0cmlidXRlIHN1YnRs
ZSAKIFBBU1MgQ3J5cHRvIGludGVyZmFjZTogb3BlcmF0aW9uIGdldFJhbmRvbVZhbHVlcyhBcnJh
eUJ1ZmZlclZpZXcpIAotUEFTUyBDcnlwdG8gbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBj
cnlwdG8gCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBjcnlwdG8gCiBQQVNTIENyeXB0byBpbnRl
cmZhY2U6IGNyeXB0byBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN1YnRsZSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDApIAogUEFTUyBDcnlwdG8gaW50ZXJmYWNlOiBjcnlwdG8gbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJnZXRSYW5kb21WYWx1ZXMiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBB
U1MgQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBnZXRSYW5kb21WYWx1ZXMoQXJyYXlCdWZmZXJW
aWV3KSBvbiBjcnlwdG8gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
ciAKQEAgLTQxLDggKzM5LDYgQEAgUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBvcGVyYXRp
b24gaW1wb3J0S2V5KEtleUZvcm1hdCxbb2JqZWN0IE9iamVjdF0sW29iamUKIFBBU1MgU3VidGxl
Q3J5cHRvIGludGVyZmFjZTogb3BlcmF0aW9uIGV4cG9ydEtleShLZXlGb3JtYXQsQ3J5cHRvS2V5
KSAKIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogb3BlcmF0aW9uIHdyYXBLZXkoS2V5Rm9y
bWF0LENyeXB0b0tleSxDcnlwdG9LZXksQWxnb3JpdGhtSWRlbnRpZmllcikgCiBQQVNTIFN1YnRs
ZUNyeXB0byBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1bndyYXBLZXkoS2V5Rm9ybWF0LEJ1ZmZlclNv
dXJjZSxDcnlwdG9LZXksQWxnb3JpdGhtSWRlbnRpZmllcixBbGdvcml0aG1JZGVudGlmaWVyLGJv
b2xlYW4sW29iamVjdCBPYmplY3RdKSAKLVBBU1MgU3VidGxlQ3J5cHRvIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgY3J5cHRvLnN1YnRsZSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGNy
eXB0by5zdWJ0bGUgCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJlbmNyeXB0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkg
CiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNhbGxpbmcgZW5jcnlwdChBbGdvcml0aG1J
ZGVudGlmaWVyLENyeXB0b0tleSxCdWZmZXJTb3VyY2UpIG9uIGNyeXB0by5zdWJ0bGUgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgU3VidGxlQ3J5cHRv
IGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY3J5cHQi
IHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3Mud29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCAxMTgz
ZDNiNGRlOGZlYTg5ZTAzYjRiYjRjMjEzMjUwMDdkZTU0YTNhLi44YzgzYWFmYzBlYjczOTEyOTBj
OGE5NDQxNjQyZWU4ZDc4OGM4MDEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLndvcmtlci1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJDcnlwdG9BUEkvaWRsaGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC05LDggKzks
NiBAQCBQQVNTIENyeXB0byBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAogUEFTUyBDcnlwdG8gaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3Ry
dWN0b3IiIHByb3BlcnR5IAogUEFTUyBDcnlwdG8gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3VidGxl
IAogUEFTUyBDcnlwdG8gaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0UmFuZG9tVmFsdWVzKEFycmF5
QnVmZmVyVmlldykgCi1QQVNTIENyeXB0byBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGNy
eXB0byAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGNyeXB0byAKIFBBU1MgQ3J5cHRvIGludGVy
ZmFjZTogY3J5cHRvIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3VidGxlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMCkgCiBQQVNTIENyeXB0byBpbnRlcmZhY2U6IGNyeXB0byBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImdldFJhbmRvbVZhbHVlcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFT
UyBDcnlwdG8gaW50ZXJmYWNlOiBjYWxsaW5nIGdldFJhbmRvbVZhbHVlcyhBcnJheUJ1ZmZlclZp
ZXcpIG9uIGNyeXB0byB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IApAQCAtNDAsOCArMzgsNiBAQCBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IG9wZXJhdGlv
biBpbXBvcnRLZXkoS2V5Rm9ybWF0LFtvYmplY3QgT2JqZWN0XSxbb2JqZQogUEFTUyBTdWJ0bGVD
cnlwdG8gaW50ZXJmYWNlOiBvcGVyYXRpb24gZXhwb3J0S2V5KEtleUZvcm1hdCxDcnlwdG9LZXkp
IAogUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBvcGVyYXRpb24gd3JhcEtleShLZXlGb3Jt
YXQsQ3J5cHRvS2V5LENyeXB0b0tleSxBbGdvcml0aG1JZGVudGlmaWVyKSAKIFBBU1MgU3VidGxl
Q3J5cHRvIGludGVyZmFjZTogb3BlcmF0aW9uIHVud3JhcEtleShLZXlGb3JtYXQsQnVmZmVyU291
cmNlLENyeXB0b0tleSxBbGdvcml0aG1JZGVudGlmaWVyLEFsZ29yaXRobUlkZW50aWZpZXIsYm9v
bGVhbixbb2JqZWN0IE9iamVjdF0pIAotUEFTUyBTdWJ0bGVDcnlwdG8gbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBjcnlwdG8uc3VidGxlIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgY3J5
cHRvLnN1YnRsZSAKIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImVuY3J5cHQiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAK
IFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBlbmNyeXB0KEFsZ29yaXRobUlk
ZW50aWZpZXIsQ3J5cHRvS2V5LEJ1ZmZlclNvdXJjZSkgb24gY3J5cHRvLnN1YnRsZSB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBTdWJ0bGVDcnlwdG8g
aW50ZXJmYWNlOiBjcnlwdG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjcnlwdCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9mb3JtZGF0YS1mb3JlYWNo
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvWE1MSHR0cFJlcXVlc3QvZm9ybWRhdGEtZm9yZWFjaC1leHBlY3RlZC50eHQKaW5kZXggZjNm
OGY4YTk0OThhMTQ4Yzc5NzRiNWVkYzNmNTVkMTRlNWU1MGRlOS4uMmQ2ZWFkM2NjNmM0MWJlYmFl
ZTU2MzlkOTQ0NWI2YjdjNTIzMDAwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9mb3JtZGF0YS1mb3JlYWNoLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL1hNTEh0dHBSZXF1ZXN0L2Zvcm1kYXRhLWZvcmVhY2gtZXhwZWN0ZWQudHh0CkBAIC0xLDUg
KzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2OiBUeXBlRXJyb3I6IGZkLmRlbGV0ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdmZC5kZWxldGUoJ24yJyknLCAnZmQuZGVsZXRlJyBpcyB1
bmRlZmluZWQpCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVycm9yOiBm
ZC5kZWxldGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZmQuZGVsZXRlKCduMicpJywgJ2ZkLmRl
bGV0ZScgaXMgdW5kZWZpbmVkKQotCitGQUlMIEZvcm1EYXRhOiBmb3JlYWNoIFR5cGVFcnJvcjog
ZmQuZGVsZXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2ZkLmRlbGV0ZSgnbjInKScsICdmZC5k
ZWxldGUnIGlzIHVuZGVmaW5lZCkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9pbnRlcmZhY2VzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0
cFJlcXVlc3QvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKaW5kZXggNjE3N2ZlYmE4YjQ0NzZmMTI0
NzQ5ZTc0NmMyODQ4OGQ2MDEzZDg4Ni4uNTU0ZWUxNDA1NTQ2ZmI0ZGExMmYwZTI2Y2ZlZjI3YzA2
YzQ1ZDlmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L2lu
dGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0xOSw4ICsxOSw2IEBAIFBBU1MgWE1MSHR0cFJlcXVl
c3RVcGxvYWQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKIFBBU1MgWE1MSHR0cFJlcXVlc3RVcGxv
YWQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAogUEFTUyBYTUxIdHRwUmVxdWVzdFVwbG9hZCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKIFBBU1MgWE1MSHR0cFJlcXVlc3RVcGxvYWQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IAotUEFTUyBYTUxIdHRwUmVxdWVzdFVwbG9hZCBtdXN0IGJlIHByaW1hcnkgaW50
ZXJmYWNlIG9mIChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2FkIAotUEFTUyBTdHJpbmdpZmlj
YXRpb24gb2YgKG5ldyBYTUxIdHRwUmVxdWVzdCgpKS51cGxvYWQgCiBQQVNTIFhNTEh0dHBSZXF1
ZXN0RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVwbG9hZCBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubG9hZHN0YXJ0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MCkgCiBQQVNTIFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiAobmV3IFhNTEh0
dHBSZXF1ZXN0KCkpLnVwbG9hZCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucHJvZ3Jlc3MiIHdp
dGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCBp
bnRlcmZhY2U6IChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2FkIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25hYm9ydCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtMjgsMTIgKzI2LDYg
QEAgUEFTUyBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0IGludGVyZmFjZTogKG5ldyBYTUxIdHRw
UmVxdWVzdCgpKS51cGxvYWQgbXVzdCBpbmgKIFBBU1MgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdl
dCBpbnRlcmZhY2U6IChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2FkIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib25sb2FkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoNCkgCiBQQVNTIFhNTEh0dHBS
ZXF1ZXN0RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVwbG9h
ZCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udGltZW91dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDUpIAogUEFTUyBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0IGludGVyZmFjZTogKG5ldyBYTUxI
dHRwUmVxdWVzdCgpKS51cGxvYWQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmxvYWRlbmQiIHdp
dGggdGhlIHByb3BlciB0eXBlICg2KSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiAobmV3
IFhNTEh0dHBSZXF1ZXN0KCkpLnVwbG9hZCBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50
TGlzdGVuZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50
ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLEV2ZW50TGlzdGVuZXIs
Ym9vbGVhbikgb24gKG5ldyBYTUxIdHRwUmVxdWVzdCgpKS51cGxvYWQgd2l0aCB0b28gZmV3IGFy
Z3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNl
OiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVwbG9hZCBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJl
bW92ZUV2ZW50TGlzdGVuZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKLVBBU1MgRXZlbnRU
YXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLEV2
ZW50TGlzdGVuZXIsYm9vbGVhbikgb24gKG5ldyBYTUxIdHRwUmVxdWVzdCgpKS51cGxvYWQgd2l0
aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlOiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVwbG9hZCBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImRpc3BhdGNoRXZlbnQiIHdpdGggdGhlIHByb3BlciB0eXBlICgyKSAKLVBBU1Mg
RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGRpc3BhdGNoRXZlbnQoRXZlbnQpIG9uIChu
ZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2FkIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgCiBQQVNTIFhNTEh0dHBSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIFhNTEh0dHBSZXF1ZXN0
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBYTUxIdHRwUmVxdWVzdCBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCkBAIC02OSw4ICs2MSw2IEBAIFBBU1MgWE1MSHR0cFJlcXVlc3QgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgcmVzcG9uc2VUeXBlCiBQQVNTIFhNTEh0dHBSZXF1ZXN0IGludGVyZmFj
ZTogYXR0cmlidXRlIHJlc3BvbnNlIAogUEFTUyBYTUxIdHRwUmVxdWVzdCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSByZXNwb25zZVRleHQgCiBQQVNTIFhNTEh0dHBSZXF1ZXN0IGludGVyZmFjZTogYXR0
cmlidXRlIHJlc3BvbnNlWE1MIAotUEFTUyBYTUxIdHRwUmVxdWVzdCBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIG5ldyBYTUxIdHRwUmVxdWVzdCgpIAotUEFTUyBTdHJpbmdpZmljYXRpb24g
b2YgbmV3IFhNTEh0dHBSZXF1ZXN0KCkgCiBQQVNTIFhNTEh0dHBSZXF1ZXN0IGludGVyZmFjZTog
bmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnJlYWR5c3RhdGVj
aGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgWE1MSHR0cFJlcXVlc3QgaW50
ZXJmYWNlOiBuZXcgWE1MSHR0cFJlcXVlc3QoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIlVOU0VO
VCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBYTUxIdHRwUmVxdWVzdCBpbnRlcmZh
Y2U6IG5ldyBYTUxIdHRwUmVxdWVzdCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiT1BFTkVEIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC0xMDksMTIgKzk5LDYgQEAgUEFTUyBYTUxIdHRw
UmVxdWVzdEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBp
bmhlcml0IHByb3AKIFBBU1MgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5l
dyBYTUxIdHRwUmVxdWVzdCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25sb2FkIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoNCkgCiBQQVNTIFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBuZXcgWE1MSHR0cFJlcXVlc3QoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udGltZW91
dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDUpIAogUEFTUyBYTUxIdHRwUmVxdWVzdEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbmxvYWRlbmQiIHdpdGggdGhlIHByb3BlciB0eXBlICg2KSAKLVBBU1MgRXZlbnRUYXJnZXQg
aW50ZXJmYWNlOiBuZXcgWE1MSHR0cFJlcXVlc3QoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFk
ZEV2ZW50TGlzdGVuZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKLVBBU1MgRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLEV2ZW50TGlz
dGVuZXIsYm9vbGVhbikgb24gbmV3IFhNTEh0dHBSZXF1ZXN0KCkgd2l0aCB0b28gZmV3IGFyZ3Vt
ZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBu
ZXcgWE1MSHR0cFJlcXVlc3QoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlbW92ZUV2ZW50TGlz
dGVuZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBjYWxsaW5nIHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLEV2ZW50TGlzdGVuZXIs
Ym9vbGVhbikgb24gbmV3IFhNTEh0dHBSZXF1ZXN0KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBt
dXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgWE1M
SHR0cFJlcXVlc3QoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRpc3BhdGNoRXZlbnQiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgyKSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5n
IGRpc3BhdGNoRXZlbnQoRXZlbnQpIG9uIG5ldyBYTUxIdHRwUmVxdWVzdCgpIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIEZvcm1EYXRhIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIEZv
cm1EYXRhIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBGb3JtRGF0YSBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCkBAIC0xMjgsOCArMTEyLDYgQEAgRkFJTCBGb3JtRGF0YSBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBnZXRBbGwoVVNWU3RyaW5nKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmYK
IEZBSUwgRm9ybURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gaGFzKFVTVlN0cmluZykgYXNzZXJ0
X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3Rh
dGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiaGFzIiBtaXNzaW5nCiBGQUlMIEZvcm1E
YXRhIGludGVyZmFjZTogb3BlcmF0aW9uIHNldChVU1ZTdHJpbmcsQmxvYixVU1ZTdHJpbmcpIGFz
c2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9u
LXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgInNldCIgbWlzc2luZwogRkFJTCBG
b3JtRGF0YSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXQoVVNWU3RyaW5nLFVTVlN0cmluZykgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24t
c3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAic2V0IiBtaXNzaW5nCi1QQVNTIEZv
cm1EYXRhIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZvcm1EYXRhKCkgCi1QQVNT
IFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRm9ybURhdGEoKSAKIFBBU1MgRm9ybURhdGEgaW50ZXJm
YWNlOiBuZXcgRm9ybURhdGEoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFwcGVuZCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBGb3JtRGF0YSBpbnRlcmZhY2U6IGNhbGxpbmcgYXBw
ZW5kKFVTVlN0cmluZyxCbG9iLFVTVlN0cmluZykgb24gbmV3IEZvcm1EYXRhKCkgd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRm9ybURhdGEgaW50ZXJm
YWNlOiBuZXcgRm9ybURhdGEoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFwcGVuZCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDEpIApAQCAtMTQ2LDggKzEyOCw2IEBAIEZBSUwgRm9ybURhdGEgaW50
ZXJmYWNlOiBuZXcgRm9ybURhdGEoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNldCIgd2l0aCB0
aGUgcHJvCiBGQUlMIEZvcm1EYXRhIGludGVyZmFjZTogY2FsbGluZyBzZXQoVVNWU3RyaW5nLEJs
b2IsVVNWU3RyaW5nKSBvbiBuZXcgRm9ybURhdGEoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11
c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInNldCIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgogRkFJTCBGb3JtRGF0YSBpbnRlcmZhY2U6IG5ldyBGb3Jt
RGF0YSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
NykgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAic2V0IiBub3QgZm91bmQgaW4gcHJvdG90eXBl
IGNoYWluCiBGQUlMIEZvcm1EYXRhIGludGVyZmFjZTogY2FsbGluZyBzZXQoVVNWU3RyaW5nLFVT
VlN0cmluZykgb24gbmV3IEZvcm1EYXRhKCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRo
cm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJzZXQiIG5vdCBmb3VuZCBp
biBwcm90b3R5cGUgY2hhaW4KLVBBU1MgRm9ybURhdGEgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFj
ZSBvZiBuZXcgRm9ybURhdGEoZm9ybSkgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRm9y
bURhdGEoZm9ybSkgCiBQQVNTIEZvcm1EYXRhIGludGVyZmFjZTogbmV3IEZvcm1EYXRhKGZvcm0p
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXBwZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkg
CiBQQVNTIEZvcm1EYXRhIGludGVyZmFjZTogY2FsbGluZyBhcHBlbmQoVVNWU3RyaW5nLEJsb2Is
VVNWU3RyaW5nKSBvbiBuZXcgRm9ybURhdGEoZm9ybSkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBt
dXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRm9ybURhdGEgaW50ZXJmYWNlOiBuZXcgRm9ybURh
dGEoZm9ybSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhcHBlbmQiIHdpdGggdGhlIHByb3BlciB0
eXBlICgxKSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvWE1MSHR0cFJlcXVlc3QvcmVzcG9uc2V0eXBlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3QvcmVz
cG9uc2V0eXBlLWV4cGVjdGVkLnR4dAppbmRleCA5MmY2OGI5MDQxYTM0ZTFiNDlkMzE1YzBmYTA3
MTgyOTQ3MTAzYTFlLi41YzNmNDM4OWE5OTVmNDc4NDljMGE3YjNjMWJjNmEwNmIyNzMxNTY0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hN
TEh0dHBSZXF1ZXN0L3Jlc3BvbnNldHlwZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9yZXNwb25zZXR5
cGUtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsOSBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEx
NzQ6IFhNTEh0dHBSZXF1ZXN0LnJlc3BvbnNlVHlwZSBjYW5ub3QgYmUgY2hhbmdlZCBmb3Igc3lu
Y2hyb25vdXMgSFRUUChTKSByZXF1ZXN0cyBtYWRlIGZyb20gdGhlIHdpbmRvdyBjb250ZXh0Lgot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDExNzQ6IFhNTEh0dHBSZXF1ZXN0LnJlc3BvbnNlVHlwZSBj
YW5ub3QgYmUgY2hhbmdlZCBmb3Igc3luY2hyb25vdXMgSFRUUChTKSByZXF1ZXN0cyBtYWRlIGZy
b20gdGhlIHdpbmRvdyBjb250ZXh0LgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExNzQ6IFhNTEh0
dHBSZXF1ZXN0LnJlc3BvbnNlVHlwZSBjYW5ub3QgYmUgY2hhbmdlZCBmb3Igc3luY2hyb25vdXMg
SFRUUChTKSByZXF1ZXN0cyBtYWRlIGZyb20gdGhlIHdpbmRvdyBjb250ZXh0LgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDExNzQ6IFhNTEh0dHBSZXF1ZXN0LnJlc3BvbnNlVHlwZSBjYW5ub3QgYmUg
Y2hhbmdlZCBmb3Igc3luY2hyb25vdXMgSFRUUChTKSByZXF1ZXN0cyBtYWRlIGZyb20gdGhlIHdp
bmRvdyBjb250ZXh0LgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExNzQ6IFhNTEh0dHBSZXF1ZXN0
LnJlc3BvbnNlVHlwZSBjYW5ub3QgYmUgY2hhbmdlZCBmb3Igc3luY2hyb25vdXMgSFRUUChTKSBy
ZXF1ZXN0cyBtYWRlIGZyb20gdGhlIHdpbmRvdyBjb250ZXh0LgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDExNzQ6IFhNTEh0dHBSZXF1ZXN0LnJlc3BvbnNlVHlwZSBjYW5ub3QgYmUgY2hhbmdlZCBm
b3Igc3luY2hyb25vdXMgSFRUUChTKSByZXF1ZXN0cyBtYWRlIGZyb20gdGhlIHdpbmRvdyBjb250
ZXh0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExNzM6IFhNTEh0dHBSZXF1ZXN0LnJlc3BvbnNl
VHlwZSBjYW5ub3QgYmUgY2hhbmdlZCBmb3Igc3luY2hyb25vdXMgSFRUUChTKSByZXF1ZXN0cyBt
YWRlIGZyb20gdGhlIHdpbmRvdyBjb250ZXh0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExNzM6
IFhNTEh0dHBSZXF1ZXN0LnJlc3BvbnNlVHlwZSBjYW5ub3QgYmUgY2hhbmdlZCBmb3Igc3luY2hy
b25vdXMgSFRUUChTKSByZXF1ZXN0cyBtYWRlIGZyb20gdGhlIHdpbmRvdyBjb250ZXh0LgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDExNzM6IFhNTEh0dHBSZXF1ZXN0LnJlc3BvbnNlVHlwZSBjYW5u
b3QgYmUgY2hhbmdlZCBmb3Igc3luY2hyb25vdXMgSFRUUChTKSByZXF1ZXN0cyBtYWRlIGZyb20g
dGhlIHdpbmRvdyBjb250ZXh0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExNzM6IFhNTEh0dHBS
ZXF1ZXN0LnJlc3BvbnNlVHlwZSBjYW5ub3QgYmUgY2hhbmdlZCBmb3Igc3luY2hyb25vdXMgSFRU
UChTKSByZXF1ZXN0cyBtYWRlIGZyb20gdGhlIHdpbmRvdyBjb250ZXh0LgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDExNzM6IFhNTEh0dHBSZXF1ZXN0LnJlc3BvbnNlVHlwZSBjYW5ub3QgYmUgY2hh
bmdlZCBmb3Igc3luY2hyb25vdXMgSFRUUChTKSByZXF1ZXN0cyBtYWRlIGZyb20gdGhlIHdpbmRv
dyBjb250ZXh0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExNzM6IFhNTEh0dHBSZXF1ZXN0LnJl
c3BvbnNlVHlwZSBjYW5ub3QgYmUgY2hhbmdlZCBmb3Igc3luY2hyb25vdXMgSFRUUChTKSByZXF1
ZXN0cyBtYWRlIGZyb20gdGhlIHdpbmRvdyBjb250ZXh0LgogCiBQQVNTIEluaXRpYWwgdmFsdWUg
b2YgcmVzcG9uc2VUeXBlIAogUEFTUyBTZXQgcmVzcG9uc2VUeXBlIHRvICIiIHdoZW4gcmVhZHlT
dGF0ZSBpcyBVTlNFTlQuIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC90aW1lb3V0LXN5bmMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVx
dWVzdC90aW1lb3V0LXN5bmMtZXhwZWN0ZWQudHh0CmluZGV4IDM3ZGQwNWZhOTYyMzI3MGFjMDgx
Mjg0NWQ3MjdhMWMxZjA5NWYzYzkuLmQzOGM3ZGNlODMxODBjOGZmYzczYWU0MzFkNmNmMTg4ZjI2
ZjE5YWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvWE1MSHR0cFJlcXVlc3QvdGltZW91dC1zeW5jLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3Rp
bWVvdXQtc3luYy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTE3NDogWE1MSHR0cFJlcXVlc3QudGltZW91dCBjYW5ub3QgYmUgc2V0IGZvciBzeW5j
aHJvbm91cyBIVFRQKFMpIHJlcXVlc3RzIG1hZGUgZnJvbSB0aGUgd2luZG93IGNvbnRleHQuCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTE3MzogWE1MSHR0cFJlcXVlc3QudGltZW91dCBjYW5ub3Qg
YmUgc2V0IGZvciBzeW5jaHJvbm91cyBIVFRQKFMpIHJlcXVlc3RzIG1hZGUgZnJvbSB0aGUgd2lu
ZG93IGNvbnRleHQuCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjE6IFN5bmNocm9ub3VzIFhNTEh0
dHBSZXF1ZXN0cyBtdXN0IG5vdCBoYXZlIGEgdGltZW91dCB2YWx1ZSBzZXQuCiAKIFBBU1Mgc2V0
dGluZyB0aW1lb3V0IGF0dHJpYnV0ZSBvbiBzeW5jIHJlcXVlc3QgCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JhY2tncm91bmQtZmV0Y2gv
aW50ZXJmYWNlcy53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9iYWNrZ3JvdW5kLWZldGNoL2ludGVyZmFjZXMud29ya2VyLWV4
cGVjdGVkLnR4dAppbmRleCBjZDNmZjk5YjNiYzYwOWY0ZTViNTE0OGE2MWJiYmZjOGQ4YWM3YzEx
Li41Y2VlMDdhN2IxMjg1NDg5NDlmOWJlYTQwODFkNTFmMWY0Nzk3MGM5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JhY2tncm91bmQtZmV0
Y2gvaW50ZXJmYWNlcy53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmFja2dyb3VuZC1mZXRjaC9pbnRlcmZhY2VzLndv
cmtlci1leHBlY3RlZC50eHQKQEAgLTMsMTAgKzMsNyBAQCBIYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKIAogUEFTUyBFeHBvc2VkIGludGVyZmFjZXMgaW4gYSBTZXJ2aWNl
IFdvcmtlci4gCiBQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLUZBSUwgU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogYXR0cmlidXRlIG9uYmFja2dyb3VuZGZldGNoZWQg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlIiBleHBlY3RlZCBwcm9wZXJ0eSAiU2VydmljZVdvcmtlckds
b2JhbFNjb3BlIiBtaXNzaW5nCi1GQUlMIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbmJhY2tncm91bmRmZXRjaGZhaWwgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
IiBleHBlY3RlZCBwcm9wZXJ0eSAiU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIiBtaXNzaW5nCi1G
QUlMIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJhY2tn
cm91bmRmZXRjaGFib3J0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSIgZXhwZWN0ZWQgcHJvcGVydHkg
IlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSIgbWlzc2luZwotRkFJTCBTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25iYWNrZ3JvdW5kZmV0Y2hjbGljayBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJTZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUiIGV4cGVjdGVkIHByb3BlcnR5ICJTZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUiIG1pc3NpbmcKK1BBU1MgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBGQUlMIEJhY2tn
cm91bmRGZXRjaE1hbmFnZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAi
QmFja2dyb3VuZEZldGNoTWFuYWdlciIgbWlzc2luZwogRkFJTCBCYWNrZ3JvdW5kRmV0Y2hNYW5h
Z2VyIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaE1hbmFnZXIiIGV4cGVjdGVk
IHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hNYW5hZ2VyIiBtaXNzaW5nCiBGQUlMIEJhY2tncm91
bmRGZXRjaE1hbmFnZXIgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaE1hbmFnZXIi
IGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hNYW5hZ2VyIiBtaXNzaW5nCkBAIC0z
OCwzNSArMzUsOSBAQCBGQUlMIEJhY2tncm91bmRGZXRjaEFjdGl2ZUZldGNoZXMgaW50ZXJmYWNl
IG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbAogRkFJTCBCYWNrZ3JvdW5kRmV0
Y2hBY3RpdmVGZXRjaGVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEFjdGl2ZUZldGNoZXMiIGV4cGVj
dGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hBY3RpdmVGZXRjaGVzIiBtaXNzaW5nCiBGQUlM
IEJhY2tncm91bmRGZXRjaEFjdGl2ZUZldGNoZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHBy
b3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIkJhY2tncm91bmRGZXRjaEFjdGl2ZUZldGNoZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNr
Z3JvdW5kRmV0Y2hBY3RpdmVGZXRjaGVzIiBtaXNzaW5nCiBGQUlMIEJhY2tncm91bmRGZXRjaEFj
dGl2ZUZldGNoZXMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVzcG9uc2VSZWFkeSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0
Y2hBY3RpdmVGZXRjaGVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQWN0aXZl
RmV0Y2hlcyIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hFdmVudCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEV2
ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRXZlbnQiIG1pc3NpbmcKLUZB
SUwgQmFja2dyb3VuZEZldGNoRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZl
dGNoRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFdmVudCIgbWlzc2lu
ZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3Vu
ZEZldGNoRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFdmVudCIgbWlz
c2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFdmVu
dCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEV2ZW50IiBtaXNzaW5nCi1GQUlM
IEJhY2tncm91bmRGZXRjaEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNr
Z3JvdW5kRmV0Y2hFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEV2ZW50
IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRl
IHRhZyBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJCYWNrZ3JvdW5kRmV0Y2hFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRj
aEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaEVuZEV2ZW50IGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNo
RW5kRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCIgbWlz
c2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJC
YWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRj
aEVuZEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaEVuZEV2ZW50IGludGVyZmFj
ZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJh
Y2tncm91bmRGZXRjaEVuZEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaEVuZEV2
ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEVuZEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFj
a2dyb3VuZEZldGNoRW5kRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRW5kRXZl
bnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEVuZEV2ZW50
IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRW5kRXZlbnQiIG1pc3NpbmcKLUZB
SUwgQmFja2dyb3VuZEZldGNoRW5kRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY29tcGxldGVG
ZXRjaGVzIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIkJhY2tncm91bmRGZXRjaEVuZEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3Vu
ZEZldGNoRW5kRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRW5kRXZlbnQgaW50
ZXJmYWNlOiBvcGVyYXRpb24gdXBkYXRlVUkoRE9NU3RyaW5nKSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVu
dCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEVuZEV2ZW50IiBtaXNzaW5nCi1G
QUlMIEJhY2tncm91bmRGZXRjaFNldHRsZWRGZXRjaGVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoU2V0dGxlZEZldGNo
ZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyIgbWlz
c2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyBpbnRlcmZhY2Ugb2JqZWN0
IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyIgZXhwZWN0ZWQgcHJvcGVydHkgIkJh
Y2tncm91bmRGZXRjaFNldHRsZWRGZXRjaGVzIiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRj
aFNldHRsZWRGZXRjaGVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVk
RmV0Y2hlcyIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaFNldHRsZWRGZXRjaGVz
IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaFNldHRsZWRGZXRjaGVzIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tn
cm91bmRGZXRjaFNldHRsZWRGZXRjaGVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZl
dGNoU2V0dGxlZEZldGNoZXMiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoU2V0dGxlZEZl
dGNoZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaFNldHRs
ZWRGZXRjaGVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoU2V0dGxlZEZldGNo
ZXMiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoU2V0dGxlZEZldGNoZXMgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgcmVzcG9uc2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoU2V0dGxlZEZldGNoZXMiIGV4cGVjdGVk
IHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyIgbWlzc2luZwotRkFJTCBC
YWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIGV4cGVjdGVkIHBy
b3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3Vu
ZEZldGNoRmFpbEV2ZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEZhaWxF
dmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEZhaWxFdmVudCIgbWlzc2lu
ZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tn
cm91bmRGZXRjaEZhaWxFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEZh
aWxFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFj
a2dyb3VuZEZldGNoRmFpbEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNo
RmFpbEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaEZhaWxFdmVudCBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRmFpbEV2ZW50IiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRmFpbEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tn
cm91bmRGZXRjaEZhaWxFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmYWlsZWRGZXRjaGVzIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tn
cm91bmRGZXRjaEZhaWxFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEZh
aWxFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2ZW50IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZl
dGNoQ2xpY2tFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaENsaWNrRXZl
bnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoQ2xpY2tFdmVudCBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFj
a2dyb3VuZEZldGNoQ2xpY2tFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hDbGlj
a0V2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2ZW50IiBleHBl
Y3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQ2xpY2tFdmVudCIgbWlzc2luZwotRkFJTCBC
YWNrZ3JvdW5kRmV0Y2hDbGlja0V2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaENsaWNrRXZlbnQi
IGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2ZW50IiBtaXNzaW5nCi1G
QUlMIEJhY2tncm91bmRGZXRjaENsaWNrRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHBy
b3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIkJhY2tncm91bmRGZXRjaENsaWNrRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3Jv
dW5kRmV0Y2hDbGlja0V2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaENsaWNrRXZl
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3RhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQ2xpY2tFdmVudCIgZXhw
ZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaENsaWNrRXZlbnQiIG1pc3NpbmcKK1BBU1Mg
QmFja2dyb3VuZEZldGNoRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgQmFja2dyb3VuZEZldGNoRW5kRXZlbnQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1Mg
QmFja2dyb3VuZEZldGNoU2V0dGxlZEZldGNoZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgQmFja2dyb3VuZEZldGNoRmFpbEV2
ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCitQQVNTIEJhY2tncm91bmRGZXRjaENsaWNrRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL29yaWdpbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMv
b3JpZ2luLWV4cGVjdGVkLnR4dAppbmRleCA5OGFlZGYyZWI5MjQ5MGFjNWMyOTJlYzZlNTNkMTU1
MjlkNzQwNmMwLi4zZTE0OTU0NjNmOTExODU0MzE0NzJlZDFhNGFmY2E5ZWZhODQ4YjBlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMv
b3JpZ2luLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvcnMvb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtNTksNiArNTksOCBAQCBC
bG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cDovL3d3dzEubG9jYWxob3N0Ojg4MDAv
Y29ycy8vcmVzb3VyY2VzL2NvcnMtbQogQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIGhhbmRs
aW5nCiAKIAorSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSAxIGR1cGxpY2F0ZSB0ZXN0
IG5hbWU6ICJEaXNhbGxvdyBvcmlnaW46IGxvY2FsaG9zdDo4ODAwIgorCiBGQUlMIEFsbG93IG9y
aWdpbjogKiBUaGUgb3BlcmF0aW9uIHdhcyBhYm9ydGVkLgogRkFJTCBBbGxvdyBvcmlnaW46IF8q
X18gVGhlIG9wZXJhdGlvbiB3YXMgYWJvcnRlZC4KIEZBSUwgQWxsb3cgb3JpZ2luOiBbdGFiXSog
VGhlIG9wZXJhdGlvbiB3YXMgYWJvcnRlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50
LXJlZ2lzdHJ5L2RlZmluZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWdpc3Ry
eS9kZWZpbmUtZXhwZWN0ZWQudHh0CmluZGV4IDZiN2Q0NzAwNmUyYTNjMWFhNzQ0NjcxNGRkNjNj
OTZlM2MxODdlNTUuLjBlNjVjZmY0OTliMDJhMWJhZTM4NGViNzU0YzBiMTEyNGQyMWVlM2EgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlZ2lzdHJ5L2RlZmluZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQtcmVnaXN0cnkvZGVmaW5lLWV4cGVjdGVkLnR4dApAQCAt
MSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogVHlwZUVycm9yOiB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnaWZyYW1lLmNvbnRlbnREb2N1bWVudC5k
ZWZhdWx0VmlldycpCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVycm9y
OiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnaWZyYW1lLmNvbnRlbnRE
b2N1bWVudC5kZWZhdWx0VmlldycpCi0KK0ZBSUwgQ3VzdG9tIEVsZW1lbnRzOiBFbGVtZW50IGRl
ZmluaXRpb24gVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnaWZyYW1lLmNvbnRlbnREb2N1bWVudC5kZWZhdWx0VmlldycpCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L3BhcnNlci9wYXJzZXItZmFsbHNiYWNrLXRvLXVua25vd24tZWxlbWVudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9wYXJzZXIvcGFyc2VyLWZhbGxzYmFjay10by11bmtub3duLWVsZW1lbnQtZXhwZWN0ZWQu
dHh0CmluZGV4IDZmNmRjODcxN2NmZWViMTQ4OGFkOWQ5NTdiZWFjNWM4NDJhYzRiYWUuLjZmYjUz
ODA5YTMyMjE1OGFhN2E4N2YxNzE0YzMxYjM4ZDk0MzI1MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNl
ci9wYXJzZXItZmFsbHNiYWNrLXRvLXVua25vd24tZWxlbWVudC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcGFyc2VyL3BhcnNlci1mYWxsc2JhY2stdG8tdW5rbm93bi1lbGVtZW50LWV4cGVjdGVkLnR4
dApAQCAtMiw5ICsyLDcgQEAgQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IFRoZSByZXN1bHQg
b2YgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQgbXVzdCBiZQogQ09OU09MRSBNRVNTQUdF
OiBUeXBlRXJyb3I6IFRoZSByZXN1bHQgb2YgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQg
bXVzdCBiZSBhIEhUTUxFbGVtZW50CiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFJlZmVyZW5j
ZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCiBDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNDE6IEJhZAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzMjE6IEVycm9yOiBU
cmllZCB0byBjcmVhdGUgYSB0ZXN0IHdpdGggZmlsZV9pc190ZXN0CiAKLVBBU1MgSFRNTCBwYXJz
ZXIgbXVzdCBjcmVhdGUgYSBmYWxsYmFjayBIVE1MVW5rbm93bkVsZW1lbnQgd2hlbiBhIGN1c3Rv
bSBlbGVtZW50IGNvbnN0cnVjdG9yIHJldHVybnMgYSBUZXh0IG5vZGUgCi1QQVNTIEhUTUwgcGFy
c2VyIG11c3QgY3JlYXRlIGEgZmFsbGJhY2sgSFRNTFVua25vd25FbGVtZW50IHdoZW4gYSBjdXN0
b20gZWxlbWVudCBjb25zdHJ1Y3RvciByZXR1cm5zIG5vbi1FbGVtZW50IG9iamVjdCAKLVBBU1Mg
SFRNTCBwYXJzZXIgbXVzdCBjcmVhdGUgYSBmYWxsYmFjayBIVE1MVW5rbm93bkVsZW1lbnQgd2hl
biBhIGN1c3RvbSBlbGVtZW50IGNvbnN0cnVjdG9yIGRvZXMgbm90IGNhbGwgc3VwZXIoKSAKLVBB
U1MgSFRNTCBwYXJzZXIgbXVzdCBjcmVhdGUgYSBmYWxsYmFjayBIVE1MVW5rbm93bkVsZW1lbnQg
d2hlbiBhIGN1c3RvbSBlbGVtZW50IGNvbnN0cnVjdG9yIHRocm93cyBhbiBleGNlcHRpb24gCitQ
QVNTIEN1c3RvbSBFbGVtZW50czogQ2hhbmdlcyB0byB0aGUgSFRNTCBwYXJzZXIgCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lu
dGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKaW5kZXggZTlkMGVhYzlkYzlm
OTA4MTdiZTc1NTM3MWE2NTA3ZTgxOTkwNGE5Zi4uZjFjMTk4MGE2Mjg4YjA3YjExZmM3NWU5MmI1
NzU4Yjg4OGFjODUyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaW50ZXJmYWNlcy1leHBlY3Rl
ZC50eHQKQEAgLTI3LDggKzI3LDYgQEAgUEFTUyBFdmVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBw
cmV2ZW50RGVmYXVsdCgpCiBQQVNTIEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIGRlZmF1bHRQ
cmV2ZW50ZWQgCiBQQVNTIEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIHRpbWVTdGFtcCAKIFBB
U1MgRXZlbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW5pdEV2ZW50KERPTVN0cmluZyxib29sZWFu
LGJvb2xlYW4pIAotUEFTUyBFdmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRvY3Vt
ZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZG9jdW1l
bnQuY3JlYXRlRXZlbnQoIkV2ZW50IikgCiBQQVNTIEV2ZW50IGludGVyZmFjZTogZG9jdW1lbnQu
Y3JlYXRlRXZlbnQoIkV2ZW50IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0eXBlIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIEV2ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRl
RXZlbnQoIkV2ZW50IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0YXJnZXQiIHdpdGggdGhlIHBy
b3BlciB0eXBlICgxKSAKIFBBU1MgRXZlbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFdmVu
dCgiRXZlbnQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImN1cnJlbnRUYXJnZXQiIHdpdGggdGhl
IHByb3BlciB0eXBlICgyKSAKQEAgLTQ3LDggKzQ1LDYgQEAgUEFTUyBFdmVudCBpbnRlcmZhY2U6
IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpIG11c3QgaGF2ZSBvd24gcHJvcGVydHkgImlz
VHIKIFBBU1MgRXZlbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgInRpbWVTdGFtcCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDE1
KSAKIFBBU1MgRXZlbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImluaXRFdmVudCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDE2
KSAKIFBBU1MgRXZlbnQgaW50ZXJmYWNlOiBjYWxsaW5nIGluaXRFdmVudChET01TdHJpbmcsYm9v
bGVhbixib29sZWFuKSBvbiBkb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudCBtdXN0IGJlIHBy
aW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBFdmVudCgiZm9vIikgCi1QQVNTIFN0cmluZ2lmaWNhdGlv
biBvZiBuZXcgRXZlbnQoImZvbyIpIAogUEFTUyBFdmVudCBpbnRlcmZhY2U6IG5ldyBFdmVudCgi
Zm9vIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0eXBlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MCkgCiBQQVNTIEV2ZW50IGludGVyZmFjZTogbmV3IEV2ZW50KCJmb28iKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInRhcmdldCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBFdmVudCBp
bnRlcmZhY2U6IG5ldyBFdmVudCgiZm9vIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjdXJyZW50
VGFyZ2V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC03NCw4ICs3MCw2IEBAIFBBU1Mg
Q3VzdG9tRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplCiBQQVNTIEN1c3RvbUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVj
dG9yIiBwcm9wZXJ0eSAKIFBBU1MgQ3VzdG9tRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGV0
YWlsIAogUEFTUyBDdXN0b21FdmVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpbml0Q3VzdG9tRXZl
bnQoRE9NU3RyaW5nLGJvb2xlYW4sYm9vbGVhbixhbnkpIAotUEFTUyBDdXN0b21FdmVudCBtdXN0
IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBDdXN0b21FdmVudCgiZm9vIikgCi1QQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiBuZXcgQ3VzdG9tRXZlbnQoImZvbyIpIAogUEFTUyBDdXN0b21FdmVu
dCBpbnRlcmZhY2U6IG5ldyBDdXN0b21FdmVudCgiZm9vIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJkZXRhaWwiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgQ3VzdG9tRXZlbnQgaW50
ZXJmYWNlOiBuZXcgQ3VzdG9tRXZlbnQoImZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaW5p
dEN1c3RvbUV2ZW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIEN1c3RvbUV2ZW50
IGludGVyZmFjZTogY2FsbGluZyBpbml0Q3VzdG9tRXZlbnQoRE9NU3RyaW5nLGJvb2xlYW4sYm9v
bGVhbixhbnkpIG9uIG5ldyBDdXN0b21FdmVudCgiZm9vIikgd2l0aCB0b28gZmV3IGFyZ3VtZW50
cyBtdXN0IHRocm93IFR5cGVFcnJvciAKQEAgLTExNiw4ICsxMTAsNiBAQCBQQVNTIE5vZGVMaXN0
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0CiBQQVNTIE5vZGVMaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSAKIFBBU1MgTm9kZUxpc3QgaW50ZXJmYWNlOiBvcGVyYXRpb24gaXRlbSh1bnNpZ25lZCBsb25n
KSAKIFBBU1MgTm9kZUxpc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGVuZ3RoIAotUEFTUyBOb2Rl
TGlzdCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoInNjcmlwdCIpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbCgic2NyaXB0IikgCiBQQVNTIE5vZGVMaXN0IGludGVyZmFjZTogZG9jdW1lbnQucXVl
cnlTZWxlY3RvckFsbCgic2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpdGVtIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIE5vZGVMaXN0IGludGVyZmFjZTogY2FsbGluZyBp
dGVtKHVuc2lnbmVkIGxvbmcpIG9uIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdCIp
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIE5vZGVM
aXN0IGludGVyZmFjZTogZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgic2NyaXB0IikgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJsZW5ndGgiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKQEAgLTEy
OSw4ICsxMjEsNiBAQCBQQVNTIEhUTUxDb2xsZWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgbwogUEFTUyBIVE1MQ29sbGVjdGlv
biBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsZW5ndGggCiBQQVNTIEhUTUxDb2xsZWN0aW9uIGludGVy
ZmFjZTogb3BlcmF0aW9uIGl0ZW0odW5zaWduZWQgbG9uZykgCiBQQVNTIEhUTUxDb2xsZWN0aW9u
IGludGVyZmFjZTogb3BlcmF0aW9uIG5hbWVkSXRlbShET01TdHJpbmcpIAotUEFTUyBIVE1MQ29s
bGVjdGlvbiBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LmJvZHkuY2hpbGRy
ZW4gCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBkb2N1bWVudC5ib2R5LmNoaWxkcmVuIAogUEFT
UyBIVE1MQ29sbGVjdGlvbiBpbnRlcmZhY2U6IGRvY3VtZW50LmJvZHkuY2hpbGRyZW4gbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJsZW5ndGgiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1Mg
SFRNTENvbGxlY3Rpb24gaW50ZXJmYWNlOiBkb2N1bWVudC5ib2R5LmNoaWxkcmVuIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiaXRlbSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBIVE1M
Q29sbGVjdGlvbiBpbnRlcmZhY2U6IGNhbGxpbmcgaXRlbSh1bnNpZ25lZCBsb25nKSBvbiBkb2N1
bWVudC5ib2R5LmNoaWxkcmVuIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCkBAIC0yNzEsOCArMjYxLDYgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBwcmVwZW5kKFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pCiBQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogb3BlcmF0aW9uIGFwcGVuZChbb2JqZWN0IE9iamVjdF0sW29iamVjdCBP
YmplY3RdKSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnlTZWxlY3Rv
cihET01TdHJpbmcpIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeVNl
bGVjdG9yQWxsKERPTVN0cmluZykgCi1QQVNTIERvY3VtZW50IG11c3QgYmUgcHJpbWFyeSBpbnRl
cmZhY2Ugb2YgbmV3IERvY3VtZW50KCkgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRG9j
dW1lbnQoKSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImltcGxlbWVudGF0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkg
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJVUkwiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgRG9jdW1lbnQgaW50
ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRvY3VtZW50VVJJ
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC00MDMsOCArMzkxLDYgQEAgUEFTUyBYTUxE
b2N1bWVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAogUEFTUyBYTUxEb2N1bWVudCBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUgCiBQQVNTIFhNTERvY3VtZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFTUyBYTUxEb2N1
bWVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIFhNTERvY3VtZW50
IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgeG1sRG9jIAotUEFTUyBTdHJpbmdpZmljYXRp
b24gb2YgeG1sRG9jIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGluaGVy
aXQgcHJvcGVydHkgImltcGxlbWVudGF0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogeG1sRG9jIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiVVJM
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogeG1s
RG9jIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZG9jdW1lbnRVUkkiIHdpdGggdGhlIHByb3BlciB0
eXBlICgyKSAKQEAgLTUzOSw4ICs1MjUsNiBAQCBQQVNTIERPTUltcGxlbWVudGF0aW9uIGludGVy
ZmFjZTogb3BlcmF0aW9uIGNyZWF0ZURvY3VtZW50VHlwZShET01TdHJpbmcsRE9NU3RyaQogUEFT
UyBET01JbXBsZW1lbnRhdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVEb2N1bWVudChE
T01TdHJpbmcsRE9NU3RyaW5nLERvY3VtZW50VHlwZSkgCiBQQVNTIERPTUltcGxlbWVudGF0aW9u
IGludGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZUhUTUxEb2N1bWVudChET01TdHJpbmcpIAogUEFT
UyBET01JbXBsZW1lbnRhdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBoYXNGZWF0dXJlKCkgCi1Q
QVNTIERPTUltcGxlbWVudGF0aW9uIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgZG9jdW1l
bnQuaW1wbGVtZW50YXRpb24gCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBkb2N1bWVudC5pbXBs
ZW1lbnRhdGlvbiAKIFBBU1MgRE9NSW1wbGVtZW50YXRpb24gaW50ZXJmYWNlOiBkb2N1bWVudC5p
bXBsZW1lbnRhdGlvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNyZWF0ZURvY3VtZW50VHlwZSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBET01JbXBsZW1lbnRhdGlvbiBpbnRlcmZh
Y2U6IGNhbGxpbmcgY3JlYXRlRG9jdW1lbnRUeXBlKERPTVN0cmluZyxET01TdHJpbmcsRE9NU3Ry
aW5nKSBvbiBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbiB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11
c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBET01JbXBsZW1lbnRhdGlvbiBpbnRlcmZhY2U6IGRv
Y3VtZW50LmltcGxlbWVudGF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY3JlYXRlRG9jdW1l
bnQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKQEAgLTU2MCw4ICs1NDQsNiBAQCBQQVNTIERv
Y3VtZW50VHlwZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBiZWZvcmUoW29iamVjdCBPYmplY3RdLFtv
YmplY3QgT2JqZWN0XSkKIFBBU1MgRG9jdW1lbnRUeXBlIGludGVyZmFjZTogb3BlcmF0aW9uIGFm
dGVyKFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBEb2N1bWVudFR5cGUg
aW50ZXJmYWNlOiBvcGVyYXRpb24gcmVwbGFjZVdpdGgoW29iamVjdCBPYmplY3RdLFtvYmplY3Qg
T2JqZWN0XSkgCiBQQVNTIERvY3VtZW50VHlwZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZW1vdmUo
KSAKLVBBU1MgRG9jdW1lbnRUeXBlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgZG9jdW1l
bnQuZG9jdHlwZSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGRvY3VtZW50LmRvY3R5cGUgCiBQ
QVNTIERvY3VtZW50VHlwZSBpbnRlcmZhY2U6IGRvY3VtZW50LmRvY3R5cGUgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJuYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIERvY3VtZW50
VHlwZSBpbnRlcmZhY2U6IGRvY3VtZW50LmRvY3R5cGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJw
dWJsaWNJZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBEb2N1bWVudFR5cGUgaW50
ZXJmYWNlOiBkb2N1bWVudC5kb2N0eXBlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3lzdGVtSWQi
IHdpdGggdGhlIHByb3BlciB0eXBlICgyKSAKQEAgLTY1Miw4ICs2MzQsNiBAQCBQQVNTIERvY3Vt
ZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcHJlcGVuZChbb2JqZWN0IE9iamVjdF0s
W29iamVjdCBPYmplYwogUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogb3BlcmF0aW9u
IGFwcGVuZChbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSAKIFBBU1MgRG9jdW1lbnRG
cmFnbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeVNlbGVjdG9yKERPTVN0cmluZykgCiBQ
QVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnlTZWxlY3RvckFs
bChET01TdHJpbmcpIAotUEFTUyBEb2N1bWVudEZyYWdtZW50IG11c3QgYmUgcHJpbWFyeSBpbnRl
cmZhY2Ugb2YgZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpIAotUEFTUyBTdHJpbmdp
ZmljYXRpb24gb2YgZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpIAogUEFTUyBEb2N1
bWVudEZyYWdtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZ2V0RWxlbWVudEJ5SWQiIHdpdGggdGhlIHByb3BlciB0
eXBlICgwKSAKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgZ2V0RWxl
bWVudEJ5SWQoRE9NU3RyaW5nKSBvbiBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkg
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRG9jdW1l
bnRGcmFnbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImNoaWxkcmVuIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkg
CkBAIC03OTUsOCArNzc1LDYgQEAgUEFTUyBFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIGFm
dGVyKFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pCiBQQVNTIEVsZW1lbnQgaW50ZXJm
YWNlOiBvcGVyYXRpb24gcmVwbGFjZVdpdGgoW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0
XSkgCiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVtb3ZlKCkgCiBQQVNTIEVs
ZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYXNzaWduZWRTbG90IAotUEFTUyBFbGVtZW50IG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgZWxlbWVudCAKLVBBU1MgU3RyaW5naWZpY2F0aW9u
IG9mIGVsZW1lbnQgCiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBlbGVtZW50IG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAibmFtZXNwYWNlVVJJIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNT
IEVsZW1lbnQgaW50ZXJmYWNlOiBlbGVtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicHJlZml4
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBlbGVt
ZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG9jYWxOYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMikgCkBAIC05NjYsOCArOTQ0LDYgQEAgUEFTUyBBdHRyIGludGVyZmFjZTogYXR0cmlidXRl
IG5hbWUKIFBBU1MgQXR0ciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB2YWx1ZSAKIFBBU1MgQXR0ciBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvd25lckVsZW1lbnQgCiBQQVNTIEF0dHIgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgc3BlY2lmaWVkIAotUEFTUyBBdHRyIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ug
b2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiW2lkXSIpLmF0dHJpYnV0ZXNbMF0gCi1QQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJbaWRdIikuYXR0cmlidXRl
c1swXSAKIFBBU1MgQXR0ciBpbnRlcmZhY2U6IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIltpZF0i
KS5hdHRyaWJ1dGVzWzBdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmFtZXNwYWNlVVJJIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIEF0dHIgaW50ZXJmYWNlOiBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJbaWRdIikuYXR0cmlidXRlc1swXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInBy
ZWZpeCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBBdHRyIGludGVyZmFjZTogZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiW2lkXSIpLmF0dHJpYnV0ZXNbMF0gbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJsb2NhbE5hbWUiIHdpdGggdGhlIHByb3BlciB0eXBlICgyKSAKQEAgLTEwNjcsOCAr
MTA0Myw2IEBAIFBBU1MgVGV4dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjCiBQQVNTIFRleHQgaW50ZXJmYWNlOiBv
cGVyYXRpb24gc3BsaXRUZXh0KHVuc2lnbmVkIGxvbmcpIAogUEFTUyBUZXh0IGludGVyZmFjZTog
YXR0cmlidXRlIHdob2xlVGV4dCAKIFBBU1MgVGV4dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBhc3Np
Z25lZFNsb3QgCi1QQVNTIFRleHQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZSgiYWJjIikgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZSgiYWJjIikgCiBQQVNTIFRleHQgaW50ZXJmYWNlOiBkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZSgiYWJjIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzcGxpdFRleHQiIHdp
dGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgVGV4dCBpbnRlcmZhY2U6IGNhbGxpbmcgc3Bs
aXRUZXh0KHVuc2lnbmVkIGxvbmcpIG9uIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJhYmMiKSB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBUZXh0IGlu
dGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImFiYyIpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAid2hvbGVUZXh0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCkBAIC0xMTcxLDggKzEx
NDUsNiBAQCBQQVNTIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUK
IFBBU1MgUHJvY2Vzc2luZ0luc3RydWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFTUyBQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAogUEFTUyBQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdGFyZ2V0IAotUEFTUyBQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24gbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiB4bWxEb2MuY3JlYXRl
UHJvY2Vzc2luZ0luc3RydWN0aW9uKCJhYmMiLCAiZGVmIikgCi1QQVNTIFN0cmluZ2lmaWNhdGlv
biBvZiB4bWxEb2MuY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKCJhYmMiLCAiZGVmIikgCiBQ
QVNTIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBpbnRlcmZhY2U6IHhtbERvYy5jcmVhdGVQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24oImFiYyIsICJkZWYiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInRhcmdl
dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBDaGFyYWN0ZXJEYXRhIGludGVyZmFj
ZTogeG1sRG9jLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbigiYWJjIiwgImRlZiIpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiZGF0YSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBD
aGFyYWN0ZXJEYXRhIGludGVyZmFjZTogeG1sRG9jLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlv
bigiYWJjIiwgImRlZiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGVuZ3RoIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMSkgCkBAIC0xMjY2LDggKzEyMzgsNiBAQCBQQVNTIENvbW1lbnQgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGgKIFBBU1MgQ29tbWVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCiBQ
QVNTIENvbW1lbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgCiBQQVNTIENvbW1lbnQgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0
b3IiIHByb3BlcnR5IAotUEFTUyBDb21tZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
ZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiYWJjIikgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBk
b2N1bWVudC5jcmVhdGVDb21tZW50KCJhYmMiKSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBpbnRlcmZh
Y2U6IGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoImFiYyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
ZGF0YSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBDaGFyYWN0ZXJEYXRhIGludGVy
ZmFjZTogZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiYWJjIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJsZW5ndGgiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBp
bnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoImFiYyIpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAic3Vic3RyaW5nRGF0YSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtMTM5NSw4
ICsxMzY1LDYgQEAgUEFTUyBSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpc1BvaW50SW5SYW5n
ZShOb2RlLHVuc2lnbmVkIGxvbmcpCiBQQVNTIFJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIGNv
bXBhcmVQb2ludChOb2RlLHVuc2lnbmVkIGxvbmcpIAogUEFTUyBSYW5nZSBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBpbnRlcnNlY3RzTm9kZShOb2RlKSAKIFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBzdHJp
bmdpZmllciAKLVBBU1MgUmFuZ2UgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBkb2N1bWVu
dC5jcmVhdGVSYW5nZSgpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQuY3JlYXRl
UmFuZ2UoKSAKIFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVSYW5nZSgpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhcnRDb250YWluZXIiIHdpdGggdGhlIHByb3BlciB0eXBl
ICgwKSAKIFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVSYW5nZSgpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAic3RhcnRPZmZzZXQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAK
IFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVSYW5nZSgpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiZW5kQ29udGFpbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC0x
NDQyLDggKzE0MTAsNiBAQCBQQVNTIFJhbmdlIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlUmFu
Z2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvbXBhcmVQb2ludAogUEFTUyBSYW5nZSBpbnRl
cmZhY2U6IGNhbGxpbmcgY29tcGFyZVBvaW50KE5vZGUsdW5zaWduZWQgbG9uZykgb24gZG9jdW1l
bnQuY3JlYXRlUmFuZ2UoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIAogUEFTUyBSYW5nZSBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJpbnRlcnNlY3RzTm9kZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDI5
KSAKIFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIGludGVyc2VjdHNOb2RlKE5vZGUpIG9u
IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93
IFR5cGVFcnJvciAKLVBBU1MgUmFuZ2UgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBkZXRh
Y2hlZFJhbmdlIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZGV0YWNoZWRSYW5nZSAKIFBBU1Mg
UmFuZ2UgaW50ZXJmYWNlOiBkZXRhY2hlZFJhbmdlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3Rh
cnRDb250YWluZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgUmFuZ2UgaW50ZXJm
YWNlOiBkZXRhY2hlZFJhbmdlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhcnRPZmZzZXQiIHdp
dGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBkZXRhY2hlZFJh
bmdlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZW5kQ29udGFpbmVyIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAoMikgCkBAIC0xNTAyLDggKzE0NjgsNiBAQCBQQVNTIE5vZGVJdGVyYXRvciBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBmaWx0ZXIKIFBBU1MgTm9kZUl0ZXJhdG9yIGludGVyZmFjZTogb3BlcmF0
aW9uIG5leHROb2RlKCkgCiBQQVNTIE5vZGVJdGVyYXRvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBw
cmV2aW91c05vZGUoKSAKIFBBU1MgTm9kZUl0ZXJhdG9yIGludGVyZmFjZTogb3BlcmF0aW9uIGRl
dGFjaCgpIAotUEFTUyBOb2RlSXRlcmF0b3IgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBk
b2N1bWVudC5jcmVhdGVOb2RlSXRlcmF0b3IoZG9jdW1lbnQuYm9keSwgTm9kZUZpbHRlci5TSE9X
X0FMTCwgbnVsbCwgZmFsc2UpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQuY3Jl
YXRlTm9kZUl0ZXJhdG9yKGRvY3VtZW50LmJvZHksIE5vZGVGaWx0ZXIuU0hPV19BTEwsIG51bGws
IGZhbHNlKSAKIFBBU1MgTm9kZUl0ZXJhdG9yIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlTm9k
ZUl0ZXJhdG9yKGRvY3VtZW50LmJvZHksIE5vZGVGaWx0ZXIuU0hPV19BTEwsIG51bGwsIGZhbHNl
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJvb3QiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAK
IFBBU1MgTm9kZUl0ZXJhdG9yIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlTm9kZUl0ZXJhdG9y
KGRvY3VtZW50LmJvZHksIE5vZGVGaWx0ZXIuU0hPV19BTEwsIG51bGwsIGZhbHNlKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgInJlZmVyZW5jZU5vZGUiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAK
IFBBU1MgTm9kZUl0ZXJhdG9yIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlTm9kZUl0ZXJhdG9y
KGRvY3VtZW50LmJvZHksIE5vZGVGaWx0ZXIuU0hPV19BTEwsIG51bGwsIGZhbHNlKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgInBvaW50ZXJCZWZvcmVSZWZlcmVuY2VOb2RlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMikgCkBAIC0xNTI4LDggKzE0OTIsNiBAQCBQQVNTIFRyZWVXYWxrZXIgaW50ZXJm
YWNlOiBvcGVyYXRpb24gcHJldmlvdXNTaWJsaW5nKCkKIFBBU1MgVHJlZVdhbGtlciBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBuZXh0U2libGluZygpIAogUEFTUyBUcmVlV2Fsa2VyIGludGVyZmFjZTog
b3BlcmF0aW9uIHByZXZpb3VzTm9kZSgpIAogUEFTUyBUcmVlV2Fsa2VyIGludGVyZmFjZTogb3Bl
cmF0aW9uIG5leHROb2RlKCkgCi1QQVNTIFRyZWVXYWxrZXIgbXVzdCBiZSBwcmltYXJ5IGludGVy
ZmFjZSBvZiBkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGRvY3VtZW50LmJvZHksIE5vZGVGaWx0
ZXIuU0hPV19BTEwsIG51bGwsIGZhbHNlKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGRvY3Vt
ZW50LmNyZWF0ZVRyZWVXYWxrZXIoZG9jdW1lbnQuYm9keSwgTm9kZUZpbHRlci5TSE9XX0FMTCwg
bnVsbCwgZmFsc2UpIAogUEFTUyBUcmVlV2Fsa2VyIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRl
VHJlZVdhbGtlcihkb2N1bWVudC5ib2R5LCBOb2RlRmlsdGVyLlNIT1dfQUxMLCBudWxsLCBmYWxz
ZSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyb290IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkg
CiBQQVNTIFRyZWVXYWxrZXIgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGRv
Y3VtZW50LmJvZHksIE5vZGVGaWx0ZXIuU0hPV19BTEwsIG51bGwsIGZhbHNlKSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIndoYXRUb1Nob3ciIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1Mg
VHJlZVdhbGtlciBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoZG9jdW1lbnQu
Ym9keSwgTm9kZUZpbHRlci5TSE9XX0FMTCwgbnVsbCwgZmFsc2UpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAiZmlsdGVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC0xNTkzLDggKzE1NTUs
NiBAQCBQQVNTIERPTVRva2VuTGlzdCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZXBsYWNlKERPTVN0
cmluZyxET01TdHJpbmcpCiBQQVNTIERPTVRva2VuTGlzdCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBz
dXBwb3J0cyhET01TdHJpbmcpIAogUEFTUyBET01Ub2tlbkxpc3QgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgdmFsdWUgCiBQQVNTIERPTVRva2VuTGlzdCBpbnRlcmZhY2U6IHN0cmluZ2lmaWVyIAotUEFT
UyBET01Ub2tlbkxpc3QgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBkb2N1bWVudC5ib2R5
LmNsYXNzTGlzdCAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGRvY3VtZW50LmJvZHkuY2xhc3NM
aXN0IAogUEFTUyBET01Ub2tlbkxpc3QgaW50ZXJmYWNlOiBkb2N1bWVudC5ib2R5LmNsYXNzTGlz
dCBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxlbmd0aCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDAp
IAogUEFTUyBET01Ub2tlbkxpc3QgaW50ZXJmYWNlOiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIml0ZW0iIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBB
U1MgRE9NVG9rZW5MaXN0IGludGVyZmFjZTogY2FsbGluZyBpdGVtKHVuc2lnbmVkIGxvbmcpIG9u
IGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJv
dyBUeXBlRXJyb3IgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9j
b250ZW50dHlwZV9kYXRhdXJpXzAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNvbnRlbnRUeXBlL2Nv
bnRlbnRUeXBlL2NvbnRlbnR0eXBlX2RhdGF1cmlfMDEtZXhwZWN0ZWQudHh0CmluZGV4IDY1YWJk
ODIyYWY0OTRiMjAyYWVkNGRlMmYxYmY0N2QwOGU0YjcwZGYuLmFhMmJlZWRjMmU3MjczZmFmMjMx
MGM0M2E1MzdiNzhmM2VkMjdlMzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNvbnRlbnRUeXBlL2NvbnRl
bnRUeXBlL2NvbnRlbnR0eXBlX2RhdGF1cmlfMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNv
bnRlbnRUeXBlL2NvbnRlbnRUeXBlL2NvbnRlbnR0eXBlX2RhdGF1cmlfMDEtZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IEJsb2NrZWQgYSBm
cmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4ODAwIiBmcm9tIGFjY2Vzc2luZyBh
IGZyYW1lIHdpdGggb3JpZ2luICJudWxsIi4gIFRoZSBmcmFtZSByZXF1ZXN0aW5nIGFjY2VzcyBo
YXMgYSBwcm90b2NvbCBvZiAiaHR0cCIsIHRoZSBmcmFtZSBiZWluZyBhY2Nlc3NlZCBoYXMgYSBw
cm90b2NvbCBvZiAiZGF0YSIuIFByb3RvY29scyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE0MDU6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9z
dDo4ODAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJudWxsIi4gIFRoZSBm
cmFtZSByZXF1ZXN0aW5nIGFjY2VzcyBoYXMgYSBwcm90b2NvbCBvZiAiaHR0cCIsIHRoZSBmcmFt
ZSBiZWluZyBhY2Nlc3NlZCBoYXMgYSBwcm90b2NvbCBvZiAiZGF0YSIuIFByb3RvY29scyBtdXN0
IG1hdGNoLgogCiAKIEZBSUwgRGF0YSBVUkkgZG9jdW1lbnQuY29udGVudFR5cGUgPT09ICd0ZXh0
L3BsYWluJyB3aGVuIGRhdGEgVVJJIE1JTUUgdHlwZSBpcyBub3Qgc2V0IG51bGwgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnaWZyYW1lLmNvbnRlbnREb2N1bWVudC5jb250ZW50VHlwZScp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ub2Rlcy9Eb2N1bWVudC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9k
YXRhdXJpXzAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNvbnRlbnRUeXBlL2NvbnRlbnRUeXBlL2Nv
bnRlbnR0eXBlX2RhdGF1cmlfMDItZXhwZWN0ZWQudHh0CmluZGV4IDJlODAxZjVmMjMwMTY5YjU1
NTBiM2EyMTE4MWRkZWU3MDcxM2NkOTkuLjBiMmMyNDljNWNlODU0YmUxOGQyOWVkMTRmNmE3YTky
ZWYzMmIyYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNvbnRlbnRUeXBlL2NvbnRlbnRUeXBlL2NvbnRl
bnR0eXBlX2RhdGF1cmlfMDItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNvbnRlbnRUeXBlL2Nv
bnRlbnRUeXBlL2NvbnRlbnR0eXBlX2RhdGF1cmlfMDItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9y
aWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4ODAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGgg
b3JpZ2luICJudWxsIi4gIFRoZSBmcmFtZSByZXF1ZXN0aW5nIGFjY2VzcyBoYXMgYSBwcm90b2Nv
bCBvZiAiaHR0cCIsIHRoZSBmcmFtZSBiZWluZyBhY2Nlc3NlZCBoYXMgYSBwcm90b2NvbCBvZiAi
ZGF0YSIuIFByb3RvY29scyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDU6
IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4ODAwIiBmcm9t
IGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJudWxsIi4gIFRoZSBmcmFtZSByZXF1ZXN0
aW5nIGFjY2VzcyBoYXMgYSBwcm90b2NvbCBvZiAiaHR0cCIsIHRoZSBmcmFtZSBiZWluZyBhY2Nl
c3NlZCBoYXMgYSBwcm90b2NvbCBvZiAiZGF0YSIuIFByb3RvY29scyBtdXN0IG1hdGNoLgogCiAK
IEZBSUwgRGF0YSBVUkkgZG9jdW1lbnQuY29udGVudFR5cGUgPT09ICd0ZXh0L2h0bWwnIHdoZW4g
ZGF0YSBVUkkgTUlNRSB0eXBlIGlzIHNldCBudWxsIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ2lmcmFtZS5jb250ZW50RG9jdW1lbnQuY29udGVudFR5cGUnKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9lbmNvZGluZy9pZGxoYXJu
ZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZW5jb2RpbmcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKaW5kZXggMTZhMDc2YzM2ODYw
MGUyZGNiZjRiNThiZWUxNWVlYjMwZTA2NjM0Ni4uMTcyMTAxYTgzOTBkMmFhNWExNWU3ZDA4MDAx
NTM1ZjU1NGMwZjY1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9lbmNvZGluZy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2VuY29kaW5nL2lkbGhhcm5l
c3MtZXhwZWN0ZWQudHh0CkBAIC0xMiw4ICsxMiw2IEBAIFBBU1MgVGV4dERlY29kZXIgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgZW5jb2RpbmcKIFBBU1MgVGV4dERlY29kZXIgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgZmF0YWwgCiBQQVNTIFRleHREZWNvZGVyIGludGVyZmFjZTogYXR0cmlidXRlIGlnbm9y
ZUJPTSAKIFBBU1MgVGV4dERlY29kZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVjb2RlKEJ1ZmZl
clNvdXJjZSxUZXh0RGVjb2RlT3B0aW9ucykgCi1QQVNTIFRleHREZWNvZGVyIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgbmV3IFRleHREZWNvZGVyKCkgCi1QQVNTIFN0cmluZ2lmaWNhdGlv
biBvZiBuZXcgVGV4dERlY29kZXIoKSAKIFBBU1MgVGV4dERlY29kZXIgaW50ZXJmYWNlOiBuZXcg
VGV4dERlY29kZXIoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVuY29kaW5nIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMCkgCiBQQVNTIFRleHREZWNvZGVyIGludGVyZmFjZTogbmV3IFRleHREZWNv
ZGVyKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJmYXRhbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDEpIAogUEFTUyBUZXh0RGVjb2RlciBpbnRlcmZhY2U6IG5ldyBUZXh0RGVjb2RlcigpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiaWdub3JlQk9NIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBA
IC0yNiw4ICsyNCw2IEBAIFBBU1MgVGV4dEVuY29kZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplCiBQQVNTIFRleHRFbmNvZGVy
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgVGV4dEVuY29kZXIgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgZW5jb2RpbmcgCiBQQVNTIFRleHRFbmNvZGVyIGludGVyZmFjZTog
b3BlcmF0aW9uIGVuY29kZShVU1ZTdHJpbmcpIAotUEFTUyBUZXh0RW5jb2RlciBtdXN0IGJlIHBy
aW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBUZXh0RW5jb2RlcigpIAotUEFTUyBTdHJpbmdpZmljYXRp
b24gb2YgbmV3IFRleHRFbmNvZGVyKCkgCiBQQVNTIFRleHRFbmNvZGVyIGludGVyZmFjZTogbmV3
IFRleHRFbmNvZGVyKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJlbmNvZGluZyIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgKDApIAogUEFTUyBUZXh0RW5jb2RlciBpbnRlcmZhY2U6IG5ldyBUZXh0RW5j
b2RlcigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZW5jb2RlIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMSkgCiBQQVNTIFRleHRFbmNvZGVyIGludGVyZmFjZTogY2FsbGluZyBlbmNvZGUoVVNWU3Ry
aW5nKSBvbiBuZXcgVGV4dEVuY29kZXIoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhy
b3cgVHlwZUVycm9yIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvaW50ZWdyaXR5LXNoYXJlZHdvcmtlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9iYXNpYy9pbnRlZ3JpdHktc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBk
NzQ5MmU0NDM4NjVhY2IwYWY0ZjZlZTI3NmU5NjE5MTE5ZDFjYTMxLi4zOGU3YzIwODQzMTJlZGNj
YjAyOTNmNzg4OGFkMWZmNDY5MjVlZWUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9pbnRlZ3JpdHktc2hhcmVk
d29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9pbnRlZ3JpdHktc2hhcmVkd29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVy
cm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBTaGFyZWRXb3JrZXIKLQorRkFJTCBGZXRjaCBpbiBzaGFyZWR3b3JrZXI6IGludGVncml0eSBo
YW5kbGluZyBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2Vy
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpL2hlYWRlcnMvaGVhZGVycy1pZGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvaGVhZGVycy9oZWFk
ZXJzLWlkbC1leHBlY3RlZC50eHQKaW5kZXggMzlmMDQwYWQzZDZlY2ZhNWZmYmU2MGMwMzY1YjZi
OTU1NDRkY2VjMC4uYmNlMWUyYmNmMmFhMzU4ZjAxMWNhNWIyYjhiNzE5ZjQ1MDhhYWEyZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvaGVhZGVycy9oZWFkZXJzLWlkbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvaGVhZGVycy9oZWFkZXJz
LWlkbC1leHBlY3RlZC50eHQKQEAgLTEwLDE3ICsxMCwxNSBAQCBQQVNTIEhlYWRlcnMgaW50ZXJm
YWNlOiBvcGVyYXRpb24gZ2V0KEJ5dGVTdHJpbmcpCiBQQVNTIEhlYWRlcnMgaW50ZXJmYWNlOiBv
cGVyYXRpb24gaGFzKEJ5dGVTdHJpbmcpIAogUEFTUyBIZWFkZXJzIGludGVyZmFjZTogb3BlcmF0
aW9uIHNldChCeXRlU3RyaW5nLEJ5dGVTdHJpbmcpIAogRkFJTCBUZXN0aW5nIFN5bWJvbC5pdGVy
YXRvciBwcm9wZXJ0eSBvZiBpdGVyYWJsZSBpbnRlcmZhY2UgSGVhZGVycyBhc3NlcnRfZXF1YWxz
OiBAQGl0ZXJhdG9yIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgdGhlIHJpZ2h0IG5hbWUgZXhwZWN0
ZWQgImVudHJpZXMiIGJ1dCBnb3QgIltTeW1ib2wuSXRlcmF0b3JdIgotRkFJTCBUZXN0aW5nIHBh
aXIgaXRlcmFibGUgaW50ZXJmYWNlIEhlYWRlcnMgYXNzZXJ0X2VxdWFsczogZW50cmllcyBtZXRo
b2QgaXMgbm90IHRoZSBzYW1lIGFzIEBAaXRlcmF0b3IgZXhwZWN0ZWQgZnVuY3Rpb24gImZ1bmN0
aW9uIFtTeW1ib2wuSXRlcmF0b3JdKCkgeworRkFJTCBUZXN0aW5nIHBhaXIgaXRlcmFibGUgaW50
ZXJmYWNlIEhlYWRlcnMgYXNzZXJ0X2VxdWFsczogZW50cmllcyBtZXRob2QgaXMgbm90IHRoZSBz
YW1lIGFzIEBAaXRlcmF0b3IgZXhwZWN0ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIGVudHJpZXMoKSB7
CiAgICAgW25hdGl2ZSBjb2RlXQotfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gZW50cmll
cygpIHsKK30iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIFtTeW1ib2wuSXRlcmF0b3JdKCkg
ewogICAgIFtuYXRpdmUgY29kZV0KIH0iCiBQQVNTIEhlYWRlcnMgaW50ZXJmYWNlOiBvcGVyYXRp
b24gZW50cmllcygpIAogUEFTUyBIZWFkZXJzIGludGVyZmFjZTogb3BlcmF0aW9uIGtleXMoKSAK
IFBBU1MgSGVhZGVycyBpbnRlcmZhY2U6IG9wZXJhdGlvbiB2YWx1ZXMoKSAKIFBBU1MgSGVhZGVy
cyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBmb3JFYWNoKGZ1bmN0aW9uLGFueSkgCi1QQVNTIEhlYWRl
cnMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgSGVhZGVycygpIAotUEFTUyBTdHJp
bmdpZmljYXRpb24gb2YgbmV3IEhlYWRlcnMoKSAKIFBBU1MgSGVhZGVycyBpbnRlcmZhY2U6IG5l
dyBIZWFkZXJzKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhcHBlbmQiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgwKSAKIFBBU1MgSGVhZGVycyBpbnRlcmZhY2U6IGNhbGxpbmcgYXBwZW5kKEJ5dGVT
dHJpbmcsQnl0ZVN0cmluZykgb24gbmV3IEhlYWRlcnMoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRz
IG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBIZWFkZXJzIGludGVyZmFjZTogbmV3IEhlYWRl
cnMoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlbGV0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDEpIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3Jl
cXVlc3QtaWRsLWV4cGVjdGVkLnR4dAppbmRleCA0ODVhZjc2MDcwNWI1MmM0NWExYTU1NzJmNThj
OWNjOWRiZGEyZjc0Li5jODQxOGUxYzMzM2U1MTU3ZmYzMzZkZDViYmZmMTgxZjU2YjM5MjFiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3QtaWRsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVl
c3QtaWRsLWV4cGVjdGVkLnR4dApAQCAtMjQsOCArMjQsNiBAQCBQQVNTIFJlcXVlc3QgaW50ZXJm
YWNlOiBvcGVyYXRpb24gYmxvYigpCiBGQUlMIFJlcXVlc3QgaW50ZXJmYWNlOiBvcGVyYXRpb24g
Zm9ybURhdGEoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJmb3JtRGF0
YSIgbWlzc2luZwogUEFTUyBSZXF1ZXN0IGludGVyZmFjZTogb3BlcmF0aW9uIGpzb24oKSAKIFBB
U1MgUmVxdWVzdCBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0ZXh0KCkgCi1QQVNTIFJlcXVlc3QgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgUmVxdWVzdCgiIikgCi1QQVNTIFN0cmluZ2lm
aWNhdGlvbiBvZiBuZXcgUmVxdWVzdCgiIikgCiBQQVNTIFJlcXVlc3QgaW50ZXJmYWNlOiBuZXcg
UmVxdWVzdCgiIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtZXRob2QiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgwKSAKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6IG5ldyBSZXF1ZXN0KCIiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgInVybCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBS
ZXF1ZXN0IGludGVyZmFjZTogbmV3IFJlcXVlc3QoIiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
aGVhZGVycyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVz
cG9uc2UtaWRsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWlkbC1leHBlY3RlZC50eHQK
aW5kZXggMzQyNDIwMDU1N2RmYjg4ODQ1MTc1OTEzOWU4OGI3ZGQxMTIxMDQzMS4uNTgwMjdjNmFm
MTlkZWRkY2M4MzdmNjlkOWYwZTY1ZDA0NDcwMWFjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9u
c2UtaWRsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9yZXNwb25zZS1pZGwtZXhwZWN0ZWQudHh0
CkBAIC0yMSw4ICsyMSw2IEBAIFBBU1MgUmVzcG9uc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gYmxv
YigpCiBQQVNTIFJlc3BvbnNlIGludGVyZmFjZTogb3BlcmF0aW9uIGZvcm1EYXRhKCkgCiBQQVNT
IFJlc3BvbnNlIGludGVyZmFjZTogb3BlcmF0aW9uIGpzb24oKSAKIFBBU1MgUmVzcG9uc2UgaW50
ZXJmYWNlOiBvcGVyYXRpb24gdGV4dCgpIAotUEFTUyBSZXNwb25zZSBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIG5ldyBSZXNwb25zZSgpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3
IFJlc3BvbnNlKCkgCiBQQVNTIFJlc3BvbnNlIGludGVyZmFjZTogbmV3IFJlc3BvbnNlKCkgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJlcnJvciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFT
UyBSZXNwb25zZSBpbnRlcmZhY2U6IG5ldyBSZXNwb25zZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAicmVkaXJlY3QiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgUmVzcG9uc2UgaW50
ZXJmYWNlOiBjYWxsaW5nIHJlZGlyZWN0KFVTVlN0cmluZyx1bnNpZ25lZCBzaG9ydCkgb24gbmV3
IFJlc3BvbnNlKCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHItdGltZS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHItdGltZS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRl
eCAwYTdhNGNhZDYwMmNlOTY0ODk4Nzc1YmQwYjhlMDM4YThkZTc5OTMyLi45ZDVhN2ZkM2MxMWQ2
NzRiNjNiYzU3MGE2Y2JkMGI2OWQzOTMzMTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2hyLXRpbWUvaWRsaGFybmVzcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9oci10
aW1lL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CkBAIC05LDggKzksNiBAQCBQQVNTIFBlcmZvcm1h
bmNlIGludGVyZmFjZSBvYmplY3QgbmFtZQogUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBB
U1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAogUEFTUyBQ
ZXJmb3JtYW5jZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBub3coKSAKLVBBU1MgUGVyZm9ybWFuY2Ug
bXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiB3aW5kb3cucGVyZm9ybWFuY2UgCi1QQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiB3aW5kb3cucGVyZm9ybWFuY2UgCiBQQVNTIFBlcmZvcm1hbmNlIGlu
dGVyZmFjZTogd2luZG93LnBlcmZvcm1hbmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibm93IiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0
YW1wOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9y
aWdpbi1vYmplY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVjdHMv
Y3Jvc3Mtb3JpZ2luLW9iamVjdHMtZXhwZWN0ZWQudHh0CmluZGV4IGFhYTNmMmVmYjc0ZDRlNTUz
MTVkYzk0YjI4ODc5MzQ3NmRiZGZmMDIuLjFlOTMwODhhMWQ0N2NmNGJiNWY3YmRkNjc1YWI5ZDZm
NmRmMzg5YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mt
b3JpZ2luLW9iamVjdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9i
amVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQ2ICsxLDI1IEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDAzOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODgwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdp
biAiaHR0cDovLzEyNy4wLjAuMTo4ODAwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMg
bXVzdCBtYXRjaC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0MDM6IEJsb2NrZWQgYSBmcmFtZSB3
aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4ODAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1l
IHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjg4MDAiLiBQcm90b2NvbHMsIGRvbWFpbnMs
IGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM4NDogQmxvY2tl
ZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0Ojg4MDAiIGZyb20gYWNjZXNz
aW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODgwMCIuIFByb3RvY29s
cywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
Mzg0OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMCIg
ZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4ODAw
Ii4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KIAogUEFTUyBCYXNp
YyBzYW5pdHktY2hlY2tpbmcgCi1QQVNTIEJhc2ljIHNhbml0eS1jaGVja2luZyAoZXhjZXB0aW9u
IHR5cGUpIAogUEFTUyBPbmx5IHdoaXRlbGlzdGVkIHByb3BlcnRpZXMgYXJlIGFjY2Vzc2libGUg
Y3Jvc3Mtb3JpZ2luIAotUEFTUyBPbmx5IHdoaXRlbGlzdGVkIHByb3BlcnRpZXMgYXJlIGFjY2Vz
c2libGUgY3Jvc3Mtb3JpZ2luIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFtbR2V0UHJvdG90eXBl
T2ZdXSBzaG91bGQgcmV0dXJuIG51bGwgCi1QQVNTIFtbR2V0UHJvdG90eXBlT2ZdXSBzaG91bGQg
cmV0dXJuIG51bGwgKGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgW1tTZXRQcm90b3R5cGVPZl1dIHNo
b3VsZCByZXR1cm4gZmFsc2UgCi1QQVNTIFtbU2V0UHJvdG90eXBlT2ZdXSBzaG91bGQgcmV0dXJu
IGZhbHNlIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFtbSXNFeHRlbnNpYmxlXV0gc2hvdWxkIHJl
dHVybiB0cnVlIGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyAKLVBBU1MgW1tJc0V4dGVuc2libGVd
XSBzaG91bGQgcmV0dXJuIHRydWUgZm9yIGNyb3NzLW9yaWdpbiBvYmplY3RzIChleGNlcHRpb24g
dHlwZSkgCiBQQVNTIFtbUHJldmVudEV4dGVuc2lvbnNdXSBzaG91bGQgdGhyb3cgZm9yIGNyb3Nz
LW9yaWdpbiBvYmplY3RzIAotUEFTUyBbW1ByZXZlbnRFeHRlbnNpb25zXV0gc2hvdWxkIHRocm93
IGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBbW0dldE93
blByb3BlcnR5XV0gLSBQcm9wZXJ0aWVzIG9uIGNyb3NzLW9yaWdpbiBvYmplY3RzIHNob3VsZCBi
ZSByZXBvcnRlZCB8b3dufCAKLVBBU1MgW1tHZXRPd25Qcm9wZXJ0eV1dIC0gUHJvcGVydGllcyBv
biBjcm9zcy1vcmlnaW4gb2JqZWN0cyBzaG91bGQgYmUgcmVwb3J0ZWQgfG93bnwgKGV4Y2VwdGlv
biB0eXBlKSAKIFBBU1MgW1tHZXRPd25Qcm9wZXJ0eV1dIC0gUHJvcGVydHkgZGVzY3JpcHRvcnMg
Zm9yIGNyb3NzLW9yaWdpbiBwcm9wZXJ0aWVzIHNob3VsZCBiZSBzZXQgdXAgY29ycmVjdGx5IAot
UEFTUyBbW0dldE93blByb3BlcnR5XV0gLSBQcm9wZXJ0eSBkZXNjcmlwdG9ycyBmb3IgY3Jvc3Mt
b3JpZ2luIHByb3BlcnRpZXMgc2hvdWxkIGJlIHNldCB1cCBjb3JyZWN0bHkgKGV4Y2VwdGlvbiB0
eXBlKSAKIFBBU1MgW1tEZWxldGVdXSBTaG91bGQgdGhyb3cgb24gY3Jvc3Mtb3JpZ2luIG9iamVj
dHMgCi1QQVNTIFtbRGVsZXRlXV0gU2hvdWxkIHRocm93IG9uIGNyb3NzLW9yaWdpbiBvYmplY3Rz
IChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFtbRGVmaW5lT3duUHJvcGVydHldXSBTaG91bGQgdGhy
b3cgZm9yIGNyb3NzLW9yaWdpbiBvYmplY3RzIAotUEFTUyBbW0RlZmluZU93blByb3BlcnR5XV0g
U2hvdWxkIHRocm93IGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyAoZXhjZXB0aW9uIHR5cGUpIAog
UEFTUyBbW0VudW1lcmF0ZV1dIHNob3VsZCByZXR1cm4gYW4gZW1wdHkgaXRlcmF0b3IgCi1QQVNT
IFtbRW51bWVyYXRlXV0gc2hvdWxkIHJldHVybiBhbiBlbXB0eSBpdGVyYXRvciAoZXhjZXB0aW9u
IHR5cGUpIAogUEFTUyBbW093blByb3BlcnR5S2V5c11dIHNob3VsZCByZXR1cm4gYWxsIHByb3Bl
cnRpZXMgZnJvbSBjcm9zcy1vcmlnaW4gb2JqZWN0cyAKLVBBU1MgW1tPd25Qcm9wZXJ0eUtleXNd
XSBzaG91bGQgcmV0dXJuIGFsbCBwcm9wZXJ0aWVzIGZyb20gY3Jvc3Mtb3JpZ2luIG9iamVjdHMg
KGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgW1tPd25Qcm9wZXJ0eUtleXNdXSBzaG91bGQgcmV0dXJu
IHRoZSByaWdodCBzeW1ib2wtbmFtZWQgcHJvcGVydGllcyBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVj
dHMgCi1QQVNTIFtbT3duUHJvcGVydHlLZXlzXV0gc2hvdWxkIHJldHVybiB0aGUgcmlnaHQgc3lt
Ym9sLW5hbWVkIHByb3BlcnRpZXMgZm9yIGNyb3NzLW9yaWdpbiBvYmplY3RzIChleGNlcHRpb24g
dHlwZSkgCiBQQVNTIFtbT3duUHJvcGVydHlLZXlzXV0gc2hvdWxkIHBsYWNlIHRoZSBzeW1ib2xz
IGFmdGVyIHRoZSBwcm9wZXJ0eSBuYW1lcyBhZnRlciB0aGUgc3ViZnJhbWUgaW5kaWNlcyAKLVBB
U1MgW1tPd25Qcm9wZXJ0eUtleXNdXSBzaG91bGQgcGxhY2UgdGhlIHN5bWJvbHMgYWZ0ZXIgdGhl
IHByb3BlcnR5IG5hbWVzIGFmdGVyIHRoZSBzdWJmcmFtZSBpbmRpY2VzIChleGNlcHRpb24gdHlw
ZSkgCiBQQVNTIEEgYW5kIEIgam9pbnRseSBvYnNlcnZlIHRoZSBzYW1lIGlkZW50aXR5IGZvciBj
cm9zcy1vcmlnaW4gV2luZG93IGFuZCBMb2NhdGlvbiAKLVBBU1MgQSBhbmQgQiBqb2ludGx5IG9i
c2VydmUgdGhlIHNhbWUgaWRlbnRpdHkgZm9yIGNyb3NzLW9yaWdpbiBXaW5kb3cgYW5kIExvY2F0
aW9uIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIENyb3NzLW9yaWdpbiBmdW5jdGlvbnMgZ2V0IGxv
Y2FsIEZ1bmN0aW9uLnByb3RvdHlwZSAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIGZ1bmN0aW9ucyBnZXQg
bG9jYWwgRnVuY3Rpb24ucHJvdG90eXBlIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIENyb3NzLW9y
aWdpbiBXaW5kb3cgYWNjZXNzb3JzIGdldCBsb2NhbCBGdW5jdGlvbi5wcm90b3R5cGUgCi1QQVNT
IENyb3NzLW9yaWdpbiBXaW5kb3cgYWNjZXNzb3JzIGdldCBsb2NhbCBGdW5jdGlvbi5wcm90b3R5
cGUgKGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgU2FtZS1vcmlnaW4gb2JzZXJ2ZXJzIGdldCBkaWZm
ZXJlbnQgZnVuY3Rpb25zIGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyAKLVBBU1MgU2FtZS1vcmln
aW4gb2JzZXJ2ZXJzIGdldCBkaWZmZXJlbnQgZnVuY3Rpb25zIGZvciBjcm9zcy1vcmlnaW4gb2Jq
ZWN0cyAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBTYW1lLW9yaWdpbiBvYnNlcnZlcnMgZ2V0IGRp
ZmZlcmVudCBhY2Nlc3NvcnMgZm9yIGNyb3NzLW9yaWdpbiBXaW5kb3cgCi1QQVNTIFNhbWUtb3Jp
Z2luIG9ic2VydmVycyBnZXQgZGlmZmVyZW50IGFjY2Vzc29ycyBmb3IgY3Jvc3Mtb3JpZ2luIFdp
bmRvdyAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBTYW1lLW9yaWdpbiBvYnNlcnZlcnMgZ2V0IGRp
ZmZlcmVudCBhY2Nlc3NvcnMgZm9yIGNyb3NzLW9yaWdpbiBMb2NhdGlvbiAKLVBBU1MgU2FtZS1v
cmlnaW4gb2JzZXJ2ZXJzIGdldCBkaWZmZXJlbnQgYWNjZXNzb3JzIGZvciBjcm9zcy1vcmlnaW4g
TG9jYXRpb24gKGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1Mge30udG9TdHJpbmcuY2FsbCgpIGRvZXMg
dGhlIHJpZ2h0IHRoaW5nIG9uIGNyb3NzLW9yaWdpbiBvYmplY3RzIAotUEFTUyB7fS50b1N0cmlu
Zy5jYWxsKCkgZG9lcyB0aGUgcmlnaHQgdGhpbmcgb24gY3Jvc3Mtb3JpZ2luIG9iamVjdHMgKGV4
Y2VwdGlvbiB0eXBlKSAKICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVj
dHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVj
dHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMuaHRtbAppbmRleCA3OTM3Nzg2MTA4ODdjZTQ2NWJjMDM1
NWYwMzk3NDYwMmFmM2NkMTEwLi40NDI2MjBiMjk5ZTVlN2JjNTA5ZGIxYzMwYzAyM2Y2N2NkODg5
NjU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdp
bi1vYmplY3RzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1v
cmlnaW4tb2JqZWN0cy5odG1sCkBAIC01MiwxNCArNTIsMTQgQEAgZnVuY3Rpb24gYWRkVGVzdChm
dW4sIGRlc2MpIHsgdGVzdExpc3QucHVzaChbZnVuLCBkZXNjXSk7IH0KICAqIEJhc2ljIHNhbml0
eSB0ZXN0aW5nLgogICovCiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2FkZFRl
c3QoZnVuY3Rpb24oKSB7CiAgIC8vIE5vdGU6IHdlIGRvIG5vdCBjaGVjayBsb2NhdGlvbi5ob3N0
IGFzIGl0cyBkZWZhdWx0IHBvcnQgc2VtYW50aWNzIGFyZSBoYXJkIHRvIHJlZmxlY3Qgc3RhdGlj
YWxseQogICBhc3NlcnRfZXF1YWxzKGxvY2F0aW9uLmhvc3RuYW1lLCBob3N0X2luZm8uT1JJR0lO
QUxfSE9TVCwgJ05lZWQgdG8gcnVuIHRoZSB0b3AtbGV2ZWwgdGVzdCBmcm9tIGRvbWFpbiAnICsg
aG9zdF9pbmZvLk9SSUdJTkFMX0hPU1QpOwogICBhc3NlcnRfZXF1YWxzKGdldF9wb3J0KGxvY2F0
aW9uKSwgaG9zdF9pbmZvLkhUVFBfUE9SVCwgJ05lZWQgdG8gcnVuIHRoZSB0b3AtbGV2ZWwgdGVz
dCBmcm9tIHBvcnQgJyArIGhvc3RfaW5mby5IVFRQX1BPUlQpOwogICBhc3NlcnRfZXF1YWxzKEIu
cGFyZW50LCB3aW5kb3csICJ3aW5kb3cucGFyZW50IHdvcmtzIHNhbWUtb3JpZ2luIik7CiAgIGFz
c2VydF9lcXVhbHMoQy5wYXJlbnQsIHdpbmRvdywgIndpbmRvdy5wYXJlbnQgd29ya3MgY3Jvc3Mt
b3JpZ2luIik7CiAgIGFzc2VydF9lcXVhbHMoQi5sb2NhdGlvbi5wYXRobmFtZSwgcGF0aCwgImxv
Y2F0aW9uLmhyZWYgd29ya3Mgc2FtZS1vcmlnaW4iKTsKLSAgdGVzdF90aHJvd3MoZXhjZXB0aW9u
X3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IEMubG9jYXRpb24ucGF0aG5hbWU7IH0s
ICJsb2NhdGlvbi5wYXRobmFtZSB0aHJvd3MgY3Jvc3Mtb3JpZ2luIik7CisgIGFzc2VydF90aHJv
d3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQy5sb2NhdGlvbi5wYXRobmFtZTsgfSwg
ImxvY2F0aW9uLnBhdGhuYW1lIHRocm93cyBjcm9zcy1vcmlnaW4iKTsKICAgYXNzZXJ0X2VxdWFs
cyhCLmZyYW1lcywgJ292ZXJyaWRlJywgIk92ZXJyaWRlcyB2aXNpYmxlIGluIHRoZSBzYW1lLW9y
aWdpbiBjYXNlIik7CiAgIGFzc2VydF9lcXVhbHMoQy5mcmFtZXMsIEMsICJPdmVycmlkZXMgaW52
aXNpYmxlIGluIHRoZSBjcm9zcy1vcmlnaW4gY2FzZSIpOwogfSwgIkJhc2ljIHNhbml0eS1jaGVj
a2luZyIpOwpAQCAtODEsMjEgKzgxLDIxIEBAIHZhciB3aGl0ZWxpc3RlZFN5bWJvbHMgPSBbU3lt
Ym9sLnRvU3RyaW5nVGFnLCBTeW1ib2wuaGFzSW5zdGFuY2UsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFN5bWJvbC5pc0NvbmNhdFNwcmVhZGFibGVdOwogdmFyIHdoaXRlbGlzdGVkV2luZG93
UHJvcHMgPSB3aGl0ZWxpc3RlZFdpbmRvd1Byb3BOYW1lcy5jb25jYXQod2hpdGVsaXN0ZWRTeW1i
b2xzKTsKIAotYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgeworYWRkVGVzdChmdW5jdGlv
bigpIHsKICAgZm9yICh2YXIgcHJvcCBpbiB3aW5kb3cpIHsKICAgICBpZiAod2hpdGVsaXN0ZWRX
aW5kb3dQcm9wcy5pbmRleE9mKHByb3ApICE9IC0xKSB7CiAgICAgICBDW3Byb3BdOyAvLyBTaG91
bGRuJ3QgdGhyb3cuCiAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsIHBy
b3ApOyAvLyBTaG91bGRuJ3QgdGhyb3cuCiAgICAgICBhc3NlcnRfdHJ1ZShPYmplY3QucHJvdG90
eXBlLmhhc093blByb3BlcnR5LmNhbGwoQywgcHJvcCksICJoYXNPd25Qcm9wZXJ0eSBmb3IgIiAr
IFN0cmluZyhwcm9wKSk7CiAgICAgfSBlbHNlIHsKLSAgICAgIHRlc3RfdGhyb3dzKGV4Y2VwdGlv
bl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDW3Byb3BdOyB9LCAiU2hvdWxkIHRo
cm93IHdoZW4gYWNjZXNzaW5nICIgKyBTdHJpbmcocHJvcCkgKyAiIG9uIFdpbmRvdyIpOwotICAg
ICAgdGVzdF90aHJvd3MoZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQywgcHJvcCk7IH0sCisgICAgICBhc3Nl
cnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IENbcHJvcF07IH0sICJTaG91
bGQgdGhyb3cgd2hlbiBhY2Nlc3NpbmcgIiArIFN0cmluZyhwcm9wKSArICIgb24gV2luZG93Iik7
CisgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQywgcHJvcCk7IH0sCiAgICAgICAgICAgICAgICAg
ICAgICJTaG91bGQgdGhyb3cgd2hlbiBhY2Nlc3NpbmcgcHJvcGVydHkgZGVzY3JpcHRvciBmb3Ig
IiArIHByb3AgKyAiIG9uIFdpbmRvdyIpOwotICAgICAgdGVzdF90aHJvd3MoZXhjZXB0aW9uX3Qs
ICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJv
cGVydHkuY2FsbChDLCBwcm9wKTsgfSwKKyAgICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJy
b3IiLCBmdW5jdGlvbigpIHsgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEMs
IHByb3ApOyB9LAogICAgICAgICAgICAgICAgICAgICAiU2hvdWxkIHRocm93IHdoZW4gaW52b2tp
bmcgaGFzT3duUHJvcGVydHkgZm9yICIgKyBwcm9wICsgIiBvbiBXaW5kb3ciKTsKICAgICB9CiAg
ICAgaWYgKHByb3AgIT0gJ2xvY2F0aW9uJykKLSAgICAgIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90
LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDW3Byb3BdID0gdW5kZWZpbmVkOyB9LCAi
U2hvdWxkIHRocm93IHdoZW4gd3JpdGluZyB0byAiICsgcHJvcCArICIgb24gV2luZG93Iik7Cisg
ICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IENbcHJvcF0g
PSB1bmRlZmluZWQ7IH0sICJTaG91bGQgdGhyb3cgd2hlbiB3cml0aW5nIHRvICIgKyBwcm9wICsg
IiBvbiBXaW5kb3ciKTsKICAgfQogICBmb3IgKHZhciBwcm9wIGluIGxvY2F0aW9uKSB7CiAgICAg
aWYgKHByb3AgPT0gJ3JlcGxhY2UnKSB7CkBAIC0xMDQsMTQgKzEwNCwxNCBAQCBhZGRUZXN0KGZ1
bmN0aW9uKGV4Y2VwdGlvbl90KSB7CiAgICAgICBhc3NlcnRfdHJ1ZShPYmplY3QucHJvdG90eXBl
Lmhhc093blByb3BlcnR5LmNhbGwoQy5sb2NhdGlvbiwgcHJvcCksICJoYXNPd25Qcm9wZXJ0eSBm
b3IgIiArIHByb3ApOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgIHRlc3RfdGhyb3dzKGV4Y2Vw
dGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDW3Byb3BdOyB9LCAiU2hvdWxk
IHRocm93IHdoZW4gYWNjZXNzaW5nICIgKyBwcm9wICsgIiBvbiBMb2NhdGlvbiIpOwotICAgICAg
dGVzdF90aHJvd3MoZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQywgcHJvcCk7IH0sCisgICAgICBhc3NlcnRf
dGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IENbcHJvcF07IH0sICJTaG91bGQg
dGhyb3cgd2hlbiBhY2Nlc3NpbmcgIiArIHByb3AgKyAiIG9uIExvY2F0aW9uIik7CisgICAgICBh
c3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoQywgcHJvcCk7IH0sCiAgICAgICAgICAgICAgICAgICAgICJTaG91
bGQgdGhyb3cgd2hlbiBhY2Nlc3NpbmcgcHJvcGVydHkgZGVzY3JpcHRvciBmb3IgIiArIHByb3Ag
KyAiIG9uIExvY2F0aW9uIik7Ci0gICAgICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3Vy
aXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5j
YWxsKEMsIHByb3ApOyB9LAorICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1
bmN0aW9uKCkgeyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoQywgcHJvcCk7
IH0sCiAgICAgICAgICAgICAgICAgICAgICJTaG91bGQgdGhyb3cgd2hlbiBpbnZva2luZyBoYXNP
d25Qcm9wZXJ0eSBmb3IgIiArIHByb3AgKyAiIG9uIExvY2F0aW9uIik7CiAgICAgfQogICAgIGlm
IChwcm9wICE9ICdocmVmJykKLSAgICAgIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJp
dHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDW3Byb3BdID0gdW5kZWZpbmVkOyB9LCAiU2hvdWxkIHRo
cm93IHdoZW4gd3JpdGluZyB0byAiICsgcHJvcCArICIgb24gTG9jYXRpb24iKTsKKyAgICAgIGFz
c2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQ1twcm9wXSA9IHVuZGVm
aW5lZDsgfSwgIlNob3VsZCB0aHJvdyB3aGVuIHdyaXRpbmcgdG8gIiArIHByb3AgKyAiIG9uIExv
Y2F0aW9uIik7CiAgIH0KIH0sICJPbmx5IHdoaXRlbGlzdGVkIHByb3BlcnRpZXMgYXJlIGFjY2Vz
c2libGUgY3Jvc3Mtb3JpZ2luIik7CiAKQEAgLTEyMiwyOSArMTIyLDI5IEBAIGFkZFRlc3QoZnVu
Y3Rpb24oZXhjZXB0aW9uX3QpIHsKIC8qCiAgKiBbW0dldFByb3RvdHlwZU9mXV0KICAqLwotYWRk
VGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgeworYWRkVGVzdChmdW5jdGlvbigpIHsKICAgYXNz
ZXJ0X3RydWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKEMpID09PSBudWxsLCAiY3Jvc3Mtb3JpZ2lu
IFdpbmRvdyBwcm90byBpcyBudWxsIik7CiAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRQcm90b3R5
cGVPZihDLmxvY2F0aW9uKSA9PT0gbnVsbCwgImNyb3NzLW9yaWdpbiBMb2NhdGlvbiBwcm90byBp
cyBudWxsIChfX3Byb3RvX18pIik7CiAgIHZhciBwcm90b0dldHRlciA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgJ19fcHJvdG9fXycpLmdldDsKICAg
YXNzZXJ0X3RydWUocHJvdG9HZXR0ZXIuY2FsbChDKSA9PT0gbnVsbCwgImNyb3NzLW9yaWdpbiBX
aW5kb3cgcHJvdG8gaXMgbnVsbCIpOwogICBhc3NlcnRfdHJ1ZShwcm90b0dldHRlci5jYWxsKEMu
bG9jYXRpb24pID09PSBudWxsLCAiY3Jvc3Mtb3JpZ2luIExvY2F0aW9uIHByb3RvIGlzIG51bGwg
KF9fcHJvdG9fXykiKTsKLSAgdGVzdF90aHJvd3MoZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9y
IiwgZnVuY3Rpb24oKSB7IEMuX19wcm90b19fOyB9LCAiX19wcm90b19fIHByb3BlcnR5IG5vdCBh
dmFpbGFibGUgY3Jvc3Mtb3JpZ2luIik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2Vj
dXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDLmxvY2F0aW9uLl9fcHJvdG9fXzsgfSwgIl9fcHJv
dG9fXyBwcm9wZXJ0eSBub3QgYXZhaWxhYmxlIGNyb3NzLW9yaWdpbiIpOworICBhc3NlcnRfdGhy
b3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IEMuX19wcm90b19fOyB9LCAiX19wcm90
b19fIHByb3BlcnR5IG5vdCBhdmFpbGFibGUgY3Jvc3Mtb3JpZ2luIik7CisgIGFzc2VydF90aHJv
d3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQy5sb2NhdGlvbi5fX3Byb3RvX187IH0s
ICJfX3Byb3RvX18gcHJvcGVydHkgbm90IGF2YWlsYWJsZSBjcm9zcy1vcmlnaW4iKTsKIAogfSwg
IltbR2V0UHJvdG90eXBlT2ZdXSBzaG91bGQgcmV0dXJuIG51bGwiKTsKIAogLyoKICAqIFtbU2V0
UHJvdG90eXBlT2ZdXQogICovCi1hZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7Ci0gIHRl
c3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDLl9f
cHJvdG9fXyA9IG5ldyBPYmplY3QoKTsgfSwgInByb3RvIHNldCBvbiBjcm9zcy1vcmlnaW4gV2lu
ZG93Iik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0
aW9uKCkgeyBDLmxvY2F0aW9uLl9fcHJvdG9fXyA9IG5ldyBPYmplY3QoKTsgfSwgInByb3RvIHNl
dCBvbiBjcm9zcy1vcmlnaW4gTG9jYXRpb24iKTsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CisgIGFz
c2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQy5fX3Byb3RvX18gPSBu
ZXcgT2JqZWN0KCk7IH0sICJwcm90byBzZXQgb24gY3Jvc3Mtb3JpZ2luIFdpbmRvdyIpOworICBh
c3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IEMubG9jYXRpb24uX19w
cm90b19fID0gbmV3IE9iamVjdCgpOyB9LCAicHJvdG8gc2V0IG9uIGNyb3NzLW9yaWdpbiBMb2Nh
dGlvbiIpOwogICB2YXIgc2V0dGVycyA9IFtPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KE9iamVjdC5wcm90b3R5cGUsICdfX3Byb3RvX18nKS5zZXRdOwogICBpZiAoT2JqZWN0LnNldFBy
b3RvdHlwZU9mKQogICAgIHNldHRlcnMucHVzaChmdW5jdGlvbihwKSB7IE9iamVjdC5zZXRQcm90
b3R5cGVPZih0aGlzLCBwKTsgfSk7CiAgIHNldHRlcnMuZm9yRWFjaChmdW5jdGlvbihwcm90b1Nl
dHRlcikgewotICAgIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCBuZXcgVHlwZUVycm9yLCBmdW5j
dGlvbigpIHsgcHJvdG9TZXR0ZXIuY2FsbChDLCBuZXcgT2JqZWN0KCkpOyB9LCAicHJvdG8gc2V0
dGVyIHxjYWxsfCBvbiBjcm9zcy1vcmlnaW4gV2luZG93Iik7Ci0gICAgdGVzdF90aHJvd3MoZXhj
ZXB0aW9uX3QsIG5ldyBUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeyBwcm90b1NldHRlci5jYWxsKEMu
bG9jYXRpb24sIG5ldyBPYmplY3QoKSk7IH0sICJwcm90byBzZXR0ZXIgfGNhbGx8IG9uIGNyb3Nz
LW9yaWdpbiBMb2NhdGlvbiIpOworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7IHByb3RvU2V0dGVyLmNhbGwoQywgbmV3IE9iamVjdCgpKTsgfSwgInByb3RvIHNl
dHRlciB8Y2FsbHwgb24gY3Jvc3Mtb3JpZ2luIFdpbmRvdyIpOworICAgIGFzc2VydF90aHJvd3Mo
bmV3IFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7IHByb3RvU2V0dGVyLmNhbGwoQy5sb2NhdGlvbiwg
bmV3IE9iamVjdCgpKTsgfSwgInByb3RvIHNldHRlciB8Y2FsbHwgb24gY3Jvc3Mtb3JpZ2luIExv
Y2F0aW9uIik7CiAgIH0pOwogICBpZiAoUmVmbGVjdC5zZXRQcm90b3R5cGVPZikgewogICAgIGFz
c2VydF9mYWxzZShSZWZsZWN0LnNldFByb3RvdHlwZU9mKEMsIG5ldyBPYmplY3QoKSksCkBAIC0x
NTcsNyArMTU3LDcgQEAgYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewogLyoKICAqIFtb
SXNFeHRlbnNpYmxlXV0KICAqLwotYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgeworYWRk
VGVzdChmdW5jdGlvbigpIHsKICAgYXNzZXJ0X3RydWUoT2JqZWN0LmlzRXh0ZW5zaWJsZShDKSwg
ImNyb3NzLW9yaWdpbiBXaW5kb3cgc2hvdWxkIGJlIGV4dGVuc2libGUiKTsKICAgYXNzZXJ0X3Ry
dWUoT2JqZWN0LmlzRXh0ZW5zaWJsZShDLmxvY2F0aW9uKSwgImNyb3NzLW9yaWdpbiBMb2NhdGlv
biBzaG91bGQgYmUgZXh0ZW5zaWJsZSIpOwogfSwgIltbSXNFeHRlbnNpYmxlXV0gc2hvdWxkIHJl
dHVybiB0cnVlIGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyIpOwpAQCAtMTY1LDEwICsxNjUsMTAg
QEAgYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewogLyoKICAqIFtbUHJldmVudEV4dGVu
c2lvbnNdXQogICovCi1hZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7Ci0gIHRlc3RfdGhy
b3dzKGV4Y2VwdGlvbl90LCBuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsgT2JqZWN0LnByZXZl
bnRFeHRlbnNpb25zKEMpIH0sCithZGRUZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeyBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoQykg
fSwKICAgICAgICAgICAgICAgICAicHJldmVudEV4dGVuc2lvbnMgb24gY3Jvc3Mtb3JpZ2luIFdp
bmRvdyBzaG91bGQgdGhyb3ciKTsKLSAgdGVzdF90aHJvd3MoZXhjZXB0aW9uX3QsIG5ldyBUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgeyBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoQy5sb2NhdGlvbikg
fSwKKyAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsgT2JqZWN0LnBy
ZXZlbnRFeHRlbnNpb25zKEMubG9jYXRpb24pIH0sCiAgICAgICAgICAgICAgICAgInByZXZlbnRF
eHRlbnNpb25zIG9uIGNyb3NzLW9yaWdpbiBMb2NhdGlvbiBzaG91bGQgdGhyb3ciKTsKIH0sICJb
W1ByZXZlbnRFeHRlbnNpb25zXV0gc2hvdWxkIHRocm93IGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0
cyIpOwogCkBAIC0xNzYsNyArMTc2LDcgQEAgYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkg
ewogICogW1tHZXRPd25Qcm9wZXJ0eV1dCiAgKi8KIAotYWRkVGVzdChmdW5jdGlvbihleGNlcHRp
b25fdCkgeworYWRkVGVzdChmdW5jdGlvbigpIHsKICAgYXNzZXJ0X3RydWUoaXNPYmplY3QoT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihDLCAnY2xvc2UnKSksICJDLmNsb3NlIGlzIHxv
d258Iik7CiAgIGFzc2VydF90cnVlKGlzT2JqZWN0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoQywgJ3RvcCcpKSwgIkMudG9wIGlzIHxvd258Iik7CiAgIGFzc2VydF90cnVlKGlzT2Jq
ZWN0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQy5sb2NhdGlvbiwgJ2hyZWYnKSks
ICJDLmxvY2F0aW9uLmhyZWYgaXMgfG93bnwiKTsKQEAgLTIwMyw3ICsyMDMsNyBAQCBmdW5jdGlv
biBjaGVja1Byb3BlcnR5RGVzY3JpcHRvcihkZXNjLCBwcm9wTmFtZSwgZXhwZWN0V3JpdGFibGUp
IHsKICAgICAgICAgICAgICAgICAgICJwcm9wZXJ0eSBkZXNjcmlwdG9yIGZvciAiICsgcHJvcE5h
bWUgKyAiIHNob3VsZCAiICsgKGV4cGVjdFdyaXRhYmxlID8gIiIgOiAibm90ICIpICsgImhhdmUg
c2V0dGVyIik7CiB9CiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2FkZFRlc3Qo
ZnVuY3Rpb24oKSB7CiAgIHdoaXRlbGlzdGVkV2luZG93UHJvcHMuZm9yRWFjaChmdW5jdGlvbihw
cm9wKSB7CiAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMs
IHByb3ApOwogICAgIGNoZWNrUHJvcGVydHlEZXNjcmlwdG9yKGRlc2MsIHByb3AsIHByb3AgPT0g
J2xvY2F0aW9uJyk7CkBAIC0yMjAsNDYgKzIyMCw0NiBAQCBhZGRUZXN0KGZ1bmN0aW9uKGV4Y2Vw
dGlvbl90KSB7CiAvKgogICogW1tEZWxldGVdXQogICovCi1hZGRUZXN0KGZ1bmN0aW9uKGV4Y2Vw
dGlvbl90KSB7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1
bmN0aW9uKCkgeyBkZWxldGUgQ1swXTsgfSwgIkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gaW5k
ZXhlZCBwcm9wZXJ0eSIpOwotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJy
b3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIENbMTAwXTsgfSwgIkNhbid0IGRlbGV0ZSBjcm9zcy1v
cmlnaW4gaW5kZXhlZCBwcm9wZXJ0eSIpOwotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNl
Y3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIEMubG9jYXRpb247IH0sICJDYW4ndCBk
ZWxldGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5Iik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90
LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBkZWxldGUgQy5wYXJlbnQ7IH0sICJDYW4n
dCBkZWxldGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5Iik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlv
bl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBkZWxldGUgQy5sZW5ndGg7IH0sICJD
YW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5Iik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2Vw
dGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBkZWxldGUgQy5kb2N1bWVudDsg
fSwgIkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkiKTsKLSAgdGVzdF90aHJvd3Mo
ZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmZvb3B5
OyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOwotICB0ZXN0X3Rocm93
cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIEMubG9j
YXRpb24uaHJlZjsgfSwgIkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkiKTsKLSAg
dGVzdF90aHJvd3MoZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRl
bGV0ZSBDLmxvY2F0aW9uLnJlcGxhY2U7IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIHBy
b3BlcnR5Iik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1
bmN0aW9uKCkgeyBkZWxldGUgQy5sb2NhdGlvbi5wb3J0OyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3Nz
LW9yaWdpbiBwcm9wZXJ0eSIpOwotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5
RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIEMubG9jYXRpb24uZm9vcHk7IH0sICJDYW4ndCBk
ZWxldGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5Iik7CithZGRUZXN0KGZ1bmN0aW9uKCkgeworICBh
c3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDWzBdOyB9
LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBpbmRleGVkIHByb3BlcnR5Iik7CisgIGFzc2Vy
dF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIENbMTAwXTsgfSwg
IkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gaW5kZXhlZCBwcm9wZXJ0eSIpOworICBhc3NlcnRf
dGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmxvY2F0aW9uOyB9
LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOworICBhc3NlcnRfdGhyb3dz
KCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLnBhcmVudDsgfSwgIkNhbid0
IGRlbGV0ZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkiKTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJp
dHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBkZWxldGUgQy5sZW5ndGg7IH0sICJDYW4ndCBkZWxldGUg
Y3Jvc3Mtb3JpZ2luIHByb3BlcnR5Iik7CisgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3Ii
LCBmdW5jdGlvbigpIHsgZGVsZXRlIEMuZG9jdW1lbnQ7IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mt
b3JpZ2luIHByb3BlcnR5Iik7CisgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5j
dGlvbigpIHsgZGVsZXRlIEMuZm9vcHk7IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIHBy
b3BlcnR5Iik7CisgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsg
ZGVsZXRlIEMubG9jYXRpb24uaHJlZjsgfSwgIkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gcHJv
cGVydHkiKTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBk
ZWxldGUgQy5sb2NhdGlvbi5yZXBsYWNlOyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBw
cm9wZXJ0eSIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7
IGRlbGV0ZSBDLmxvY2F0aW9uLnBvcnQ7IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIHBy
b3BlcnR5Iik7CisgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsg
ZGVsZXRlIEMubG9jYXRpb24uZm9vcHk7IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIHBy
b3BlcnR5Iik7CiB9LCAiW1tEZWxldGVdXSBTaG91bGQgdGhyb3cgb24gY3Jvc3Mtb3JpZ2luIG9i
amVjdHMiKTsKIAogLyoKICAqIFtbRGVmaW5lT3duUHJvcGVydHldXQogICovCi1mdW5jdGlvbiBj
aGVja0RlZmluZShleGNlcHRpb25fdCwgb2JqLCBwcm9wKSB7CitmdW5jdGlvbiBjaGVja0RlZmlu
ZShvYmosIHByb3ApIHsKICAgdmFyIHZhbHVlRGVzYyA9IHsgY29uZmlndXJhYmxlOiB0cnVlLCBl
bnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IGZhbHNlLCB2YWx1ZTogMiB9OwogICB2YXIgYWNj
ZXNzb3JEZXNjID0geyBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IGZhbHNlLCBnZXQ6
IGZ1bmN0aW9uKCkge30gfTsKLSAgdGVzdF90aHJvd3MoZXhjZXB0aW9uX3QsICJTZWN1cml0eUVy
cm9yIiwgZnVuY3Rpb24oKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIHByb3AsIHZhbHVl
RGVzYyk7IH0sICJDYW4ndCBkZWZpbmUgY3Jvc3Mtb3JpZ2luIHZhbHVlIHByb3BlcnR5ICIgKyBw
cm9wKTsKLSAgdGVzdF90aHJvd3MoZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rp
b24oKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIHByb3AsIGFjY2Vzc29yRGVzYyk7IH0s
ICJDYW4ndCBkZWZpbmUgY3Jvc3Mtb3JpZ2luIGFjY2Vzc29yIHByb3BlcnR5ICIgKyBwcm9wKTsK
KyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBPYmplY3QuZGVm
aW5lUHJvcGVydHkob2JqLCBwcm9wLCB2YWx1ZURlc2MpOyB9LCAiQ2FuJ3QgZGVmaW5lIGNyb3Nz
LW9yaWdpbiB2YWx1ZSBwcm9wZXJ0eSAiICsgcHJvcCk7CisgIGFzc2VydF90aHJvd3MoIlNlY3Vy
aXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCwg
YWNjZXNzb3JEZXNjKTsgfSwgIkNhbid0IGRlZmluZSBjcm9zcy1vcmlnaW4gYWNjZXNzb3IgcHJv
cGVydHkgIiArIHByb3ApOwogfQotYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewotICBj
aGVja0RlZmluZShleGNlcHRpb25fdCwgQywgJ2xlbmd0aCcpOwotICBjaGVja0RlZmluZShleGNl
cHRpb25fdCwgQywgJ3BhcmVudCcpOwotICBjaGVja0RlZmluZShleGNlcHRpb25fdCwgQywgJ2xv
Y2F0aW9uJyk7Ci0gIGNoZWNrRGVmaW5lKGV4Y2VwdGlvbl90LCBDLCAnZG9jdW1lbnQnKTsKLSAg
Y2hlY2tEZWZpbmUoZXhjZXB0aW9uX3QsIEMsICdmb29weScpOwotICBjaGVja0RlZmluZShleGNl
cHRpb25fdCwgQy5sb2NhdGlvbiwgJ2hyZWYnKTsKLSAgY2hlY2tEZWZpbmUoZXhjZXB0aW9uX3Qs
IEMubG9jYXRpb24sICdyZXBsYWNlJyk7Ci0gIGNoZWNrRGVmaW5lKGV4Y2VwdGlvbl90LCBDLmxv
Y2F0aW9uLCAncG9ydCcpOwotICBjaGVja0RlZmluZShleGNlcHRpb25fdCwgQy5sb2NhdGlvbiwg
J2Zvb3B5Jyk7CithZGRUZXN0KGZ1bmN0aW9uKCkgeworICBjaGVja0RlZmluZShDLCAnbGVuZ3Ro
Jyk7CisgIGNoZWNrRGVmaW5lKEMsICdwYXJlbnQnKTsKKyAgY2hlY2tEZWZpbmUoQywgJ2xvY2F0
aW9uJyk7CisgIGNoZWNrRGVmaW5lKEMsICdkb2N1bWVudCcpOworICBjaGVja0RlZmluZShDLCAn
Zm9vcHknKTsKKyAgY2hlY2tEZWZpbmUoQy5sb2NhdGlvbiwgJ2hyZWYnKTsKKyAgY2hlY2tEZWZp
bmUoQy5sb2NhdGlvbiwgJ3JlcGxhY2UnKTsKKyAgY2hlY2tEZWZpbmUoQy5sb2NhdGlvbiwgJ3Bv
cnQnKTsKKyAgY2hlY2tEZWZpbmUoQy5sb2NhdGlvbiwgJ2Zvb3B5Jyk7CiB9LCAiW1tEZWZpbmVP
d25Qcm9wZXJ0eV1dIFNob3VsZCB0aHJvdyBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVjdHMiKTsKIAog
LyoKICAqIFtbRW51bWVyYXRlXV0KICAqLwogCi1hZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90
KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBmb3IgKHZhciBwcm9wIGluIEMpCiAgICAgYXNz
ZXJ0X3VucmVhY2hlZCgiU2hvdWxkbid0IGhhdmUgYmVlbiBhYmxlIHRvIGVudW1lcmF0ZSAiICsg
cHJvcCArICIgb24gY3Jvc3Mtb3JpZ2luIFdpbmRvdyIpOwogICBmb3IgKHZhciBwcm9wIGluIEMu
bG9jYXRpb24pCkBAIC0yNzAsNyArMjcwLDcgQEAgYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25f
dCkgewogICogW1tPd25Qcm9wZXJ0eUtleXNdXQogICovCiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhj
ZXB0aW9uX3QpIHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF9hcnJheV9lcXVhbHMo
T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoQykuc29ydCgpLAogICAgICAgICAgICAgICAgICAg
ICAgIHdoaXRlbGlzdGVkV2luZG93UHJvcE5hbWVzLAogICAgICAgICAgICAgICAgICAgICAgICJP
YmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygpIGdpdmVzIHRoZSByaWdodCBhbnN3ZXIgZm9yIGNy
b3NzLW9yaWdpbiBXaW5kb3ciKTsKQEAgLTI3OSw3ICsyNzksNyBAQCBhZGRUZXN0KGZ1bmN0aW9u
KGV4Y2VwdGlvbl90KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIk9iamVjdC5nZXRPd25Qcm9w
ZXJ0eU5hbWVzKCkgZ2l2ZXMgdGhlIHJpZ2h0IGFuc3dlciBmb3IgY3Jvc3Mtb3JpZ2luIExvY2F0
aW9uIik7CiB9LCAiW1tPd25Qcm9wZXJ0eUtleXNdXSBzaG91bGQgcmV0dXJuIGFsbCBwcm9wZXJ0
aWVzIGZyb20gY3Jvc3Mtb3JpZ2luIG9iamVjdHMiKTsKIAotYWRkVGVzdChmdW5jdGlvbihleGNl
cHRpb25fdCkgeworYWRkVGVzdChmdW5jdGlvbigpIHsKICAgYXNzZXJ0X2FycmF5X2VxdWFscyhP
YmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKEMpLCB3aGl0ZWxpc3RlZFN5bWJvbHMsCiAgICAg
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoKSBzaG91bGQgcmV0dXJuIHRoZSB0aHJlZSBz
eW1ib2wtbmFtZWQgcHJvcGVydGllcyB0aGF0IGFyZSBleHBvc2VkIG9uIGEgY3Jvc3Mtb3JpZ2lu
IFdpbmRvdyIpOwogICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5
bWJvbHMoQy5sb2NhdGlvbiksCkBAIC0yODcsNyArMjg3LDcgQEAgYWRkVGVzdChmdW5jdGlvbihl
eGNlcHRpb25fdCkgewogICAgICJPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKCkgc2hvdWxk
IHJldHVybiB0aGUgdGhyZWUgc3ltYm9sLW5hbWVkIHByb3BlcnRpZXMgdGhhdCBhcmUgZXhwb3Nl
ZCBvbiBhIGNyb3NzLW9yaWdpbiBMb2NhdGlvbiIpOwogfSwgIltbT3duUHJvcGVydHlLZXlzXV0g
c2hvdWxkIHJldHVybiB0aGUgcmlnaHQgc3ltYm9sLW5hbWVkIHByb3BlcnRpZXMgZm9yIGNyb3Nz
LW9yaWdpbiBvYmplY3RzIik7CiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2Fk
ZFRlc3QoZnVuY3Rpb24oKSB7CiAgIHZhciBhbGxXaW5kb3dQcm9wcyA9IFJlZmxlY3Qub3duS2V5
cyhDKTsKICAgaW5kZXhlZFdpbmRvd1Byb3BzID0gYWxsV2luZG93UHJvcHMuc2xpY2UoMCwgd2hp
dGVsaXN0ZWRXaW5kb3dJbmRpY2VzLmxlbmd0aCk7CiAgIHN0cmluZ1dpbmRvd1Byb3BzID0gYWxs
V2luZG93UHJvcHMuc2xpY2UoMCwgLTEgKiB3aGl0ZWxpc3RlZFN5bWJvbHMubGVuZ3RoKTsKQEAg
LTMwOCw3ICszMDgsNyBAQCBhZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgIlJlZmxlY3Qub3duS2V5cyBzaG91bGQgZW5kIHdpdGggdGhlIGNyb3Nz
LW9yaWdpbiBzeW1ib2xzIGZvciBhIGNyb3NzLW9yaWdpbiBMb2NhdGlvbi4iKQogfSwgIltbT3du
UHJvcGVydHlLZXlzXV0gc2hvdWxkIHBsYWNlIHRoZSBzeW1ib2xzIGFmdGVyIHRoZSBwcm9wZXJ0
eSBuYW1lcyBhZnRlciB0aGUgc3ViZnJhbWUgaW5kaWNlcyIpOwogCi1hZGRUZXN0KGZ1bmN0aW9u
KGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBhc3NlcnRfdHJ1ZShCLmV2
YWwoJ3BhcmVudC5DJykgPT09IEMsICJBIGFuZCBCIG9ic2VydmUgdGhlIHNhbWUgaWRlbnRpdHkg
Zm9yIEMncyBXaW5kb3ciKTsKICAgYXNzZXJ0X3RydWUoQi5ldmFsKCdwYXJlbnQuQy5sb2NhdGlv
bicpID09PSBDLmxvY2F0aW9uLCAiQSBhbmQgQiBvYnNlcnZlIHRoZSBzYW1lIGlkZW50aXR5IGZv
ciBDJ3MgTG9jYXRpb24iKTsKIH0sICJBIGFuZCBCIGpvaW50bHkgb2JzZXJ2ZSB0aGUgc2FtZSBp
ZGVudGl0eSBmb3IgY3Jvc3Mtb3JpZ2luIFdpbmRvdyBhbmQgTG9jYXRpb24iKTsKQEAgLTMxOSwx
OSArMzE5LDE5IEBAIGZ1bmN0aW9uIGNoZWNrRnVuY3Rpb24oZiwgcHJvdG8pIHsKICAgYXNzZXJ0
X2VxdWFscyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoZiksIHByb3RvLCBmLm5hbWUgKyAiIGhhcyB0
aGUgcmlnaHQgcHJvdG90eXBlIik7CiB9CiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3Qp
IHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGNoZWNrRnVuY3Rpb24oQy5jbG9zZSwgRnVuY3Rp
b24ucHJvdG90eXBlKTsKICAgY2hlY2tGdW5jdGlvbihDLmxvY2F0aW9uLnJlcGxhY2UsIEZ1bmN0
aW9uLnByb3RvdHlwZSk7CiB9LCAiQ3Jvc3Mtb3JpZ2luIGZ1bmN0aW9ucyBnZXQgbG9jYWwgRnVu
Y3Rpb24ucHJvdG90eXBlIik7CiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2Fk
ZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF90cnVlKGlzT2JqZWN0KE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoQywgJ3BhcmVudCcpKSwKICAgICAgICAgICAgICAgIk5lZWQgdG8g
YmUgYWJsZSB0byB1c2UgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBkbyB0aGlzIHRl
c3QiKTsKICAgY2hlY2tGdW5jdGlvbihPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMs
ICdwYXJlbnQnKS5nZXQsIEZ1bmN0aW9uLnByb3RvdHlwZSk7CiAgIGNoZWNrRnVuY3Rpb24oT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihDLmxvY2F0aW9uLCAnaHJlZicpLnNldCwgRnVu
Y3Rpb24ucHJvdG90eXBlKTsKIH0sICJDcm9zcy1vcmlnaW4gV2luZG93IGFjY2Vzc29ycyBnZXQg
bG9jYWwgRnVuY3Rpb24ucHJvdG90eXBlIik7CiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9u
X3QpIHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGNoZWNrRnVuY3Rpb24oY2xvc2UsIEZ1bmN0
aW9uLnByb3RvdHlwZSk7CiAgIGFzc2VydF90cnVlKGNsb3NlICE9IEIuY2xvc2UsICdzYW1lLW9y
aWdpbiBXaW5kb3cgZnVuY3Rpb25zIGdldCB0aGVpciBvd24gb2JqZWN0Jyk7CiAgIGFzc2VydF90
cnVlKGNsb3NlICE9IEMuY2xvc2UsICdjcm9zcy1vcmlnaW4gV2luZG93IGZ1bmN0aW9ucyBnZXQg
dGhlaXIgb3duIG9iamVjdCcpOwpAQCAtMzQ3LDcgKzM0Nyw3IEBAIGFkZFRlc3QoZnVuY3Rpb24o
ZXhjZXB0aW9uX3QpIHsKICAgY2hlY2tGdW5jdGlvbihyZXBsYWNlX0IsIEIuRnVuY3Rpb24ucHJv
dG90eXBlKTsKIH0sICJTYW1lLW9yaWdpbiBvYnNlcnZlcnMgZ2V0IGRpZmZlcmVudCBmdW5jdGlv
bnMgZm9yIGNyb3NzLW9yaWdpbiBvYmplY3RzIik7CiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0
aW9uX3QpIHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF90cnVlKGlzT2JqZWN0KE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQywgJ3BhcmVudCcpKSwKICAgICAgICAgICAg
ICAgIk5lZWQgdG8gYmUgYWJsZSB0byB1c2UgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
ciBkbyB0aGlzIHRlc3QiKTsKICAgdmFyIGdldF9zZWxmX3BhcmVudCA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAncGFyZW50JykuZ2V0OwpAQCAtMzYwLDcgKzM2MCw3
IEBAIGFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKICAgY2hlY2tGdW5jdGlvbihnZXRf
cGFyZW50X0IsIEIuRnVuY3Rpb24ucHJvdG90eXBlKTsKIH0sICJTYW1lLW9yaWdpbiBvYnNlcnZl
cnMgZ2V0IGRpZmZlcmVudCBhY2Nlc3NvcnMgZm9yIGNyb3NzLW9yaWdpbiBXaW5kb3ciKTsKIAot
YWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgeworYWRkVGVzdChmdW5jdGlvbigpIHsKICAg
dmFyIHNldF9zZWxmX2hyZWYgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRv
dy5sb2NhdGlvbiwgJ2hyZWYnKS5zZXQ7CiAgIHZhciBzZXRfaHJlZl9BID0gT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihDLmxvY2F0aW9uLCAnaHJlZicpLnNldDsKICAgdmFyIHNldF9o
cmVmX0IgPSBCLmV2YWwoJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocGFyZW50LkMu
bG9jYXRpb24sICJocmVmIikuc2V0Jyk7CkBAIC0zNzEsMzkgKzM3MSwxNyBAQCBhZGRUZXN0KGZ1
bmN0aW9uKGV4Y2VwdGlvbl90KSB7CiAgIGNoZWNrRnVuY3Rpb24oc2V0X2hyZWZfQiwgQi5GdW5j
dGlvbi5wcm90b3R5cGUpOwogfSwgIlNhbWUtb3JpZ2luIG9ic2VydmVycyBnZXQgZGlmZmVyZW50
IGFjY2Vzc29ycyBmb3IgY3Jvc3Mtb3JpZ2luIExvY2F0aW9uIik7CiAKLWFkZFRlc3QoZnVuY3Rp
b24oZXhjZXB0aW9uX3QpIHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF9lcXVhbHMo
e30udG9TdHJpbmcuY2FsbChDKSwgIltvYmplY3QgT2JqZWN0XSIpOwogICBhc3NlcnRfZXF1YWxz
KHt9LnRvU3RyaW5nLmNhbGwoQy5sb2NhdGlvbiksICJbb2JqZWN0IE9iamVjdF0iKTsKIH0sICJ7
fS50b1N0cmluZy5jYWxsKCkgZG9lcyB0aGUgcmlnaHQgdGhpbmcgb24gY3Jvc3Mtb3JpZ2luIG9i
amVjdHMiKTsKIAotLy8gU2VwYXJhdGUgdGVzdCBmb3IgdGhyb3dpbmcgYXQgYWxsIGFuZCB0aHJv
d2luZyB0aGUgcmlnaHQgZXhjZXB0aW9uIHR5cGUKLS8vIHNvIHRoYXQgd2UgY2FuIHRlc3QgdGhh
dCBhbGwgaW1wbGVtZW50YXRpb25zIGNvdWxkIHBhc3Mgd2hpbGUgaW1wbGVtZW50aW5nCi0vLyB0
aGUgb2JzZXJ2YWJsZXMgdGhhdCBhcmUgYWN0dWFsbHkgaW1wb3J0YW50IGZvciBzZWN1cml0eSBh
bmQgaW50ZXJvcCwgc28KLS8vIHRoZXkgd291bGQgbm90aWNlIGlmIHRoZXkgZXZlciByZWdyZXNz
ZWQgdGhlbS4KLWZ1bmN0aW9uIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCBjb2RlLCBmdW5jLCBk
ZXNjcmlwdGlvbikgewotICBhc3NlcnRfdGhyb3dzKG51bGwsIGZ1bmMsIGRlc2NyaXB0aW9uKTsK
LSAgZXhjZXB0aW9uX3Quc3RlcChmdW5jdGlvbigpIHsKLSAgICBhc3NlcnRfdGhyb3dzKGNvZGUs
IGZ1bmMsIGRlc2NyaXB0aW9uKTsKLSAgfSk7Ci19Ci0KIC8vIFdlIGRvIGEgZnJlc2ggbG9hZCBv
ZiB0aGUgc3ViZnJhbWVzIGZvciBlYWNoIHRlc3QgdG8gbWluaW1pemUgc2lkZS1lZmZlY3RzLgog
Ly8gSXQgd291bGQgYmUgbmljZSB0byByZWxvYWQgb3Vyc2VsdmVzIGFzIHdlbGwsIGJ1dCB3ZSBj
YW4ndCBkbyB0aGF0IHdpdGhvdXQKIC8vIGRpc3J1cHRpbmcgdGhlIHRlc3QgaGFybmVzcy4KIGZ1
bmN0aW9uIHJ1bk5leHRUZXN0KCkgewogICB2YXIgZW50cnkgPSB0ZXN0TGlzdC5zaGlmdCgpOwot
ICB2YXIgZnVuID0gZW50cnlbMF07Ci0gIHZhciBkZXNjID0gZW50cnlbMV07Ci0gIHZhciBtYWlu
X3QgPSBhc3luY190ZXN0KGRlc2MpOwotICB2YXIgZXhjZXB0aW9uX3QgPSBhc3luY190ZXN0KGRl
c2MgKyAnIChleGNlcHRpb24gdHlwZSknKTsKLSAgbWFpbl90LmFkZF9jbGVhbnVwKGZ1bmN0aW9u
KCkgewotICAgIGV4Y2VwdGlvbl90LnVucmVhY2hlZF9mdW5jKCdNYWluIHRlc3QgZmFpbGVkJyko
KTsKLSAgfSk7Ci0gIG1haW5fdC5zdGVwKGZ1bmN0aW9uKCkgewotICAgIGZ1bihleGNlcHRpb25f
dCk7Ci0gIH0pOwotICBleGNlcHRpb25fdC5kb25lKCk7Ci0gIG1haW5fdC5kb25lKCk7CisgIHRl
c3QoKCkgPT4gZW50cnlbMF0oKSwgZW50cnlbMV0pCiAgIGlmICh0ZXN0TGlzdC5sZW5ndGggIT0g
MCkKICAgICByZWxvYWRTdWJmcmFtZXMocnVuTmV4dFRlc3QpOwogICBlbHNlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3Jl
ZmxlY3Rpb24tZW1iZWRkZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWVtYmVkZGVkLWV4cGVjdGVk
LnR4dAppbmRleCBiNGZjYzM2OTcxMTBjYjMyYTMzNjJmMzQ0Y2I3Mjc2YjBmNDJkNzU0Li43Mzcz
MjFkNjdjZTliNDBlZGY5ZGNjMTQ0MzU3MWU4ZmMwNGJhNjUwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24t
ZW1iZWRkZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vcmVmbGVjdGlvbi1lbWJlZGRlZC1leHBlY3RlZC50eHQK
QEAgLTE5LDE5ICsxOSwxOSBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNzg2OiBUaGUgbGFuZ3Vh
Z2UgY29udGFpbnMgYSBudWxsIGNoYXJhY3RlciBhbmQgaXMgbm90IGEgdgogQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDc4NjogVGhlIGxhbmd1YWdlICdudWxsJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcg
bGFuZ3VhZ2UgdGFnLgogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc4NjogVGhlIGxhbmd1YWdlICd0
ZXN0LXRvU3RyaW5nJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgogQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDc4NjogVGhlIGxhbmd1YWdlICd0ZXN0LXZhbHVlT2YnIGlzIG5vdCBh
IHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNjog
VGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlk
IEJDUCA0NyBsYW5ndWFnZSB0YWcuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNjogVGhlIGxh
bmd1YWdlICd1bmRlZmluZWQnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNjogVGhlIGxhbmd1YWdlICc3JyBpcyBub3QgYSB2YWxp
ZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBs
YW5ndWFnZSAnMS41JyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSAndHJ1ZScgaXMgbm90IGEgdmFsaWQg
QkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUgbGFu
Z3VhZ2UgJ2ZhbHNlJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSAnW29iamVjdCBPYmplY3RdJyBpcyBu
b3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0
MDY6IFRoZSBsYW5ndWFnZSAnSW5maW5pdHknIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFn
ZSB0YWcuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNjogVGhlIGxhbmd1YWdlICctSW5maW5p
dHknIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTQwNjogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlz
IG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTQwNjogVGhlIGxhbmd1YWdlICdudWxsJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2Ug
dGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSAndGVzdC10b1N0
cmluZycgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJ3Rlc3QtdmFsdWVPZicgaXMgbm90IGEgdmFsaWQg
QkNQIDQ3IGxhbmd1YWdlIHRhZy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBUaGUgbGFu
Z3VhZ2UgY29udGFpbnMgYSBudWxsIGNoYXJhY3RlciBhbmQgaXMgbm90IGEgdmFsaWQgQkNQIDQ3
IGxhbmd1YWdlIHRhZy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBUaGUgbGFuZ3VhZ2Ug
J3VuZGVmaW5lZCcgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxNDA1OiBUaGUgbGFuZ3VhZ2UgJzcnIGlzIG5vdCBhIHZhbGlkIEJDUCA0
NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdl
ICcxLjUnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlICd0cnVlJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcg
bGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFnZSAn
ZmFsc2UnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlICdbb2JqZWN0IE9iamVjdF0nIGlzIG5vdCBhIHZh
bGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhl
IGxhbmd1YWdlICdJbmZpbml0eScgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4K
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBUaGUgbGFuZ3VhZ2UgJy1JbmZpbml0eScgaXMg
bm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
NDA1OiBUaGUgbGFuZ3VhZ2UgY29udGFpbnMgYSBudWxsIGNoYXJhY3RlciBhbmQgaXMgbm90IGEg
dmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBU
aGUgbGFuZ3VhZ2UgJ251bGwnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlICd0ZXN0LXRvU3RyaW5nJyBp
cyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE0MDU6IFRoZSBsYW5ndWFnZSAndGVzdC12YWx1ZU9mJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcg
bGFuZ3VhZ2UgdGFnLgogSW1wbGVtZW50ZXJzIGxvb2tpbmcgdG8gZml4IGJ1Z3MgbWlnaHQgd2Fu
dCB0byB1c2UgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhpcyBzdWl0ZSdzIHRlc3QgZnJhbWV3
b3JrLCB3aGljaCBjb252ZW5pZW50bHkgYWdncmVnYXRlcyBzaW1pbGFyIGVycm9ycyBhbmQgb25s
eSByZXBvcnRzIGZhaWx1cmVzLiBUaGlzIGZpbGUgaXMgKHBhcnQgb2YpIHRoZSBhdXRob3JpdGF0
aXZlIGNvbmZvcm1hbmNlIHRlc3Qgc3VpdGUsIGFuZCBpcyBzdWl0YWJsZSBmb3IgaW5jb3Jwb3Jh
dGlvbiBpbnRvIGF1dG9tYXRlZCB0ZXN0IHN1aXRlcy4KIAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3Vt
ZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRh
LWh0dHAtZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVj
dGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hh
bmdpbmctMS1leHBlY3RlZC50eHQKaW5kZXggM2UxN2FlYWJhMTViN2MxY2E1ZjQ2ZTkzYjEzODFl
NTQ5YWZhODk5MS4uMWU3ODZmZDFkMzFlNGQ0NDI5MTM4YjFiZjE4NTZhZTM4YTNmN2ZlNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJl
Y3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFnLWNo
YW5naW5nLTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEt
ZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2Fs
bG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0xLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQgQEAK
IENPTlNPTEUgTUVTU0FHRTogbGluZSA0NzogVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbm9kZScp
IHRvIE5vZGUuYXBwZW5kQ2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBOb2RlCiAKLUhhcm5l
c3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbm9kZScp
IHRvIE5vZGUuYXBwZW5kQ2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBOb2RlCi0KLVBBU1Mg
TWV0YSByZWZyZXNoIGlzIGJsb2NrZWQgYnkgdGhlIGFsbG93LXNjcmlwdHMgc2FuZGJveCBmbGFn
IGF0IGl0cyBjcmVhdGlvbiB0aW1lLCBub3Qgd2hlbiByZWZyZXNoIGNvbWVzIGR1ZSAKK0ZBSUwg
TWV0YSByZWZyZXNoIGlzIGJsb2NrZWQgYnkgdGhlIGFsbG93LXNjcmlwdHMgc2FuZGJveCBmbGFn
IGF0IGl0cyBjcmVhdGlvbiB0aW1lLCBub3Qgd2hlbiByZWZyZXNoIGNvbWVzIGR1ZSBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCdub2RlJykgdG8gTm9kZS5hcHBlbmRDaGlsZCBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIE5vZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0
YS1lbGVtZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gv
YWxsb3ctc2NyaXB0cy1mbGFnLWNoYW5naW5nLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1t
ZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRw
LWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFnLWNoYW5naW5nLTItZXhwZWN0ZWQudHh0
CmluZGV4IGYwNDYxYTBjZGUyNWIwZGExOTE0N2ViZTgxNDdjZjRmMGY5OTQyZmUuLjUxZDI5NDQ1
YzNjMDg4OGY4OTlmMTgzOGE1MWNlZTQ2OTNlMDkzOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQt
bWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0
cC1lcXVpdi1yZWZyZXNoL2FsbG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0yLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVj
dGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hh
bmdpbmctMi1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNDU6IFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25vZGUnKSB0byBOb2RlLmFwcGVuZENoaWxk
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTm9kZQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVz
c2FnZSA9IFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25vZGUnKSB0byBOb2RlLmFwcGVuZENoaWxk
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTm9kZQotCitGQUlMIE1ldGEgcmVmcmVzaCBvZiB0aGUg
b3JpZ2luYWwgaWZyYW1lIGlzIG5vdCBibG9ja2VkIGlmIG1vdmVkIGludG8gYSBzYW5kYm94ZWQg
aWZyYW1lIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25vZGUnKSB0byBOb2RlLmFwcGVuZENoaWxk
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTm9kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50LW1l
dGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0dHAt
ZXF1aXYtcmVmcmVzaC9tb3ZpbmctZG9jdW1lbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQt
bWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0
cC1lcXVpdi1yZWZyZXNoL21vdmluZy1kb2N1bWVudHMtZXhwZWN0ZWQudHh0CmluZGV4IDk3YTcy
ZDM3ZGU1ZjQzYmRmYzE1MjdkMTMxNjYxNGE0ZTZmZTdiOWYuLjVkYTIwOGE0NWVlZDk4YmQzZDI2
OTQ0ZTMxYWUwODFkYTMxM2E3NTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhl
LW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZy
ZXNoL21vdmluZy1kb2N1bWVudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRh
dGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVp
di1yZWZyZXNoL21vdmluZy1kb2N1bWVudHMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAog
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQyOiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykg
dG8gTm9kZS5hcHBlbmRDaGlsZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUKIAotSGFybmVz
cyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykg
dG8gTm9kZS5hcHBlbmRDaGlsZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUKLQorRkFJTCBX
aGVuIG1vdmluZyBiZXR3ZWVuIGRvY3VtZW50cywgbXVzdCByZWZyZXNoIHRoZSBvcmlnaW5hbCBk
b2N1bWVudCBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykgdG8gTm9kZS5hcHBlbmRDaGls
ZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1t
ZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRw
LWVxdWl2LXJlZnJlc2gvbm90LWluLXNoYWRvdy10cmVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1l
bnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEt
aHR0cC1lcXVpdi1yZWZyZXNoL25vdC1pbi1zaGFkb3ctdHJlZS1leHBlY3RlZC50eHQKaW5kZXgg
YTNhMTYyZjRmMmU0YWM3NzBiMzI3YzdkMDNkYmVkMDFjN2QwYTA1OC4uNDcwOGFiMDcxMDM3MzY5
MTY1NmZiNmI2ODkwNDI0NjQ2NzJhNGY0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0
YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2
LXJlZnJlc2gvbm90LWluLXNoYWRvdy10cmVlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50
LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0
dHAtZXF1aXYtcmVmcmVzaC9ub3QtaW4tc2hhZG93LXRyZWUtZXhwZWN0ZWQudHh0CkBAIC0xLDQg
KzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI0NDg6IEVycm9yOiBhc3NlcnRfdW5yZWFj
aGVkOiBHb3QgbW9yZSB0aGFuIDEgbG9hZCBldmVudCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNTM0OiBFcnJvcjogYXNzZXJ0X3VucmVhY2hlZDogR290
IG1vcmUgdGhhbiAxIGxvYWQgZXZlbnQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiAKIEZBSUwg
TWV0YSByZWZyZXNoIG9ubHkgYXBwbGllcyB3aGlsZSBpbiB0aGUgZG9jdW1lbnQgdHJlZSwgbm90
IGluIGEgc2hhZG93IHRyZWUgRXJyb3I6IGFzc2VydF91bnJlYWNoZWQ6IEdvdCBtb3JlIHRoYW4g
MSBsb2FkIGV2ZW50IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Vt
YmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9IVE1MRWxlbWVudC9IVE1M
VHJhY2tFbGVtZW50L3NyY2xhbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21l
ZGlhLWVsZW1lbnRzL2ludGVyZmFjZXMvSFRNTEVsZW1lbnQvSFRNTFRyYWNrRWxlbWVudC9zcmNs
YW5nLWV4cGVjdGVkLnR4dAppbmRleCBlZDU4NzUxMTZkYmJhYTRhNjg1Y2IyZTJiZmI3ZTViYzdi
NWU3YjM0Li45NTQyNDUzNWFkMmU5OGJlMjMxZTUxZTcxYjk5YjBmMzU0MDZkOGQ0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9IVE1MRWxl
bWVudC9IVE1MVHJhY2tFbGVtZW50L3NyY2xhbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL0hUTUxFbGVtZW50L0hUTUxUcmFj
a0VsZW1lbnQvc3JjbGFuZy1leHBlY3RlZC50eHQKQEAgLTEsOSArMSw5IEBACiBDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNDM6IFRoZSBsYW5ndWFnZSBjb250YWlucyBhIG51bGwgY2hhcmFjdGVyIGFu
ZCBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgogQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDY0OiBUaGUgbGFuZ3VhZ2UgJyBmb28gCiAnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5n
dWFnZSB0YWcuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNjogVGhlIGxhbmd1YWdlICcgZm9v
IAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFnZSAnIGZvbyAKICcgaXMg
bm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
NDA2OiBUaGUgbGFuZ3VhZ2UgY29udGFpbnMgYSBudWxsIGNoYXJhY3RlciBhbmQgaXMgbm90IGEg
dmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBU
aGUgbGFuZ3VhZ2UgY29udGFpbnMgYSBudWxsIGNoYXJhY3RlciBhbmQgaXMgbm90IGEgdmFsaWQg
QkNQIDQ3IGxhbmd1YWdlIHRhZy4KIAogUEFTUyBIVE1MVHJhY2tFbGVtZW50LnNyY2xhbmcgbWlz
c2luZyB2YWx1ZSAKIFBBU1MgSFRNTFRyYWNrRWxlbWVudC5zcmNsYW5nIGVtcHR5IHN0cmluZyBj
b250ZW50IGF0dHJpYnV0ZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1l
bGVtZW50cy9pbnRlcmZhY2VzL1RleHRUcmFjay9sYW5ndWFnZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Vt
YmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9UZXh0VHJhY2svbGFuZ3Vh
Z2UtZXhwZWN0ZWQudHh0CmluZGV4IGUwZTdmZWRkODYwMzY3NGJjOGJkZDlmZGYwMWU2NDlhM2Jj
MzVhNzcuLmIwMGI4ZGRjZmJiOGE0ZDMyOGM2M2ZhYjJjMzgyNTVlMWQyNjlhOTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1RleHRUcmFj
ay9sYW5ndWFnZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVs
ZW1lbnRzL2ludGVyZmFjZXMvVGV4dFRyYWNrL2xhbmd1YWdlLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgY29udGFp
bnMgYSBudWxsIGNoYXJhY3RlciBhbmQgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRh
Zy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBUaGUgbGFuZ3VhZ2UgY29udGFpbnMgYSBu
dWxsIGNoYXJhY3RlciBhbmQgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KIENP
TlNPTEUgTUVTU0FHRTogbGluZSAyNjogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFy
YWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCiAKIFBBU1MgVGV4
dFRyYWNrLmxhbmd1YWdlIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVs
ZW1lbnRzL3JlYWR5LXN0YXRlcy9hdXRvcGxheS13aXRoLXNsb3ctdGV4dC10cmFja3MtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5LXN0YXRlcy9h
dXRvcGxheS13aXRoLXNsb3ctdGV4dC10cmFja3MtZXhwZWN0ZWQudHh0CmluZGV4IGVhMzZlMDcz
YjVkNTljZmEyNGQzZTcyZGM0Y2Q4Yzc0YmQ5NmUxZGQuLjMzMTliZjdmNzY3NjY5N2ZmOTExN2Uw
YWU5MmY5NmZmYzkwZDNiM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1l
bGVtZW50cy9yZWFkeS1zdGF0ZXMvYXV0b3BsYXktd2l0aC1zbG93LXRleHQtdHJhY2tzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVhZHktc3Rh
dGVzL2F1dG9wbGF5LXdpdGgtc2xvdy10ZXh0LXRyYWNrcy1leHBlY3RlZC50eHQKQEAgLTQsNiAr
NCw1IEBAIENPTlNPTEUgTUVTU0FHRTogbGluZSAzMTogVHlwZUVycm9yOiBudWxsIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ3RyYWNrLnRyCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzE6
IFR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0cmFjay50cmFj
ay5jdWVzLmxlbmd0aCcpCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzE6IFR5cGVFcnJvcjogbnVs
bCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0cmFjay50cmFjay5jdWVzLmxlbmd0aCcp
CiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVycm9yOiBudWxsIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RyYWNrLnRyYWNrLmN1ZXMubGVuZ3RoJykKLQorRkFJ
TCBhdXRvcGxheSB3aXRoIHNsb3cgdGV4dCB0cmFja3MgVHlwZUVycm9yOiBudWxsIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ3RyYWNrLnRyYWNrLmN1ZXMubGVuZ3RoJykKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dl
YmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1wYXJz
ZS1lcnJvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2RlbC0yL3dp
bmRvdy1vbmVycm9yLXBhcnNlLWVycm9yLWV4cGVjdGVkLnR4dAppbmRleCAyODY3Mjc0YTg0NmE0
ODI4OWFlY2VmNzQ2NzQyNzBiMThhMTY1MDAyLi45NmI3YmI0NDk3MjJlZmYxYjRmM2JmZWQxMTE1
YzcxZTczZTU2MGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2RlbC0y
L3dpbmRvdy1vbmVycm9yLXBhcnNlLWVycm9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRp
bmcvcHJvY2Vzc2luZy1tb2RlbC0yL3dpbmRvdy1vbmVycm9yLXBhcnNlLWVycm9yLWV4cGVjdGVk
LnR4dApAQCAtMSw2ICsxLDcgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAzNDogU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnc2NyaXB0JworQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDEzMjE6IEVycm9yOiBUcmllZCB0byBjcmVhdGUgYSB0ZXN0IHdpdGggZmlsZV9pc190ZXN0CitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTMyMTogRXJyb3I6IFRyaWVkIHRvIGNyZWF0ZSBhIHRlc3Qg
d2l0aCBmaWxlX2lzX3Rlc3QKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMzIxOiBFcnJvcjogVHJp
ZWQgdG8gY3JlYXRlIGEgdGVzdCB3aXRoIGZpbGVfaXNfdGVzdAogCi1QQVNTIGNvcnJlY3QgdXJs
IHBhc3NlZCB0byB3aW5kb3cub25lcnJvciAKLVBBU1MgY29ycmVjdCBsaW5lIG51bWJlciBwYXNz
ZWQgdG8gd2luZG93Lm9uZXJyb3IgCi1QQVNTIGNvcnJlY3QgbnVtYmVyIG9mIGNhbGxzIHRvIHdp
bmRvdy5vbmVycm9yIAorUEFTUyB3aW5kb3cub25lcnJvcjogcGFyc2UgZXJyb3JzIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
d2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2RlbC0yL3dpbmRvdy1vbmVycm9yLXJ1
bnRpbWUtZXJyb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwt
Mi93aW5kb3ctb25lcnJvci1ydW50aW1lLWVycm9yLWV4cGVjdGVkLnR4dAppbmRleCA1ZWEyZDk1
ODBjNzQ2ZTNiYjk3ODMzZWY1ZTJiYWUyYzFjYTY3MzY3Li5jYzE3NzAxZmM0MzMwZWMzZDk5MDdj
ODE3ODBkYmQxYWZiYWMwODRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1t
b2RlbC0yL3dpbmRvdy1vbmVycm9yLXJ1bnRpbWUtZXJyb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlz
L3NjcmlwdGluZy9wcm9jZXNzaW5nLW1vZGVsLTIvd2luZG93LW9uZXJyb3ItcnVudGltZS1lcnJv
ci1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw3IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzY6
IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3dpbmRv
dy5ub25leGlzdGVudHByb3BlcnR5Lm9vcHMnKQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzMjE6
IEVycm9yOiBUcmllZCB0byBjcmVhdGUgYSB0ZXN0IHdpdGggZmlsZV9pc190ZXN0CitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTMyMTogRXJyb3I6IFRyaWVkIHRvIGNyZWF0ZSBhIHRlc3Qgd2l0aCBm
aWxlX2lzX3Rlc3QKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMzIxOiBFcnJvcjogVHJpZWQgdG8g
Y3JlYXRlIGEgdGVzdCB3aXRoIGZpbGVfaXNfdGVzdAogCi1QQVNTIGNvcnJlY3QgdXJsIHBhc3Nl
ZCB0byB3aW5kb3cub25lcnJvciAKLVBBU1MgY29ycmVjdCBsaW5lIG51bWJlciBwYXNzZWQgdG8g
d2luZG93Lm9uZXJyb3IgCi1QQVNTIGNvcnJlY3QgbnVtYmVyIG9mIGNhbGxzIHRvIHdpbmRvdy5v
bmVycm9yIAorUEFTUyB3aW5kb3cub25lcnJvcjogcnVudGltZSBzY3JpcHRlcnJvcnMgCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC93ZWJhcHBhcGlzL3NjcmlwdGluZy9wcm9jZXNzaW5nLW1vZGVsLTIvd2luZG93LW9uZXJyb3It
cnVudGltZS1lcnJvci10aHJvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2lu
Zy1tb2RlbC0yL3dpbmRvdy1vbmVycm9yLXJ1bnRpbWUtZXJyb3ItdGhyb3ctZXhwZWN0ZWQudHh0
CmluZGV4IDIxMDRjN2QzODkxNmMzNDY5NzQ0NTMwMmI4MjJhODA2MWVjNDVhNTEuLjY3OTk1Yzk1
ODBiNDUyMDZlYjZlYzVkNGU1YzhiM2I3M2RmNzhjOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGlu
Zy9wcm9jZXNzaW5nLW1vZGVsLTIvd2luZG93LW9uZXJyb3ItcnVudGltZS1lcnJvci10aHJvdy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ct
b25lcnJvci1ydW50aW1lLWVycm9yLXRocm93LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDUgQEAK
IENPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogYmFyCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTMy
MTogRXJyb3I6IFRyaWVkIHRvIGNyZWF0ZSBhIHRlc3Qgd2l0aCBmaWxlX2lzX3Rlc3QKIAotUEFT
UyBjb3JyZWN0IG51bWJlciBvZiBjYWxscyB0byB3aW5kb3cub25lcnJvciAKK1BBU1Mgd2luZG93
Lm9uZXJyb3I6IHJ1bnRpbWUgc2NyaXB0ZXJyb3JzIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25vdGlmaWNhdGlvbnMvaW50ZXJmYWNl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL25vdGlmaWNhdGlvbnMvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKaW5kZXggZDhiZDc4ODFm
ZGI5NjcxMWI5ZWI3MjI2OTgzNDU0ZGY2ZjhkNzc4NC4uMGJkODY5YWFjYjUxM2IwNzVkMjJmZDJl
ZTVhMWY0NDlkN2I5MTg4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ub3RpZmljYXRpb25zL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbm90aWZpY2F0
aW9ucy9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dApAQCAtMTksOCArMTksNiBAQCBQQVNTIE5vdGlm
aWNhdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBib2R5CiBQQVNTIE5vdGlmaWNhdGlvbiBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSB0YWcgCiBQQVNTIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBpY29uIAogUEFTUyBOb3RpZmljYXRpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gY2xvc2Uo
KSAKLVBBU1MgTm90aWZpY2F0aW9uIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IE5v
dGlmaWNhdGlvbigiUnVubmluZyBpZGxoYXJuZXNzLiIpIAotUEFTUyBTdHJpbmdpZmljYXRpb24g
b2YgbmV3IE5vdGlmaWNhdGlvbigiUnVubmluZyBpZGxoYXJuZXNzLiIpIAogUEFTUyBOb3RpZmlj
YXRpb24gaW50ZXJmYWNlOiBuZXcgTm90aWZpY2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJwZXJtaXNzaW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MCkgCiBQQVNTIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2U6IG5ldyBOb3RpZmljYXRpb24oIlJ1bm5p
bmcgaWRsaGFybmVzcy4iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlcXVlc3RQZXJtaXNzaW9u
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2U6
IGNhbGxpbmcgcmVxdWVzdFBlcm1pc3Npb24oTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNr
KSBvbiBuZXcgTm90aWZpY2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKQEAgLTM1LDEwICszMyw0IEBAIFBBU1Mg
Tm90aWZpY2F0aW9uIGludGVyZmFjZTogbmV3IE5vdGlmaWNhdGlvbigiUnVubmluZyBpZGxoYXJu
ZXNzLiIpIG11c3QgaW5oZXJpCiBQQVNTIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2U6IG5ldyBOb3Rp
ZmljYXRpb24oIlJ1bm5pbmcgaWRsaGFybmVzcy4iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInRh
ZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEwKSAKIFBBU1MgTm90aWZpY2F0aW9uIGludGVyZmFj
ZTogbmV3IE5vdGlmaWNhdGlvbigiUnVubmluZyBpZGxoYXJuZXNzLiIpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiaWNvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDExKSAKIFBBU1MgTm90aWZpY2F0
aW9uIGludGVyZmFjZTogbmV3IE5vdGlmaWNhdGlvbigiUnVubmluZyBpZGxoYXJuZXNzLiIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY2xvc2UiIHdpdGggdGhlIHByb3BlciB0eXBlICgxMikgCi1Q
QVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IE5vdGlmaWNhdGlvbigiUnVubmluZyBpZGxo
YXJuZXNzLiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWRkRXZlbnRMaXN0ZW5lciIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDApIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcg
YWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsRXZlbnRMaXN0ZW5lcixib29sZWFuKSBvbiBuZXcg
Tm90aWZpY2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgd2l0aCB0b28gZmV3IGFyZ3VtZW50
cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcg
Tm90aWZpY2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJyZW1vdmVFdmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCi1QQVNTIEV2
ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmlu
ZyxFdmVudExpc3RlbmVyLGJvb2xlYW4pIG9uIG5ldyBOb3RpZmljYXRpb24oIlJ1bm5pbmcgaWRs
aGFybmVzcy4iKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAot
UEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBOb3RpZmljYXRpb24oIlJ1bm5pbmcgaWRs
aGFybmVzcy4iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRpc3BhdGNoRXZlbnQiIHdpdGggdGhl
IHByb3BlciB0eXBlICgyKSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGRp
c3BhdGNoRXZlbnQoRXZlbnQpIG9uIG5ldyBOb3RpZmljYXRpb24oIlJ1bm5pbmcgaWRsaGFybmVz
cy4iKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lkbGhhcm5lc3MtZXhwZWN0
ZWQudHh0CmluZGV4IDNjMGYzYjdhMTRjMWJiNTYwMTY0NWU2NDUyMWM2NGRlNTc0ODBhMjQuLjcw
YWNmZTAxMDdjZGI4MmE0ZGE2ODc4NGQ2OWYxMDYxYmZmMDAxYWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lk
bGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CkBA
IC02LDExICs2LDYgQEAgUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRS
ZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUodW5zaWduZWQgbG9uZykKIFBBU1MgUGVyZm9ybWFuY2Ug
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgCiBQQVNTIFBl
cmZvcm1hbmNlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygd2luZG93LnBlcmZvcm1hbmNl
IAogUEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygd2luZG93LnBlcmZvcm1hbmNlIAotUEFTUyBQZXJm
b3JtYW5jZSBpbnRlcmZhY2U6IHdpbmRvdy5wZXJmb3JtYW5jZSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgImdldEVudHJpZXMiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKLVBBU1MgUGVyZm9ybWFu
Y2UgaW50ZXJmYWNlOiB3aW5kb3cucGVyZm9ybWFuY2UgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJn
ZXRFbnRyaWVzQnlUeXBlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCi1QQVNTIFBlcmZvcm1h
bmNlIGludGVyZmFjZTogY2FsbGluZyBnZXRFbnRyaWVzQnlUeXBlKERPTVN0cmluZykgb24gd2lu
ZG93LnBlcmZvcm1hbmNlIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IgCi1QQVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTogd2luZG93LnBlcmZvcm1hbmNlIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiZ2V0RW50cmllc0J5TmFtZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDIpIAotUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IGNhbGxpbmcgZ2V0RW50cmllc0J5TmFt
ZShET01TdHJpbmcsRE9NU3RyaW5nKSBvbiB3aW5kb3cucGVyZm9ybWFuY2Ugd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgUGVyZm9ybWFuY2UgaW50ZXJm
YWNlOiB3aW5kb3cucGVyZm9ybWFuY2UgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjbGVhclJlc291
cmNlVGltaW5ncyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDMpIAogUEFTUyBQZXJmb3JtYW5jZSBp
bnRlcmZhY2U6IHdpbmRvdy5wZXJmb3JtYW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNldFJl
c291cmNlVGltaW5nQnVmZmVyU2l6ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDQpIAogUEFTUyBQ
ZXJmb3JtYW5jZSBpbnRlcmZhY2U6IGNhbGxpbmcgc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXpl
KHVuc2lnbmVkIGxvbmcpIG9uIHdpbmRvdy5wZXJmb3JtYW5jZSB3aXRoIHRvbyBmZXcgYXJndW1l
bnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcnQtaW5pdGlhdG9yVHlw
ZS1vdGhlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9ydC1pbml0aWF0b3JUeXBlLW90aGVyLWV4cGVjdGVk
LnR4dAppbmRleCBhM2JlMTYxMGE4YzdhZTM2MWM4NWRlOTcyNzEyYmIxODYzZWNiMGFhLi43ZmU0
MWM2NzM4YmNiZDUzY2M1N2E2MDE3NWM4Y2ZjNDhiOGFiM2I4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9ydC1p
bml0aWF0b3JUeXBlLW90aGVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9ydC1pbml0aWF0b3JUeXBl
LW90aGVyLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSw4IEBACiBSZXNvdXJjZSBUaW1pbmc6IE90
aGVyIGluaXRpYXRvclR5cGUKIAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKLQogUEFTUyBUeXBlOiBvdGhlciAtIFdvcmtlciAKIFBBU1MgVGltaW5nOiBvdGhlciAt
IFdvcmtlciAKIFRJTUVPVVQgVHlwZTogb3RoZXIgLSBFdmVudFNvdXJjZSBUZXN0IHRpbWVkIG91
dAotTk9UUlVOIFRpbWluZzogb3RoZXIgLSBFdmVudFNvdXJjZSAKK0ZBSUwgVGltaW5nOiBvdGhl
ciAtIEV2ZW50U291cmNlIGFzc2VydF90cnVlOiBwcmV2aW91cyB0ZXN0IHNob3VsZCBoYXZlIHBy
b2R1Y2VkIGFuIGVudHJ5IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2lkbGhh
cm5lc3MuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9pZGxoYXJuZXNzLmpzCmluZGV4IGRhNzdmZTcwZGJmMjhjMzVjNWIwMDA5N2Q5NDcx
OWM5MGMwYWI0MDEuLmYxOGQ4OTViNjIxY2EyYTIwZWM1NDE3M2U4OGJkZTNhMjZmN2RiZDEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL2lkbGhhcm5lc3MuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcwpAQCAtOCw3ICs4LDcgQEAgcG9s
aWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiBbM10gaHR0cDovL3d3dy53My5vcmcv
MjAwNC8xMC8yNy10ZXN0Y2FzZXMKICovCiAKLS8qIEZvciB1c2VyIGRvY3VtZW50YXRpb24gc2Vl
IGRvY3MvaWRsaGFybmVzcy5tZCAqLworLyogRm9yIHVzZXIgZG9jdW1lbnRhdGlvbiBzZWUgZG9j
cy9fd3JpdGluZy10ZXN0cy9pZGxoYXJuZXNzLm1kICovCiAKIC8qKgogICogTm90ZXMgZm9yIHBl
b3BsZSB3aG8gd2FudCB0byBlZGl0IHRoaXMgZmlsZSAobm90IGp1c3QgdXNlIGl0IGFzIGEgbGli
cmFyeSk6CkBAIC0zMjIsNiArMzIyLDI0IEBAIElkbEFycmF5LnByb3RvdHlwZS5yZWN1cnNpdmVs
eV9nZXRfaW1wbGVtZW50cyA9IGZ1bmN0aW9uKGludGVyZmFjZV9uYW1lKQogICAgIHJldHVybiBy
ZXQ7CiB9OwogCitmdW5jdGlvbiBleHBvc3VyZV9zZXQob2JqZWN0LCBkZWZhdWx0X3NldCkgewor
ICAgIHZhciBleHBvc2VkID0gb2JqZWN0LmV4dEF0dHJzLmZpbHRlcihmdW5jdGlvbihhKSB7IHJl
dHVybiBhLm5hbWUgPT0gIkV4cG9zZWQiIH0pOworICAgIGlmIChleHBvc2VkLmxlbmd0aCA+IDEg
fHwgZXhwb3NlZC5sZW5ndGggPCAwKSB7CisgICAgICAgIHRocm93ICJVbmV4cGVjdGVkIEV4cG9z
ZWQgZXh0ZW5kZWQgYXR0cmlidXRlcyBvbiAiICsgbWVtYmVyTmFtZSArICI6ICIgKyBleHBvc2Vk
OworICAgIH0KKworICAgIGlmIChleHBvc2VkLmxlbmd0aCA9PT0gMCkgeworICAgICAgICByZXR1
cm4gZGVmYXVsdF9zZXQ7CisgICAgfQorCisgICAgdmFyIHNldCA9IGV4cG9zZWRbMF0ucmhzLnZh
bHVlOworICAgIC8vIENvdWxkIGJlIGEgbGlzdCBvciBhIHN0cmluZy4KKyAgICBpZiAodHlwZW9m
IHNldCA9PSAic3RyaW5nIikgeworICAgICAgICBzZXQgPSBbIHNldCBdOworICAgIH0KKyAgICBy
ZXR1cm4gc2V0OworfQorCiBmdW5jdGlvbiBleHBvc2VkX2luKGdsb2JhbHMpIHsKICAgICBpZiAo
J2RvY3VtZW50JyBpbiBzZWxmKSB7CiAgICAgICAgIHJldHVybiBnbG9iYWxzLmluZGV4T2YoIldp
bmRvdyIpID49IDA7CkBAIC0zOTYsMTUgKzQxNCw5IEBAIElkbEFycmF5LnByb3RvdHlwZS50ZXN0
ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAg
dmFyIGV4cG9zZWQgPSBtZW1iZXIuZXh0QXR0cnMuZmlsdGVyKGZ1bmN0aW9uKGEpIHsgcmV0dXJu
IGEubmFtZSA9PSAiRXhwb3NlZCIgfSk7Ci0gICAgICAgIGlmIChleHBvc2VkLmxlbmd0aCA+IDEp
IHsKLSAgICAgICAgICAgIHRocm93ICJVbmV4cGVjdGVkIEV4cG9zZWQgZXh0ZW5kZWQgYXR0cmli
dXRlcyBvbiAiICsgbWVtYmVyTmFtZSArICI6ICIgKyBleHBvc2VkOwotICAgICAgICB9Ci0KLSAg
ICAgICAgdmFyIGdsb2JhbHMgPSBleHBvc2VkLmxlbmd0aCA9PT0gMQotICAgICAgICAgICAgICAg
ICAgICA/IGV4cG9zZWRbMF0ucmhzLnZhbHVlCi0gICAgICAgICAgICAgICAgICAgIDogWyJXaW5k
b3ciXTsKKyAgICAgICAgdmFyIGdsb2JhbHMgPSBleHBvc3VyZV9zZXQobWVtYmVyLCBbIldpbmRv
dyJdKTsKICAgICAgICAgbWVtYmVyLmV4cG9zZWQgPSBleHBvc2VkX2luKGdsb2JhbHMpOworICAg
ICAgICBtZW1iZXIuZXhwb3N1cmVTZXQgPSBnbG9iYWxzOwogICAgIH0uYmluZCh0aGlzKSk7CiAK
ICAgICAvLyBOb3cgcnVuIHRlc3QoKSBvbiBldmVyeSBtZW1iZXIsIGFuZCB0ZXN0X29iamVjdCgp
IGZvciBldmVyeSBvYmplY3QuCkBAIC00MjUsNiArNDM3LDMxIEBAIElkbEFycmF5LnByb3RvdHlw
ZS50ZXN0ID0gZnVuY3Rpb24oKQogSWRsQXJyYXkucHJvdG90eXBlLmFzc2VydF90eXBlX2lzID0g
ZnVuY3Rpb24odmFsdWUsIHR5cGUpCiAvL0B7CiB7CisgICAgaWYgKHR5cGUuaWRsVHlwZSBpbiB0
aGlzLm1lbWJlcnMKKyAgICAmJiB0aGlzLm1lbWJlcnNbdHlwZS5pZGxUeXBlXSBpbnN0YW5jZW9m
IElkbFR5cGVkZWYpIHsKKyAgICAgICAgdGhpcy5hc3NlcnRfdHlwZV9pcyh2YWx1ZSwgdGhpcy5t
ZW1iZXJzW3R5cGUuaWRsVHlwZV0uaWRsVHlwZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9Cisg
ICAgaWYgKHR5cGUudW5pb24pIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0eXBlLmlk
bFR5cGUubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAg
dGhpcy5hc3NlcnRfdHlwZV9pcyh2YWx1ZSwgdHlwZS5pZGxUeXBlW2ldKTsKKyAgICAgICAgICAg
ICAgICAvLyBObyBBc3NlcnRpb25FcnJvciwgc28gd2UgbWF0Y2ggb25lIHR5cGUgaW4gdGhlIHVu
aW9uCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfSBjYXRjaChlKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBBc3NlcnRpb25FcnJvcikgeworICAgICAg
ICAgICAgICAgICAgICAvLyBXZSBkaWRuJ3QgbWF0Y2ggdGhpcyB0eXBlLCBsZXQncyB0cnkgc29t
ZSBvdGhlcnMKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIHRocm93IGU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICAgICAgLy8gVE9ETzogSXMgdGhlcmUgYSBuaWNlIHdheSB0byBsaXN0IHRoZSB1bmlvbidzIHR5
cGVzIGluIHRoZSBtZXNzYWdlPworICAgICAgICBhc3NlcnRfdHJ1ZShmYWxzZSwgIkF0dHJpYnV0
ZSBoYXMgdmFsdWUgIiArIGZvcm1hdF92YWx1ZSh2YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAg
KyAiIHdoaWNoIGRvZXNuJ3QgbWF0Y2ggYW55IG9mIHRoZSB0eXBlcyBpbiB0aGUgdW5pb24iKTsK
KworICAgIH0KKwogICAgIC8qKgogICAgICAqIEhlbHBlciBmdW5jdGlvbiB0aGF0IHRlc3RzIHRo
YXQgdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2YgdHlwZSBhY2NvcmRpbmcKICAgICAgKiB0byB0aGUg
cnVsZXMgb2YgV2ViSURMLiAgdmFsdWUgaXMgYW55IEphdmFTY3JpcHQgdmFsdWUsIGFuZCB0eXBl
IGlzIGFuCkBAIC00NTgsNyArNDk1LDcgQEAgSWRsQXJyYXkucHJvdG90eXBlLmFzc2VydF90eXBl
X2lzID0gZnVuY3Rpb24odmFsdWUsIHR5cGUpCiAgICAgICAgICAgICAvLyBOb3RoaW5nIHdlIGNh
biBkby4KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICB0aGlzLmFzc2Vy
dF90eXBlX2lzKHZhbHVlWzBdLCB0eXBlLmlkbFR5cGUuaWRsVHlwZSk7CisgICAgICAgIHRoaXMu
YXNzZXJ0X3R5cGVfaXModmFsdWVbMF0sIHR5cGUuaWRsVHlwZSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTQ3MCw2ICs1MDcsMTggQEAgSWRsQXJyYXkucHJvdG90eXBlLmFzc2VydF90
eXBlX2lzID0gZnVuY3Rpb24odmFsdWUsIHR5cGUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
KyAgICBpZiAodHlwZS5nZW5lcmljID09PSAiRnJvemVuQXJyYXkiKSB7CisgICAgICAgIGFzc2Vy
dF90cnVlKEFycmF5LmlzQXJyYXkodmFsdWUpLCAiVmFsdWUgc2hvdWxkIGJlIGFycmF5Iik7Cisg
ICAgICAgIGFzc2VydF90cnVlKE9iamVjdC5pc0Zyb3plbih2YWx1ZSksICJWYWx1ZSBzaG91bGQg
YmUgZnJvemVuIik7CisgICAgICAgIGlmICghdmFsdWUubGVuZ3RoKQorICAgICAgICB7CisgICAg
ICAgICAgICAvLyBOb3RoaW5nIHdlIGNhbiBkby4KKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgICAgICB0aGlzLmFzc2VydF90eXBlX2lzKHZhbHVlWzBdLCB0eXBlLmlkbFR5cGUp
OworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgdHlwZSA9IHR5cGUuaWRsVHlwZTsKIAog
ICAgIHN3aXRjaCh0eXBlKQpAQCAtNjAwLDEwICs2NDksNiBAQCBJZGxBcnJheS5wcm90b3R5cGUu
YXNzZXJ0X3R5cGVfaXMgPSBmdW5jdGlvbih2YWx1ZSwgdHlwZSkKICAgICB7CiAgICAgICAgIC8v
IFRPRE86IFRlc3Qgd2hlbiB3ZSBhY3R1YWxseSBoYXZlIHNvbWV0aGluZyB0byB0ZXN0IHRoaXMg
b24KICAgICB9Ci0gICAgZWxzZSBpZiAodGhpcy5tZW1iZXJzW3R5cGVdIGluc3RhbmNlb2YgSWRs
VHlwZWRlZikKLSAgICB7Ci0gICAgICAgIC8vIFRPRE86IFRlc3Qgd2hlbiB3ZSBhY3R1YWxseSBo
YXZlIHNvbWV0aGluZyB0byB0ZXN0IHRoaXMgb24KLSAgICB9CiAgICAgZWxzZQogICAgIHsKICAg
ICAgICAgdGhyb3cgIlR5cGUgIiArIHR5cGUgKyAiIGlzbid0IGFuIGludGVyZmFjZSBvciBkaWN0
aW9uYXJ5IjsKQEAgLTk3NSwxNCArMTAyMCwxMyBAQCBJZGxJbnRlcmZhY2UucHJvdG90eXBlLnRl
c3Rfc2VsZiA9IGZ1bmN0aW9uKCkKICAgICAgICAgLy8gZm9sbG93aW5nIHN0ZXBzOgogICAgICAg
ICAvLyAiSWYgQSBpcyBkZWNsYXJlZCB3aXRoIHRoZSBbR2xvYmFsXSBvciBbUHJpbWFyeUdsb2Jh
bF0gZXh0ZW5kZWQKICAgICAgICAgLy8gYXR0cmlidXRlLCBhbmQgQSBzdXBwb3J0cyBuYW1lZCBw
cm9wZXJ0aWVzLCB0aGVuIHJldHVybiB0aGUgbmFtZWQKLSAgICAgICAgLy8gcHJvcGVydGllcyBv
YmplY3QgZm9yIEEsIGFzIGRlZmluZWQgaW4gc2VjdGlvbiA0LjUuNSBiZWxvdy4KKyAgICAgICAg
Ly8gcHJvcGVydGllcyBvYmplY3QgZm9yIEEsIGFzIGRlZmluZWQgaW4gwqczLjYuNCBOYW1lZCBw
cm9wZXJ0aWVzCisgICAgICAgIC8vIG9iamVjdC4KICAgICAgICAgLy8gIk90aGVyd2lzZSwgaWYg
QSBpcyBkZWNsYXJlZCB0byBpbmhlcml0IGZyb20gYW5vdGhlciBpbnRlcmZhY2UsIHRoZW4KICAg
ICAgICAgLy8gcmV0dXJuIHRoZSBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBmb3IgdGhlIGlu
aGVyaXRlZCBpbnRlcmZhY2UuCi0gICAgICAgIC8vICJPdGhlcndpc2UsIGlmIEEgaXMgZGVjbGFy
ZWQgd2l0aCB0aGUgW0FycmF5Q2xhc3NdIGV4dGVuZGVkCi0gICAgICAgIC8vIGF0dHJpYnV0ZSwg
dGhlbiByZXR1cm4gJUFycmF5UHJvdG90eXBlJSAoW0VDTUEtMjYyXSwgc2VjdGlvbgotICAgICAg
ICAvLyA2LjEuNy40KS4KLSAgICAgICAgLy8gIk90aGVyd2lzZSwgcmV0dXJuICVPYmplY3RQcm90
b3R5cGUlIChbRUNNQS0yNjJdLCBzZWN0aW9uIDYuMS43LjQpLgotICAgICAgICAvLyAoW0VDTUEt
MjYyXSwgc2VjdGlvbiAxNS4yLjQpLgorICAgICAgICAvLyAiT3RoZXJ3aXNlLCBpZiBBIGlzIGRl
Y2xhcmVkIHdpdGggdGhlIFtMZWdhY3lBcnJheUNsYXNzXSBleHRlbmRlZAorICAgICAgICAvLyBh
dHRyaWJ1dGUsIHRoZW4gcmV0dXJuICVBcnJheVByb3RvdHlwZSUuCisgICAgICAgIC8vICJPdGhl
cndpc2UsIHJldHVybiAlT2JqZWN0UHJvdG90eXBlJS4KICAgICAgICAgaWYgKHRoaXMubmFtZSA9
PT0gIldpbmRvdyIpIHsKICAgICAgICAgICAgIGFzc2VydF9jbGFzc19zdHJpbmcoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKHNlbGZbdGhpcy5uYW1lXS5wcm90b3R5cGUpLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnV2luZG93UHJvcGVydGllcycsCkBAIC05OTYsNyArMTA0MCw3IEBA
IElkbEludGVyZmFjZS5wcm90b3R5cGUudGVzdF9zZWxmID0gZnVuY3Rpb24oKQogICAgICAgICAg
ICAgICAgICAgICAhdGhpcy5hcnJheQogICAgICAgICAgICAgICAgICAgICAgICAgIC5tZW1iZXJz
W2luaGVyaXRfaW50ZXJmYWNlXQogICAgICAgICAgICAgICAgICAgICAgICAgIC5oYXNfZXh0ZW5k
ZWRfYXR0cmlidXRlKCJOb0ludGVyZmFjZU9iamVjdCIpOwotICAgICAgICAgICAgfSBlbHNlIGlm
ICh0aGlzLmhhc19leHRlbmRlZF9hdHRyaWJ1dGUoJ0FycmF5Q2xhc3MnKSkgeworICAgICAgICAg
ICAgfSBlbHNlIGlmICh0aGlzLmhhc19leHRlbmRlZF9hdHRyaWJ1dGUoJ0xlZ2FjeUFycmF5Q2xh
c3MnKSkgewogICAgICAgICAgICAgICAgIGluaGVyaXRfaW50ZXJmYWNlID0gJ0FycmF5JzsKICAg
ICAgICAgICAgICAgICBpbmhlcml0X2ludGVyZmFjZV9oYXNfaW50ZXJmYWNlX29iamVjdCA9IHRy
dWU7CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMTAyNSwxMyArMTA2OSwxOSBAQCBJZGxJbnRl
cmZhY2UucHJvdG90eXBlLnRlc3Rfc2VsZiA9IGZ1bmN0aW9uKCkKICAgICAgICAgLy8gIlRoZSBj
bGFzcyBzdHJpbmcgb2YgYW4gaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlCiAgICAg
ICAgIC8vIGNvbmNhdGVuYXRpb24gb2YgdGhlIGludGVyZmFjZeKAmXMgaWRlbnRpZmllciBhbmQg
dGhlIHN0cmluZwogICAgICAgICAvLyDigJxQcm90b3R5cGXigJ0uIgotICAgICAgICBhc3NlcnRf
Y2xhc3Nfc3RyaW5nKHNlbGZbdGhpcy5uYW1lXS5wcm90b3R5cGUsIHRoaXMubmFtZSArICJQcm90
b3R5cGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzcyBzdHJpbmcgb2YgIiAr
IHRoaXMubmFtZSArICIucHJvdG90eXBlIik7CisKKyAgICAgICAgLy8gU2tpcCB0aGVzZSB0ZXN0
cyBmb3Igbm93IGR1ZSB0byBhIHNwZWNpZmljYXRpb24gaXNzdWUgYWJvdXQKKyAgICAgICAgLy8g
cHJvdG90eXBlIG5hbWUuCisgICAgICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9CdWdzL1B1Ymxp
Yy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNDQKKworICAgICAgICAvLyBhc3NlcnRfY2xhc3Nfc3RyaW5n
KHNlbGZbdGhpcy5uYW1lXS5wcm90b3R5cGUsIHRoaXMubmFtZSArICJQcm90b3R5cGUiLAorICAg
ICAgICAvLyAgICAgICAgICAgICAgICAgICAgICJjbGFzcyBzdHJpbmcgb2YgIiArIHRoaXMubmFt
ZSArICIucHJvdG90eXBlIik7CisKICAgICAgICAgLy8gU3RyaW5nKCkgc2hvdWxkIGVuZCB1cCBj
YWxsaW5nIHt9LnRvU3RyaW5nIGlmIG5vdGhpbmcgZGVmaW5lcyBhCiAgICAgICAgIC8vIHN0cmlu
Z2lmaWVyLgogICAgICAgICBpZiAoIXRoaXMuaGFzX3N0cmluZ2lmaWVyKCkpIHsKLSAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoU3RyaW5nKHNlbGZbdGhpcy5uYW1lXS5wcm90b3R5cGUpLCAiW29i
amVjdCAiICsgdGhpcy5uYW1lICsgIlByb3RvdHlwZV0iLAotICAgICAgICAgICAgICAgICAgICAi
U3RyaW5nKCIgKyB0aGlzLm5hbWUgKyAiLnByb3RvdHlwZSkiKTsKKyAgICAgICAgICAgIC8vIGFz
c2VydF9lcXVhbHMoU3RyaW5nKHNlbGZbdGhpcy5uYW1lXS5wcm90b3R5cGUpLCAiW29iamVjdCAi
ICsgdGhpcy5uYW1lICsgIlByb3RvdHlwZV0iLAorICAgICAgICAgICAgLy8gICAgICAgICAiU3Ry
aW5nKCIgKyB0aGlzLm5hbWUgKyAiLnByb3RvdHlwZSkiKTsKICAgICAgICAgfQogICAgIH0uYmlu
ZCh0aGlzKSwgdGhpcy5uYW1lICsgIiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCIpOwogCkBAIC0xMzU5LDEyICsxNDA5LDE3
IEBAIElkbEludGVyZmFjZS5wcm90b3R5cGUuZG9fbWVtYmVyX29wZXJhdGlvbl9hc3NlcnRzID0g
ZnVuY3Rpb24obWVtYmVySG9sZGVyT2JqZWN0CiBJZGxJbnRlcmZhY2UucHJvdG90eXBlLmFkZF9p
dGVyYWJsZV9tZW1iZXJzID0gZnVuY3Rpb24obWVtYmVyKQogLy9AewogewotICAgIHRoaXMubWVt
YmVycy5wdXNoKHt0eXBlOiAib3BlcmF0aW9uIiwgbmFtZTogImVudHJpZXMiLCBpZGxUeXBlOiAi
aXRlcmF0b3IiLCBhcmd1bWVudHM6IFtdfSk7Ci0gICAgdGhpcy5tZW1iZXJzLnB1c2goe3R5cGU6
ICJvcGVyYXRpb24iLCBuYW1lOiAia2V5cyIsIGlkbFR5cGU6ICJpdGVyYXRvciIsIGFyZ3VtZW50
czogW119KTsKLSAgICB0aGlzLm1lbWJlcnMucHVzaCh7dHlwZTogIm9wZXJhdGlvbiIsIG5hbWU6
ICJ2YWx1ZXMiLCBpZGxUeXBlOiAiaXRlcmF0b3IiLCBhcmd1bWVudHM6IFtdfSk7Ci0gICAgdGhp
cy5tZW1iZXJzLnB1c2goe3R5cGU6ICJvcGVyYXRpb24iLCBuYW1lOiAiZm9yRWFjaCIsIGlkbFR5
cGU6ICJ2b2lkIiwgYXJndW1lbnRzOgotICAgICAgICBbeyBuYW1lOiAiY2FsbGJhY2siLCBpZGxU
eXBlOiB7aWRsVHlwZTogImZ1bmN0aW9uIn19LAotICAgICAgICB7IG5hbWU6ICJ0aGlzVmFsdWUi
LCBpZGxUeXBlOiB7aWRsVHlwZTogImFueSJ9LCBvcHRpb25hbDogdHJ1ZX1dfSk7CisgICAgdGhp
cy5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1lbWJlcigKKyAgICAgICAgeyB0eXBlOiAi
b3BlcmF0aW9uIiwgbmFtZTogImVudHJpZXMiLCBpZGxUeXBlOiAiaXRlcmF0b3IiLCBhcmd1bWVu
dHM6IFtdfSkpOworICAgIHRoaXMubWVtYmVycy5wdXNoKG5ldyBJZGxJbnRlcmZhY2VNZW1iZXIo
CisgICAgICAgIHsgdHlwZTogIm9wZXJhdGlvbiIsIG5hbWU6ICJrZXlzIiwgaWRsVHlwZTogIml0
ZXJhdG9yIiwgYXJndW1lbnRzOiBbXX0pKTsKKyAgICB0aGlzLm1lbWJlcnMucHVzaChuZXcgSWRs
SW50ZXJmYWNlTWVtYmVyKAorICAgICAgICB7IHR5cGU6ICJvcGVyYXRpb24iLCBuYW1lOiAidmFs
dWVzIiwgaWRsVHlwZTogIml0ZXJhdG9yIiwgYXJndW1lbnRzOiBbXX0pKTsKKyAgICB0aGlzLm1l
bWJlcnMucHVzaChuZXcgSWRsSW50ZXJmYWNlTWVtYmVyKAorICAgICAgICB7IHR5cGU6ICJvcGVy
YXRpb24iLCBuYW1lOiAiZm9yRWFjaCIsIGlkbFR5cGU6ICJ2b2lkIiwKKyAgICAgICAgICBhcmd1
bWVudHM6CisgICAgICAgICAgW3sgbmFtZTogImNhbGxiYWNrIiwgaWRsVHlwZToge2lkbFR5cGU6
ICJmdW5jdGlvbiJ9fSwKKyAgICAgICAgICAgeyBuYW1lOiAidGhpc1ZhbHVlIiwgaWRsVHlwZTog
e2lkbFR5cGU6ICJhbnkifSwgb3B0aW9uYWw6IHRydWV9XX0pKTsKIH07CiAKIC8vQH0KQEAgLTEz
ODQsNyArMTQzOSw3IEBAIElkbEludGVyZmFjZS5wcm90b3R5cGUudGVzdF9tZW1iZXJfaXRlcmFi
bGUgPSBmdW5jdGlvbihtZW1iZXIpCiAKICAgICBpZiAoaXNQYWlySXRlcmF0b3IpIHsKICAgICAg
ICAgdGVzdChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoc2VsZltpbnRl
cmZhY2VOYW1lXS5wcm90b3R5cGVbImVudHJpZXMiXSwgc2VsZltpbnRlcmZhY2VOYW1lXS5wcm90
b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSwgImVudHJpZXMgbWV0aG9kIGlzIG5vdCB0aGUgc2FtZSBh
cyBAQGl0ZXJhdG9yIik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHNlbGZbaW50ZXJmYWNl
TmFtZV0ucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0sIHNlbGZbaW50ZXJmYWNlTmFtZV0ucHJv
dG90eXBlWyJlbnRyaWVzIl0sICJlbnRyaWVzIG1ldGhvZCBpcyBub3QgdGhlIHNhbWUgYXMgQEBp
dGVyYXRvciIpOwogICAgICAgICB9LCAiVGVzdGluZyBwYWlyIGl0ZXJhYmxlIGludGVyZmFjZSAi
ICsgaW50ZXJmYWNlTmFtZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgdGVzdChmdW5jdGlvbigp
IHsKQEAgLTE0ODMsNiArMTUzOCwxOSBAQCBJZGxJbnRlcmZhY2UucHJvdG90eXBlLnRlc3RfbWVt
YmVycyA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKKyAg
ICAgICAgaWYgKCFleHBvc2VkX2luKGV4cG9zdXJlX3NldChtZW1iZXIsIHRoaXMuZXhwb3N1cmVT
ZXQpKSkgeworICAgICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAv
LyBJdCdzIG5vdCBleHBvc2VkLCBzbyB3ZSBzaG91bGRuJ3QgZmluZCBpdCBhbnl3aGVyZS4KKyAg
ICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UobWVtYmVyLm5hbWUgaW4gc2VsZlt0aGlzLm5hbWVd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGhlIGludGVyZmFjZSBvYmplY3QgbXVz
dCBub3QgaGF2ZSBhIHByb3BlcnR5ICIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
b3JtYXRfdmFsdWUobWVtYmVyLm5hbWUpKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2Uo
bWVtYmVyLm5hbWUgaW4gc2VsZlt0aGlzLm5hbWVdLnByb3RvdHlwZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIlRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3Qgbm90IGhhdmUgYSBwcm9w
ZXJ0eSAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0X3ZhbHVlKG1lbWJl
ci5uYW1lKSk7CisgICAgICAgICAgICB9LmJpbmQodGhpcyksIHRoaXMubmFtZSArICIgaW50ZXJm
YWNlOiBtZW1iZXIgIiArIG1lbWJlci5uYW1lKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICB9CisKICAgICAgICAgc3dpdGNoIChtZW1iZXIudHlwZSkgewogICAgICAgICBjYXNlICJj
b25zdCI6CiAgICAgICAgICAgICB0aGlzLnRlc3RfbWVtYmVyX2NvbnN0KG1lbWJlcik7CkBAIC0x
NTY1LDYgKzE2MzMsMTMgQEAgSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X29iamVjdCA9IGZ1
bmN0aW9uKGRlc2MpCiBJZGxJbnRlcmZhY2UucHJvdG90eXBlLnRlc3RfcHJpbWFyeV9pbnRlcmZh
Y2Vfb2YgPSBmdW5jdGlvbihkZXNjLCBvYmosIGV4Y2VwdGlvbiwgZXhwZWN0ZWRfdHlwZW9mKQog
Ly9AewogeworICAgIC8vIE9ubHkgdGhlIG9iamVjdCBpdHNlbGYsIG5vdCBpdHMgbWVtYmVycywg
YXJlIHRlc3RlZCBoZXJlLCBzbyBpZiB0aGUKKyAgICAvLyBpbnRlcmZhY2UgaXMgdW50ZXN0ZWQs
IHRoZXJlIGlzIG5vdGhpbmcgdG8gZG8uCisgICAgaWYgKCF0aGlzLnVudGVzdGVkKQorICAgIHsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIC8vIFdlIGNhbid0IGVhc2lseSB0ZXN0IHRo
YXQgaXRzIHByb3RvdHlwZSBpcyBjb3JyZWN0IGlmIHRoZXJlJ3Mgbm8KICAgICAvLyBpbnRlcmZh
Y2Ugb2JqZWN0LCBvciB0aGUgb2JqZWN0IGlzIGZyb20gYSBkaWZmZXJlbnQgZ2xvYmFsIGVudmly
b25tZW50CiAgICAgLy8gKG5vdCBpbnN0YW5jZW9mIE9iamVjdCkuICBUT0RPOiB0ZXN0IGluIHRo
aXMgY2FzZSB0aGF0IGl0cyBwcm90b3R5cGUgYXQKQEAgLTE2MTYsNiArMTY5MSwxNSBAQCBJZGxJ
bnRlcmZhY2UucHJvdG90eXBlLnRlc3RfaW50ZXJmYWNlX29mID0gZnVuY3Rpb24oZGVzYywgb2Jq
LCBleGNlcHRpb24sIGV4cGVjdAogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5tZW1iZXJz
Lmxlbmd0aDsgaSsrKQogICAgIHsKICAgICAgICAgdmFyIG1lbWJlciA9IHRoaXMubWVtYmVyc1tp
XTsKKyAgICAgICAgaWYgKG1lbWJlci51bnRlc3RlZCkgeworICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFleHBvc2VkX2luKGV4cG9zdXJlX3NldChtZW1iZXIs
IHRoaXMuZXhwb3N1cmVTZXQpKSkgeworICAgICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UobWVtYmVyLm5hbWUgaW4gb2JqKTsKKyAgICAgICAg
ICAgIH0uYmluZCh0aGlzKSwgdGhpcy5uYW1lICsgImludGVyZmFjZTogIiArIGRlc2MgKyAnbXVz
dCBub3QgaGF2ZSBwcm9wZXJ0eSAiJyArIG1lbWJlci5uYW1lICsgJyInKTsKKyAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICB9CiAgICAgICAgIGlmIChtZW1iZXIudHlwZSA9PSAiYXR0cmli
dXRlIiAmJiBtZW1iZXIuaXNVbmZvcmdlYWJsZSkKICAgICAgICAgewogICAgICAgICAgICAgdmFy
IGFfdGVzdCA9IGFzeW5jX3Rlc3QodGhpcy5uYW1lICsgIiBpbnRlcmZhY2U6ICIgKyBkZXNjICsg
JyBtdXN0IGhhdmUgb3duIHByb3BlcnR5ICInICsgbWVtYmVyLm5hbWUgKyAnIicpOwpAQCAtMTgx
Nyw2ICsxOTAxLDcgQEAgSWRsSW50ZXJmYWNlLnByb3RvdHlwZS5kb19pbnRlcmZhY2VfYXR0cmli
dXRlX2Fzc2VydHMgPSBmdW5jdGlvbihvYmosIG1lbWJlciwgYV8KICAgICAvLyBUT0RPOiBUZXN0
IGNhbGxpbmcgc2V0dGVyIG9uIHRoZSBpbnRlcmZhY2UgcHJvdG90eXBlIChzaG91bGQgdGhyb3cK
ICAgICAvLyBUeXBlRXJyb3IgaW4gbW9zdCBjYXNlcykuCiAgICAgaWYgKG1lbWJlci5yZWFkb25s
eQorICAgICYmICFtZW1iZXIuaGFzX2V4dGVuZGVkX2F0dHJpYnV0ZSgiTGVuaWVudFNldHRlciIp
CiAgICAgJiYgIW1lbWJlci5oYXNfZXh0ZW5kZWRfYXR0cmlidXRlKCJQdXRGb3J3YXJkcyIpCiAg
ICAgJiYgIW1lbWJlci5oYXNfZXh0ZW5kZWRfYXR0cmlidXRlKCJSZXBsYWNlYWJsZSIpKQogICAg
IHsKQEAgLTE5NTYsOCArMjA0MSw4IEBAIGZ1bmN0aW9uIElkbFR5cGVkZWYob2JqKQogICAgIC8q
KiBTZWxmLWV4cGxhbmF0b3J5LiAqLwogICAgIHRoaXMubmFtZSA9IG9iai5uYW1lOwogCi0gICAg
LyoqIEFuIGFycmF5IG9mIHZhbHVlcyBwcm9kdWNlZCBieSB0aGUgInR5cGVkZWYiIHByb2R1Y3Rp
b24uICovCi0gICAgdGhpcy52YWx1ZXMgPSBvYmoudmFsdWVzOworICAgIC8qKiBUaGUgaWRsVHlw
ZSB0aGF0IHdlIGFyZSBzdXBwb3NlZCB0byBiZSB0eXBlZGVmZmluZyB0by4gKi8KKyAgICB0aGlz
LmlkbFR5cGUgPSBvYmouaWRsVHlwZTsKIAogfQogLy9AfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcwppbmRleCBhNmU3OTEzZTdiY2I4NzhmNzcxOTcxNGFhMzBmNzViMDMx
M2RhZTEwLi5lN2JlNmM0ZTZjOGQ2NTdmZDA4ZDdiYTRjYTcyMjYzMWFjMTYwMWM2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcwpAQCAtNjYsNiArNjYsNyBAQCBwb2xp
Y2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgdGhpcy5hbGxfbG9hZGVk
ID0gZmFsc2U7CiAgICAgICAgIHZhciB0aGlzX29iaiA9IHRoaXM7CiAgICAgICAgIHRoaXMubWVz
c2FnZV9ldmVudHMgPSBbXTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaGVkX21lc3NhZ2VzID0gW107
CiAKICAgICAgICAgdGhpcy5tZXNzYWdlX2Z1bmN0aW9ucyA9IHsKICAgICAgICAgICAgIHN0YXJ0
OiBbYWRkX3N0YXJ0X2NhbGxiYWNrLCByZW1vdmVfc3RhcnRfY2FsbGJhY2ssCkBAIC0xMDIsOSAr
MTAzLDIzIEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICBv
bl9ldmVudCh3aW5kb3csICdsb2FkJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICB0aGlzX29i
ai5hbGxfbG9hZGVkID0gdHJ1ZTsKICAgICAgICAgfSk7CisKKyAgICAgICAgb25fZXZlbnQod2lu
ZG93LCAnbWVzc2FnZScsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgICAgICBpZiAoZXZlbnQu
ZGF0YSAmJiBldmVudC5kYXRhLnR5cGUgPT09ICJnZXRtZXNzYWdlcyIgJiYgZXZlbnQuc291cmNl
KSB7CisgICAgICAgICAgICAgICAgLy8gQSB3aW5kb3cgY2FuIHBvc3QgImdldG1lc3NhZ2VzIiB0
byByZWNlaXZlIGEgZHVwbGljYXRlIG9mIGV2ZXJ5CisgICAgICAgICAgICAgICAgLy8gbWVzc2Fn
ZSBwb3N0ZWQgYnkgdGhpcyBlbnZpcm9ubWVudCBzbyBmYXIuIFRoaXMgYWxsb3dzIHN1YnNjcmli
ZXJzCisgICAgICAgICAgICAgICAgLy8gZnJvbSBmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyB0byAn
Y2F0Y2ggdXAnIHRvIHRoZSBjdXJyZW50IHN0YXRlIG9mCisgICAgICAgICAgICAgICAgLy8gdGhp
cyBlbnZpcm9ubWVudC4KKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXNf
b2JqLmRpc3BhdGNoZWRfbWVzc2FnZXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UodGhpc19vYmouZGlz
cGF0Y2hlZF9tZXNzYWdlc1tpXSwgIioiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIFdpbmRvd1Rlc3RFbnZpcm9ubWVudC5wcm90
b3R5cGUuX2Rpc3BhdGNoID0gZnVuY3Rpb24oc2VsZWN0b3IsIGNhbGxiYWNrX2FyZ3MsIG1lc3Nh
Z2VfYXJnKSB7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hlZF9tZXNzYWdlcy5wdXNoKG1lc3NhZ2Vf
YXJnKTsKICAgICAgICAgdGhpcy5fZm9yRWFjaF93aW5kb3dzKAogICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHcsIHNhbWVfb3JpZ2luKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChzYW1lX29y
aWdpbikgewpAQCAtMTQyLDMzICsxNTcsMTQgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBm
b3JtcyBbM10uCiAgICAgICAgICAgICB2YXIgdyA9IHNlbGY7CiAgICAgICAgICAgICB2YXIgaSA9
IDA7CiAgICAgICAgICAgICB2YXIgc287Ci0gICAgICAgICAgICB2YXIgb3JpZ2lucyA9IGxvY2F0
aW9uLmFuY2VzdG9yT3JpZ2luczsKICAgICAgICAgICAgIHdoaWxlICh3ICE9IHcucGFyZW50KSB7
CiAgICAgICAgICAgICAgICAgdyA9IHcucGFyZW50OwotICAgICAgICAgICAgICAgIC8vIEluIFdl
YktpdCwgY2FsbHMgdG8gcGFyZW50IHdpbmRvd3MnIHByb3BlcnRpZXMgdGhhdCBhcmVuJ3Qgb24g
dGhlIHNhbWUKLSAgICAgICAgICAgICAgICAvLyBvcmlnaW4gY2F1c2UgYW4gZXJyb3IgbWVzc2Fn
ZSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGVycm9yIGNvbnNvbGUgYnV0Ci0gICAgICAgICAgICAg
ICAgLy8gZG9uJ3QgdGhyb3cgYW4gZXhjZXB0aW9uLiBUaGlzIGlzIGEgZGV2aWF0aW9uIGZyb20g
dGhlIGN1cnJlbnQgSFRNTDUKLSAgICAgICAgICAgICAgICAvLyBzcGVjLiBTZWU6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzUwNAotICAgICAgICAgICAgICAgIC8v
IFRoZSBwcm9ibGVtIHdpdGggV2ViS2l0J3MgYmVoYXZpb3IgaXMgdGhhdCBpdCBwb2xsdXRlcyB0
aGUgZXJyb3IgY29uc29sZQotICAgICAgICAgICAgICAgIC8vIHdpdGggZXJyb3IgbWVzc2FnZXMg
dGhhdCBjYW4ndCBiZSBjYXVnaHQuCi0gICAgICAgICAgICAgICAgLy8KLSAgICAgICAgICAgICAg
ICAvLyBUaGlzIGlzc3VlIGNhbiBiZSBtaXRpZ2F0ZWQgYnkgcmVseWluZyBvbiB0aGUgKGZvciBu
b3cpIHByb3ByaWV0YXJ5Ci0gICAgICAgICAgICAgICAgLy8gYGxvY2F0aW9uLmFuY2VzdG9yT3Jp
Z2luc2AgcHJvcGVydHkgd2hpY2ggcmV0dXJucyBhbiBvcmRlcmVkIGxpc3Qgb2YKLSAgICAgICAg
ICAgICAgICAvLyB0aGUgb3JpZ2lucyBvZiBlbmNsb3Npbmcgd2luZG93cy4gU2VlOgotICAgICAg
ICAgICAgICAgIC8vIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzExMzk0NS4KLSAg
ICAgICAgICAgICAgICBpZiAob3JpZ2lucykgewotICAgICAgICAgICAgICAgICAgICBzbyA9IChs
b2NhdGlvbi5vcmlnaW4gPT0gb3JpZ2luc1tpXSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgc28gPSBpc19zYW1lX29yaWdpbih3KTsKLSAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgc28gPSBpc19zYW1lX29yaWdpbih3KTsKICAgICAgICAg
ICAgICAgICBjYWNoZS5wdXNoKFt3LCBzb10pOwogICAgICAgICAgICAgICAgIGkrKzsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIHcgPSB3aW5kb3cub3BlbmVyOwogICAgICAgICAgICAgaWYg
KHcpIHsKLSAgICAgICAgICAgICAgICAvLyB3aW5kb3cub3BlbmVyIGlzbid0IGluY2x1ZGVkIGlu
IHRoZSBgbG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zYCBwcm9wLgotICAgICAgICAgICAgICAgIC8v
IFdlJ2xsIGp1c3QgaGF2ZSB0byBkZWFsIHdpdGggYSBzaW1wbGUgY2hlY2sgYW5kIGFuIGVycm9y
IG1zZyBvbiBXZWJLaXQKLSAgICAgICAgICAgICAgICAvLyBicm93c2VycyBpbiB0aGlzIGNhc2Uu
CiAgICAgICAgICAgICAgICAgY2FjaGUucHVzaChbdywgaXNfc2FtZV9vcmlnaW4odyldKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIHRoaXMud2luZG93X2NhY2hlID0gY2FjaGU7CkBAIC00
MTQsNyArNDEwLDcgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAg
ICAgIHZhciB0aGlzX29iaiA9IHRoaXM7CiAgICAgICAgIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcigi
bWVzc2FnZSIsCiAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKGV2ZW50LmRhdGEudHlwZSAmJiBldmVudC5kYXRhLnR5cGUgPT09ICJjb25u
ZWN0IikgeworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YSAmJiBldmVudC5kYXRh
LnR5cGUgJiYgZXZlbnQuZGF0YS50eXBlID09PSAiY29ubmVjdCIpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChldmVudC5wb3J0cyAmJiBldmVudC5wb3J0c1swXSkgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIElmIGEgTWVzc2FnZUNoYW5uZWwgd2FzIHBhc3NlZCwgdGhl
biB1c2UgaXQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzZW5kIHJlc3VsdHMg
YmFjayB0byB0aGUgbWFpbiB3aW5kb3cuICBUaGlzCkBAIC01MjcsMTIgKzUyMywxNCBAQCBwb2xp
Y2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgICAgIHRlc3RzLnByb21p
c2VfdGVzdHMgPSBQcm9taXNlLnJlc29sdmUoKTsKICAgICAgICAgfQogICAgICAgICB0ZXN0cy5w
cm9taXNlX3Rlc3RzID0gdGVzdHMucHJvbWlzZV90ZXN0cy50aGVuKGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgdmFyIGRvbmVQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
eworICAgICAgICAgICAgICAgIHRlc3QuYWRkX2NsZWFudXAocmVzb2x2ZSk7CisgICAgICAgICAg
ICB9KTsKICAgICAgICAgICAgIHZhciBwcm9taXNlID0gdGVzdC5zdGVwKGZ1bmMsIHRlc3QsIHRl
c3QpOwogICAgICAgICAgICAgdGVzdC5zdGVwKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAg
IGFzc2VydF9ub3RfZXF1YWxzKHByb21pc2UsIHVuZGVmaW5lZCk7CiAgICAgICAgICAgICB9KTsK
LSAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocHJvbWlzZSkKLSAgICAgICAgICAg
ICAgICAudGhlbigKKyAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShwcm9taXNlKS50aGVuKAog
ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3QuZG9uZSgpOwogICAgICAgICAgICAgICAgICAgICB9KQpAQCAtNTQ0LDYgKzU0Miw3IEBA
IHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICAgICAgICAgICAg
ICAgICAgYXNzZXJ0KGZhbHNlLCAicHJvbWlzZV90ZXN0IiwgbnVsbCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAke3ZhbHVl
fSIsIHt2YWx1ZTp2YWx1ZX0pOwogICAgICAgICAgICAgICAgICAgICB9KSk7CisgICAgICAgICAg
ICByZXR1cm4gZG9uZVByb21pc2U7CiAgICAgICAgIH0pOwogICAgIH0KIApAQCAtMTE3OSw3ICsx
MTc4LDcgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgICAg
ICAgICAgdGhyb3cgZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChjb2RlID09PSBu
dWxsKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIHRocm93IG5l
dyBBc3NlcnRpb25FcnJvcignVGVzdCBidWc6IG5lZWQgdG8gcGFzcyBleGNlcHRpb24gdG8gYXNz
ZXJ0X3Rocm93cygpJyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAodHlwZW9mIGNv
ZGUgPT09ICJvYmplY3QiKSB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0KHR5cGVvZiBlID09ICJv
YmplY3QiICYmICJuYW1lIiBpbiBlICYmIGUubmFtZSA9PSBjb2RlLm5hbWUsCkBAIC0xNTcyLDcz
ICsxNTcxLDU2IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgIH0K
IAogICAgIC8qCi0gICAgICogQSBSZW1vdGVXb3JrZXIgbGlzdGVucyBmb3IgdGVzdCBldmVudHMg
ZnJvbSBhIHdvcmtlci4gVGhlc2UgZXZlbnRzIGFyZQotICAgICAqIHRoZW4gdXNlZCB0byBjb25z
dHJ1Y3QgYW5kIG1haW50YWluIFJlbW90ZVRlc3Qgb2JqZWN0cyB0aGF0IG1pcnJvciB0aGUKLSAg
ICAgKiB0ZXN0cyBydW5uaW5nIG9uIHRoZSByZW1vdGUgd29ya2VyLgorICAgICAqIEEgUmVtb3Rl
Q29udGV4dCBsaXN0ZW5zIGZvciB0ZXN0IGV2ZW50cyBmcm9tIGEgcmVtb3RlIHRlc3QgY29udGV4
dCwgc3VjaAorICAgICAqIGFzIGFub3RoZXIgd2luZG93IG9yIGEgd29ya2VyLiBUaGVzZSBldmVu
dHMgYXJlIHRoZW4gdXNlZCB0byBjb25zdHJ1Y3QKKyAgICAgKiBhbmQgbWFpbnRhaW4gUmVtb3Rl
VGVzdCBvYmplY3RzIHRoYXQgbWlycm9yIHRoZSB0ZXN0cyBydW5uaW5nIGluIHRoZQorICAgICAq
IHJlbW90ZSBjb250ZXh0LgorICAgICAqCisgICAgICogQW4gb3B0aW9uYWwgdGhpcmQgcGFyYW1l
dGVyIGNhbiBiZSB1c2VkIGFzIGEgcHJlZGljYXRlIHRvIGZpbHRlciBpbmNvbWluZworICAgICAq
IE1lc3NhZ2VFdmVudHMuCiAgICAgICovCi0gICAgZnVuY3Rpb24gUmVtb3RlV29ya2VyKHdvcmtl
cikgeworICAgIGZ1bmN0aW9uIFJlbW90ZUNvbnRleHQocmVtb3RlLCBtZXNzYWdlX3RhcmdldCwg
bWVzc2FnZV9maWx0ZXIpIHsKICAgICAgICAgdGhpcy5ydW5uaW5nID0gdHJ1ZTsKICAgICAgICAg
dGhpcy50ZXN0cyA9IG5ldyBBcnJheSgpOwogCiAgICAgICAgIHZhciB0aGlzX29iaiA9IHRoaXM7
Ci0gICAgICAgIHdvcmtlci5vbmVycm9yID0gZnVuY3Rpb24oZXJyb3IpIHsgdGhpc19vYmoud29y
a2VyX2Vycm9yKGVycm9yKTsgfTsKLQotICAgICAgICB2YXIgbWVzc2FnZV9wb3J0OwotCi0gICAg
ICAgIGlmIChpc19zZXJ2aWNlX3dvcmtlcih3b3JrZXIpKSB7Ci0gICAgICAgICAgICBpZiAod2lu
ZG93Lk1lc3NhZ2VDaGFubmVsKSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhlIFNlcnZpY2VXb3Jr
ZXIncyBpbXBsaWNpdCBNZXNzYWdlUG9ydCBpcyBjdXJyZW50bHkgbm90Ci0gICAgICAgICAgICAg
ICAgLy8gcmVsaWFibHkgYWNjZXNzaWJsZSBmcm9tIHRoZSBTZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUgZHVlIHRvCi0gICAgICAgICAgICAgICAgLy8gQmxpbmsgc2V0dGluZyBNZXNzYWdlRXZlbnQu
c291cmNlIHRvIG51bGwgZm9yIG1lc3NhZ2VzIHNlbnQKLSAgICAgICAgICAgICAgICAvLyB2aWEg
U2VydmljZVdvcmtlci5wb3N0TWVzc2FnZSgpLiBVbnRpbCB0aGF0J3MgcmVzb2x2ZWQsCi0gICAg
ICAgICAgICAgICAgLy8gY3JlYXRlIGFuIGV4cGxpY2l0IE1lc3NhZ2VDaGFubmVsIGFuZCBwYXNz
IG9uZSBlbmQgdG8gdGhlCi0gICAgICAgICAgICAgICAgLy8gd29ya2VyLgotICAgICAgICAgICAg
ICAgIHZhciBtZXNzYWdlX2NoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgICAg
ICAgICAgICBtZXNzYWdlX3BvcnQgPSBtZXNzYWdlX2NoYW5uZWwucG9ydDE7Ci0gICAgICAgICAg
ICAgICAgbWVzc2FnZV9wb3J0LnN0YXJ0KCk7Ci0gICAgICAgICAgICAgICAgd29ya2VyLnBvc3RN
ZXNzYWdlKHt0eXBlOiAiY29ubmVjdCJ9LCBbbWVzc2FnZV9jaGFubmVsLnBvcnQyXSk7Ci0gICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIElmIE1lc3NhZ2VDaGFubmVsIGlz
IG5vdCBhdmFpbGFibGUsIHRoZW4gdHJ5IHRoZQotICAgICAgICAgICAgICAgIC8vIFNlcnZpY2VX
b3JrZXIucG9zdE1lc3NhZ2UoKSBhcHByb2FjaCB1c2luZyBNZXNzYWdlRXZlbnQuc291cmNlCi0g
ICAgICAgICAgICAgICAgLy8gb24gdGhlIG90aGVyIGVuZC4KLSAgICAgICAgICAgICAgICBtZXNz
YWdlX3BvcnQgPSBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlcjsKLSAgICAgICAgICAgICAgICB3b3Jr
ZXIucG9zdE1lc3NhZ2Uoe3R5cGU6ICJjb25uZWN0In0pOworICAgICAgICByZW1vdGUub25lcnJv
ciA9IGZ1bmN0aW9uKGVycm9yKSB7IHRoaXNfb2JqLnJlbW90ZV9lcnJvcihlcnJvcik7IH07CisK
KyAgICAgICAgLy8gS2VlcGluZyBhIHJlZmVyZW5jZSB0byB0aGUgcmVtb3RlIG9iamVjdCBhbmQg
dGhlIG1lc3NhZ2UgaGFuZGxlciB1bnRpbAorICAgICAgICAvLyByZW1vdGVfZG9uZSgpIGlzIHNl
ZW4gcHJldmVudHMgdGhlIHJlbW90ZSBvYmplY3QgYW5kIGl0cyBtZXNzYWdlIGNoYW5uZWwKKyAg
ICAgICAgLy8gZnJvbSBnb2luZyBhd2F5IGJlZm9yZSBhbGwgdGhlIG1lc3NhZ2VzIGFyZSBkaXNw
YXRjaGVkLgorICAgICAgICB0aGlzLnJlbW90ZSA9IHJlbW90ZTsKKyAgICAgICAgdGhpcy5tZXNz
YWdlX3RhcmdldCA9IG1lc3NhZ2VfdGFyZ2V0OworICAgICAgICB0aGlzLm1lc3NhZ2VfaGFuZGxl
ciA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKKyAgICAgICAgICAgIHZhciBwYXNzZXNGaWx0ZXIgPSAh
bWVzc2FnZV9maWx0ZXIgfHwgbWVzc2FnZV9maWx0ZXIobWVzc2FnZSk7CisgICAgICAgICAgICBp
ZiAodGhpc19vYmoucnVubmluZyAmJiBtZXNzYWdlLmRhdGEgJiYgcGFzc2VzRmlsdGVyICYmCisg
ICAgICAgICAgICAgICAgKG1lc3NhZ2UuZGF0YS50eXBlIGluIHRoaXNfb2JqLm1lc3NhZ2VfaGFu
ZGxlcnMpKSB7CisgICAgICAgICAgICAgICAgdGhpc19vYmoubWVzc2FnZV9oYW5kbGVyc1ttZXNz
YWdlLmRhdGEudHlwZV0uY2FsbCh0aGlzX29iaiwgbWVzc2FnZS5kYXRhKTsKICAgICAgICAgICAg
IH0KLSAgICAgICAgfSBlbHNlIGlmIChpc19zaGFyZWRfd29ya2VyKHdvcmtlcikpIHsKLSAgICAg
ICAgICAgIG1lc3NhZ2VfcG9ydCA9IHdvcmtlci5wb3J0OwotICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgbWVzc2FnZV9wb3J0ID0gd29ya2VyOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8g
S2VlcGluZyBhIHJlZmVyZW5jZSB0byB0aGUgd29ya2VyIHVudGlsIHdvcmtlcl9kb25lKCkgaXMg
c2VlbgotICAgICAgICAvLyBwcmV2ZW50cyB0aGUgV29ya2VyIG9iamVjdCBhbmQgaXRzIE1lc3Nh
Z2VDaGFubmVsIGZyb20gZ29pbmcgYXdheQotICAgICAgICAvLyBiZWZvcmUgYWxsIHRoZSBtZXNz
YWdlcyBhcmUgZGlzcGF0Y2hlZC4KLSAgICAgICAgdGhpcy53b3JrZXIgPSB3b3JrZXI7CisgICAg
ICAgIH07CiAKLSAgICAgICAgbWVzc2FnZV9wb3J0Lm9ubWVzc2FnZSA9Ci0gICAgICAgICAgICBm
dW5jdGlvbihtZXNzYWdlKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHRoaXNfb2JqLnJ1bm5pbmcg
JiYgKG1lc3NhZ2UuZGF0YS50eXBlIGluIHRoaXNfb2JqLm1lc3NhZ2VfaGFuZGxlcnMpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIHRoaXNfb2JqLm1lc3NhZ2VfaGFuZGxlcnNbbWVzc2FnZS5kYXRh
LnR5cGVdLmNhbGwodGhpc19vYmosIG1lc3NhZ2UuZGF0YSk7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfTsKKyAgICAgICAgdGhpcy5tZXNzYWdlX3RhcmdldC5hZGRFdmVudExpc3Rl
bmVyKCJtZXNzYWdlIiwgdGhpcy5tZXNzYWdlX2hhbmRsZXIpOwogICAgIH0KIAotICAgIFJlbW90
ZVdvcmtlci5wcm90b3R5cGUud29ya2VyX2Vycm9yID0gZnVuY3Rpb24oZXJyb3IpIHsKKyAgICBS
ZW1vdGVDb250ZXh0LnByb3RvdHlwZS5yZW1vdGVfZXJyb3IgPSBmdW5jdGlvbihlcnJvcikgewog
ICAgICAgICB2YXIgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2UgfHwgU3RyaW5nKGVycm9yKTsKICAg
ICAgICAgdmFyIGZpbGVuYW1lID0gKGVycm9yLmZpbGVuYW1lID8gIiAiICsgZXJyb3IuZmlsZW5h
bWU6ICIiKTsKLSAgICAgICAgLy8gRklYTUU6IERpc3BsYXkgd29ya2VyIGVycm9yIHN0YXRlcyBz
ZXBhcmF0ZWx5IGZyb20gbWFpbiBkb2N1bWVudAorICAgICAgICAvLyBGSVhNRTogRGlzcGxheSBy
ZW1vdGUgZXJyb3Igc3RhdGVzIHNlcGFyYXRlbHkgZnJvbSBtYWluIGRvY3VtZW50CiAgICAgICAg
IC8vIGVycm9yIHN0YXRlLgotICAgICAgICB0aGlzLndvcmtlcl9kb25lKHsKKyAgICAgICAgdGhp
cy5yZW1vdGVfZG9uZSh7CiAgICAgICAgICAgICBzdGF0dXM6IHsKICAgICAgICAgICAgICAgICBz
dGF0dXM6IHRlc3RzLnN0YXR1cy5FUlJPUiwKLSAgICAgICAgICAgICAgICBtZXNzYWdlOiAiRXJy
b3IgaW4gd29ya2VyIiArIGZpbGVuYW1lICsgIjogIiArIG1lc3NhZ2UsCisgICAgICAgICAgICAg
ICAgbWVzc2FnZTogIkVycm9yIGluIHJlbW90ZSIgKyBmaWxlbmFtZSArICI6ICIgKyBtZXNzYWdl
LAogICAgICAgICAgICAgICAgIHN0YWNrOiBlcnJvci5zdGFjawogICAgICAgICAgICAgfQogICAg
ICAgICB9KTsKLSAgICAgICAgZXJyb3IucHJldmVudERlZmF1bHQoKTsKKworICAgICAgICBpZiAo
ZXJyb3IucHJldmVudERlZmF1bHQpIHsKKyAgICAgICAgICAgIGVycm9yLnByZXZlbnREZWZhdWx0
KCk7CisgICAgICAgIH0KICAgICB9OwogCi0gICAgUmVtb3RlV29ya2VyLnByb3RvdHlwZS50ZXN0
X3N0YXRlID0gZnVuY3Rpb24oZGF0YSkgeworICAgIFJlbW90ZUNvbnRleHQucHJvdG90eXBlLnRl
c3Rfc3RhdGUgPSBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgIHZhciByZW1vdGVfdGVzdCA9IHRo
aXMudGVzdHNbZGF0YS50ZXN0LmluZGV4XTsKICAgICAgICAgaWYgKCFyZW1vdGVfdGVzdCkgewog
ICAgICAgICAgICAgcmVtb3RlX3Rlc3QgPSBuZXcgUmVtb3RlVGVzdChkYXRhLnRlc3QpOwpAQCAt
MTY0OCwzMSArMTYzMCwzMyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4K
ICAgICAgICAgdGVzdHMubm90aWZ5X3Rlc3Rfc3RhdGUocmVtb3RlX3Rlc3QpOwogICAgIH07CiAK
LSAgICBSZW1vdGVXb3JrZXIucHJvdG90eXBlLnRlc3RfZG9uZSA9IGZ1bmN0aW9uKGRhdGEpIHsK
KyAgICBSZW1vdGVDb250ZXh0LnByb3RvdHlwZS50ZXN0X2RvbmUgPSBmdW5jdGlvbihkYXRhKSB7
CiAgICAgICAgIHZhciByZW1vdGVfdGVzdCA9IHRoaXMudGVzdHNbZGF0YS50ZXN0LmluZGV4XTsK
ICAgICAgICAgcmVtb3RlX3Rlc3QudXBkYXRlX3N0YXRlX2Zyb20oZGF0YS50ZXN0KTsKICAgICAg
ICAgcmVtb3RlX3Rlc3QuZG9uZSgpOwogICAgICAgICB0ZXN0cy5yZXN1bHQocmVtb3RlX3Rlc3Qp
OwogICAgIH07CiAKLSAgICBSZW1vdGVXb3JrZXIucHJvdG90eXBlLndvcmtlcl9kb25lID0gZnVu
Y3Rpb24oZGF0YSkgeworICAgIFJlbW90ZUNvbnRleHQucHJvdG90eXBlLnJlbW90ZV9kb25lID0g
ZnVuY3Rpb24oZGF0YSkgewogICAgICAgICBpZiAodGVzdHMuc3RhdHVzLnN0YXR1cyA9PT0gbnVs
bCAmJgogICAgICAgICAgICAgZGF0YS5zdGF0dXMuc3RhdHVzICE9PSBkYXRhLnN0YXR1cy5PSykg
ewogICAgICAgICAgICAgdGVzdHMuc3RhdHVzLnN0YXR1cyA9IGRhdGEuc3RhdHVzLnN0YXR1czsK
ICAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5tZXNzYWdlID0gZGF0YS5zdGF0dXMubWVzc2FnZTsK
ICAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5zdGFjayA9IGRhdGEuc3RhdHVzLnN0YWNrOwogICAg
ICAgICB9CisgICAgICAgIHRoaXMubWVzc2FnZV90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigi
bWVzc2FnZSIsIHRoaXMubWVzc2FnZV9oYW5kbGVyKTsKICAgICAgICAgdGhpcy5ydW5uaW5nID0g
ZmFsc2U7Ci0gICAgICAgIHRoaXMud29ya2VyID0gbnVsbDsKKyAgICAgICAgdGhpcy5yZW1vdGUg
PSBudWxsOworICAgICAgICB0aGlzLm1lc3NhZ2VfdGFyZ2V0ID0gbnVsbDsKICAgICAgICAgaWYg
KHRlc3RzLmFsbF9kb25lKCkpIHsKICAgICAgICAgICAgIHRlc3RzLmNvbXBsZXRlKCk7CiAgICAg
ICAgIH0KICAgICB9OwogCi0gICAgUmVtb3RlV29ya2VyLnByb3RvdHlwZS5tZXNzYWdlX2hhbmRs
ZXJzID0gewotICAgICAgICB0ZXN0X3N0YXRlOiBSZW1vdGVXb3JrZXIucHJvdG90eXBlLnRlc3Rf
c3RhdGUsCi0gICAgICAgIHJlc3VsdDogUmVtb3RlV29ya2VyLnByb3RvdHlwZS50ZXN0X2RvbmUs
Ci0gICAgICAgIGNvbXBsZXRlOiBSZW1vdGVXb3JrZXIucHJvdG90eXBlLndvcmtlcl9kb25lCisg
ICAgUmVtb3RlQ29udGV4dC5wcm90b3R5cGUubWVzc2FnZV9oYW5kbGVycyA9IHsKKyAgICAgICAg
dGVzdF9zdGF0ZTogUmVtb3RlQ29udGV4dC5wcm90b3R5cGUudGVzdF9zdGF0ZSwKKyAgICAgICAg
cmVzdWx0OiBSZW1vdGVDb250ZXh0LnByb3RvdHlwZS50ZXN0X2RvbmUsCisgICAgICAgIGNvbXBs
ZXRlOiBSZW1vdGVDb250ZXh0LnByb3RvdHlwZS5yZW1vdGVfZG9uZQogICAgIH07CiAKICAgICAv
KgpAQCAtMTc0MCw3ICsxNzI0LDcgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBb
M10uCiAgICAgICAgIHRoaXMudGVzdF9kb25lX2NhbGxiYWNrcyA9IFtdOwogICAgICAgICB0aGlz
LmFsbF9kb25lX2NhbGxiYWNrcyA9IFtdOwogCi0gICAgICAgIHRoaXMucGVuZGluZ193b3JrZXJz
ID0gW107CisgICAgICAgIHRoaXMucGVuZGluZ19yZW1vdGVzID0gW107CiAKICAgICAgICAgdGhp
cy5zdGF0dXMgPSBuZXcgVGVzdHNTdGF0dXMoKTsKIApAQCAtMTg1NSw3ICsxODM5LDcgQEAgcG9s
aWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgIHJldHVybiAodGhpcy50
ZXN0cy5sZW5ndGggPiAwICYmIHRlc3RfZW52aXJvbm1lbnQuYWxsX2xvYWRlZCAmJgogICAgICAg
ICAgICAgICAgIHRoaXMubnVtX3BlbmRpbmcgPT09IDAgJiYgIXRoaXMud2FpdF9mb3JfZmluaXNo
ICYmCiAgICAgICAgICAgICAgICAgIXRoaXMucHJvY2Vzc2luZ19jYWxsYmFja3MgJiYKLSAgICAg
ICAgICAgICAgICAhdGhpcy5wZW5kaW5nX3dvcmtlcnMuc29tZShmdW5jdGlvbih3KSB7IHJldHVy
biB3LnJ1bm5pbmc7IH0pKTsKKyAgICAgICAgICAgICAgICAhdGhpcy5wZW5kaW5nX3JlbW90ZXMu
c29tZShmdW5jdGlvbih3KSB7IHJldHVybiB3LnJ1bm5pbmc7IH0pKTsKICAgICB9OwogCiAgICAg
VGVzdHMucHJvdG90eXBlLnN0YXJ0ID0gZnVuY3Rpb24oKSB7CkBAIC0xOTE1LDEwICsxODk5LDQ2
IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICB0aGlzLm5v
dGlmeV9jb21wbGV0ZSgpOwogICAgIH07CiAKKyAgICAvKgorICAgICAqIERldGVybWluZSBpZiBh
bnkgdGVzdHMgc2hhcmUgdGhlIHNhbWUgYG5hbWVgIHByb3BlcnR5LiBSZXR1cm4gYW4gYXJyYXkK
KyAgICAgKiBjb250YWluaW5nIHRoZSBuYW1lcyBvZiBhbnkgc3VjaCBkdXBsaWNhdGVzLgorICAg
ICAqLworICAgIFRlc3RzLnByb3RvdHlwZS5maW5kX2R1cGxpY2F0ZXMgPSBmdW5jdGlvbigpIHsK
KyAgICAgICAgdmFyIG5hbWVzID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKKyAgICAgICAgdmFyIGR1
cGxpY2F0ZXMgPSBbXTsKKworICAgICAgICBmb3JFYWNoICh0aGlzLnRlc3RzLAorICAgICAgICAg
ICAgICAgICBmdW5jdGlvbih0ZXN0KQorICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICBpZiAodGVzdC5uYW1lIGluIG5hbWVzICYmIGR1cGxpY2F0ZXMuaW5kZXhPZih0ZXN0
Lm5hbWUpID09PSAtMSkgeworICAgICAgICAgICAgICAgICAgICAgICAgZHVwbGljYXRlcy5wdXNo
KHRlc3QubmFtZSk7CisgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
ICBuYW1lc1t0ZXN0Lm5hbWVdID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAg
ICAgcmV0dXJuIGR1cGxpY2F0ZXM7CisgICAgfTsKKwogICAgIFRlc3RzLnByb3RvdHlwZS5ub3Rp
ZnlfY29tcGxldGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIHRoaXNfb2JqID0gdGhpczsK
KyAgICAgICAgdmFyIGR1cGxpY2F0ZXM7CisKICAgICAgICAgaWYgKHRoaXMuc3RhdHVzLnN0YXR1
cyA9PT0gbnVsbCkgewotICAgICAgICAgICAgdGhpcy5zdGF0dXMuc3RhdHVzID0gdGhpcy5zdGF0
dXMuT0s7CisgICAgICAgICAgICBkdXBsaWNhdGVzID0gdGhpcy5maW5kX2R1cGxpY2F0ZXMoKTsK
KworICAgICAgICAgICAgLy8gVGVzdCBuYW1lcyBhcmUgcHJlc3VtZWQgdG8gYmUgdW5pcXVlIHdp
dGhpbiB0ZXN0IGZpbGVzLS10aGlzCisgICAgICAgICAgICAvLyBhbGxvd3MgY29uc3VtZXJzIHRv
IHVzZSB0aGVtIGZvciBpZGVudGlmaWNhdGlvbiBwdXJwb3Nlcy4KKyAgICAgICAgICAgIC8vIER1
cGxpY2F0ZWQgbmFtZXMgdmlvbGF0ZSB0aGlzIGV4cGVjdGF0aW9uIGFuZCBzaG91bGQgdGhlcmVm
b3JlCisgICAgICAgICAgICAvLyBiZSByZXBvcnRlZCBhcyBhbiBlcnJvci4KKyAgICAgICAgICAg
IGlmIChkdXBsaWNhdGVzLmxlbmd0aCkgeworICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzLnN0
YXR1cyA9IHRoaXMuc3RhdHVzLkVSUk9SOworICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzLm1l
c3NhZ2UgPQorICAgICAgICAgICAgICAgICAgIGR1cGxpY2F0ZXMubGVuZ3RoICsgJyBkdXBsaWNh
dGUgdGVzdCBuYW1lJyArCisgICAgICAgICAgICAgICAgICAgKGR1cGxpY2F0ZXMubGVuZ3RoID4g
MSA/ICdzJyA6ICcnKSArICc6ICInICsKKyAgICAgICAgICAgICAgICAgICBkdXBsaWNhdGVzLmpv
aW4oJyIsICInKSArICciJzsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
dGhpcy5zdGF0dXMuc3RhdHVzID0gdGhpcy5zdGF0dXMuT0s7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIAogICAgICAgICBmb3JFYWNoICh0aGlzLmFsbF9kb25lX2NhbGxiYWNrcywKQEAgLTE5
MjgsMTIgKzE5NDgsNjUgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAg
ICAgICAgICAgICAgICAgIH0pOwogICAgIH07CiAKKyAgICAvKgorICAgICAqIENvbnN0cnVjdHMg
YSBSZW1vdGVDb250ZXh0IHRoYXQgdHJhY2tzIHRlc3RzIGZyb20gYSBzcGVjaWZpYyB3b3JrZXIu
CisgICAgICovCisgICAgVGVzdHMucHJvdG90eXBlLmNyZWF0ZV9yZW1vdGVfd29ya2VyID0gZnVu
Y3Rpb24od29ya2VyKSB7CisgICAgICAgIHZhciBtZXNzYWdlX3BvcnQ7CisKKyAgICAgICAgaWYg
KGlzX3NlcnZpY2Vfd29ya2VyKHdvcmtlcikpIHsKKyAgICAgICAgICAgIC8vIE1pY3Jvc29mdCBF
ZGdlJ3MgaW1wbGVtZW50YXRpb24gb2YgU2VydmljZVdvcmtlciBkb2Vzbid0IHN1cHBvcnQgTWVz
c2FnZVBvcnQgeWV0LgorICAgICAgICAgICAgLy8gRmVhdHVyZSBkZXRlY3Rpb24gaXNuJ3QgYSBz
dHJhaWdodGZvcndhcmQgb3B0aW9uIGhlcmU7IGl0J3Mgb25seSBwb3NzaWJsZSBpbiB0aGUKKyAg
ICAgICAgICAgIC8vIHdvcmtlcidzIHNjcmlwdCBjb250ZXh0LgorICAgICAgICAgICAgdmFyIGlz
TWljcm9zb2Z0RWRnZUJyb3dzZXIgPSBuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKCJFZGdl
Iik7CisgICAgICAgICAgICBpZiAod2luZG93Lk1lc3NhZ2VDaGFubmVsICYmICFpc01pY3Jvc29m
dEVkZ2VCcm93c2VyKSB7CisgICAgICAgICAgICAgICAgLy8gVGhlIFNlcnZpY2VXb3JrZXIncyBp
bXBsaWNpdCBNZXNzYWdlUG9ydCBpcyBjdXJyZW50bHkgbm90CisgICAgICAgICAgICAgICAgLy8g
cmVsaWFibHkgYWNjZXNzaWJsZSBmcm9tIHRoZSBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgZHVl
IHRvCisgICAgICAgICAgICAgICAgLy8gQmxpbmsgc2V0dGluZyBNZXNzYWdlRXZlbnQuc291cmNl
IHRvIG51bGwgZm9yIG1lc3NhZ2VzIHNlbnQKKyAgICAgICAgICAgICAgICAvLyB2aWEgU2Vydmlj
ZVdvcmtlci5wb3N0TWVzc2FnZSgpLiBVbnRpbCB0aGF0J3MgcmVzb2x2ZWQsCisgICAgICAgICAg
ICAgICAgLy8gY3JlYXRlIGFuIGV4cGxpY2l0IE1lc3NhZ2VDaGFubmVsIGFuZCBwYXNzIG9uZSBl
bmQgdG8gdGhlCisgICAgICAgICAgICAgICAgLy8gd29ya2VyLgorICAgICAgICAgICAgICAgIHZh
ciBtZXNzYWdlX2NoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKKyAgICAgICAgICAgICAg
ICBtZXNzYWdlX3BvcnQgPSBtZXNzYWdlX2NoYW5uZWwucG9ydDE7CisgICAgICAgICAgICAgICAg
bWVzc2FnZV9wb3J0LnN0YXJ0KCk7CisgICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdl
KHt0eXBlOiAiY29ubmVjdCJ9LCBbbWVzc2FnZV9jaGFubmVsLnBvcnQyXSk7CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIC8vIElmIE1lc3NhZ2VDaGFubmVsIGlzIG5vdCBh
dmFpbGFibGUsIHRoZW4gdHJ5IHRoZQorICAgICAgICAgICAgICAgIC8vIFNlcnZpY2VXb3JrZXIu
cG9zdE1lc3NhZ2UoKSBhcHByb2FjaCB1c2luZyBNZXNzYWdlRXZlbnQuc291cmNlCisgICAgICAg
ICAgICAgICAgLy8gb24gdGhlIG90aGVyIGVuZC4KKyAgICAgICAgICAgICAgICBtZXNzYWdlX3Bv
cnQgPSBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlcjsKKyAgICAgICAgICAgICAgICB3b3JrZXIucG9z
dE1lc3NhZ2Uoe3R5cGU6ICJjb25uZWN0In0pOworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgaWYgKGlzX3NoYXJlZF93b3JrZXIod29ya2VyKSkgeworICAgICAgICAgICAgbWVzc2FnZV9w
b3J0ID0gd29ya2VyLnBvcnQ7CisgICAgICAgICAgICBtZXNzYWdlX3BvcnQuc3RhcnQoKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1lc3NhZ2VfcG9ydCA9IHdvcmtlcjsKKyAgICAg
ICAgfQorCisgICAgICAgIHJldHVybiBuZXcgUmVtb3RlQ29udGV4dCh3b3JrZXIsIG1lc3NhZ2Vf
cG9ydCk7CisgICAgfTsKKworICAgIC8qCisgICAgICogQ29uc3RydWN0cyBhIFJlbW90ZUNvbnRl
eHQgdGhhdCB0cmFja3MgdGVzdHMgZnJvbSBhIHNwZWNpZmljIHdpbmRvdy4KKyAgICAgKi8KKyAg
ICBUZXN0cy5wcm90b3R5cGUuY3JlYXRlX3JlbW90ZV93aW5kb3cgPSBmdW5jdGlvbihyZW1vdGUp
IHsKKyAgICAgICAgcmVtb3RlLnBvc3RNZXNzYWdlKHt0eXBlOiAiZ2V0bWVzc2FnZXMifSwgIioi
KTsKKyAgICAgICAgcmV0dXJuIG5ldyBSZW1vdGVDb250ZXh0KAorICAgICAgICAgICAgcmVtb3Rl
LAorICAgICAgICAgICAgd2luZG93LAorICAgICAgICAgICAgZnVuY3Rpb24obXNnKSB7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIG1zZy5zb3VyY2UgPT09IHJlbW90ZTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgKTsKKyAgICB9OworCiAgICAgVGVzdHMucHJvdG90eXBlLmZldGNoX3Rlc3RzX2Zy
b21fd29ya2VyID0gZnVuY3Rpb24od29ya2VyKSB7CiAgICAgICAgIGlmICh0aGlzLnBoYXNlID49
IHRoaXMucGhhc2VzLkNPTVBMRVRFKSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
IAotICAgICAgICB0aGlzLnBlbmRpbmdfd29ya2Vycy5wdXNoKG5ldyBSZW1vdGVXb3JrZXIod29y
a2VyKSk7CisgICAgICAgIHRoaXMucGVuZGluZ19yZW1vdGVzLnB1c2godGhpcy5jcmVhdGVfcmVt
b3RlX3dvcmtlcih3b3JrZXIpKTsKICAgICB9OwogCiAgICAgZnVuY3Rpb24gZmV0Y2hfdGVzdHNf
ZnJvbV93b3JrZXIocG9ydCkgewpAQCAtMTk0MSw2ICsyMDE0LDE5IEBAIHBvbGljaWVzIGFuZCBj
b250cmlidXRpb24gZm9ybXMgWzNdLgogICAgIH0KICAgICBleHBvc2UoZmV0Y2hfdGVzdHNfZnJv
bV93b3JrZXIsICdmZXRjaF90ZXN0c19mcm9tX3dvcmtlcicpOwogCisgICAgVGVzdHMucHJvdG90
eXBlLmZldGNoX3Rlc3RzX2Zyb21fd2luZG93ID0gZnVuY3Rpb24ocmVtb3RlKSB7CisgICAgICAg
IGlmICh0aGlzLnBoYXNlID49IHRoaXMucGhhc2VzLkNPTVBMRVRFKSB7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB0aGlzLnBlbmRpbmdfcmVtb3Rlcy5wdXNoKHRo
aXMuY3JlYXRlX3JlbW90ZV93aW5kb3cocmVtb3RlKSk7CisgICAgfTsKKworICAgIGZ1bmN0aW9u
IGZldGNoX3Rlc3RzX2Zyb21fd2luZG93KHdpbmRvdykgeworICAgICAgICB0ZXN0cy5mZXRjaF90
ZXN0c19mcm9tX3dpbmRvdyh3aW5kb3cpOworICAgIH0KKyAgICBleHBvc2UoZmV0Y2hfdGVzdHNf
ZnJvbV93aW5kb3csICdmZXRjaF90ZXN0c19mcm9tX3dpbmRvdycpOworCiAgICAgZnVuY3Rpb24g
dGltZW91dCgpIHsKICAgICAgICAgaWYgKHRlc3RzLnRpbWVvdXRfbGVuZ3RoID09PSBudWxsKSB7
CiAgICAgICAgICAgICB0ZXN0cy50aW1lb3V0KCk7CkBAIC0yMTAwLDcgKzIxODYsNyBAQCBwb2xp
Y2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICAgICAgfQogCiAgICAgICAgIHZh
ciBoYXJuZXNzX3VybCA9IGdldF9oYXJuZXNzX3VybCgpOwotICAgICAgICBpZiAoaGFybmVzc191
cmwgIT09IG51bGwpIHsKKyAgICAgICAgaWYgKGhhcm5lc3NfdXJsICE9PSB1bmRlZmluZWQpIHsK
ICAgICAgICAgICAgIHZhciBzdHlsZXNoZWV0ID0gb3V0cHV0X2RvY3VtZW50LmNyZWF0ZUVsZW1l
bnROUyh4aHRtbF9ucywgImxpbmsiKTsKICAgICAgICAgICAgIHN0eWxlc2hlZXQuc2V0QXR0cmli
dXRlKCJyZWwiLCAic3R5bGVzaGVldCIpOwogICAgICAgICAgICAgc3R5bGVzaGVldC5zZXRBdHRy
aWJ1dGUoImhyZWYiLCBoYXJuZXNzX3VybCArICJ0ZXN0aGFybmVzcy5jc3MiKTsKQEAgLTI0NTQs
NiArMjU0MCw3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAg
ICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlOwogICAgICAgICB0aGlzLnN0YWNrID0gdGhpcy5nZXRf
c3RhY2soKTsKICAgICB9CisgICAgZXhwb3NlKEFzc2VydGlvbkVycm9yLCAiQXNzZXJ0aW9uRXJy
b3IiKTsKIAogICAgIEFzc2VydGlvbkVycm9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRXJy
b3IucHJvdG90eXBlKTsKIApAQCAtMjY3MCwyMCArMjc1NywzMSBAQCBwb2xpY2llcyBhbmQgY29u
dHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICB2YXIgdGVzdHMgPSBuZXcgVGVzdHMoKTsKIAogICAg
IHZhciBlcnJvcl9oYW5kbGVyID0gZnVuY3Rpb24oZSkgeworICAgICAgICBpZiAodGVzdHMudGVz
dHMubGVuZ3RoID09PSAwICYmICF0ZXN0cy5hbGxvd191bmNhdWdodF9leGNlcHRpb24pIHsKKyAg
ICAgICAgICAgIHRlc3RzLnNldF9maWxlX2lzX3Rlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAg
IHZhciBzdGFjazsKKyAgICAgICAgaWYgKGUuZXJyb3IgJiYgZS5lcnJvci5zdGFjaykgeworICAg
ICAgICAgICAgc3RhY2sgPSBlLmVycm9yLnN0YWNrOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgc3RhY2sgPSBlLmZpbGVuYW1lICsgIjoiICsgZS5saW5lbm8gKyAiOiIgKyBlLmNvbG5v
OworICAgICAgICB9CisKICAgICAgICAgaWYgKHRlc3RzLmZpbGVfaXNfdGVzdCkgewogICAgICAg
ICAgICAgdmFyIHRlc3QgPSB0ZXN0cy50ZXN0c1swXTsKICAgICAgICAgICAgIGlmICh0ZXN0LnBo
YXNlID49IHRlc3QucGhhc2VzLkhBU19SRVNVTFQpIHsKICAgICAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB0ZXN0LnNldF9zdGF0dXModGVzdC5GQUlMLCBl
Lm1lc3NhZ2UsIGUuc3RhY2spOworICAgICAgICAgICAgdGVzdC5zZXRfc3RhdHVzKHRlc3QuRkFJ
TCwgZS5tZXNzYWdlLCBzdGFjayk7CiAgICAgICAgICAgICB0ZXN0LnBoYXNlID0gdGVzdC5waGFz
ZXMuSEFTX1JFU1VMVDsKICAgICAgICAgICAgIHRlc3QuZG9uZSgpOwotICAgICAgICAgICAgZG9u
ZSgpOwogICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0cy5hbGxvd191bmNhdWdodF9leGNlcHRpb24p
IHsKICAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5zdGF0dXMgPSB0ZXN0cy5zdGF0dXMuRVJST1I7
CiAgICAgICAgICAgICB0ZXN0cy5zdGF0dXMubWVzc2FnZSA9IGUubWVzc2FnZTsKLSAgICAgICAg
ICAgIHRlc3RzLnN0YXR1cy5zdGFjayA9IGUuc3RhY2s7CisgICAgICAgICAgICB0ZXN0cy5zdGF0
dXMuc3RhY2sgPSBzdGFjazsKICAgICAgICAgfQorICAgICAgICBkb25lKCk7CiAgICAgfTsKIAog
ICAgIGFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgZXJyb3JfaGFuZGxlciwgZmFsc2UpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFk
b3ctZG9tL0RvY3VtZW50LXByb3RvdHlwZS1jdXJyZW50U2NyaXB0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1
bWVudC1wcm90b3R5cGUtY3VycmVudFNjcmlwdC1leHBlY3RlZC50eHQKaW5kZXggZjEwYjhiNzJi
MTkzMDQ0YWM4YzUzYjhjNmI5YmUxYThiYjQyYzQ3OC4uMDAyZTNjODllY2JjNmEyN2RlNTI4MDY5
YThkYTdkNWFjNTA2NzhhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50LXByb3RvdHlwZS1jdXJyZW50U2Ny
aXB0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1lbnQtcHJvdG90eXBlLWN1cnJlbnRTY3JpcHQtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNiBAQAogCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2Fn
ZSA9IDEgZHVwbGljYXRlIHRlc3QgbmFtZTogImRvY3VtZW50LmN1cnJlbnRTY3JpcHQgbXVzdCBi
ZSBzZXQgdG8gYSBzY3JpcHQgZWxlbWVudCB0aGF0IGxvYWRzIGFuIGV4dGVybmFsIHNjcmlwdCBp
biBhIGRvY3VtZW50IHRyZWUiCisKIFBBU1MgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IG5v
dCB0byBiZSBzZXQgdG8gYSBzY3JpcHQgZWxlbWVudCBpbiBhIHNoYWRvdyB0cmVlIGluIG9wZW4g
bW9kZSAKIFBBU1MgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IG5vdCB0byBiZSBzZXQgdG8g
YSBzY3JpcHQgZWxlbWVudCBpbiBhIHNoYWRvdyB0cmVlIGluIGNsb3NlZCBtb2RlIAogUEFTUyBk
b2N1bWVudC5jdXJyZW50U2NyaXB0IG11c3QgYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgdGhh
dCBsb2FkcyBhbiBleHRlcm5hbCBzY3JpcHQgaW4gYSBkb2N1bWVudCB0cmVlIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL2J5
dGUtbGVuZ3RoLXF1ZXVpbmctc3RyYXRlZ3kuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9ieXRlLWxl
bmd0aC1xdWV1aW5nLXN0cmF0ZWd5LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2Nh
YTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uMjk1NzAxMzRmY2JmNTRkMmZm
NzlhNGY5M2JhZDM2YzVjMmNhZTk5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL2J5dGUtbGVuZ3RoLXF1ZXVpbmctc3RyYXRl
Z3kuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvYnl0ZS1sZW5ndGgtcXVldWluZy1zdHJhdGVn
eS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVk
V29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGJ5dGUtbGVuZ3RoLXF1
ZXVpbmctc3RyYXRlZ3kuanMgc2hhcmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvY291bnQtcXVl
dWluZy1zdHJhdGVneS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL2NvdW50LXF1ZXVpbmctc3RyYXRl
Z3kuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1
MDcyNzFiZjgzMTM5NjEzZGEyLi42MDg4ZjVmYWRhNzlhNjZlYzFkMTRhYWE0Yzk3MDlhMzgxMTUy
NGJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3N0cmVhbXMvY291bnQtcXVldWluZy1zdHJhdGVneS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3Ry
ZWFtcy9jb3VudC1xdWV1aW5nLXN0cmF0ZWd5LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAg
LTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCks
IG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29y
a2VyCi0KK0ZBSUwgY291bnQtcXVldWluZy1zdHJhdGVneS5qcyBzaGFyZWQgd29ya2VyIHdyYXBw
ZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2Vy
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc3RyZWFtcy9waXBpbmcvY2xvc2UtcHJvcGFnYXRpb24tYmFja3dhcmQuc2hhcmVkd29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc3RyZWFtcy9waXBpbmcvY2xvc2UtcHJvcGFnYXRpb24tYmFja3dhcmQuc2hhcmVkd29ya2Vy
LWV4cGVjdGVkLnR4dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEz
ZGEyLi5iOWM3MjkyMjMyZjRkMWNmNmE1MjgxODUxZTM2NGZhMTAxNzVjODE2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlw
aW5nL2Nsb3NlLXByb3BhZ2F0aW9uLWJhY2t3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1z
L3BpcGluZy9jbG9zZS1wcm9wYWdhdGlvbi1iYWNrd2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQu
dHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3Ig
KEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNo
YXJlZFdvcmtlcgotCitGQUlMIGNsb3NlLXByb3BhZ2F0aW9uLWJhY2t3YXJkLmpzIHNoYXJlZCB3
b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBT
aGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9jbG9zZS1wcm9wYWdhdGlvbi1mb3J3YXJkLnNo
YXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Nsb3NlLXByb3BhZ2F0aW9uLWZvcndhcmQuc2hh
cmVkd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFi
ZjgzMTM5NjEzZGEyLi5mNjE0OTc0MWI2ODY2ZmM4MDljYTNkYTU5ZjhjODcyNTFiYTlmNWIxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0
cmVhbXMvcGlwaW5nL2Nsb3NlLXByb3BhZ2F0aW9uLWZvcndhcmQuc2hhcmVkd29ya2VyLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3N0cmVhbXMvcGlwaW5nL2Nsb3NlLXByb3BhZ2F0aW9uLWZvcndhcmQuc2hhcmVkd29ya2VyLWV4
cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNz
IEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJTCBjbG9zZS1wcm9wYWdhdGlvbi1mb3J3YXJkLmpzIHNo
YXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9lcnJvci1wcm9wYWdhdGlvbi1iYWNr
d2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9lcnJvci1wcm9wYWdhdGlvbi1iYWNr
d2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVl
NDUwNzI3MWJmODMxMzk2MTNkYTIuLjFlMjc4NzYzMTExZTE5ZDQ4OTdkODNlYWFlNmM3NzJkOTc1
YmU5ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc3RyZWFtcy9waXBpbmcvZXJyb3ItcHJvcGFnYXRpb24tYmFja3dhcmQuc2hhcmVkd29y
a2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Vycm9yLXByb3BhZ2F0aW9uLWJhY2t3YXJkLnNoYXJl
ZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIK
IAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgZXJyb3ItcHJvcGFnYXRpb24tYmFj
a3dhcmQuanMgc2hhcmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0
IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Vycm9yLXByb3Bh
Z2F0aW9uLWZvcndhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZXJyb3ItcHJvcGFn
YXRpb24tZm9yd2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2
ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLjgzODNjN2EyOTAwNTY5OGM1MWE4YjA0MzMy
MzM0ZDQxMDNkODdlZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZXJyb3ItcHJvcGFnYXRpb24tZm9yd2FyZC5z
aGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZXJyb3ItcHJvcGFnYXRpb24tZm9yd2Fy
ZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVk
V29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGVycm9yLXByb3BhZ2F0
aW9uLWZvcndhcmQuanMgc2hhcmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Zsb3ct
Y29udHJvbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9mbG93LWNvbnRyb2wuc2hhcmVk
d29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgz
MTM5NjEzZGEyLi45OWRhMzM5OTc4ZTk4OTQwYzBmOGM3MDFmZjRiY2Q5OGI1ZWMzNTA2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvcGlwaW5nL2Zsb3ctY29udHJvbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcv
Zmxvdy1jb250cm9sLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgZmxv
dy1jb250cm9sLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9nZW5lcmFs
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc3RyZWFtcy9waXBpbmcvZ2VuZXJhbC1leHBlY3RlZC50eHQKaW5kZXggYWEzODczOWUyOWRl
MmEwMmQ1NmIzMGFlNWZjZDYzNDI3YjczNTZlMy4uYjUwMDRmMWQwMGJlZDZjODhhZjE0MWNmZTMx
Y2ZjMDI2OTNmMjgxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9nZW5lcmFsLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5n
L2dlbmVyYWwtZXhwZWN0ZWQudHh0CkBAIC0xLDE1ICsxLDE1IEBACiBDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTI6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogVHlwZUVycm9yOiBUaGUgV3Jp
dGFibGVTdHJlYW0ucmVhZHkgZ2V0dGVyIGNhbiBvbmx5IGJlIHVzZWQgb24gaW5zdGFuY2VzIG9m
IFdyaXRhYmxlU3RyZWFtCiBDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVj
dGlvbjogVHlwZUVycm9yOiBjYW5jZWwoKSBjYWxsZWQgb24gYSByZWFkZXIgb3duZWQgYnkgbm8g
cmVhZGFibGUgc3RyZWFtCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY4NDogVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZS5tZXNzYWdlJykKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAyNzY1OiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdlLmVycm9yJykKIENPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFBy
b21pc2UgUmVqZWN0aW9uOiB1bmRlZmluZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNjg0OiBU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlLm1lc3Nh
Z2UnKQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI3NjU6IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2UuZXJyb3InKQogQ09OU09MRSBNRVNTQUdFOiBV
bmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IHVuZGVmaW5lZAogQ09OU09MRSBNRVNTQUdFOiBV
bmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IFR5cGVFcnJvcjogY2FuY2VsKCkgY2FsbGVkIG9u
IGEgcmVhZGVyIG93bmVkIGJ5IG5vIHJlYWRhYmxlIHN0cmVhbQotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDI2ODQ6IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ2UubWVzc2FnZScpCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc2NTogVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZS5lcnJvcicpCiBDT05TT0xF
IE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogdW5kZWZpbmVkCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgMjY4NDogVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnZS5tZXNzYWdlJykKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzY1OiBU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlLmVycm9y
JykKIENPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiB1bmRlZmlu
ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNjg0OiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlLm1lc3NhZ2UnKQorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDI3NjU6IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ2UuZXJyb3InKQogQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rp
b246IHVuZGVmaW5lZAogCiBIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFRoZSBXcml0
YWJsZVN0cmVhbS5yZWFkeSBnZXR0ZXIgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbnN0YW5jZXMgb2Yg
V3JpdGFibGVTdHJlYW0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZ2VuZXJhbC5zaGFyZWR3b3JrZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJl
YW1zL3BpcGluZy9nZW5lcmFsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2
MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uNGYxMDFhMmIyMjI1YjkyZmIwYjg5
NGU3NGViM2Q5NTQxYmU4MGRjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9nZW5lcmFsLnNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3BpcGluZy9nZW5lcmFsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAg
LTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCks
IG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29y
a2VyCi0KK0ZBSUwgZ2VuZXJhbC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBp
bmcvbXVsdGlwbGUtcHJvcGFnYXRpb24uc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvbXVs
dGlwbGUtcHJvcGFnYXRpb24uc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA3Y2FhNjYw
ZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi43MDdjMDVmMTBkN2RjZDBlODE2NTcy
NWFkYmRmNGY3ZGJiNGFkZGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL211bHRpcGxlLXByb3BhZ2F0aW9uLnNo
YXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9tdWx0aXBsZS1wcm9wYWdhdGlvbi5zaGFy
ZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2Vy
CiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0
IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIG11bHRpcGxlLXByb3BhZ2F0aW9u
LmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9waXBlLXRocm91Z2guc2hh
cmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvcGlwZS10aHJvdWdoLnNoYXJlZHdvcmtlci1leHBl
Y3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4u
MDBkMzhlY2Q0Y2JjNzljYmU1MWI1MWYyNTFlZWZjMGY2Mzk5YjIyNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9w
aXBlLXRocm91Z2guc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL3BpcGUtdGhyb3Vn
aC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVk
V29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIHBpcGUtdGhyb3VnaC5q
cyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2
YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvdHJhbnNmb3JtLXN0cmVhbXMu
c2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvdHJhbnNmb3JtLXN0cmVhbXMuc2hhcmVkd29y
a2VyLWV4cGVjdGVkLnR4dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5
NjEzZGEyLi4wNjE0YmFlNGRkYWY2NDBiM2U4NTY1NDJlZDFjNGUxOTkxYTJhYzRhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMv
cGlwaW5nL3RyYW5zZm9ybS1zdHJlYW1zLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGlu
Zy90cmFuc2Zvcm0tc3RyZWFtcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEs
NCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdl
ID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitG
QUlMIHRyYW5zZm9ybS1zdHJlYW1zLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3Jl
YWRhYmxlLWJ5dGUtc3RyZWFtcy9nZW5lcmFsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFi
bGUtYnl0ZS1zdHJlYW1zL2dlbmVyYWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA3
Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi40ZjEwMWEyYjIyMjViOTJm
YjBiODk0ZTc0ZWIzZDk1NDFiZTgwZGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtYnl0ZS1zdHJlYW1zL2dl
bmVyYWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtYnl0ZS1zdHJlYW1zL2dl
bmVyYWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUg
TUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNo
YXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVy
cm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJTCBnZW5lcmFsLmpz
IHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvYmFkLXN0cmF0
ZWdpZXMuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2JhZC1zdHJhdGVn
aWVzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2YwNWU0
NTA3MjcxYmY4MzEzOTYxM2RhMi4uOWRhYWZjN2U1MWQ4MzhmYTAzY2U3NDgzZjZlOTBhOTZjYjI3
Nzk3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvYmFkLXN0cmF0ZWdpZXMuc2hhcmVkd29ya2Vy
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9iYWQtc3RyYXRlZ2llcy5zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGJhZC1zdHJhdGVnaWVzLmpzIHNoYXJlZCB3
b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBT
aGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvYmFkLXVuZGVybHlpbmctc291
cmNlcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvYmFkLXVuZGVybHlp
bmctc291cmNlcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4
YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLmU1NTk1NWNjNjVlYTM3MTViNDgzZGI0YzIyMWY4
Zjc0NzQ0M2Y2YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2JhZC11bmRlcmx5aW5nLXNvdXJj
ZXMuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9iYWQtdW5kZXJs
eWluZy1zb3VyY2VzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgYmFk
LXVuZGVybHlpbmctc291cmNlcy5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFk
YWJsZS1zdHJlYW1zL2JyYW5kLWNoZWNrcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxl
LXN0cmVhbXMvYnJhbmQtY2hlY2tzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2Nh
YTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uNzFmZmM4NWY5NzhlNTdiYjli
NGVhNjA1ZDUwOGJkY2M3MTg1MmQ2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvYnJhbmQtY2hl
Y2tzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvYnJhbmQtY2hl
Y2tzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgYnJhbmQtY2hlY2tz
LmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvY2FuY2Vs
LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9jYW5jZWwuc2hhcmVkd29y
a2VyLWV4cGVjdGVkLnR4dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5
NjEzZGEyLi40NzAyMDk5YWNhNzExZjJlMDM1ZWEzOTY5ZDE0NWJiZGQ5ZGJjYmYxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMv
cmVhZGFibGUtc3RyZWFtcy9jYW5jZWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFi
bGUtc3RyZWFtcy9jYW5jZWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQg
QEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9
IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJ
TCBjYW5jZWwuanMgc2hhcmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFt
cy9jb3VudC1xdWV1aW5nLXN0cmF0ZWd5LWludGVncmF0aW9uLnNoYXJlZHdvcmtlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvcmVhZGFibGUtc3RyZWFtcy9jb3VudC1xdWV1aW5nLXN0cmF0ZWd5LWludGVncmF0aW9uLnNo
YXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2YwNWU0NTA3Mjcx
YmY4MzEzOTYxM2RhMi4uODYyOWI5NmRlMDJmN2UxY2JhYWMzZGU1YWI1MjBmZjc5OThhNmI4NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
dHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvY291bnQtcXVldWluZy1zdHJhdGVneS1pbnRlZ3JhdGlv
bi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2NvdW50LXF1ZXVp
bmctc3RyYXRlZ3ktaW50ZWdyYXRpb24uc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1
ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0
IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVz
c2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIK
LQorRkFJTCBjb3VudC1xdWV1aW5nLXN0cmF0ZWd5LWludGVncmF0aW9uLmpzIHNoYXJlZCB3b3Jr
ZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZGVmYXVsdC1yZWFkZXIuc2hhcmVk
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2RlZmF1bHQtcmVhZGVyLnNoYXJlZHdv
cmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEz
OTYxM2RhMi4uZDFkZjA3MDNlOTljYTFjNGM4OGM2OGNhNWJmZTMyMzVkMWRlNGM5YSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1z
L3JlYWRhYmxlLXN0cmVhbXMvZGVmYXVsdC1yZWFkZXIuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvcmVhZGFibGUtc3RyZWFtcy9kZWZhdWx0LXJlYWRlci5zaGFyZWR3b3JrZXItZXhwZWN0ZWQu
dHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3Ig
KEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNo
YXJlZFdvcmtlcgotCitGQUlMIGRlZmF1bHQtcmVhZGVyLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBl
ciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6
ZS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQt
dG90YWwtcXVldWUtc2l6ZS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBm
YzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLjJiZWFlNTdkZjZiYmUwODQyZTZjOWE0
NTM5ZmQ5YTZkMzJmNDczYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50
LXRvdGFsLXF1ZXVlLXNpemUuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3Ry
ZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLnNoYXJlZHdvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJv
ciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
U2hhcmVkV29ya2VyCi0KK0ZBSUwgZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS5qcyBz
aGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2dhcmJhZ2UtY29s
bGVjdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZ2FyYmFnZS1j
b2xsZWN0aW9uLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThh
N2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uMGUxMWI0MjFmY2Q1YjAzNzUxYzUwZWU5MTc3Y2Rk
YWI5NDU0ODdhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZ2FyYmFnZS1jb2xsZWN0aW9uLnNo
YXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZ2FyYmFnZS1jb2xsZWN0
aW9uLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgZ2FyYmFnZS1jb2xs
ZWN0aW9uLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMv
Z2VuZXJhbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZ2VuZXJhbC5z
aGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3
MWJmODMxMzk2MTNkYTIuLjRmMTAxYTJiMjIyNWI5MmZiMGI4OTRlNzRlYjNkOTU0MWJlODBkYzUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2dlbmVyYWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVh
bXMvcmVhZGFibGUtc3RyZWFtcy9nZW5lcmFsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAg
LTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCks
IG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29y
a2VyCi0KK0ZBSUwgZ2VuZXJhbC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFk
YWJsZS1zdHJlYW1zL3BpcGUtdGhyb3VnaC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxl
LXN0cmVhbXMvcGlwZS10aHJvdWdoLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2Nh
YTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uMDBkMzhlY2Q0Y2JjNzljYmU1
MWI1MWYyNTFlZWZjMGY2Mzk5YjIyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvcGlwZS10aHJv
dWdoLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvcGlwZS10aHJv
dWdoLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgcGlwZS10aHJvdWdo
LmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvcmVhZGFi
bGUtc3RyZWFtLXJlYWRlci5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMv
cmVhZGFibGUtc3RyZWFtLXJlYWRlci5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdj
YWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLjIyY2Y3OTQ3NzBmNjYwOTIz
MTg1ODQ0MmQ5MmJkOGRmMTNiZGE1ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL3JlYWRhYmxl
LXN0cmVhbS1yZWFkZXIuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFt
cy9yZWFkYWJsZS1zdHJlYW0tcmVhZGVyLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEs
NSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1l
c3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2Vy
Ci0KK0ZBSUwgcmVhZGFibGUtc3RyZWFtLXJlYWRlci5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIg
ZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL3RlZS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRh
YmxlLXN0cmVhbXMvdGVlLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZj
NTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uZjZiYjFmY2FiZjE2ZmVjYWVmZjc1YTcw
M2I3NWMzZjc5OGEyOTNmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvdGVlLnNoYXJlZHdvcmtl
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvdGVlLnNoYXJlZHdvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJv
ciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
U2hhcmVkV29ya2VyCi0KK0ZBSUwgdGVlLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1z
L3JlYWRhYmxlLXN0cmVhbXMvdGVtcGxhdGVkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFi
bGUtc3RyZWFtcy90ZW1wbGF0ZWQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA3Y2Fh
NjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi45MDJjYjFkMDg0Y2Y5NjJjYjMw
MDg5ZjNiZmJhMzQ1YWUyMGMxYmQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy90ZW1wbGF0ZWQu
c2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy90ZW1wbGF0ZWQuc2hh
cmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTog
bGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtl
cgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJTCB0ZW1wbGF0ZWQuanMgc2hhcmVk
IHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL0xJQ0VOU0UgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL0xJQ0VOU0UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDQ1ODk2ZTZiZTJiZDUxZjRiNzhlOTcwM2NhZWZiOWI2NzJlMTBhNTUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9MSUNFTlNFCisrKyAvZGV2L251bGwKQEAg
LTEsMzAgKzAsMCBAQAotVzNDIDMtY2xhdXNlIEJTRCBMaWNlbnNlCi0KLWh0dHA6Ly93d3cudzMu
b3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwOC8wMy1ic2QtbGljZW5zZS5odG1sCi0KLVJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQotbWV0OgotCi0qIFJlZGlzdHJpYnV0aW9ucyBvZiB3b3JrcyBtdXN0
IHJldGFpbiB0aGUgb3JpZ2luYWwgY29weXJpZ2h0IG5vdGljZSwKLSAgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLQotKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIG9yaWdpbmFsIGNvcHlyaWdodAot
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0KLSogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUg
VzNDIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUKLSAgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgd29yayB3aXRob3V0
Ci0gIHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLQotVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKLUxJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgotQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLU9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAot
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCi1EQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLVRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLShJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL19faW5pdF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMvX19pbml0X18u
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTY4MzRiODI4NWE1NmJlZjBlMTU0M2ZkOTAxYzdlNmYyZjhiYzIwMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL19faW5pdF9fLnB5CkBAIC0wLDAgKzEgQEAKKyMgVGhp
cyBmaWxlIGlzIHJlcXVpcmVkIGZvciBQeXRob24gdG8gc2VhcmNoIHRoaXMgZGlyZWN0b3J5IGZv
ciBtb2R1bGVzLgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxz
L2Jyb3dzZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2Jyb3dzZXJ1dGlscy9icm93c2VyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlNDhhNjgzMmM0ZWE0
MzA4ZDhkYjAxMDQ1YzQzMGQ4ZjcxNGY0MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy9icm93
c2VyLnB5CkBAIC0wLDAgKzEsMjY4IEBACitpbXBvcnQgbG9nZ2luZworaW1wb3J0IG9zCitpbXBv
cnQgcmUKK2ltcG9ydCBzdGF0Citmcm9tIGFiYyBpbXBvcnQgQUJDTWV0YSwgYWJzdHJhY3RtZXRo
b2QKK2Zyb20gY29uZmlncGFyc2VyIGltcG9ydCBSYXdDb25maWdQYXJzZXIKK2Zyb20gZGlzdHV0
aWxzLnNwYXduIGltcG9ydCBmaW5kX2V4ZWN1dGFibGUKKworZnJvbSB1dGlscyBpbXBvcnQgY2Fs
bCwgZ2V0LCB1bnRhciwgdW56aXAKKworbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1l
X18pCisKK3VuYW1lID0gb3MudW5hbWUoKQorCitkZWYgcGF0aChwYXRoLCBleGUpOgorICAgIHBh
dGggPSBwYXRoLnJlcGxhY2UoIi8iLCBvcy5wYXRoLnNlcCkKKyAgICBpZiBleGUgYW5kIHVuYW1l
WzBdID09ICJXaW5kb3dzIjoKKyAgICAgICAgcGF0aCArPSAiLmV4ZSIKKyAgICByZXR1cm4gcGF0
aAorCisKK2NsYXNzIEJyb3dzZXIob2JqZWN0KToKKyAgICBfX21ldGFjbGFzc19fID0gQUJDTWV0
YQorCisgICAgQGFic3RyYWN0bWV0aG9kCisgICAgZGVmIGluc3RhbGwoc2VsZik6CisgICAgICAg
IHJldHVybiBOb3RJbXBsZW1lbnRlZAorCisgICAgQGFic3RyYWN0bWV0aG9kCisgICAgZGVmIGlu
c3RhbGxfd2ViZHJpdmVyKHNlbGYpOgorICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKwor
ICAgIEBhYnN0cmFjdG1ldGhvZAorICAgIGRlZiB2ZXJzaW9uKHNlbGYpOgorICAgICAgICByZXR1
cm4gTm90SW1wbGVtZW50ZWQKKworICAgIEBhYnN0cmFjdG1ldGhvZAorICAgIGRlZiByZXF1aXJl
bWVudHMoc2VsZik6CisgICAgICAgICIiIk5hbWUgb2YgdGhlIGJyb3dzZXItc3BlY2lmaWMgd3B0
cnVubmVyIHJlcXVpcmVtZW50cyBmaWxlIiIiCisgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRl
ZAorCisgICAgZGVmIHByZXBhcmVfZW52aXJvbm1lbnQoc2VsZik6CisgICAgICAgICIiIkRvIGFu
eSBhZGRpdGlvbmFsIHNldHVwIG9mIHRoZSBlbnZpcm9ubWVudCByZXF1aXJlZCB0byBzdGFydCB0
aGUKKyAgICAgICAgICAgYnJvd3NlciBzdWNjZXNzZnVsbHkKKyAgICAgICAgIiIiCisgICAgICAg
IHBhc3MKKworCitjbGFzcyBGaXJlZm94KEJyb3dzZXIpOgorICAgICIiIkZpcmVmb3gtc3BlY2lm
aWMgaW50ZXJmYWNlLgorCisgICAgSW5jbHVkZXMgaW5zdGFsbGF0aW9uLCB3ZWJkcml2ZXIgaW5z
dGFsbGF0aW9uLCBhbmQgd3B0cnVubmVyIHNldHVwIG1ldGhvZHMuCisgICAgIiIiCisKKyAgICBw
cm9kdWN0ID0gImZpcmVmb3giCisgICAgYmluYXJ5ID0gImZpcmVmb3gvZmlyZWZveCIKKyAgICBw
bGF0Zm9ybV9pbmkgPSAiZmlyZWZveC9wbGF0Zm9ybS5pbmkiCisgICAgcmVxdWlyZW1lbnRzID0g
InJlcXVpcmVtZW50c19maXJlZm94LnR4dCIKKworCisgICAgZGVmIHBsYXRmb3JtX3N0cmluZyhz
ZWxmKToKKyAgICAgICAgcGxhdGZvcm0gPSB7CisgICAgICAgICAgICAiTGludXgiOiAibGludXgi
LAorICAgICAgICAgICAgIldpbmRvd3MiOiAid2luIiwKKyAgICAgICAgICAgICJEYXJ3aW4iOiAi
bWFjIgorICAgICAgICB9LmdldCh1bmFtZVswXSkKKworICAgICAgICBpZiBwbGF0Zm9ybSBpcyBO
b25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5hYmxlIHRvIGNvbnN0cnVjdCBh
IHZhbGlkIEZpcmVmb3ggcGFja2FnZSBuYW1lIGZvciBjdXJyZW50IHBsYXRmb3JtIikKKworICAg
ICAgICBpZiBwbGF0Zm9ybSA9PSAibGludXgiOgorICAgICAgICAgICAgYml0cyA9ICItJXMiICUg
dW5hbWVbLTFdCisgICAgICAgIGVsaWYgcGxhdGZvcm0gPT0gIndpbiI6CisgICAgICAgICAgICBi
aXRzID0gIjY0IiBpZiB1bmFtZVstMV0gPT0gIng4Nl82NCIgZWxzZSAiMzIiCisgICAgICAgIGVs
c2U6CisgICAgICAgICAgICBiaXRzID0gIiIKKworICAgICAgICByZXR1cm4gIiVzJXMiICUgKHBs
YXRmb3JtLCBiaXRzKQorCisgICAgZGVmIHBsYXRmb3JtX3N0cmluZ19nZWNrb2RyaXZlcihzZWxm
KToKKyAgICAgICAgcGxhdGZvcm0gPSB7CisgICAgICAgICAgICAiTGludXgiOiAibGludXgiLAor
ICAgICAgICAgICAgIldpbmRvd3MiOiAid2luIiwKKyAgICAgICAgICAgICJEYXJ3aW4iOiAibWFj
b3MiCisgICAgICAgIH0uZ2V0KHVuYW1lWzBdKQorCisgICAgICAgIGlmIHBsYXRmb3JtIGlzIE5v
bmU6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJVbmFibGUgdG8gY29uc3RydWN0IGEg
dmFsaWQgR2Vja29kcml2ZXIgcGFja2FnZSBuYW1lIGZvciBjdXJyZW50IHBsYXRmb3JtIikKKwor
ICAgICAgICBpZiBwbGF0Zm9ybSBpbiAoImxpbnV4IiwgIndpbiIpOgorICAgICAgICAgICAgYml0
cyA9ICI2NCIgaWYgdW5hbWVbLTFdID09ICJ4ODZfNjQiIGVsc2UgIjMyIgorICAgICAgICBlbHNl
OgorICAgICAgICAgICAgYml0cyA9ICIiCisKKyAgICAgICAgcmV0dXJuICIlcyVzIiAlIChwbGF0
Zm9ybSwgYml0cykKKworICAgIGRlZiBsYXRlc3RfbmlnaHRseV9saXN0aW5nKHNlbGYpOgorICAg
ICAgICByZXR1cm4gZ2V0KCJodHRwczovL2FyY2hpdmUubW96aWxsYS5vcmcvcHViL2ZpcmVmb3gv
bmlnaHRseS9sYXRlc3QtbW96aWxsYS1jZW50cmFsLyIpCisKKyAgICBkZWYgZ2V0X2Zyb21fbmln
aHRseShzZWxmLCBwYXR0ZXJuKToKKyAgICAgICAgaW5kZXggPSBzZWxmLmxhdGVzdF9uaWdodGx5
X2xpc3RpbmcoKQorICAgICAgICBmaWxlbmFtZSA9IHJlLmNvbXBpbGUocGF0dGVybikuc2VhcmNo
KGluZGV4LnRleHQpLmdyb3VwKDEpCisgICAgICAgIHJldHVybiBnZXQoImh0dHBzOi8vYXJjaGl2
ZS5tb3ppbGxhLm9yZy9wdWIvZmlyZWZveC9uaWdodGx5L2xhdGVzdC1tb3ppbGxhLWNlbnRyYWwv
JXMiICUKKyAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSkKKworCisgICAgZGVmIGluc3RhbGwo
c2VsZiwgcGxhdGZvcm0sIGRlc3Q9Tm9uZSk6CisgICAgICAgICIiIkluc3RhbGwgRmlyZWZveC4i
IiIKKyAgICAgICAgaWYgZGVzdCBpcyBOb25lOgorICAgICAgICAgICAgZGVzdCA9IG9zLnB3ZAor
CisgICAgICAgIHNlbGYuZ2V0X2Zyb21fbmlnaHRseSgiPGFbXj5dKj4oZmlyZWZveC1cZCtcLlxk
KD86XHdcZCk/LmVuLVVTLiVzXC50YXJcLmJ6MikiICUgc2VsZi5wbGF0Zm9ybV9zdHJpbmcoKSkK
KyAgICAgICAgdW50YXIocmVzcC5yYXcsIHBhdGg9ZGVzdCkKKyAgICAgICAgcmV0dXJuIG9zLnBh
dGguam9pbihkZXN0LCAiZmlyZWZveCIpCisKKyAgICBkZWYgZmluZF9iaW5hcnkoc2VsZik6Cisg
ICAgICAgIHJldHVybiBmaW5kX2V4ZWN1dGFibGUoImZpcmVmb3giKQorCisgICAgZGVmIGZpbmRf
Y2VydHV0aWwoc2VsZik6CisgICAgICAgIHJldHVybiBmaW5kX2V4ZWN1dGFibGUoImNlcnR1dGls
IikKKworICAgIGRlZiBmaW5kX3dlYmRyaXZlcihzZWxmKToKKyAgICAgICAgcmV0dXJuIGZpbmRf
ZXhlY3V0YWJsZSgiZ2Vja29kcml2ZXIiKQorCisgICAgZGVmIGluc3RhbGxfY2VydHV0aWwoc2Vs
ZiwgZGVzdD1Ob25lKToKKyAgICAgICAgIyBUT0RPOiB0aGlzIGRvZXNuJ3QgcmVhbGx5IHdvcmsg
YmVjYXVzZSBpdCBqdXN0IGdldHMgdGhlIGJpbmFyeSwgYW5kIGlzIG1pc3NpbmcgdGhlCisgICAg
ICAgICMgbGlibnNzMyBsaWJyYXJ5LiBHZXR0aW5nIHRoYXQgbWVhbnMgZWl0aGVyIGRvd25sb2Fk
aW5nIHRoZSBjb3JyZXNwb25kaW5nIEZpcmVmb3gKKyAgICAgICAgIyBhbmQgZXh0cmFjdGluZyB0
aGUgbGlicmFyeSAod2hpY2ggaXMgaGFyZCBvbiBtYWMgYmVjYXNlIERNRyksIG9yIG1heWJlIGRv
d25sb2FkaW5nIGZyb20KKyAgICAgICAgIyBuc3MncyB0cmVlaGVyZGVyIGJ1aWxkcz8KKyAgICAg
ICAgaWYgZGVzdCBpcyBOb25lOgorICAgICAgICAgICAgZGVzdCA9IG9zLnB3ZAorCisgICAgICAg
ICMgRG9uJ3QgY3JlYXRlIGEgcGF0aCBsaWtlIGJpbi9iaW4vY2VydHV0aWwKKyAgICAgICAgc3Bs
aXQgPSBvcy5wYXRoLnNwbGl0KGRlc3QpCisgICAgICAgIGlmIHNwbGl0WzFdID09ICJiaW4iOgor
ICAgICAgICAgICAgZGVzdCA9IHNwbGl0WzBdCisKKyAgICAgICAgcmVzcCA9IHNlbGYuZ2V0X2Zy
b21fbmlnaHRseSgKKyAgICAgICAgICAgICI8YVtePl0qPihmaXJlZm94LVxkK1wuXGQoPzpcd1xk
KT8uZW4tVVMuJXNcLmNvbW1vblwudGVzdHMuemlwKTwvYT4iICUgc2VsZi5wbGF0Zm9ybV9zdHJp
bmcoKSkKKyAgICAgICAgYmluX3BhdGggPSBwYXRoKCJiaW4vY2VydHV0aWwiLCBleGU9VHJ1ZSkK
KyAgICAgICAgdW56aXAocmVzcC5yYXcsIGRlc3Q9ZGVzdCwgbGltaXQ9W2Jpbl9wYXRoXSkKKwor
ICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKGRlc3QsIGJpbl9wYXRoKQorCisgICAgZGVmIGlu
c3RhbGxfcHJlZnMoc2VsZiwgZGVzdD1Ob25lKToKKyAgICAgICAgaWYgZGVzdCBpcyBOb25lOgor
ICAgICAgICAgICAgZGVzdCA9IG9zLnB3ZAorCisgICAgICAgIGRlc3QgPSBvcy5wYXRoLmpvaW4o
ZGVzdCwgInByb2ZpbGVzIikKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRlc3QpOgor
ICAgICAgICAgICAgb3MubWFrZWRpcnMoZGVzdCkKKyAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGgu
am9pbihkZXN0LCAicHJlZnNfZ2VuZXJhbC5qcyIpLCAid2IiKSBhcyBmOgorICAgICAgICAgICAg
cmVzcCA9IGdldCgiaHR0cHM6Ly9oZy5tb3ppbGxhLm9yZy9tb3ppbGxhLWNlbnRyYWwvcmF3LWZp
bGUvdGlwL3Rlc3RpbmcvcHJvZmlsZXMvcHJlZnNfZ2VuZXJhbC5qcyIpCisgICAgICAgICAgICBm
LndyaXRlKHJlc3AuY29udGVudCkKKworICAgICAgICByZXR1cm4gZGVzdAorCisgICAgZGVmIF9s
YXRlc3RfZ2Vja29kcml2ZXJfdmVyc2lvbihzZWxmKToKKyAgICAgICAgIiIiR2V0IGFuZCByZXR1
cm4gbGF0ZXN0IHZlcnNpb24gbnVtYmVyIGZvciBnZWNrb2RyaXZlci4iIiIKKyAgICAgICAgIyBU
aGlzIGlzIHVzZWQgcmF0aGVyIHRoYW4gYW4gQVBJIGNhbGwgdG8gYXZvaWQgcmF0ZSBsaW1pdHMK
KyAgICAgICAgdGFncyA9IGNhbGwoImdpdCIsICJscy1yZW1vdGUiLCAiLS10YWdzIiwgIi0tcmVm
cyIsCisgICAgICAgICAgICAgICAgICAgICJodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNr
b2RyaXZlci5naXQiKQorICAgICAgICByZWxlYXNlX3JlID0gcmUuY29tcGlsZSgiLipyZWZzL3Rh
Z3MvdihcZCspXC4oXGQrKVwuKFxkKykiKQorICAgICAgICBsYXRlc3RfcmVsZWFzZSA9IDAKKyAg
ICAgICAgZm9yIGl0ZW0gaW4gdGFncy5zcGxpdCgiXG4iKToKKyAgICAgICAgICAgIG0gPSByZWxl
YXNlX3JlLm1hdGNoKGl0ZW0pCisgICAgICAgICAgICBpZiBtOgorICAgICAgICAgICAgICAgIHZl
cnNpb24gPSBbaW50KGl0ZW0pIGZvciBpdGVtIGluIG0uZ3JvdXBzKCldCisgICAgICAgICAgICAg
ICAgaWYgdmVyc2lvbiA+IGxhdGVzdF9yZWxlYXNlOgorICAgICAgICAgICAgICAgICAgICBsYXRl
c3RfcmVsZWFzZSA9IHZlcnNpb24KKyAgICAgICAgYXNzZXJ0IGxhdGVzdF9yZWxlYXNlICE9IDAK
KyAgICAgICAgcmV0dXJuICJ2JXMuJXMuJXMiICUgdHVwbGUoc3RyKGl0ZW0pIGZvciBpdGVtIGlu
IGxhdGVzdF9yZWxlYXNlKQorCisgICAgZGVmIGluc3RhbGxfd2ViZHJpdmVyKHNlbGYsIGRlc3Q9
Tm9uZSk6CisgICAgICAgICIiIkluc3RhbGwgbGF0ZXN0IEdlY2tvZHJpdmVyLiIiIgorICAgICAg
ICBpZiBkZXN0IGlzIE5vbmU6CisgICAgICAgICAgICBkZXN0ID0gb3MucHdkCisKKyAgICAgICAg
dmVyc2lvbiA9IHNlbGYuX2xhdGVzdF9nZWNrb2RyaXZlcl92ZXJzaW9uKCkKKyAgICAgICAgbG9n
Z2VyLmRlYnVnKCJMYXRlc3QgZ2Vja29kcml2ZXIgcmVsZWFzZSAlcyIgJSB2ZXJzaW9uKQorICAg
ICAgICB1cmwgPSAoImh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvZHJpdmVyL3JlbGVh
c2VzL2Rvd25sb2FkLyVzL2dlY2tvZHJpdmVyLSVzLSVzLnRhci5neiIgJQorICAgICAgICAgICAg
ICAgKHZlcnNpb24sIHZlcnNpb24sIHNlbGYucGxhdGZvcm1fc3RyaW5nX2dlY2tvZHJpdmVyKCkp
KQorICAgICAgICB1bnRhcihnZXQodXJsKS5yYXcsIGRlc3Q9ZGVzdCkKKyAgICAgICAgcmV0dXJu
IGZpbmRfZXhlY3V0YWJsZShvcy5wYXRoLmpvaW4oZGVzdCwgImdlY2tvZHJpdmVyIikpCisKKyAg
ICBkZWYgdmVyc2lvbihzZWxmLCByb290KToKKyAgICAgICAgIiIiUmV0cmlldmUgdGhlIHJlbGVh
c2UgdmVyc2lvbiBvZiB0aGUgaW5zdGFsbGVkIGJyb3dzZXIuIiIiCisgICAgICAgIHBsYXRmb3Jt
X2luZm8gPSBSYXdDb25maWdQYXJzZXIoKQorCisgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpv
aW4ocm9vdCwgc2VsZi5wbGF0Zm9ybV9pbmkpLCAiciIpIGFzIGZwOgorICAgICAgICAgICAgcGxh
dGZvcm1faW5mby5yZWFkZnAoQnl0ZXNJTyhmcC5yZWFkKCkpKQorICAgICAgICAgICAgcmV0dXJu
ICJCdWlsZElEICVzOyBTb3VyY2VTdGFtcCAlcyIgJSAoCisgICAgICAgICAgICAgICAgcGxhdGZv
cm1faW5mby5nZXQoIkJ1aWxkIiwgIkJ1aWxkSUQiKSwKKyAgICAgICAgICAgICAgICBwbGF0Zm9y
bV9pbmZvLmdldCgiQnVpbGQiLCAiU291cmNlU3RhbXAiKSkKKworCitjbGFzcyBDaHJvbWUoQnJv
d3Nlcik6CisgICAgIiIiQ2hyb21lLXNwZWNpZmljIGludGVyZmFjZS4KKworICAgIEluY2x1ZGVz
IGluc3RhbGxhdGlvbiwgd2ViZHJpdmVyIGluc3RhbGxhdGlvbiwgYW5kIHdwdHJ1bm5lciBzZXR1
cCBtZXRob2RzLgorICAgICIiIgorCisgICAgcHJvZHVjdCA9ICJjaHJvbWUiCisgICAgYmluYXJ5
ID0gIi91c3IvYmluL2dvb2dsZS1jaHJvbWUiCisgICAgcmVxdWlyZW1lbnRzID0gInJlcXVpcmVt
ZW50c19jaHJvbWUudHh0IgorCisgICAgZGVmIHBsYXRmb3JtX3N0cmluZyhzZWxmKToKKyAgICAg
ICAgcGxhdGZvcm0gPSB7CisgICAgICAgICAgICAiTGludXgiOiAibGludXgiLAorICAgICAgICAg
ICAgIldpbmRvd3MiOiAid2luIiwKKyAgICAgICAgICAgICJEYXJ3aW4iOiAibWFjIgorICAgICAg
ICB9LmdldCh1bmFtZVswXSkKKworICAgICAgICBpZiBwbGF0Zm9ybSBpcyBOb25lOgorICAgICAg
ICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5hYmxlIHRvIGNvbnN0cnVjdCBhIHZhbGlkIENocm9t
ZSBwYWNrYWdlIG5hbWUgZm9yIGN1cnJlbnQgcGxhdGZvcm0iKQorCisgICAgICAgIGlmIHBsYXRm
b3JtID09ICJsaW51eCI6CisgICAgICAgICAgICBiaXRzID0gIjY0IiBpZiB1bmFtZVstMV0gPT0g
Ing4Nl82NCIgZWxzZSAiMzIiCisgICAgICAgIGVsaWYgcGxhdGZvcm0gPT0gIm1hYyI6CisgICAg
ICAgICAgICBiaXRzID0gIjY0IgorICAgICAgICBlbGlmIHBsYXRmb3JtID09ICJ3aW4iOgorICAg
ICAgICAgICAgYml0cyA9ICIzMiIKKworICAgICAgICByZXR1cm4gIiVzJXMiICUgKHBsYXRmb3Jt
LCBiaXRzKQorCisgICAgZGVmIGluc3RhbGwoc2VsZik6CisgICAgICAgIHJldHVybiBOb25lCisK
KyAgICBkZWYgZmluZF93ZWJkcml2ZXIoc2VsZik6CisgICAgICAgIHJldHVybiBmaW5kX2V4ZWN1
dGFibGUoImNocm9tZWRyaXZlciIpCisKKyAgICBkZWYgaW5zdGFsbF93ZWJkcml2ZXIoc2VsZiwg
ZGVzdD1Ob25lKToKKyAgICAgICAgIiIiSW5zdGFsbCBsYXRlc3QgV2ViZHJpdmVyLiIiIgorICAg
ICAgICBpZiBkZXN0IGlzIE5vbmU6CisgICAgICAgICAgICBkZXN0ID0gb3MucHdkCisgICAgICAg
IGxhdGVzdCA9IGdldCgiaHR0cDovL2Nocm9tZWRyaXZlci5zdG9yYWdlLmdvb2dsZWFwaXMuY29t
L0xBVEVTVF9SRUxFQVNFIikudGV4dC5zdHJpcCgpCisgICAgICAgIHVybCA9ICJodHRwOi8vY2hy
b21lZHJpdmVyLnN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vJXMvY2hyb21lZHJpdmVyXyVzLnppcCIg
JSAobGF0ZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGxhdGZvcm1fc3Ry
aW5nKCkpCisgICAgICAgIHVuemlwKGdldCh1cmwpLnJhdywgZGVzdCkKKyAgICAgICAgcGF0aCA9
IG9zLnBhdGguam9pbihkZXN0LCAiY2hyb21lZHJpdmVyIikKKyAgICAgICAgc3QgPSBvcy5zdGF0
KHBhdGgpCisgICAgICAgIG9zLmNobW9kKHBhdGgsIHN0LnN0X21vZGUgfCBzdGF0LlNfSUVYRUMp
CisgICAgICAgIHJldHVybiBwYXRoCisKKyAgICBkZWYgdmVyc2lvbihzZWxmLCByb290KToKKyAg
ICAgICAgIiIiUmV0cmlldmUgdGhlIHJlbGVhc2UgdmVyc2lvbiBvZiB0aGUgaW5zdGFsbGVkIGJy
b3dzZXIuIiIiCisgICAgICAgIG91dHB1dCA9IGNhbGwoc2VsZi5iaW5hcnksICItLXZlcnNpb24i
KQorICAgICAgICByZXR1cm4gcmUuc2VhcmNoKHIiWzAtOVwuXSsoIFthLXpdKyk/JCIsIG91dHB1
dC5zdHJpcCgpKS5ncm91cCgwKQorCisgICAgZGVmIHByZXBhcmVfZW52aXJvbm1lbnQoc2VsZik6
CisgICAgICAgICMgaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9k
ZXRhaWw/aWQ9NzEzOTQ3CisgICAgICAgIGxvZ2dlci5kZWJ1ZygiREJVU19TRVNTSU9OX0JVU19B
RERSRVNTICVzIiAlIG9zLmVudmlyb24uZ2V0KCJEQlVTX1NFU1NJT05fQlVTX0FERFJFU1MiKSkK
KyAgICAgICAgaWYgIkRCVVNfU0VTU0lPTl9CVVNfQUREUkVTUyIgbm90IGluIG9zLmVudmlyb246
CisgICAgICAgICAgICBpZiBmaW5kX2V4ZWN1dGFibGUoImRidXMtbGF1bmNoIik6CisgICAgICAg
ICAgICAgICAgbG9nZ2VyLmRlYnVnKCJBdHRlbXB0aW5nIHRvIHN0YXJ0IGRidXMiKQorICAgICAg
ICAgICAgICAgIGRidXNfY29uZiA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsiZGJ1cy1sYXVu
Y2giXSkKKyAgICAgICAgICAgICAgICBsb2dnZXIuZGVidWcoZGJ1c19jb25mKQorCisgICAgICAg
ICAgICAgICAgIyBGcm9tIGRidXMtbGF1bmNoKDEpOgorICAgICAgICAgICAgICAgICMKKyAgICAg
ICAgICAgICAgICAjID4gV2hlbiBkYnVzLWxhdW5jaCBwcmludHMgYnVzIGluZm9ybWF0aW9uIHRv
IHN0YW5kYXJkIG91dHB1dCwKKyAgICAgICAgICAgICAgICAjID4gYnkgZGVmYXVsdCBpdCBpcyBp
biBhIHNpbXBsZSBrZXktdmFsdWUgcGFpcnMgZm9ybWF0LgorICAgICAgICAgICAgICAgIGZvciBs
aW5lIGluIGRidXNfY29uZi5zdHJpcCgpLnNwbGl0KCJcbiIpOgorICAgICAgICAgICAgICAgICAg
ICBrZXksIF8sIHZhbHVlID0gbGluZS5wYXJ0aXRpb24oIj0iKQorICAgICAgICAgICAgICAgICAg
ICBvcy5lbnZpcm9uW2tleV0gPSB2YWx1ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICBsb2dnZXIuY3JpdGljYWwoImRidXMgbm90IHJ1bm5pbmcgYW5kIGNhbid0IGJlIHN0YXJ0
ZWQiKQorICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy91dGls
cy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
YnJvd3NlcnV0aWxzL3V0aWxzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzZmVhY2JiNDc1ZTVjMzM1MWRhZjc5
YWMyYWVjMGE2NjZiODI2ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy91dGlscy5weQpAQCAt
MCwwICsxLDExMyBAQAoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0IHN1YnByb2Nl
c3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0YXJmaWxlCitpbXBvcnQgemlwZmlsZQorZnJvbSBpbyBp
bXBvcnQgQnl0ZXNJTworCitpbXBvcnQgcmVxdWVzdHMKKworbG9nZ2VyID0gbG9nZ2luZy5nZXRM
b2dnZXIoX19uYW1lX18pCisKKworY2xhc3MgS3dhcmdzKGRpY3QpOgorICAgIGRlZiBzZXRfaWZf
bm9uZShzZWxmLCBuYW1lLCB2YWx1ZSwgZXJyX2ZuPU5vbmUsIGRlc2M9Tm9uZSwgZXh0cmFfY29u
ZD1Ob25lKToKKyAgICAgICAgaWYgZGVzYyBpcyBOb25lOgorICAgICAgICAgICAgZGVzYyA9IG5h
bWUKKworICAgICAgICBpZiBzZWxmW25hbWVdIGlzIE5vbmU6CisgICAgICAgICAgICBpZiBleHRy
YV9jb25kIGlzIG5vdCBOb25lIGFuZCBub3QgZXh0cmFfY29uZChzZWxmKToKKyAgICAgICAgICAg
ICAgICByZXR1cm4KKyAgICAgICAgICAgIGlmIGNhbGxhYmxlKHZhbHVlKToKKyAgICAgICAgICAg
ICAgICB2YWx1ZSA9IHZhbHVlKCkKKyAgICAgICAgICAgIGlmIG5vdCB2YWx1ZToKKyAgICAgICAg
ICAgICAgICBpZiBlcnJfZm4gaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVy
biBlcnJfZm4oa3dhcmdzLCAiRmFpbGVkIHRvIGZpbmQgJXMiICUgZGVzYykKKyAgICAgICAgICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgIHNlbGZb
bmFtZV0gPSB2YWx1ZQorICAgICAgICAgICAgbG9nZ2VyLmluZm8oIlNldCAlcyB0byAlcyIgJSAo
ZGVzYywgdmFsdWUpKQorCisKK2RlZiBjYWxsKCphcmdzKToKKyAgICAiIiJMb2cgdGVybWluYWwg
Y29tbWFuZCwgaW52b2tlIGl0IGFzIGEgc3VicHJvY2Vzcy4KKworICAgIFJldHVybnMgYSBieXRl
c3RyaW5nIG9mIHRoZSBzdWJwcm9jZXNzIG91dHB1dCBpZiBubyBlcnJvci4KKyAgICAiIiIKKyAg
ICBsb2dnZXIuZGVidWcoIiVzIiAlICIgIi5qb2luKGFyZ3MpKQorICAgIHRyeToKKyAgICAgICAg
cmV0dXJuIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGFyZ3MpCisgICAgZXhjZXB0IHN1YnByb2Nl
c3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6CisgICAgICAgIGxvZ2dlci5jcml0aWNhbCgiJXMg
ZXhpdGVkIHdpdGggcmV0dXJuIGNvZGUgJWkiICUKKyAgICAgICAgICAgICAgICAgICAgICAgIChl
LmNtZCwgZS5yZXR1cm5jb2RlKSkKKyAgICAgICAgbG9nZ2VyLmNyaXRpY2FsKGUub3V0cHV0KQor
ICAgICAgICByYWlzZQorCisKK2RlZiBnZXRfZ2l0X2NtZChyZXBvX3BhdGgpOgorICAgICIiIkNy
ZWF0ZSBhIGZ1bmN0aW9uIGZvciBpbnZva2luZyBnaXQgY29tbWFuZHMgYXMgYSBzdWJwcm9jZXNz
LiIiIgorICAgIGRlZiBnaXQoY21kLCAqYXJncyk6CisgICAgICAgIGZ1bGxfY21kID0gWyJnaXQi
LCBjbWRdICsgbGlzdChhcmdzKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBsb2dnZXIuZGVi
dWcoIiAiLmpvaW4oZnVsbF9jbWQpKQorICAgICAgICAgICAgcmV0dXJuIHN1YnByb2Nlc3MuY2hl
Y2tfb3V0cHV0KGZ1bGxfY21kLCBjd2Q9cmVwb19wYXRoLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERP
VVQpLnN0cmlwKCkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9y
IGFzIGU6CisgICAgICAgICAgICBsb2dnZXIuZXJyb3IoIkdpdCBjb21tYW5kIGV4aXRlZCB3aXRo
IHN0YXR1cyAlaSIgJSBlLnJldHVybmNvZGUpCisgICAgICAgICAgICBsb2dnZXIuZXJyb3IoZS5v
dXRwdXQpCisgICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgIHJldHVybiBnaXQKKworCitkZWYg
c2Vla2FibGUoZmlsZW9iaik6CisgICAgIiIiQXR0ZW1wdCB0byB1c2UgZmlsZS5zZWVrIG9uIGdp
dmVuIGZpbGUsIHdpdGggZmFsbGJhY2tzLiIiIgorICAgIHRyeToKKyAgICAgICAgZmlsZW9iai5z
ZWVrKGZpbGVvYmoudGVsbCgpKQorICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgIHJldHVy
biBCeXRlc0lPKGZpbGVvYmoucmVhZCgpKQorICAgIGVsc2U6CisgICAgICAgIHJldHVybiBmaWxl
b2JqCisKKworZGVmIHVudGFyKGZpbGVvYmosIGRlc3Q9Ii4iKToKKyAgICAiIiJFeHRyYWN0IHRh
ciBhcmNoaXZlLiIiIgorICAgIGxvZ2dlci5kZWJ1ZygidW50YXIiKQorICAgIGZpbGVvYmogPSBz
ZWVrYWJsZShmaWxlb2JqKQorICAgIHdpdGggdGFyZmlsZS5vcGVuKGZpbGVvYmo9ZmlsZW9iaikg
YXMgdGFyX2RhdGE6CisgICAgICAgIHRhcl9kYXRhLmV4dHJhY3RhbGwocGF0aD1kZXN0KQorCisK
K2RlZiB1bnppcChmaWxlb2JqLCBkZXN0PU5vbmUsIGxpbWl0PU5vbmUpOgorICAgICIiIkV4dHJh
Y3QgemlwIGFyY2hpdmUuIiIiCisgICAgbG9nZ2VyLmRlYnVnKCJ1bnppcCIpCisgICAgZmlsZW9i
aiA9IHNlZWthYmxlKGZpbGVvYmopCisgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoZmlsZW9iaikg
YXMgemlwX2RhdGE6CisgICAgICAgIGZvciBpbmZvIGluIHppcF9kYXRhLmluZm9saXN0KCk6Cisg
ICAgICAgICAgICBpZiBsaW1pdCBpcyBub3QgTm9uZSBhbmQgaW5mby5maWxlbmFtZSBub3QgaW4g
bGltaXQ6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHppcF9kYXRhLmV4
dHJhY3QoaW5mbywgcGF0aD1kZXN0KQorICAgICAgICAgICAgcGVybSA9IGluZm8uZXh0ZXJuYWxf
YXR0ciA+PiAxNiAmIDB4MUZGCisgICAgICAgICAgICBvcy5jaG1vZChvcy5wYXRoLmpvaW4oZGVz
dCwgaW5mby5maWxlbmFtZSksIHBlcm0pCisKKworY2xhc3MgcHdkKG9iamVjdCk6CisgICAgIiIi
Q3JlYXRlIGNvbnRleHQgZm9yIHRlbXBvcmFyaWx5IGNoYW5naW5nIHByZXNlbnQgd29ya2luZyBk
aXJlY3RvcnkuIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRpcik6CisgICAgICAgIHNlbGYu
ZGlyID0gZGlyCisgICAgICAgIHNlbGYub2xkX2RpciA9IE5vbmUKKworICAgIGRlZiBfX2VudGVy
X18oc2VsZik6CisgICAgICAgIHNlbGYub2xkX2RpciA9IG9zLnBhdGguYWJzcGF0aChvcy5jdXJk
aXIpCisgICAgICAgIG9zLmNoZGlyKHNlbGYuZGlyKQorCisgICAgZGVmIF9fZXhpdF9fKHNlbGYs
ICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIG9zLmNoZGlyKHNlbGYub2xkX2RpcikKKyAgICAg
ICAgc2VsZi5vbGRfZGlyID0gTm9uZQorCisKK2RlZiBnZXQodXJsKToKKyAgICAiIiJJc3N1ZSBH
RVQgcmVxdWVzdCB0byBhIGdpdmVuIFVSTCBhbmQgcmV0dXJuIHRoZSByZXNwb25zZS4iIiIKKyAg
ICBsb2dnZXIuZGVidWcoIkdFVCAlcyIgJSB1cmwpCisgICAgcmVzcCA9IHJlcXVlc3RzLmdldCh1
cmwsIHN0cmVhbT1UcnVlKQorICAgIHJlc3AucmFpc2VfZm9yX3N0YXR1cygpCisgICAgcmV0dXJu
IHJlc3AKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL3ZpcnR1YWxlbnYucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy92aXJ0dWFsZW52
LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE2ODc4MDA4MzJjZGIxOTM0ZDI4OGJhZjNmZjEzZjk1MjhmZjE1N2UK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy92aXJ0dWFsZW52LnB5CkBAIC0wLDAgKzEsNDkgQEAK
K2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IGxvZ2dpbmcKK2Zyb20gZGlzdHV0aWxzLnNw
YXduIGltcG9ydCBmaW5kX2V4ZWN1dGFibGUKKworZnJvbSB1dGlscyBpbXBvcnQgY2FsbAorCits
b2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKKworY2xhc3MgVmlydHVhbGVudihv
YmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoKToKKyAgICAgICAgc2VsZi5wYXRo
ID0gcGF0aAorICAgICAgICBzZWxmLnZpcnR1YWxlbnYgPSBmaW5kX2V4ZWN1dGFibGUoInZpcnR1
YWxlbnYiKQorICAgICAgICBpZiBub3Qgc2VsZi52aXJ0dWFsZW52OgorICAgICAgICAgICAgcmFp
c2UgVmFsdWVFcnJvcigidmlydHVhbGVudiBtdXN0IGJlIGluc3RhbGxlZCBhbmQgb24gdGhlIFBB
VEgiKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGV4aXN0cyhzZWxmKToKKyAgICAgICAgcmV0
dXJuIG9zLnBhdGguaXNkaXIoc2VsZi5wYXRoKQorCisgICAgZGVmIGNyZWF0ZShzZWxmKToKKyAg
ICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5wYXRoKToKKyAgICAgICAgICAgIHNodXRpbC5y
bXRyZWUoc2VsZi5wYXRoKQorICAgICAgICBjYWxsKHNlbGYudmlydHVhbGVudiwgIi0tbm8tZG93
bmxvYWQiLCBzZWxmLnBhdGgpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgYmluX3BhdGgoc2Vs
Zik6CisgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSBpbiAoIndpbjMyIiwgImN5Z3dpbiIpOgorICAg
ICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihzZWxmLnBhdGgsICJTY3JpcHRzIikKKyAgICAg
ICAgcmV0dXJuIG9zLnBhdGguam9pbihzZWxmLnBhdGgsICJiaW4iKQorCisgICAgQHByb3BlcnR5
CisgICAgZGVmIHBpcF9wYXRoKHNlbGYpOgorICAgICAgICBwYXRoID0gZmluZF9leGVjdXRhYmxl
KCJwaXAiLCBzZWxmLmJpbl9wYXRoKQorICAgICAgICBpZiBwYXRoIGlzIE5vbmU6CisgICAgICAg
ICAgICByYWlzZSBWYWx1ZUVycm9yKCJwaXAgbm90IGZvdW5kIikKKyAgICAgICAgcmV0dXJuIHBh
dGgKKworICAgIGRlZiBhY3RpdmF0ZShzZWxmKToKKyAgICAgICAgcGF0aCA9IG9zLnBhdGguam9p
bihzZWxmLmJpbl9wYXRoLCAiYWN0aXZhdGVfdGhpcy5weSIpCisgICAgICAgIGV4ZWNmaWxlKHBh
dGgsIHsiX19maWxlX18iOiBwYXRofSkKKworICAgIGRlZiBzdGFydChzZWxmKToKKyAgICAgICAg
aWYgbm90IHNlbGYuZXhpc3RzOgorICAgICAgICAgICAgc2VsZi5jcmVhdGUoKQorICAgICAgICBz
ZWxmLmFjdGl2YXRlKCkKKworICAgIGRlZiBpbnN0YWxsX3JlcXVpcmVtZW50cyhzZWxmLCByZXF1
aXJlbWVudHNfcGF0aCk6CisgICAgICAgIGNhbGwoc2VsZi5waXBfcGF0aCwgImluc3RhbGwiLCAi
LXIiLCByZXF1aXJlbWVudHNfcGF0aCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93
c2VydXRpbHMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQ3OTU0NjI2ZmRiMjMwZDdmN2Vj
ZWQ5NWJiOTBjMmE1MTVkNGJjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL3czYy1pbXBvcnQu
bG9nCkBAIC0wLDAgKzEsMjAgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL19faW5pdF9fLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMv
YnJvd3Nlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvYnJvd3NlcnV0aWxzL3V0aWxzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMvdmlydHVhbGVudi5weQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9j
b25mdGVzdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvY29uZnRlc3QucHkKaW5kZXggMDEwNzg2ZjFhMTgyZTAyY2UxNWExMDlmOWFlMjdhNzlj
ODYxYmUyMC4uODk0ZmU2MjIzZWE1M2E3NzA2N2Q3NTU2ZGJhNmE1MzBhZmJlYTk5NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9j
b25mdGVzdC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2NvbmZ0ZXN0LnB5CkBAIC01LDkgKzUsOCBAQCBmcm9tIGh5cG90aGVzaXMgaW1w
b3J0IHNldHRpbmdzLCBIZWFsdGhDaGVjawogCiBpbXBsID0gcGxhdGZvcm0ucHl0aG9uX2ltcGxl
bWVudGF0aW9uKCkKIAotc2V0dGluZ3MucmVnaXN0ZXJfcHJvZmlsZSgiY2kiLCBzZXR0aW5ncyht
YXhfZXhhbXBsZXM9MTAwMCkpCi1zZXR0aW5ncy5yZWdpc3Rlcl9wcm9maWxlKCJjaV9weXB5Iiwg
c2V0dGluZ3MobWF4X2V4YW1wbGVzPTEwMDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3VwcHJlc3NfaGVhbHRoX2NoZWNrPVtIZWFsdGhDaGVjay50b29f
c2xvd10pKQorc2V0dGluZ3MucmVnaXN0ZXJfcHJvZmlsZSgiY2kiLCBzZXR0aW5ncyhtYXhfZXhh
bXBsZXM9MTAwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vw
cHJlc3NfaGVhbHRoX2NoZWNrPVtIZWFsdGhDaGVjay50b29fc2xvd10pKQogc2V0dGluZ3MucmVn
aXN0ZXJfcHJvZmlsZSgicHlweSIsIHNldHRpbmdzKHN1cHByZXNzX2hlYWx0aF9jaGVjaz1bSGVh
bHRoQ2hlY2sudG9vX3Nsb3ddKSkKIAogc2V0dGluZ3MubG9hZF9wcm9maWxlKG9zLmdldGVudigi
SFlQT1RIRVNJU19QUk9GSUxFIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL3Rlc3RzL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRp
Z25vcmUvdGVzdHMvdzNjLWltcG9ydC5sb2cKaW5kZXggYmUxYzMxOThjMDM5ZWFjYjlmYWE3NDg3
ZmJjNzdjYzg1M2VjMWI0Mi4uMjVlOTA4YWFjZWRmNzg0NDA2NWU2NjQ2ZmZmY2MzMGZjYzRiODI4
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9naXRpZ25vcmUvdGVzdHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvdGVzdHMvdzNj
LWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvZ2l0aWdub3JlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvdzNjLWltcG9ydC5sb2cK
aW5kZXggYzI2MzNjMzM5YzU0Y2JlMjNiNDRmNTcyODcyZGU4NDUzYWJhNTgwMC4uZTAyNTU3ZmYx
NmY1NmIyZGEwMWMyNmVkZjM0ZDlhODA4NGIyYTJiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvdzNjLWltcG9y
dC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9naXRpZ25vcmUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9jL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9kb2MvdzNjLWltcG9ydC5sb2cKaW5kZXggZWYzZmJlN2FmN2IyZDliMWFmOGJlNjQxMzA5
OTgwYmI5ZWMyZWY0NC4uYWE5YjM5ZmZkOTM4ZDNhZGFhY2YyNDA2MmJiZGUxNjQ1NWJiMDJjYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9kb2MvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9kb2MvdzNjLWltcG9ydC5s
b2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10
ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
ZmlsdGVycy93M2MtaW1wb3J0LmxvZwppbmRleCA3MzEwNTI4NDJhMGRiNDAwZjZmNWU0ODdhZWU5
ZDBkZDU1Y2EwNWQ4Li41MjMwMjRhNGFiZWQ1YmRkMjdlM2NkMmVhZGFhNTRhNDUyMzgzYzk0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL2ZpbHRlcnMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi9maWx0ZXJzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3NlcmlhbGl6ZXIv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3NlcmlhbGl6ZXIvdzNjLWltcG9ydC5sb2cKaW5k
ZXggZTYzZmQ4NzJmNjMwYTcxYzlhZmQxZjU2MmExNTU2YjU0YmU0ZmIyNS4uMGU5ODQ5ZmMwODc5
YzM2OGQ1N2YwMzYwYTRkNzcxMzdjZmY5N2FjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9zZXJp
YWxpemVyL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvc2VyaWFsaXplci93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApAQCAtMTYsNCArMTUsNiBAQCBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9odG1sNWxpYi9zZXJpYWxpemVyL19faW5pdF9fLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9zZXJpYWxp
emVyL19faW5pdF9fLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvc2VyaWFsaXplci9odG1sc2VyaWFsaXplci5w
eQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvc2VyaWFsaXplci9odG1sc2VyaWFsaXplci5weWMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvdGVzdHMvcGVyZm9ybWFuY2UvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGli
L3Rlc3RzL3BlcmZvcm1hbmNlL3czYy1pbXBvcnQubG9nCmluZGV4IDU1NDA4NzBjMjUxYzk5ZTBm
MjBlY2ExNGRkODA4NWE0Njg2NTU3NmMuLmM2NzBlZjlmOWEwM2VlZGEzN2M0OTEzZDhkOTRlNWZm
OTZhZWE0OTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvcGVyZm9ybWFuY2UvdzNjLWlt
cG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy9wZXJmb3JtYW5jZS93M2MtaW1wb3J0Lmxv
ZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRl
c3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9lbmNvZGluZy9jaGFyZGV0L3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9lbmNvZGluZy9jaGFyZGV0L3cz
Yy1pbXBvcnQubG9nCmluZGV4IDU0NTE1NDAzMGM0Y2NkNzljNDE3NGIxYjY5ZmY5NTc2OGE4Yzlk
MzkuLmI0NzI4NWZlZTczYTM5Y2FmN2RjNzdkODM0ZDIwZDJmNDU1M2U1YmUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvZW5jb2RpbmcvY2hhcmRldC93M2MtaW1wb3J0Lmxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL2VuY29kaW5nL2NoYXJkZXQvdzNjLWlt
cG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9j
c3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvZW5jb2RpbmcvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL2VuY29kaW5nL3czYy1pbXBvcnQu
bG9nCmluZGV4IDQzMDFkZmM3ZjA5YzY5MTA1ZDg2NzE3NWJlNGFmNzFhZTE3MDRkODEuLmExMmVj
YzUxZjYwNDQxODE1N2JlZDcyOTgxNGYyMmQ1MzVkODRhNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVs
aWIvdGVzdHMvdGVzdGRhdGEvZW5jb2RpbmcvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi90ZXN0cy90ZXN0ZGF0YS9lbmNvZGluZy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAK
IFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyBy
ZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQu
Ci1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdp
dGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi90ZXN0cy90ZXN0ZGF0YS9zYW5pdGl6ZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rl
c3RzL3Rlc3RkYXRhL3Nhbml0aXplci93M2MtaW1wb3J0LmxvZwppbmRleCAwZmYyYTJhMzRjODkw
YjIwNjExZDczMzcwYjE2MGYwM2JlZjgxYjZjLi4zYTEzOGI3Yjc0NjUzNzRmODRiOWVkNWM4MzE0
MTRjYzM0YzgwN2MwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3Nhbml0
aXplci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3Nhbml0
aXplci93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9zZXJp
YWxpemVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9zZXJpYWxp
emVyL3czYy1pbXBvcnQubG9nCmluZGV4IDgyYTU3YmE0ZTJmYTczNWQyNDI1N2JlZDlmMTFjZTI0
OWFkMjEzZmUuLmY1YWJmYzc3ODE1MDQzNDBkNWZjNTQ4NzQ4ZmM3NTJkYjAwOTAyOTYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
aHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvc2VyaWFsaXplci93M2MtaW1wb3J0Lmxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3NlcmlhbGl6ZXIvdzNjLWltcG9ydC5s
b2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10
ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvc25pZmZlci93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvc25pZmZlci93M2MtaW1wb3J0LmxvZwppbmRl
eCBlYjQwZDUxNDNhODE2ZGU0YzQ5YzVkOTlmNzJhZTQ5MDIxNmM4ODQ5Li43MDJiYzhjNDRiZDQ2
Y2UyMzU5ODg2OWJkZTUwODhiYjhmODc4MGYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3Rz
L3Rlc3RkYXRhL3NuaWZmZXIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90
ZXN0ZGF0YS9zbmlmZmVyL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rl
c3RkYXRhL3Rva2VuaXplci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRh
dGEvdG9rZW5pemVyL3czYy1pbXBvcnQubG9nCmluZGV4IGFmMjhlMDgwZjNkNjc0ZDI2ZGQyYTk0
ODMzNDdhOGFiMjM5MzdkMDYuLmU0YmI4MDc0ZTY0MTkwOTJkZTVhYTI4M2UzOTlmZjQzZmYyMDYw
MzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdG9rZW5pemVyL3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdG9rZW5pemVyL3czYy1p
bXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
Y3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3RyZWUtY29uc3RydWN0
aW9uL3NjcmlwdGVkL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS90
cmVlLWNvbnN0cnVjdGlvbi9zY3JpcHRlZC93M2MtaW1wb3J0LmxvZwppbmRleCAzY2E5YTBhZmNl
MzhlMDI4M2U2MTY4MTgxZDA4YTkwNDVkYTE5MTExLi5hY2M5Yzg3NjBlNmY4NDJlNjdiYjM4ZGFi
MGYzZjYwZDkxMDE2MDVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3Ry
ZWUtY29uc3RydWN0aW9uL3NjcmlwdGVkL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
dGVzdHMvdGVzdGRhdGEvdHJlZS1jb25zdHJ1Y3Rpb24vc2NyaXB0ZWQvdzNjLWltcG9ydC5sb2cK
QEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRl
ZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGly
ZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
M0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
aHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdHJlZS1jb25zdHJ1Y3Rpb24vdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3RyZWUtY29uc3RydWN0aW9uL3cz
Yy1pbXBvcnQubG9nCmluZGV4IDk3YjQ3YzVkOWEzNTFmMGU0Y2U1M2MzOTJkYTJjYjM4OWFiZWE4
Y2UuLjUxMDA3ZGYxOWI2N2UwMWY5MGM5OTRmMDVkZGM2NmEwNmMzNWIyYmEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdHJlZS1jb25zdHJ1Y3Rpb24vdzNjLWltcG9ydC5s
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS90cmVlLWNvbnN0cnVjdGlvbi93M2Mt
aW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS92YWxpZGF0b3IvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3ZhbGlkYXRvci93M2MtaW1w
b3J0LmxvZwppbmRleCBhNmYyMGQ4YWM5ZTE1ZjA1MjRkN2I5NDI1YWNkYTRiN2IxOGNjM2I3Li5m
Y2JhNDQxNGMyNWM4MmQxYzU0MDllZWIwYzM4OGZiNzU4OTk4NmFiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0
bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3ZhbGlkYXRvci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0
bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3ZhbGlkYXRvci93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsx
LDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3Ig
V1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMv
dGVzdGRhdGEvdzNjLWltcG9ydC5sb2cKaW5kZXggOTc0MmNlNTE4YjU1ZjUyNzIyYzJkMDc5MzI2
YmFhMGJkNDJmZDE5Yi4uNjZmZWYyZDI4NmI5MjEzNTY3NDdmODI4ODA4ZGI3NGI1ODEyNGRjNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBA
QAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQg
Z2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1
bGliL3Rlc3RzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy93M2MtaW1wb3J0Lmxv
ZwppbmRleCA3MmNiMTdiM2U4MGRiZTc1YjkxZTNkNzhjNDhlNjFjYzE0ZTVhNmVhLi43NGUwMzQ2
ZWFiNmIxZWUwYTVkZjNhMjk0MTdiMTNmNzU2NGE1NDRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGli
L3Rlc3RzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdzNjLWltcG9ydC5s
b2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10
ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWFkYXB0ZXJzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90cmVlYWRhcHRlcnMvdzNjLWltcG9ydC5sb2cKaW5kZXggZTk1MjczZDgzMmYyNWZiYjM2
OWFiYjc4NmE2MDNiZDRkOTdiNmJlMC4uZGJjZWIyNDFlMmQxYzAyODhmYjAyODRkYmM3NGM4Yjg4
OGIzZjM3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVlYWRhcHRlcnMvdzNjLWltcG9ydC5s
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi90cmVlYWRhcHRlcnMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyAr
MSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9y
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
aHRtbDVsaWIvdHJlZWJ1aWxkZXJzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVlYnVp
bGRlcnMvdzNjLWltcG9ydC5sb2cKaW5kZXggOTBjMzFlZTQzZTUyZDJiMWM5ZTliOTcxODg4ZDNi
NTE5MzEwZDViYS4uMmE3NjYwMjBiNzY1OTA2NGMwNmIzNTNiMGQ2ZWUyNjNjNzE2OTdjMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi90cmVlYnVpbGRlcnMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi90cmVlYnVpbGRlcnMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKQEAgLTE2LDcgKzE1LDkgQEAgTm9uZQogLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL19f
aW5pdF9fLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVlYnVpbGRlcnMvX19pbml0X18ucHljCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90cmVlYnVpbGRlcnMvX2Jhc2UucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWVidWlsZGVycy9fYmFz
ZS5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL3RyZWVidWlsZGVycy9kb20ucHkKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWVi
dWlsZGVycy9ldHJlZS5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2V0cmVlX2x4bWwucHkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0
bWw1bGliL3RyZWV3YWxrZXJzL3czYy1pbXBvcnQubG9nCmluZGV4IDYyYWQ1NGY3MDdhMTE2NWU0
MGVlNWQxNjEwNGQ3N2Q1MmEyNjlkY2YuLjQzOTFmN2MwOWU0MjBlMmYyN2FhZTliMjdkNzY3MWM5
Yjc4MzgyOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvdzNjLWltcG9ydC5s
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi90cmVld2Fsa2Vycy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsx
LDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3Ig
V1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApAQCAtMTYsNiArMTUsNyBA
QCBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVl
d2Fsa2Vycy9fX2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvX19pbml0X18ucHlj
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9odG1sNWxpYi90cmVld2Fsa2Vycy9fYmFzZS5weQogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtl
cnMvZG9tLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVld2Fsa2Vycy9ldHJlZS5weQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxp
Yi9odG1sNWxpYi90cmllL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmllL3czYy1pbXBv
cnQubG9nCmluZGV4IGZjOTBlZjE1NGJiNWQ0M2RlNjEzZDFiNzI1ZWRhYmQ4NTc2ZjRiMTYuLjgy
ZWJmZWU3NDU1NmU1NDQ0ZmRjY2EzMmNlNmQwNzljNGFhMWI2M2UgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRt
bDVsaWIvdHJpZS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUvdzNjLWltcG9y
dC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3
Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
QEAgLTE2LDYgKzE1LDEwIEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL2h0bWw1bGliL3RyaWUvX19pbml0X18ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUvX19pbml0X18u
cHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9o
dG1sNWxpYi9odG1sNWxpYi90cmllL19iYXNlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmllL19iYXNlLnB5
YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvdHJpZS9kYXRyaWUucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUvZGF0cmllLnB5
YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvdHJpZS9weS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJpZS9weS5weWMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
aHRtbDVsaWIvaHRtbDVsaWIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3czYy1pbXBvcnQu
bG9nCmluZGV4IGFlNWNlOWE0MDNhZWFhYzI5MjFmMjBkMjgxZWFhY2M2MWEwYThkZmQuLjU1YzJm
YTA0MzQzYTkwNGIyZmJiMDg2MjU2YjhlOThlODYxY2U0NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVs
aWIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi93M2MtaW1wb3J0LmxvZwpAQCAtMSw3
ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mg
b3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApAQCAtMTYsMTAgKzE1
LDE2IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGli
L19faW5pdF9fLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9fX2luaXRfXy5weWMKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL2NvbnN0
YW50cy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvY29uc3RhbnRzLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvaHRtbDVwYXJz
ZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL2h0bWw1cGFyc2VyLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvaWhhdGV4bWwu
cHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0
bWw1bGliL2h0bWw1bGliL2lucHV0c3RyZWFtLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9pbnB1dHN0cmVhbS5w
eWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0
bWw1bGliL2h0bWw1bGliL3Nhbml0aXplci5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdG9rZW5pemVyLnB5Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxp
Yi9odG1sNWxpYi90b2tlbml6ZXIucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi91dGlscy5weQorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVs
aWIvdXRpbHMucHljCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3V0aWxzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi91dGls
cy93M2MtaW1wb3J0LmxvZwppbmRleCBjYWQ3MjI2MDgxM2U1ZmY0NWJmNTVkMGUwYTRiMjgzMzU5
NjM5NDA0Li40YjRmNTJiMjgyZTQ4MWQzZDU2NDAxZGE0MGUwN2M4YWVkODhmMWU1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0
bWw1bGliL3V0aWxzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvdXRpbHMvdzNjLWltcG9ydC5sb2cK
QEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRl
ZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGly
ZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
M0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
aHRtbDVsaWIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3czYy1pbXBvcnQubG9nCmluZGV4IGY5NjRkOTUy
NGU1OTZjZmMxM2ZmYmY0NjRkYjgyNDA0ZGQ1ZjNmMmEuLjkwNTZhNDJkZjM0MzQyM2I5NWM0YWM5
YTE5NGIzOWY1ODgwZmZjNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9saW50L2xpbnQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvbGludC5weQppbmRleCAwMGZhNmE5ZjAxMWNhNTJi
NzI4N2JlYWU3ODFhMmUxNDQ4ZWQyYjc4Li5lYWM4OGQ2ZDVlMGMxODFjZWIwNDI5NWM0NmJjNzg3
ZjhjMzIwYzVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2xpbnQvbGludC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvbGludC5weQpAQCAtNDUsNyArNDUsNyBA
QCBzZXR1cF9sb2dnaW5nKCkKIAogCiBFUlJPUl9NU0cgPSAiIiJZb3UgbXVzdCBmaXggYWxsIGVy
cm9yczsgZm9yIGRldGFpbHMgb24gaG93IHRvIGZpeCB0aGVtLCBzZWUKLWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Jsb2IvbWFzdGVyL2RvY3MvbGludC10b29sLm1k
CitodHRwOi8vd2ViLXBsYXRmb3JtLXRlc3RzLm9yZy93cml0aW5nLXRlc3RzL2xpbnQtdG9vbC5o
dG1sCiAKIEhvd2V2ZXIsIGluc3RlYWQgb2YgZml4aW5nIGEgcGFydGljdWxhciBlcnJvciwgaXQn
cyBzb21ldGltZXMKIE9LIHRvIGFkZCBhIGxpbmUgdG8gdGhlIGxpbnQud2hpdGVsaXN0IGZpbGUg
aW4gdGhlIHJvb3Qgb2YgdGhlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRj
aC9zdXBwb3J0L3Rvb2xzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0
Y2gvc3VwcG9ydC90b29scy93M2MtaW1wb3J0LmxvZwppbmRleCA3NTM4NTc2YzExYzQwOTE1NzQz
NmE0MmNlNGZmNzk5NTJjNTc2OTAwLi45ZTBiMDI4MjFhMDJmZDUxNDhhZmE2ZDZlODFlOTlhNmY3
YzI0NjU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRjaC9zdXBwb3J0L3Rv
b2xzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL21hdGNoL3N1cHBv
cnQvdG9vbHMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL21hdGNo
L3N1cHBvcnQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRjaC9zdXBw
b3J0L3czYy1pbXBvcnQubG9nCmluZGV4IDEyYTY2MjVhNTViODIwODJlMzg5ZTY1Njc0MjgyMTBi
MTNiNmEyNGEuLjg0ZjVhYjA4ZmI5ODlkZWViYzU1MTBkMWRlYzg4NGI2NDlmZTAxNGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
bGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL21hdGNoL3N1cHBvcnQvdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9s
aW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvc3VwcG9ydC93M2MtaW1wb3J0LmxvZwpA
QCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFcz
QyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QK
K0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9s
aW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvdG9vbHMvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVz
dHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRjaC90b29scy93M2MtaW1wb3J0LmxvZwppbmRleCA5NDUx
M2UwZGIxYmZjMjkyODEyNWVmZTliZGE0YTkzOTE2ZjBjZmNjLi41MGJmOWUzZTczYjA3NDU3MTkw
M2ExYmU3OGYyZjBjZGI5NTY4MmFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9t
YXRjaC90b29scy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRj
aC90b29scy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRjaC93M2MtaW1wb3J0Lmxv
ZwppbmRleCBmNmY0MTliMGVlNGQ5NWY0MThmNjcxZWEzZGE2NTIwMDA5NzQ3MjAxLi45YWEyZTky
MmI4MjIxZmYyZTA3NmVjMWIwNTZkYjA2MTQxYWQzYjZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkv
Y3NzLXVuaXF1ZS9tYXRjaC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1
ZS9tYXRjaC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbm90LW1h
dGNoL3N1cHBvcnQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0
Y2gvc3VwcG9ydC93M2MtaW1wb3J0LmxvZwppbmRleCA4YjZiNjNlZWQyZTA1NmU0YWFjYzhmYjk1
MzM1YTU4YjEwMWFhNDk3Li5hNmEzMjM1OWY5NTZhYzRjODkwZGRjMjE3MTcwM2MyZjg3MDdlNDkw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0Y2gvc3VwcG9ydC93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0Y2gvc3VwcG9ydC93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbm90LW1hdGNoL3Rvb2xz
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbm90LW1hdGNoL3Rvb2xzL3cz
Yy1pbXBvcnQubG9nCmluZGV4IDBkZWZmMzhmNmVhZmI3ZTk2NzQzYzg3NTI5OGNkZmRmMmY5MGY3
NzguLjE4ZTk4NDAyZDhhM2YxOGQ4YmNmYWEzZjI5YTMxNmRlYzBkODk3OWQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90
ZXN0cy9kdW1teS9jc3MtdW5pcXVlL25vdC1tYXRjaC90b29scy93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQv
dGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0Y2gvdG9vbHMvdzNjLWltcG9ydC5sb2cKQEAg
LTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBm
cm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0
bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0Mg
Q1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGlu
dC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL25vdC1tYXRjaC93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9k
dW1teS9jc3MtdW5pcXVlL25vdC1tYXRjaC93M2MtaW1wb3J0LmxvZwppbmRleCA1YzlkYjg5Mzkz
OGIzY2NkNTU1YmE0ZGNkMTdmZjQ1OWNlNWYxNjFlLi42NzZiZDE1MDVhMjUwMGU5NDVjYjZiODMx
ZGFmZDgxOTlhYTlhYzhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0
Y2gvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbm90LW1hdGNoL3cz
Yy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQg
Z2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRo
ZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJl
aW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9zZWxlY3RvcnMvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9zZWxlY3RvcnMvdzNjLWltcG9ydC5sb2cK
aW5kZXggYTlkMGYxNjc3YTg4ZTgxMzU1MTExZjZkOTM4M2VkNzEzNDdlMTlkYi4uZjJjOTYzMDY2
M2U1MTM0ZmE1Mzc5MTg3ZDVkMjczMjA3YWQ5ZGUyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nz
cy11bmlxdWUvc2VsZWN0b3JzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5p
cXVlL3NlbGVjdG9ycy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgog
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUv
c3VwcG9ydC90b29scy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3N1cHBv
cnQvdG9vbHMvdzNjLWltcG9ydC5sb2cKaW5kZXggYjJhNGZkZDY5NmQ1ZjRkMmVlOTI0YWNmMDI1
ODc2ZTZkODlhNGViNi4uZDMyODI1Y2E3ZmFiODkwYmFjZTlmMmE3MDA0ZWQ0ZDZiZGViNDg5NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvc3VwcG9ydC90b29scy93M2MtaW1wb3J0
LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9zdXBwb3J0L3Rvb2xzL3czYy1pbXBvcnQu
bG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1w
b3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3Rz
IGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ct
dGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgog
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9zdXBwb3J0L3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rl
c3RzL2R1bW15L2Nzcy11bmlxdWUvc3VwcG9ydC93M2MtaW1wb3J0LmxvZwppbmRleCA2NGY0NTVl
NWE1NjU4MTYzZjJkY2NhOGQ0NDNjYWI2YTdmY2Q2MDQ0Li5jYjE3NTY0MjM4Yjc4MTcyYzFkMDY3
YzQ2YmY1ZDM2YTVmOGQxNTE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9zdXBw
b3J0L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3N1cHBvcnQvdzNj
LWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3Rvb2xzL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9s
aW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvdG9vbHMvdzNjLWltcG9ydC5sb2cKaW5kZXggNjE0
NzdlOThkZmM3ZDNmODIyYTM2MjczOWNkNjc1ZGJkNWU3ZjYxZC4uODRiZGU1NzczYzdhNGZlNmJh
YjVmZDRiMTg3ZTZiMGQxYmFkZWU4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUv
dG9vbHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvdG9vbHMvdzNj
LWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rl
c3RzL2R1bW15L2Nzcy11bmlxdWUvdzNjLWltcG9ydC5sb2cKaW5kZXggYzc5OTgzYWQ3YmE2OTY1
ZjliMDU1MjdjZDZhNGYyMmU2ZTk5NmQ3OS4uMzk1NzEzODQ0M2M2NDFhY2M4NTQzOWM5YTBjNzg2
ZTdhZTJiNzBiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvdzNjLWltcG9ydC5s
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2
IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQ
VCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9k
dW1teS9jc3Mvd29yay1pbi1wcm9ncmVzcy9mb28vc3VwcG9ydC93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0
cy9kdW1teS9jc3Mvd29yay1pbi1wcm9ncmVzcy9mb28vc3VwcG9ydC93M2MtaW1wb3J0LmxvZwpp
bmRleCA5YmQ4OWFjODAyMDEzYmEwNDg5ZjdmMDBmNmFjYjM2MWJhZDFlNmMxLi44NzdiODE3Nzhi
NWExNjY1ZDIzZWMxNjAyYTljOGMwYTNmMjk3ODIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3Nz
L3dvcmstaW4tcHJvZ3Jlc3MvZm9vL3N1cHBvcnQvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1
bW15L2Nzcy93b3JrLWluLXByb2dyZXNzL2Zvby9zdXBwb3J0L3czYy1pbXBvcnQubG9nCkBAIC0x
LDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENT
UyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQv
dGVzdHMvZHVtbXkvcmVmL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L3JlZi93M2MtaW1wb3J0
LmxvZwppbmRleCA5NWUxNTZiYzc0ZjhiNzVlMWFmNWVhZWVlOWUxZWQ0YTg5YjllNjE0Li41NjAy
NzYzNDM0Y2I0ZjJiMzI3NTQzNGI1ODc2MjZkY2I4YmVkOTYzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVt
bXkvcmVmL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9yZWYvdzNjLWltcG9ydC5sb2cK
QEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRl
ZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGly
ZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
M0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
bGludC90ZXN0cy9kdW1teS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS93M2MtaW1wb3J0Lmxv
ZwppbmRleCA2YjM1MWU0OTgxMjE5M2JkY2YwN2JiZjBhNmMzMGI4NzEzYTRiN2Y0Li5kYmRlMmFj
YWNjNzY3YjQ5ODgxNTI5OTA3YTFjZjgwYzdkNmViYzg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEs
NiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBX
UFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2xpbnQvdGVzdHMvdzNjLWltcG9ydC5sb2cKaW5kZXggMGEyMGQxMjNlNzljZjE4
N2JhMTU5Njc4YzQ1Yzk2MzRhN2VkNGZmYi4uNmUwMjY3ZjM2NGE5OWYyMGU3MTZmNzk0NGZhNTJm
ZjI4NzhhYzBmNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy93M2Mt
aW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9saW50L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3czYy1pbXBvcnQubG9nCmluZGV4IDNlZGMw
NTYzMTNmODRkODNhMWI1ODcyY2Q2MDg2ZmIyNjZmNDM4ZGYuLjIyMzAwYWM0N2E0NzU0N2EzNWYw
NmFhYTA2YjY5NmRjNWEzOWYyYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdzNjLWlt
cG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9j
c3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvbG9jYWxwYXRocy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvbG9jYWxwYXRocy5weQppbmRleCBhNDkzMDAxNWMwNWFkOTc0MTZh
Yzk1MjBjMTk3MTg5NWM5YzcyNjIzLi5jOTMyZWY0YjkyZjFhYmYxM2EyMGNjYzY1OTM1MmNkZDUw
YzNkZTBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2xvY2FscGF0aHMucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9sb2NhbHBhdGhzLnB5CkBAIC01LDYgKzUsNyBAQCBo
ZXJlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguc3BsaXQoX19maWxlX18pWzBdKQogcmVwb19y
b290ID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihoZXJlLCBvcy5wYXJkaXIpKQogCiBz
eXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKGhlcmUpKQorc3lzLnBhdGguaW5zZXJ0KDAs
IG9zLnBhdGguam9pbihoZXJlLCAiYnJvd3NlcnV0aWxzIikpCiBzeXMucGF0aC5pbnNlcnQoMCwg
b3MucGF0aC5qb2luKGhlcmUsICJzaXgiKSkKIHN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpv
aW4oaGVyZSwgImh0bWw1bGliIikpCiBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKGhl
cmUsICJ3cHRzZXJ2ZSIpKQpAQCAtMTIsMyArMTMsNCBAQCBzeXMucGF0aC5pbnNlcnQoMCwgb3Mu
cGF0aC5qb2luKGhlcmUsICJweXdlYnNvY2tldCIsICJzcmMiKSkKIHN5cy5wYXRoLmluc2VydCgw
LCBvcy5wYXRoLmpvaW4oaGVyZSwgInB5IikpCiBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5q
b2luKGhlcmUsICJweXRlc3QiKSkKIHN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4oaGVy
ZSwgIndlYmRyaXZlciIpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihoZXJlLCAi
d3B0cnVubmVyIikpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L2NhdGFsb2cvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L2Nh
dGFsb2cvdzNjLWltcG9ydC5sb2cKaW5kZXggMmIwZDNjMWNlNzc1YmQwY2I2NTk5ODMzNzYwYjhh
NzYxYTVmMzgyOS4uYWY0ZDM3NzExY2ZlOGY0YTdiNTQ1ZWM4M2YxMzU5ODEyNzMwZWIwYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9tYW5pZmVzdC9jYXRhbG9nL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvY2F0YWxvZy93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9tYW5pZmVzdC90ZXN0cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdGVzdHMvdzNjLWltcG9y
dC5sb2cKaW5kZXggMWQ4ZGYwYjFmZjA5YzZhN2FlMWJhMzA5YzhhMjNiMTBkYmRiMTE4ZC4uNjky
NDdjYmU3ZmM2OTViZjQ2MGYzMmJmMjRhMWI0OWUxYjM1Y2E5MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC90ZXN0
cy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3Rlc3RzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEs
NiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBX
UFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9tYW5pZmVzdC93M2MtaW1wb3J0LmxvZwppbmRleCAyM2NmM2ViMzA3ZmM5NGRhZmNj
OWIyZGQ0YjZjYzM3NTM3YmEwMGRkLi5kNDMyZGU4NzkyOTg5OWNmOWJiOWNiZDU2NjI5ZTJmYTE0
N2E3MmJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL21hbmlmZXN0L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdzNjLWltcG9ydC5s
b2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10
ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKQEAg
LTE2LDExICsxNSwyMCBAQCBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVz
dC9YTUxQYXJzZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL21hbmlmZXN0L1hNTFBhcnNlci5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L19faW5pdF9fLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9fX2lu
aXRfXy5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL21hbmlmZXN0L2l0ZW0ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L2l0ZW0ucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9sb2cucHkKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L2xvZy5weWMK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlm
ZXN0L21hbmlmZXN0LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9tYW5pZmVzdC9tYW5pZmVzdC5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3NvdXJjZWZpbGUucHkKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3Nv
dXJjZWZpbGUucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9tYW5pZmVzdC91cGRhdGUucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3VwZGF0ZS5weWMKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3V0aWxzLnB5Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVz
dC91dGlscy5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL21hbmlmZXN0L3Zjcy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdmNzLnB5YwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9iZW5jaC93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHkvYmVuY2gvdzNjLWltcG9ydC5sb2cKaW5kZXggYjY2Y2JkZjY5Zjg4OWE3MjIxNWM0N2Y5
NzA2N2VhMDdlMGE0YWM1Zi4uYjY2NjgzNjYyYzgyYjk1ZWU1OTg1NjY2MDI1YWEwMTkzMjA0ZmMz
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weS9iZW5jaC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2JlbmNoL3czYy1pbXBvcnQubG9nCkBA
IC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzND
IENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
L2RvYy9fdGVtcGxhdGVzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9kb2MvX3RlbXBsYXRlcy93M2MtaW1wb3J0Lmxv
ZwppbmRleCA4NWRlODQ2N2JiOGQwY2ZiYWU3OGNkOGQ0NzBiOWI0OTkyMDhmOWVlLi5kZmQ0MjY1
MDEwY2U0ZDJmN2VkMjFiZDBiMzNkOWExYTc0MzZmMjQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2RvYy9fdGVtcGxhdGVz
L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHkvZG9jL190ZW1wbGF0ZXMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyAr
MSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9y
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2Fu
bm91bmNlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weS9kb2MvYW5ub3VuY2UvdzNjLWltcG9ydC5sb2cKaW5kZXggZDk4
NGI1YTVhMjRlMjA5NWNiNmE5NjkyZThmMjcxZDVmOWI1MDljOS4uZDAyMTZmZmQ1MjM2OTU4MTBi
NjUxNjkzYjUxODhkY2QyOTlkZDU3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9kb2MvYW5ub3VuY2UvdzNjLWltcG9ydC5s
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weS9kb2MvYW5ub3VuY2UvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2V4YW1wbGUvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5L2RvYy9leGFtcGxlL3czYy1pbXBvcnQubG9nCmluZGV4IDgxOTExNTMxZDFiYjFkZTczMmM2
YjZjYWQzZGZkZjNjMDJhZTYwNTkuLmFmMDYyMGE3ZmM1OWM0NThmNmZhZGZmMDUzZDc2MWRiMmVm
YTBkNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHkvZG9jL2V4YW1wbGUvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9kb2MvZXhhbXBsZS93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weS9kb2MvaW1nL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9kb2MvaW1nL3czYy1pbXBvcnQu
bG9nCmluZGV4IDQ3MmY5OGQxNjFjMDE3ZTNiZmE3YzBlMzA5Yjc0ZTZmMTRlMmM2MmYuLjUxZTZm
NzlmODFlNDIwMmY3OTllMDhlY2YxNDBiMTllNWJjMzliOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2ltZy93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5L2RvYy9pbWcvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9k
b2MvdzNjLWltcG9ydC5sb2cKaW5kZXggZTNiMmY3YTA3NzBmNTlkZTk2ZTlhMDJkY2QyNWYzZDcw
MjVhZTY2Yy4uNzNjZDUxYmY5YWI5ZTM4OWY3OTQ4M2M4MDZjOTdmYmU1ZThhMDU1ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eS9kb2MvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weS9kb2MvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBA
CiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBn
aXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvX2NvZGUvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5L3B5L19jb2RlL3czYy1pbXBvcnQubG9nCmluZGV4IDdjN2FjZTliOGI4NDljYjBi
YmI3Yzk5ODVlYWY4NmUxZjJkNjUyOTQuLjJhZjdmODBmMWIzY2QxZmVlZTlmOTJjNjMxNjUwODFl
NmI4ODNmNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHkvcHkvX2NvZGUvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9fY29kZS93M2Mt
aW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weS9weS9faW8vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3B5L19pby93M2MtaW1wb3J0LmxvZwpp
bmRleCA4MWUyOGJkMjEzOTY3MzRhNDQ3M2FlZDEwNmE2MjhiYzAzMWZlYzZjLi5lYWZiZjFmOTQ3
NDg2ZjVkMTJlZmM0NDk4ODVmOTZlYmRiYmUwNzA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3B5L19pby93M2MtaW1wb3J0
LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5L3B5L19pby93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgog
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9fbG9nL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9f
bG9nL3czYy1pbXBvcnQubG9nCmluZGV4IDU1NzczOTAzZmE3YjhiOWM5NjgwMDYwNWRmYzY4MTZk
YjdiNGNkZmMuLmMzYjM4MjczOTEyNjBjMjdmNDQxOGFmNDRhY2JhNGZlNDU4MTg0ZTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHkvcHkvX2xvZy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3B5L19sb2cvdzNjLWltcG9ydC5sb2cKQEAgLTEs
NyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NT
IG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkv
X3BhdGgvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3B5L3B5L19wYXRoL3czYy1pbXBvcnQubG9nCmluZGV4IGZjYjFmZTE3
MWNlMDljYjExMmVmMTdhYjkxODAwOWEzM2EwMWFlYjMuLjgzNjA4NDhjNGFjOTI1N2RmN2FmN2Ix
MTBiMmQwZGNjMTUyOTA3YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvX3BhdGgvdzNjLWltcG9ydC5sb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9f
cGF0aC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9fcHJvY2Vzcy93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvX3Byb2Nl
c3MvdzNjLWltcG9ydC5sb2cKaW5kZXggMGFhOGEwY2RhMDUwZmY0ZTRjOWJjOWYyYzE3ZTgzYTMz
N2UxOTM3Yy4uZTFmZmE2MDk5OWQ2MDRmZmNjMGIwZGJiMzA5ZDM0YzE0MmE3ZjllYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eS9weS9fcHJvY2Vzcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3B5L19wcm9jZXNzL3czYy1pbXBvcnQubG9n
CkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
VzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVz
dAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5L3B5L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weS9weS93M2MtaW1wb3J0LmxvZwppbmRleCBmZTlkYWIzMDkzNmFl
M2I0Y2I0MjE5MjdmYjM0YjE1OTg3MDQ5NjU5Li5mOGFhNmFhODNiNDc4YzgyMmViYzNkZmE3M2Nl
ODZmZTQ4OTMwOTc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3B5L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvdzNjLWltcG9ydC5s
b2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10
ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHkvdGVzdGluZy9jb2RlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90ZXN0aW5nL2NvZGUvdzNjLWltcG9ydC5s
b2cKaW5kZXggNTExZjI4YTUwMWM0YmMwMTYyNjEyYTFhMzVlMTlkN2Q0MGRmMDNmMy4uZWU0YWUz
N2QwZDczNzMwMGFiOWEwYmQ5YjE3YjQyNjE4MzAyNzNlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90ZXN0aW5nL2NvZGUv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weS90ZXN0aW5nL2NvZGUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2
IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQ
VCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9p
b18vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvaW9fL3czYy1pbXBvcnQubG9nCmluZGV4IDZlZTZkZmIz
NjVhYThmMTI2OTg4Y2UxNDEyYzkwMTExZTBjMDExNTEuLjlhNDMwMzlkNTA4MmM4YmJkZTYwNWNh
ZTY3NmE4MTYyNzk5MDVmMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9pb18vdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90
ZXN0aW5nL2lvXy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0
aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8g
Tk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczov
L2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90ZXN0aW5nL2xvZy93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVz
dGluZy9sb2cvdzNjLWltcG9ydC5sb2cKaW5kZXggM2M4MGI1ZTkzZTcwN2UxZTY3YTA1NjA2ZWQy
OTVkYmVlNjdkNGUwYS4uZmVkOTI1YTdiNjgyZDgwNjJiMTdjNTY4Njc2MDg4Yzg3MGI2ODkzYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weS90ZXN0aW5nL2xvZy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvbG9nL3czYy1pbXBv
cnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nz
d2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5L3Rlc3RpbmcvcGF0aC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9wYXRoL3czYy1pbXBv
cnQubG9nCmluZGV4IDU0Y2E0NWM1YTY5OWZkMGU0MmU5NGMzNzM4NWIxZjZkMTc2NTI5ZmEuLmRj
YTQ5ZjY2ODZkOWFlNjNjZDUxNjZhOTBiOTQ5OTYwODkwNTk2YjggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9w
YXRoL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9wYXRoL3czYy1pbXBvcnQubG9nCkBAIC0xLDcg
KzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBv
ciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3Rp
bmcvcHJvY2Vzcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9wcm9jZXNzL3czYy1pbXBvcnQubG9nCmlu
ZGV4IDlmNzIyMTFhMDFlYTllYTM2ODFkYTlkY2M2NTg1OTE2OWZhYTRlMTAuLjVmODA2MGQ4ZGE0
ZDQ1MmZjMTA5MjNmZDliMGEwNjRjNGJlODcwMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9wcm9jZXNzL3cz
Yy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHkvdGVzdGluZy9wcm9jZXNzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEs
NiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBX
UFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3Rpbmcv
cm9vdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9yb290L3czYy1pbXBvcnQubG9nCmluZGV4IDRhYWY1
NmE3Njk4NTNhMmI2ZGY0NDc2MmNhZGM1ODRiYjUxMDA3NzkuLjlmYjkzY2IyMTA0OGY4Y2U5NzM3
Zjk5ZDRkM2RlYTgzMTA0M2Y4ODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9yb290L3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHkvdGVzdGluZy9yb290L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rl
c3RpbmcvdzNjLWltcG9ydC5sb2cKaW5kZXggMjA3ZmFhODJhYjQ2MjIwNGU2YzNlNWY2MjhhYjc0
NWI0OTViMDRhZC4uNjQwMTZhNmNlZDMyZmRlOTE2MzBlMWVhNTZlMzQ0NmRiN2Y5OTcxOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weS90ZXN0aW5nL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy93M2MtaW1wb3J0LmxvZwpAQCAt
MSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBD
U1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0lu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHkvdzNjLWltcG9ydC5sb2cKaW5kZXggNWVlMmMzMTZiMzI2MTc5MmM0N2UwNjVj
YTcwYmQ0YzM1MTY0YjQzMi4uMjY1MjgxZWI4NWE2MWM1NzkxNDMxZWM2MWJiZjU0ZjcxMjE3Zjc4
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBA
QAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQg
Z2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC5pbmkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC5p
bmkKaW5kZXggZmQ5MzgzNjM3ODRiZWE4MzViY2EzNDNiNTAzYjJkZDExYTBlZDkyMC4uOGNjM2Q2
ZjIyMzk1YTkwMTYxYTA2MjI4Y2M3NmM2YjQxNzY3NWEwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QuaW5pCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0
LmluaQpAQCAtMSwyICsxLDIgQEAKIFtweXRlc3RdCi1ub3JlY3Vyc2VkaXJzID0gLioge2FyY2h9
ICouZWdnIGh0bWw1bGliIHB5IHB5dGVzdCBweXdlYnNvY2tldCBzaXgKK25vcmVjdXJzZWRpcnMg
PSAuKiB7YXJjaH0gKi5lZ2cgaHRtbDVsaWIgcHkgcHl0ZXN0IHB5d2Vic29ja2V0IHNpeCB3cHRy
dW5uZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvX2NvZGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0
L19jb2RlL3czYy1pbXBvcnQubG9nCmluZGV4IDBmMjUwM2YyYThiMGE0ODM3OTQ1MDg2YTgwN2Fm
Yzk0MmRkYjc1NDUuLmI1MWVhZjYwMzExNTkzN2U1ZDI5ZTJiNDZkMzZiNTBkODAyYWFlNjggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHl0ZXN0L19weXRlc3QvX2NvZGUvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC9fY29k
ZS93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwog
CiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC9hc3NlcnRpb24vdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVz
dC9fcHl0ZXN0L2Fzc2VydGlvbi93M2MtaW1wb3J0LmxvZwppbmRleCBiYzVmZThkZWY4ODRhMjhl
NjlmOGExZTVhNjEyOTZkN2NjNjNmZmZhLi45MGUwN2VmMWQzMmY0NDk0NzBkNjg2MmMyMTIxN2Rk
MWMyZWU3ZjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L2Fzc2VydGlvbi93M2MtaW1wb3J0LmxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
dGVzdC9fcHl0ZXN0L2Fzc2VydGlvbi93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC92ZW5k
b3JlZF9wYWNrYWdlcy9wbHVnZ3ktMC4zLjEuZGlzdC1pbmZvL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5
dGVzdC92ZW5kb3JlZF9wYWNrYWdlcy9wbHVnZ3ktMC4zLjEuZGlzdC1pbmZvL3czYy1pbXBvcnQu
bG9nCmluZGV4IGIzOWI3NTFhMDc2Y2EzYThjYWQ3NzY2ZjlmNDdlMzlkNDU5YzJkZjAuLmE0NTRm
M2I3M2NkZTBhOTA0ODUwMzIyZDA5N2U3MTM4MWI0NjBiNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3Qv
dmVuZG9yZWRfcGFja2FnZXMvcGx1Z2d5LTAuMy4xLmRpc3QtaW5mby93M2MtaW1wb3J0LmxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
dGVzdC9fcHl0ZXN0L3ZlbmRvcmVkX3BhY2thZ2VzL3BsdWdneS0wLjMuMS5kaXN0LWluZm8vdzNj
LWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvdmVuZG9yZWRfcGFja2FnZXMvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
dGVzdC9fcHl0ZXN0L3ZlbmRvcmVkX3BhY2thZ2VzL3czYy1pbXBvcnQubG9nCmluZGV4IDEwNjU2
ZTYxOTEwNmU0ZGQ1Yzg2OGZkNDZiNWU4ZTFkOTU3ZmRiNGEuLmI2ZjUzYzVjMTMzMmM1YTViZTA1
OTU5MmRjMzQ4YmM4MmEzMDk5N2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvdmVuZG9yZWRfcGFja2Fn
ZXMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC92ZW5kb3JlZF9wYWNrYWdlcy93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weXRlc3QvX3B5dGVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvdzNjLWltcG9y
dC5sb2cKaW5kZXggYTdiODAzMDc1ZTMwMTgyN2FhY2QyNmQ0MWVlZmUzNDhlMTZkYWY1Mi4uNWJh
YjkyMDE4ZjIzMWQ2YjQ3YTY2MTAzMGJiMmEzNGViMjlhZDJlYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVz
dC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEs
NiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBX
UFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9iZW5j
aC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L2JlbmNoL3czYy1pbXBvcnQubG9nCmluZGV4IDY1YTFmZmQxNjdh
N2JiZjA2NmFiNTAxNmM5ZjZlZjRhZTQ0ZWQ4NzQuLjMzMDNhZTY2NTlhZWI3NGEzMjAzNDIyYzg1
OWU3NWM1YWE4ZjRlNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2JlbmNoL3czYy1pbXBvcnQubG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2Jl
bmNoL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RlbXBsYXRlcy93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L2RvYy9lbi9fdGVtcGxhdGVzL3czYy1pbXBvcnQubG9nCmluZGV4IDI4Y2Y5N2I3MmVjZjU2
ZmVlZGM0ODI1ZDE5YzI0M2NhZDMxNGUzNzYuLjgyZGVhYTllODdiZjdmMDU0OWY1MDUwMzM4YTgy
MGQ0ZmZhYmMxNjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9fdGVtcGxhdGVzL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L2RvYy9lbi9fdGVtcGxhdGVzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAog
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3Ro
ZW1lcy9mbGFzay9zdGF0aWMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RoZW1lcy9mbGFzay9z
dGF0aWMvdzNjLWltcG9ydC5sb2cKaW5kZXggZWJlYTI2OTkxZjBlYTM0YmU4YjAyYjM2NDIzNDE0
ODk3Y2MyZWFiOS4uMjM1ZTY3OGI4OWZlNWQwNzM1MjRjZWU1MGViZGZhOTYzYzRkYjZiYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXRlc3QvZG9jL2VuL190aGVtZXMvZmxhc2svc3RhdGljL3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0
L2RvYy9lbi9fdGhlbWVzL2ZsYXNrL3N0YXRpYy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYg
QEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BU
IGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2Vu
L190aGVtZXMvZmxhc2svdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RoZW1lcy9mbGFzay93M2Mt
aW1wb3J0LmxvZwppbmRleCBlYzYwN2JlZGJkNWM0ZTU3ZGZhZmVhOWNkNmUwNDgyMjE4NTUwNTA0
Li4yNDUyZTI5MDdjY2UwY2Y3YzVmZmUyMDg4OGY5ZTQ2ZTIwOWRkOWVmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9k
b2MvZW4vX3RoZW1lcy9mbGFzay93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RoZW1lcy9m
bGFzay93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190aGVtZXMvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVz
dC9kb2MvZW4vX3RoZW1lcy93M2MtaW1wb3J0LmxvZwppbmRleCBmMmRhZjA4ZWMwZmNmZDg5Njgw
OWI5OGNjZjAxNGRlYWExNjZmNWRmLi41YmM3ODVjOTcxNTM2YzRkMGExNzAwZGM0NGE4Njk1MTUw
ODczM2IyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RoZW1lcy93M2MtaW1wb3J0LmxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9k
b2MvZW4vX3RoZW1lcy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgog
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2Fubm91bmNlL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXRlc3QvZG9jL2VuL2Fubm91bmNlL3czYy1pbXBvcnQubG9nCmluZGV4IDQwMzMwZjY5
ZDhlNDJmZTQ5OWMxZDBjNzA0NWQ4ZWVkMjc5YjM5ODcuLmJkNmNjMDM5YjhhNjFhZDdkZmU2M2Zj
NzlmNjhjZjBmNDM2MDY2ZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9hbm5vdW5jZS93M2MtaW1wb3J0
LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5dGVzdC9kb2MvZW4vYW5ub3VuY2UvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBA
CiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBn
aXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9l
eGFtcGxlL2Fzc2VydGlvbi9nbG9iYWxfdGVzdG1vZHVsZV9jb25maWcvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVz
dC9kb2MvZW4vZXhhbXBsZS9hc3NlcnRpb24vZ2xvYmFsX3Rlc3Rtb2R1bGVfY29uZmlnL3czYy1p
bXBvcnQubG9nCmluZGV4IDkwZWI4ZGVjY2I5Y2M3Zjk5MjFhNmZlNTIwZWQ4ZTFmNjFmMDQ2MGYu
LjQ2NTJmNGY1NDQ5NmM1Zjg3ODY3Yzk5MGQ2MDE1NzgwNWEzODNkNTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2Rv
Yy9lbi9leGFtcGxlL2Fzc2VydGlvbi9nbG9iYWxfdGVzdG1vZHVsZV9jb25maWcvdzNjLWltcG9y
dC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvYXNzZXJ0aW9uL2dsb2JhbF90ZXN0bW9kdWxlX2Nv
bmZpZy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvYXNzZXJ0aW9uL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvYXNzZXJ0aW9uL3czYy1pbXBvcnQubG9nCmluZGV4
IDcwNGE3OWM3MTA4MWI2MmU4YjM1Mzg0ZmI1YTA5YjI4ZjgwZGFlZTcuLjk5MjQ3YjcwMmRkZDdh
Y2Q1NjA0NTJkYzY2YjVkM2ZjYWE0NTQyNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Fz
c2VydGlvbi93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9hc3NlcnRpb24vdzNj
LWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVwL3N1YjEvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlzZXR1cC9zdWIxL3czYy1pbXBvcnQubG9n
CmluZGV4IGE4YmZhNjM0MmQ4YjQxMWExYTAwOThkMTJiZDI1NjFiZTZjZjY2YjcuLjFhMGQxMWVj
Y2FlYTI3OTU4MDI0MTBjNTA1NTc0ZDMzZDA2ODM0MTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFt
cGxlL2Nvc3RseXNldHVwL3N1YjEvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUv
Y29zdGx5c2V0dXAvc3ViMS93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0
cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5
LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvY29z
dGx5c2V0dXAvc3ViMi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVw
L3N1YjIvdzNjLWltcG9ydC5sb2cKaW5kZXggYzAyZDdiMWFmMGU2MDc0YzE0MmM0YzBmODlmYzc1
Yjg0NDIyZmZiMC4uYjUwNTMxMWY4NTg1YTE4NzEwMWUyNjExY2Y1YTYwZmU2NzYzMDlhNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvY29zdGx5c2V0dXAvc3ViMi93M2MtaW1wb3J0LmxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlzZXR1cC9zdWIyL3czYy1pbXBvcnQubG9nCkBAIC0x
LDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENT
UyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVz
dC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlzZXR1cC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFt
cGxlL2Nvc3RseXNldHVwL3czYy1pbXBvcnQubG9nCmluZGV4IDNjYWY5ZDE0NGE3YjRlM2NiNzk1
OWEyYmI4MDkxNDBmODQ2YWFmZmQuLmRmNGRjODRkMmJkOGRjMDQzNzRmNTFiN2QyMGNiYzVkYTE4
NWM0OTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVwL3czYy1pbXBvcnQu
bG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVwL3czYy1pbXBvcnQubG9nCkBAIC0x
LDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENT
UyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVz
dC9kb2MvZW4vZXhhbXBsZS9sYXlvdXQxL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUv
bGF5b3V0MS93M2MtaW1wb3J0LmxvZwppbmRleCBmM2Y4ZmJlZjMzMDAyODA0Y2UyOTM0ZDYxNDg1
MjJkYmIxMzQ0MjJhLi5jZjI2OTA1ZGU1NGI3YTFlZDgwYmRlNGM0N2YzODllMjIyZDY5ODZlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9sYXlvdXQxL3czYy1pbXBvcnQubG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2Rv
Yy9lbi9leGFtcGxlL2xheW91dDEvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxl
L25vbnB5dGhvbi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL25vbnB5dGhvbi93M2Mt
aW1wb3J0LmxvZwppbmRleCAxZDE4ZTUxYmNkODdmNjcxNWMxYjc4MTE1YTkzMGJiODllODE2ODY1
Li5lMjllNmUwYWIzOTlhNDk3ZmY4Y2VmMDYwZjM1ZGVkMzQ1NTUxYjc0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9k
b2MvZW4vZXhhbXBsZS9ub25weXRob24vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1w
bGUvbm9ucHl0aG9uL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9weTJweTMv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9weTJweTMvdzNjLWltcG9ydC5sb2cKaW5k
ZXggYTFmZjliMWE4MTM4YTA5OWZhOWNkYTJlZjRkZmM2YzNkODk4MDMxOC4uOTgzMGNlMzdjMmYx
MDQ0ZTk2ZjU4OWNlYjI2MDllZTRlY2Q5MDlhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUv
cHkycHkzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL3B5MnB5My93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhh
bXBsZS93M2MtaW1wb3J0LmxvZwppbmRleCBiNjEyODdlMTQyN2Y2YjFlN2QwOTY1Y2EzNGFjYTQw
NmNhNDhlYzQ4Li41OTA5ZmQxNTUyNDBlMTc0MWIxMWUzYWI5ODQxNWExZmZlZGI3OGUwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5dGVzdC9kb2MvZW4vZXhhbXBsZS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBs
ZS93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwog
CiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2ltZy93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9l
bi9pbWcvdzNjLWltcG9ydC5sb2cKaW5kZXggOTIyZDQzNTk5MzVjMjc4MGYwN2ZkNTRmY2JhNjAw
Y2E4ZDI4MzVlMC4uM2M5ZjIyMWQ3NjQ0NGNhYWVlYmNmMmM2YmViZDkwMGQ4YzM0MDAyNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXRlc3QvZG9jL2VuL2ltZy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vaW1nL3czYy1p
bXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
Y3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vdGVzdC9wbHVnaW4vdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2Mv
ZW4vdGVzdC9wbHVnaW4vdzNjLWltcG9ydC5sb2cKaW5kZXggNzkyYzU0ZmVmZjgwNzcwNTA0NzAz
MWU0NzdhZGRjZGYwZjcyM2VjMy4uYTAzZmU4ZDgzN2VhYzJkYTMwM2VmMzE2NmIzMDA2MjNlYjQ5
N2I0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3Rlc3QvcGx1Z2luL3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0
L2RvYy9lbi90ZXN0L3BsdWdpbi93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoK
LQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNj
LXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3Rlc3QvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5dGVzdC9kb2MvZW4vdGVzdC93M2MtaW1wb3J0LmxvZwppbmRleCAyMTEyZTM3NmQz
YTJlNWNmMDk1MDBjYWM1NTliOTc1YTA4ZDFmZDg3Li5lODRmYTlmZWU3OGY0NjQ4YzMxNGIzOWQ2
MDUwMWRkOGQzZjZmZWMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vdGVzdC93M2MtaW1wb3J0LmxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
dGVzdC9kb2MvZW4vdGVzdC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0
cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5
LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eXRlc3QvZG9jL2VuL3czYy1pbXBvcnQubG9nCmluZGV4IDdhZWQ5YTI0YmUzZWQ1NzAyY2RiZDFl
OGI3OTI2OTE1OTc0Zjc3NmUuLmU0YTZlYzYzZmQ0MWE5YTc0MjYxZmZkYzZmNWQxZDEyMDFiMGE2
NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vdzNjLWlt
cG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9j
c3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl0ZXN0L2V4dHJhL3NldHVwLXB5LnRlc3QvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9leHRy
YS9zZXR1cC1weS50ZXN0L3czYy1pbXBvcnQubG9nCmluZGV4IGY0YjNmZGZiNGM0ODlkNGNlZjA3
ZDM0NDQ3MGZmMzE1YTAwY2VhYjUuLmIwNDI0NDE4YTNiNjY3NmExNjk5M2QzY2M0ZGRlZTFjNmZj
N2IyNWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L2V4dHJhL3NldHVwLXB5LnRlc3QvdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRl
c3QvZXh0cmEvc2V0dXAtcHkudGVzdC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZXh0cmEvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5dGVzdC9leHRyYS93M2MtaW1wb3J0LmxvZwppbmRleCA3YzRjYjk5YWMxN2I4NDM5YjMx
MWIzZDU5M2RkYzg3ZmYzODUwYmFiLi5kMDI4NDgwZTkwNzM1OTA0ZWVmZDNlMTczZWMwMWI3MDAz
ZDAyNjZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC9leHRyYS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9leHRyYS93M2Mt
aW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy9jb2RlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy9j
b2RlL3czYy1pbXBvcnQubG9nCmluZGV4IDY0OTY5MzgxYzI1MTNiNDFjYTU3NjQ5ZmZlNTQ0YmU0
NzUwM2IwMzguLjBiODJlNjQ2NDAxNTBhYTI0YTViNjhiMDEyZGI1ODY1NGFjYjY2NTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L3Rlc3RpbmcvY29kZS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5nL2NvZGUvdzNj
LWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3Rlc3RzL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRl
c3QvdGVzdGluZy9jeF9mcmVlemUvdGVzdHMvdzNjLWltcG9ydC5sb2cKaW5kZXggYzc2NTE2NzMw
NjdjZDA2YzgyNDM1YWUzYjc4ZDU3MDY2ZDFkMzk5Yy4uZGZhODU1NGExM2RkMzRhNGUwOTUxNzUy
NGFkZTUwYjJkOWIwMWIxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy9jeF9mcmVlemUvdGVzdHMvdzNj
LWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy9jeF9mcmVlemUvdGVzdHMvdzNjLWltcG9ydC5sb2cK
QEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRl
ZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGly
ZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
M0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy9jeF9mcmVl
emUvdzNjLWltcG9ydC5sb2cKaW5kZXggMDkzNjhjMTYwOWMzZGNhYTNhZmVlNjc5MDRlN2FmMGQw
N2I4YmM0Ny4uN2IyMjNmZjA5MmRlZjY3MWQ2N2ViMjVlYjgwNjRmNDFmODUxMjg0MSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eXRlc3QvdGVzdGluZy9jeF9mcmVlemUvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy9jeF9m
cmVlemUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRo
dWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvcHl0aG9uL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRl
c3QvdGVzdGluZy9weXRob24vdzNjLWltcG9ydC5sb2cKaW5kZXggZmFlNGRjNzlhMTdkNDdlMzZi
YTY0YjE1ZmRkZGE4ODYyNWQ3ZTUwMy4uOGI0ZWFiMDVhZmE5ZWFjNmQ5NzA0MDI2NzhmMDgxZmEz
NjM4N2RjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy9weXRob24vdzNjLWltcG9ydC5sb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3Qv
dGVzdGluZy9weXRob24vdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
dGVzdC90ZXN0aW5nL3czYy1pbXBvcnQubG9nCmluZGV4IGM0YTMyMGVhNDU3NmM2YzE1MDFlYzMx
ZjNkNzFjNmEwYWViZDVmZmYuLjZjMDIxYzFkMGI4ZDlhNzA3YmZkMmRlZDljY2I1ZDk3NmYxOWNl
YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy93M2Mt
aW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC93M2MtaW1wb3J0LmxvZwppbmRleCBj
ZTczNjM2M2M4MWJjMzkwNzUyNDljZjU2NTFmYWZlNzc4ZjZhZDljLi4yOGRiNzJmMGQ4NTNjNTZm
ZGRlZGFmNzhkZGNjMTNiYjIyYjk3ZDc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVz
dC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwog
CiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvZXhhbXBsZS93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJz
b2NrZXQvc3JjL2V4YW1wbGUvdzNjLWltcG9ydC5sb2cKaW5kZXggYjIxMGJhNWVmYTMzM2VmNjhi
MmRkM2ZlYWM0ZTdiODJkMjZiZGM1Yy4uZGYxZjc5OWJjNDFjNGFjMTBjNTg2YzcxYmNhM2NiYjMw
OWMxYjlhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvZXhhbXBsZS93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vi
c29ja2V0L3NyYy9leGFtcGxlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgot
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2Mt
dGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9tb2RfcHl3
ZWJzb2NrZXQvaGFuZHNoYWtlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvbW9kX3B5d2Vic29j
a2V0L2hhbmRzaGFrZS93M2MtaW1wb3J0LmxvZwppbmRleCA2MWQzNTBmODEwMWI5MTljYjZhYTU4
YjQ3MzhhMWFhODBjOGNkZmQxLi4xZmY4YzdhNzQyNjMzZGE5YTU2NDljYjFmMzljNjAyOWQxMmI5
MjUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9tb2RfcHl3ZWJzb2NrZXQvaGFuZHNoYWtlL3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL21vZF9weXdlYnNvY2tldC9oYW5kc2hha2UvdzNjLWlt
cG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9j
c3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL21vZF9weXdlYnNvY2tldC93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJz
b2NrZXQvc3JjL21vZF9weXdlYnNvY2tldC93M2MtaW1wb3J0LmxvZwppbmRleCAzZDM1OTkzNzc5
YjVhZjhmZmM5YmQ0YzRmMjlkYjA2OGQzYTYxZjgzLi4zNTI5NDVkNDM3M2Y2YzhkNWM1NjFmZTUw
YjRiZDVmZjkzNjE1YTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9tb2RfcHl3ZWJzb2NrZXQvdzNj
LWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvbW9kX3B5d2Vic29ja2V0L3czYy1pbXBvcnQubG9n
CkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
VzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVz
dAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5d2Vic29ja2V0L3NyYy90ZXN0L2NlcnQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0
L2NlcnQvdzNjLWltcG9ydC5sb2cKaW5kZXggYTYwZDA3OGFmNGJjZjYzYzc1MDZiZWJjYzc5Yzdm
ZmQ3NGRlZGIzNi4uN2JkNzAzZDgyMWVhNWJhZWUxNTU2MTFlZTg0N2YyNzBjYmEyNmY3NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXdlYnNvY2tldC9zcmMvdGVzdC9jZXJ0L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3Jj
L3Rlc3QvY2VydC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0
aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8g
Tk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczov
L2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS9o
YW5kbGVycy9zdWIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3Rlc3RkYXRhL2hhbmRs
ZXJzL3N1Yi93M2MtaW1wb3J0LmxvZwppbmRleCAxMmU3NzBjM2JlNGQ0OTEwZjU5ZjY0NzcwZWE2
Yjk5YzBkZjIzMzUwLi40YWQzZjJlODU5MTBjYjY3Y2EyMzZiMTQzZmQxMGE1YTI3N2VkZWQ5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi93M2MtaW1wb3J0
LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi93M2MtaW1wb3J0
LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dn
LXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
IAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3
ZWJzb2NrZXQvc3JjL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvdzNjLWltcG9ydC5sb2cKaW5kZXgg
ZWNiZmNjOTk2ODEzYzkzNGZmOTk3NDg2OTMxOWUxZDA0YTNiY2MzZS4uNTQwMjhhZTQ3NzZjZDY3
OWRmM2I0MzQ2OGM3MTYzMWExNWFmMGIxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0
ZGF0YS9oYW5kbGVycy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3Rlc3RkYXRh
L2hhbmRsZXJzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4g
V2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3Rlc3RkYXRhL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS93M2MtaW1wb3J0LmxvZwppbmRl
eCA2NzM2OGRlYmNjODUyOTlkNjYxMzU0ODU1MjBkYWFlMTc3MGJhOTM4Li5hZTUzMWY5MTM0MWY4
NmZhYWU0ODEwYTdjMDIzNGY2NzQwN2IzMmEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3Rl
c3RkYXRhL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL3Rlc3QvdGVzdGRhdGEvdzNjLWlt
cG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9j
c3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL3Rlc3QvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90
ZXN0L3czYy1pbXBvcnQubG9nCmluZGV4IDMzMjA4YzU0YWZiMzYwM2I2MTIwMDc1MGE4NDYxZGQw
NzU2ZjhkYTYuLjhlZTcyNDBkYTI4OTkyMjNjNmMyMjQ5OTczNmFjYmRjNjNhZmQ1ODIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl3ZWJzb2NrZXQvc3JjL3Rlc3QvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy93
M2MtaW1wb3J0LmxvZwppbmRleCBiN2RkNTM0MDc1MjUwNGU3ZmU2MzRiNWQ1ZThjZDkwYmJmMGMy
ZWNjLi43ZDMyYTZiNmJiYmY4NmNlODhjZTY5YWJjM2RlNWE1MzQwMDE2YzZkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vi
c29ja2V0L3NyYy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy93M2MtaW1wb3J0LmxvZwpA
QCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFcz
QyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QK
K0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9y
dW5uZXIvY3NzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9ydW5uZXIvY3NzL3czYy1pbXBvcnQubG9nCmluZGV4IGQzMWZi
YjFlMmJmYzczYjI2Y2NkMDBjY2RkNWU1MjJjMTgyZTVjOTUuLmM1ZjNkNDdlOWNiN2I0MTVkZWFk
N2ZkMWI4M2UzZTljMmVkZjk2MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL2Nzcy93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3J1bm5l
ci9jc3MvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRo
dWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL2ZvbnRzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9ydW5uZXIvZm9udHMv
dzNjLWltcG9ydC5sb2cKaW5kZXggNzM5NmEyOTBjNGI5Zjg2ZjYwOWFhMzk4NDAzYjE2MmFmNWJl
NGJiOS4uZTgzMjdiYmM4ZDUyZmRlMDQ4NTQ0ZTIwMGUyZTVhZWM1NzQ0MWE2NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9ydW5u
ZXIvZm9udHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9ydW5uZXIvZm9udHMvdzNjLWltcG9ydC5sb2cKQEAgLTEs
NyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NT
IG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVy
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9ydW5uZXIvdzNjLWltcG9ydC5sb2cKaW5kZXggYTNjMWJiNWExZDdiNDc4MzE3
MGQ4MTg0MDk2ODRmODkxOGQ5MjVlMi4uNDUxZWUyOWU2NzE0MWY3MDJhMjNmNzdkNzYxOTRhZWY3
N2JlYjFlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9ydW5uZXIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9ydW5uZXIvdzNjLWltcG9ydC5sb2cK
QEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRl
ZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGly
ZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
M0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
c2NyaXB0cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvc2NyaXB0cy93M2MtaW1wb3J0LmxvZwppbmRleCA2YzFmZTFmMmM0
NDAzMGFmYzM2M2I5NjBmMTUxNTQ2ZThkMjI4ZGZlLi4xMzI2NTczZTk4NTdhM2M0MTQwNGVhZDJm
ODU3MTk0MzY1YjdlMGFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NjcmlwdHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zY3JpcHRzL3czYy1p
bXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
Y3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3NlcnZlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zZXJ2ZS93M2MtaW1wb3J0LmxvZwppbmRleCBkNDRh
ZTM5ODg3ZTc0Y2ZkMmU1N2I1NTBmMjg1NTEzMWI4OWZmNDQ1Li5iMjgxODA5N2M5NTQ0ZDhiYjU1
ODc0OTM4NTI5NmU4MDBmYjAxMzQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NlcnZlL3czYy1pbXBvcnQubG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2VydmUvdzNj
LWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvc2l4L2RvY3VtZW50YXRpb24vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NpeC9kb2N1bWVudGF0aW9u
L3czYy1pbXBvcnQubG9nCmluZGV4IGQ4NGJlY2FhOGI0MWRkYzE2OWYwYjU3OTA1MTBlZDFmZGVk
YjFhOTMuLmYwZDdiNzhmYjUxNjA4NWNhMGE3M2IwNDU0ODAwNmU3YTUyMWVmMzEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4
L2RvY3VtZW50YXRpb24vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zaXgvZG9jdW1lbnRhdGlvbi93M2MtaW1wb3J0
LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dn
LXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
IAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9zaXgvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3NpeC93M2MtaW1wb3J0LmxvZwppbmRleCBjMmQ0NjA1MGFkOWYz
MDFkOTQ1YzA3OWIzMzMwYjQ4ZWExY2NjNThhLi43NTUzMzBlYWJjZmU5NjllMmUyNTNhZGYxODBk
MTNmNDVmM2M4OTNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3NpeC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NpeC93M2MtaW1wb3J0LmxvZwpA
QCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFcz
QyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QK
K0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApAQCAtMjMs
NSArMjIsNiBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4L3NldHVwLmNmZwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4L3NldHVwLnB5CiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zaXgvc2l4LnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zaXgvc2l4LnB5Ywog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4L3Rl
c3Rfc2l4LnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9zaXgvdG94LmluaQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9zc2x1dGlscy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc3NsdXRpbHMvdzNjLWlt
cG9ydC5sb2cKaW5kZXggYjIxNWEyZGNlMDk4ZTk1YTk5ZGUxZGM5MGJkMzYzNzRhZjU3ZmQ3YS4u
MzQ3OGRlOTc2NDkzNjMwNjhiZTY4OGFiMTJhOGUzZmMxM2VhZDI5YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zc2x1dGlscy93
M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3NzbHV0aWxzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUlu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHVi
OgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RveC5pbmkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RveC5pbmkKaW5kZXggNGQ3
MjYzMGIyYTgzNzA2MjBkNjA2ZjAzN2U4NjFkMmIxODZlYjMwOS4uMWVhMzBhNWRhMTg2MTZhMTJm
NjQzMjg5YTkwZTA2NzYwZDk0OWM4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90b3guaW5pCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdG94LmluaQpAQCAtMjEsNCArMjEs
NCBAQCBwYXNzZW52ID0KIFtmbGFrZThdCiBpZ25vcmUgPSBFMTI4LEUxMjksRTIyMSxFMjI2LEUy
MzEsRTI1MSxFMjY1LEUzMDIsRTMwMyxFMzA1LEU0MDIsRTkwMSxGNDAxLEY4MjEsRjg0MQogbWF4
LWxpbmUtbGVuZ3RoID0gMTQxCi1leGNsdWRlID0gLnRveCxodG1sNWxpYixweSxweXRlc3QscHl3
ZWJzb2NrZXQsc2l4LF92ZW52LHdwdHNlcnZlL2RvY3Msd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25h
bC9kb2Nyb290LworZXhjbHVkZSA9IC50b3gsaHRtbDVsaWIscHkscHl0ZXN0LHB5d2Vic29ja2V0
LHNpeCxfdmVudix3ZWJlbmNvZGluZ3Msd3B0c2VydmUvZG9jcyx3cHRzZXJ2ZS90ZXN0cy9mdW5j
dGlvbmFsL2RvY3Jvb3QvLHdwdHJ1bm5lcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdzNjLWltcG9ydC5sb2cK
aW5kZXggYjUzMTlkMWE2MjE2OThlNzEzZjk5ZTRiNDc0Njc0YjM0N2Q2MWQ3ZC4uMTM0MDkzYWMy
NzEyNzI1NmQ0MGZlMGY2ODdlYmFjOTRkZDNiODFkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3czYy1p
bXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
Y3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CkBAIC0xNSw3ICsxNCw2IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgogTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvTElDRU5TRQogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvX19pbml0X18ucHkK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL19faW5p
dF9fLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvYXBwdmV5b3IueW1sCkBAIC0yNCwzICsyMiw0IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9sb2NhbHBhdGhzLnB5
YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0LmluaQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdG94LmluaQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVuLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci9SRUFETUUubWQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci9SRUFETUUubWQK
aW5kZXggMTk0MDA5ZjhhMDRkNjFlNjg3ODg1OTI5NzQ4Njc3MDVmMzY4ZjhhYi4uMDE1YjMxYjI1
NGNlMWJkZDgwYzI1ZTNmZDNjZDk2ODcwOGExMjllNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvUkVBRE1FLm1k
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d2ViZHJpdmVyL1JFQURNRS5tZApAQCAtMzMsOSArMzMsNyBAQCB3aGljaCBpcyB1c2VmdWwgaWYg
eW91IHdhbnQgdG8gY29udHJpYnV0ZSBwYXRjaGVzIGJhY2s6CiBJZiB5b3UgYXJlIHdyaXRpbmcg
V2ViRHJpdmVyIHNwZWNpZmljYXRpb24gdGVzdHMgZm9yCiBbV1BUXShodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cyksCiB0aGVyZSBpcyBubyBuZWVkIHRvIGluc3RhbGwg
dGhlIGNsaWVudCBtYW51YWxseQotYXMgaXQgaXMgcGlja2VkIHVwIGFzIGEgc3VibW9kdWxlIHRv
Ci1bd3B0LXRvb2xzXShodHRwczovL2dpdGh1Yi5jb20vdzNjL3dwdC10b29scykKLXRoYXQgaXMg
Y2hlY2tlZCBvdXQgaW4gYC4vdG9vbHNgLgorYXMgaXQgaXMgaW5jbHVkZWQgaW4gdGhlIGB0b29s
cy93ZWJkcml2ZXJgIGRpcmVjdG9yeS4KIAogIyMgVXNhZ2UKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dlYmRyaXZlci93M2MtaW1wb3J0LmxvZwppbmRleCAxMTc3ZmQ3ZjVlNWMzNzRiYzA1
Yjc0OWQ5NWJlMDc1ODM1Nzc2OWY5Li5kOTM0MWE3NzJkOTEwYWRlZjhmYmQ0YzE4MmM4Nzk0Mzk5
OTFmZmUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93M2MtaW1wb3J0
LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dn
LXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
IAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93ZWJkcml2ZXIvd2ViZHJpdmVyL2NsaWVudC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZlci9jbGllbnQu
cHkKaW5kZXggZDMyNzA5OWZiYTQ4MTNmMGIyYjdkYjk4MmFmMTZkMzNhNzVmOWJiYS4uYzk0OGM4
ZTQxOGVlYTYwYThmYjVjMjc1MTdiMGVmZTE1YTY2ODg2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvd2ViZHJp
dmVyL2NsaWVudC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93ZWJkcml2ZXIvY2xpZW50LnB5CkBAIC01OTUsMTIgKzU5
NSw4IEBAIGNsYXNzIEVsZW1lbnQob2JqZWN0KToKICAgICAgICAgc2VsZi5zZW5kX2VsZW1lbnRf
Y29tbWFuZCgiUE9TVCIsIHNlbGYudXJsKCJjbGVhciIpLCB7fSkKIAogICAgIEBjb21tYW5kCi0g
ICAgZGVmIHNlbmRfa2V5cyhzZWxmLCBrZXlzKToKLSAgICAgICAgaWYgaXNpbnN0YW5jZShrZXlz
LCAoc3RyLCB1bmljb2RlKSk6Ci0gICAgICAgICAgICBrZXlzID0gW2NoYXIgZm9yIGNoYXIgaW4g
a2V5c10KLQotICAgICAgICBib2R5ID0geyJ2YWx1ZSI6IGtleXN9Ci0gICAgICAgIHJldHVybiBz
ZWxmLnNlbmRfZWxlbWVudF9jb21tYW5kKCJQT1NUIiwgInZhbHVlIiwgYm9keSkKKyAgICBkZWYg
c2VuZF9rZXlzKHNlbGYsIHRleHQpOgorICAgICAgICByZXR1cm4gc2VsZi5zZW5kX2VsZW1lbnRf
Y29tbWFuZCgiUE9TVCIsICJ2YWx1ZSIsIHsidGV4dCI6IHRleHR9KQogCiAgICAgQHByb3BlcnR5
CiAgICAgQGNvbW1hbmQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZlci93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd2ViZHJp
dmVyL3dlYmRyaXZlci93M2MtaW1wb3J0LmxvZwppbmRleCA5NmJiNmY2MGRjMDQ3MGM0NDNlZDVl
NjcyYjYwMzllMWViY2U0ZTEwLi44ZWEzMzM2YjdiNzU1YjhmN2NkNGYxNGIzYjdlYjllNzJjNTUx
ZjlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dlYmRyaXZlci93ZWJkcml2ZXIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvd2Vi
ZHJpdmVyL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bi5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVuLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlMzkzZDFj
Y2JkNTNmNWNlZTlkMmMyNDM1YjFiYTk3ODlhNzJjZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bi5weQpA
QCAtMCwwICsxLDI1OSBAQAoraW1wb3J0IGFyZ3BhcnNlCitpbXBvcnQgb3MKK2ltcG9ydCBzaHV0
aWwKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgc3lzCitpbXBvcnQgdGFyZmlsZQorZnJvbSBk
aXN0dXRpbHMuc3Bhd24gaW1wb3J0IGZpbmRfZXhlY3V0YWJsZQorCitmcm9tIHRvb2xzIGltcG9y
dCBsb2NhbHBhdGhzCitmcm9tIGJyb3dzZXJ1dGlscyBpbXBvcnQgYnJvd3NlciwgdXRpbHMsIHZp
cnR1YWxlbnYKK2Zyb20gd3B0cnVubmVyIGltcG9ydCB3cHRydW5uZXIsIHdwdGNvbW1hbmRsaW5l
Citsb2dnZXIgPSBOb25lCisKK3dwdF9yb290ID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9p
bihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4iKSkKKworCitjbGFzcyBXcHRydW5uZXJI
ZWxwQWN0aW9uKGFyZ3BhcnNlLkFjdGlvbik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsCisgICAg
ICAgICAgICAgICAgIG9wdGlvbl9zdHJpbmdzLAorICAgICAgICAgICAgICAgICBkZXN0PWFyZ3Bh
cnNlLlNVUFBSRVNTLAorICAgICAgICAgICAgICAgICBkZWZhdWx0PWFyZ3BhcnNlLlNVUFBSRVNT
LAorICAgICAgICAgICAgICAgICBoZWxwPU5vbmUpOgorICAgICAgICBzdXBlcihXcHRydW5uZXJI
ZWxwQWN0aW9uLCBzZWxmKS5fX2luaXRfXygKKyAgICAgICAgICAgIG9wdGlvbl9zdHJpbmdzPW9w
dGlvbl9zdHJpbmdzLAorICAgICAgICAgICAgZGVzdD1kZXN0LAorICAgICAgICAgICAgZGVmYXVs
dD1kZWZhdWx0LAorICAgICAgICAgICAgbmFyZ3M9MCwKKyAgICAgICAgICAgIGhlbHA9aGVscCkK
KworICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBwYXJzZXIsIG5hbWVzcGFjZSwgdmFsdWVzLCBvcHRp
b25fc3RyaW5nPU5vbmUpOgorICAgICAgICBmcm9tIHdwdHJ1bm5lciBpbXBvcnQgd3B0Y29tbWFu
ZGxpbmUKKyAgICAgICAgd3B0cGFyc2VyID0gd3B0Y29tbWFuZGxpbmUuY3JlYXRlX3BhcnNlcigp
CisgICAgICAgIHdwdHBhcnNlci51c2FnZSA9IHBhcnNlci51c2FnZQorICAgICAgICB3cHRwYXJz
ZXIucHJpbnRfaGVscCgpCisgICAgICAgIHBhcnNlci5leGl0KCkKKworCitkZWYgY3JlYXRlX3Bh
cnNlcigpOgorICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKKyAgICBwYXJz
ZXIuYWRkX2FyZ3VtZW50KCJwcm9kdWN0IiwgYWN0aW9uPSJzdG9yZSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSJCcm93c2VyIHRvIHJ1biB0ZXN0cyBpbiIpCisgICAgcGFyc2VyLmFk
ZF9hcmd1bWVudCgidGVzdHMiLCBhY3Rpb249InN0b3JlIiwgbmFyZ3M9IioiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iUGF0aCB0byB0ZXN0cyB0byBydW4iKQorICAgIHBhcnNlci5h
ZGRfYXJndW1lbnQoIndwdHJ1bm5lcl9hcmdzIiwgbmFyZ3M9YXJncGFyc2UuUkVNQUlOREVSLAor
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iQXJndW1lbnRzIHRvIHBhc3MgdGhyb3VnaCB0
byB3cHRydW5uZXIiKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0teWVzIiwgIi15IiwgZGVz
dD0icHJvbXB0IiwgYWN0aW9uPSJzdG9yZV9mYWxzZSIsIGRlZmF1bHQ9VHJ1ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9IkRvbid0IHByb21wdCBiZWZvcmUgaW5zdGFsbGluZyBjb21w
b25lbnRzIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXdwdHJ1bm5lci1oZWxwIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj1XcHRydW5uZXJIZWxwQWN0aW9uLCBkZWZhdWx0
PWFyZ3BhcnNlLlNVUFBSRVNTLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUHJpbnQg
d3B0cnVubmVyIGhlbHAiKQorICAgIHJldHVybiBwYXJzZXIKKworCitkZWYgZXhpdChtc2cpOgor
ICAgIGxvZ2dlci5lcnJvcihtc2cpCisgICAgc3lzLmV4aXQoMSkKKworCitkZWYgYXJnc19nZW5l
cmFsKGt3YXJncyk6CisgICAga3dhcmdzLnNldF9pZl9ub25lKCJ0ZXN0c19yb290Iiwgd3B0X3Jv
b3QpCisgICAga3dhcmdzLnNldF9pZl9ub25lKCJtZXRhZGF0YV9yb290Iiwgd3B0X3Jvb3QpCisg
ICAga3dhcmdzLnNldF9pZl9ub25lKCJtYW5pZmVzdF91cGRhdGUiLCBUcnVlKQorCisKK2RlZiBj
aGVja19lbnZpcm9uKHByb2R1Y3QpOgorICAgIGlmIHByb2R1Y3QgIT0gImZpcmVmb3giOgorICAg
ICAgICBleHBlY3RlZF9ob3N0cyA9IHNldChbIndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ3d3cud2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInd3dzEud2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInd3dzIud2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9y
bS50ZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bi0tbHZlLTZsYWQud2Vi
LXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vbmV4aXN0
ZW50LW9yaWdpbi53ZWItcGxhdGZvcm0udGVzdCJdKQorICAgICAgICBpZiBvcy51bmFtZSgpWzBd
ICE9ICJXaW5kb3dzIjoKKyAgICAgICAgICAgIGhvc3RzX3BhdGggPSAiL2V0Yy9ob3N0cyIKKyAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgIGhvc3RzX3BhdGggPSAiQzpcV2luZG93c1xTeXN0ZW0z
Mlxkcml2ZXJzXGV0Y1xob3N0cyIKKyAgICAgICAgd2l0aCBvcGVuKGhvc3RzX3BhdGgsICJyIikg
YXMgZjoKKyAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CisgICAgICAgICAgICAgICAgbGluZSA9
IGxpbmUuc3BsaXQoIiMiLCAxKVswXS5zdHJpcCgpCisgICAgICAgICAgICAgICAgcGFydHMgPSBs
aW5lLnNwbGl0KCkKKyAgICAgICAgICAgICAgICBpZiBsZW4ocGFydHMpID09IDI6CisgICAgICAg
ICAgICAgICAgICAgIGhvc3QgPSBwYXJ0c1sxXQorICAgICAgICAgICAgICAgICAgICBleHBlY3Rl
ZF9ob3N0cy5kaXNjYXJkKGhvc3QpCisgICAgICAgICAgICBpZiBleHBlY3RlZF9ob3N0czoKKyAg
ICAgICAgICAgICAgICBleGl0KCIiIk1pc3NpbmcgaG9zdHMgZmlsZSBjb25maWd1cmF0aW9uIGZv
ciAlcy4KK1NlZSBSRUFETUUubWQgZm9yIG1vcmUgZGV0YWlscy4iIiIgJSAiLCIuam9pbihleHBl
Y3RlZF9ob3N0cykpCisKK2RlZiBwcm9tcHRfaW5zdGFsbChjb21wb25lbnQsIHByb21wdCk6Cisg
ICAgaWYgbm90IHByb21wdDoKKyAgICAgICAgcmV0dXJuIFRydWUKKyAgICB3aGlsZSBUcnVlOgor
ICAgICAgICByZXNwID0gcmF3X2lucHV0KCJEb3dubG9hZCBhbmQgaW5zdGFsbCAlcyBbWS9uXT8g
IiAlIGNvbXBvbmVudCkuc3RyaXAoKS5sb3dlcigpCisgICAgICAgIGlmIG5vdCByZXNwIG9yIHJl
c3AgPT0gInkiOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgZWxpZiByZXNwID09
ICJuIjoKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisKK2RlZiBhcmdzX2ZpcmVmb3godmVu
diwga3dhcmdzLCBmaXJlZm94LCBwcm9tcHQ9VHJ1ZSk6CisgICAgaWYga3dhcmdzWyJiaW5hcnki
XSBpcyBOb25lOgorICAgICAgICBiaW5hcnkgPSBmaXJlZm94LmZpbmRfYmluYXJ5KCkKKyAgICAg
ICAgaWYgYmluYXJ5IGlzIE5vbmU6CisgICAgICAgICAgICBleGl0KCIiIkZpcmVmb3ggYmluYXJ5
IG5vdCBmb3VuZCBvbiAkUEFUSC4KKworSW5zdGFsbCBGaXJlZm94IG9yIHVzZSAtLWJpbmFyeSB0
byBzZXQgdGhlIGJpbmFyeSBwYXRoIiIiKQorICAgICAgICBrd2FyZ3NbImJpbmFyeSJdID0gYmlu
YXJ5CisKKyAgICBpZiBrd2FyZ3NbImNlcnR1dGlsX2JpbmFyeSJdIGlzIE5vbmUgYW5kIGt3YXJn
c1sic3NsX3R5cGUiXSAhPSAibm9uZSI6CisgICAgICAgIGNlcnR1dGlsID0gZmlyZWZveC5maW5k
X2NlcnR1dGlsKCkKKworICAgICAgICBpZiBjZXJ0dXRpbCBpcyBOb25lOgorICAgICAgICAgICAg
IyBDYW4ndCBkb3dubG9hZCB0aGlzIGZvciBub3cgYmVjYXVzZSBpdCdzIG1pc3NpbmcgdGhlIGxp
Ym5zczMgbGlicmFyeQorICAgICAgICAgICAgZXhpdCgiIiJDYW4ndCBmaW5kIGNlcnR1dGlsLgor
CitUaGlzIG11c3QgYmUgaW5zdGFsbGVkIHVzaW5nIHlvdXIgT1MgcGFja2FnZSBtYW5hZ2VyIG9y
IGRpcmVjdGx5IGUuZy4KKworRGViaWFuL1VidW50dToKK3N1ZG8gYXB0IGluc3RhbGwgbGlibnNz
My10b29scworCittYWNPUy9Ib21lYnJldzoKK2JyZXcgaW5zdGFsbCBuc3MKKworT3RoZXJzOgor
RG93bmxvYWQgdGhlIGZpcmVmb3ggYXJjaGl2ZSBhbmQgY29tbW9uLnRlc3RzLnppcCBhcmNoaXZl
IGZvciB5b3VyIHBsYXRmb3JtCitmcm9tCitodHRwczovL2FyY2hpdmUubW96aWxsYS5vcmcvcHVi
L2ZpcmVmb3gvbmlnaHRseS9sYXRlc3QtbW96aWxsYS1jZW50cmFsLworVGhlbiBleHRyYWN0IGNl
cnR1dGlsWy5leGVdIGZyb20gdGhlIHRlc3RzLnppcCBwYWNrYWdlIGFuZAorbGlibnNzM1suc298
LmRsbHwuZHlubGliXSBhbmQgYnV0IHRoZSBmb3JtZXIgb24geW91ciBwYXRoIGFuZCB0aGUgbGF0
dGVyIG9uCit5b3VyIGxpYnJhcnkgcGF0aC4KKyIiIikKKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIHByaW50KCJVc2luZyBjZXJ0dXRpbCAlcyIgJSBjZXJ0dXRpbCkKKworICAgICAgICBpZiBj
ZXJ0dXRpbCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGt3YXJnc1siY2VydHV0aWxfYmluYXJ5
Il0gPSBjZXJ0dXRpbAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHJpbnQoIlVuYWJsZSB0
byBmaW5kIG9yIGluc3RhbGwgY2VydHV0aWwsIHNldHRpbmcgc3NsLXR5cGUgdG8gbm9uZSIpCisg
ICAgICAgICAgICBrd2FyZ3NbInNzbF90eXBlIl0gPSAibm9uZSIKKworICAgIGlmIGt3YXJnc1si
d2ViZHJpdmVyX2JpbmFyeSJdIGlzIE5vbmUgYW5kICJ3ZHNwZWMiIGluIGt3YXJnc1sidGVzdF90
eXBlcyJdOgorICAgICAgICB3ZWJkcml2ZXJfYmluYXJ5ID0gZmlyZWZveC5maW5kX3dlYmRyaXZl
cigpCisKKyAgICAgICAgaWYgd2ViZHJpdmVyX2JpbmFyeSBpcyBOb25lOgorICAgICAgICAgICAg
aW5zdGFsbCA9IHByb21wdF9pbnN0YWxsKCJnZWNrb2RyaXZlciIsIHByb21wdCkKKworICAgICAg
ICAgICAgaWYgaW5zdGFsbDoKKyAgICAgICAgICAgICAgICBwcmludCgiRG93bmxvYWRpbmcgZ2Vj
a29kcml2ZXIiKQorICAgICAgICAgICAgICAgIHdlYmRyaXZlcl9iaW5hcnkgPSBmaXJlZm94Lmlu
c3RhbGxfd2ViZHJpdmVyKGRlc3Q9dmVudi5iaW5fcGF0aCkKKyAgICAgICAgZWxzZToKKyAgICAg
ICAgICAgIHByaW50KCJVc2luZyB3ZWJkcml2ZXIgYmluYXJ5ICVzIiAlIHdlYmRyaXZlcl9iaW5h
cnkpCisKKyAgICAgICAgaWYgd2ViZHJpdmVyX2JpbmFyeToKKyAgICAgICAgICAgIGt3YXJnc1si
d2ViZHJpdmVyX2JpbmFyeSJdID0gd2ViZHJpdmVyX2JpbmFyeQorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgcHJpbnQoIlVuYWJsZSB0byBmaW5kIG9yIGluc3RhbGwgZ2Vja29kcml2ZXIsIHNr
aXBwaW5nIHdkc3BlYyB0ZXN0cyIpCisgICAgICAgICAgICBrd2FyZ3NbInRlc3RfdHlwZXMiXS5y
ZW1vdmUoIndkc3BlYyIpCisKKyAgICBpZiBrd2FyZ3NbInByZWZzX3Jvb3QiXSBpcyBOb25lOgor
ICAgICAgICBwcmludCgiRG93bmxvYWRpbmcgZ2Vja28gcHJlZnMiKQorICAgICAgICBwcmVmc19y
b290ID0gZmlyZWZveC5pbnN0YWxsX3ByZWZzKHZlbnYucGF0aCkKKyAgICAgICAga3dhcmdzWyJw
cmVmc19yb290Il0gPSBwcmVmc19yb290CisKKworZGVmIHNldHVwX2ZpcmVmb3godmVudiwga3dh
cmdzLCBwcm9tcHQ9VHJ1ZSk6CisgICAgZmlyZWZveCA9IGJyb3dzZXIuRmlyZWZveCgpCisgICAg
YXJnc19maXJlZm94KHZlbnYsIGt3YXJncywgZmlyZWZveCwgcHJvbXB0KQorICAgIHZlbnYuaW5z
dGFsbF9yZXF1aXJlbWVudHMob3MucGF0aC5qb2luKHdwdF9yb290LCAidG9vbHMiLCAid3B0cnVu
bmVyIiwgZmlyZWZveC5yZXF1aXJlbWVudHMpKQorCisKK2RlZiBhcmdzX2Nocm9tZSh2ZW52LCBr
d2FyZ3MsIGNocm9tZSwgcHJvbXB0PVRydWUpOgorICAgIGlmIGt3YXJnc1sid2ViZHJpdmVyX2Jp
bmFyeSJdIGlzIE5vbmU6CisgICAgICAgIHdlYmRyaXZlcl9iaW5hcnkgPSBjaHJvbWUuZmluZF93
ZWJkcml2ZXIoKQorCisgICAgICAgIGlmIHdlYmRyaXZlcl9iaW5hcnkgaXMgTm9uZToKKyAgICAg
ICAgICAgIGluc3RhbGwgPSBwcm9tcHRfaW5zdGFsbCgiY2hyb21lZHJpdmVyIiwgcHJvbXB0KQor
CisgICAgICAgICAgICBpZiBpbnN0YWxsOgorICAgICAgICAgICAgICAgIHByaW50KCJEb3dubG9h
ZGluZyBjaHJvbWVkcml2ZXIiKQorICAgICAgICAgICAgICAgIHdlYmRyaXZlcl9iaW5hcnkgPSBj
aHJvbWUuaW5zdGFsbF93ZWJkcml2ZXIoZGVzdD12ZW52LmJpbl9wYXRoKQorICAgICAgICBlbHNl
OgorICAgICAgICAgICAgcHJpbnQoIlVzaW5nIHdlYmRyaXZlciBiaW5hcnkgJXMiICUgd2ViZHJp
dmVyX2JpbmFyeSkKKworICAgICAgICBpZiB3ZWJkcml2ZXJfYmluYXJ5OgorICAgICAgICAgICAg
a3dhcmdzWyJ3ZWJkcml2ZXJfYmluYXJ5Il0gPSB3ZWJkcml2ZXJfYmluYXJ5CisgICAgICAgIGVs
c2U6CisgICAgICAgICAgICBleGl0KCJVbmFibGUgdG8gbG9jYXRlIG9yIGluc3RhbGwgY2hyb21l
ZHJpdmVyIGJpbmFyeSIpCisKKworZGVmIHNldHVwX2Nocm9tZSh2ZW52LCBrd2FyZ3MsIHByb21w
dD1UcnVlKToKKyAgICBjaHJvbWUgPSBicm93c2VyLkNocm9tZSgpCisgICAgYXJnc19jaHJvbWUo
dmVudiwga3dhcmdzLCBjaHJvbWUsIHByb21wdCkKKyAgICB2ZW52Lmluc3RhbGxfcmVxdWlyZW1l
bnRzKG9zLnBhdGguam9pbih3cHRfcm9vdCwgInRvb2xzIiwgIndwdHJ1bm5lciIsIGNocm9tZS5y
ZXF1aXJlbWVudHMpKQorCisKK2RlZiBzZXR1cF9lZGdlKGt3YXJncyk6CisgICAgcmFpc2UgTm90
SW1wbGVtZW50ZWRFcnJvcgorCisKK2RlZiBzZXR1cF9zYXVjZShrd2FyZ3MpOgorICAgIHJhaXNl
IE5vdEltcGxlbWVudGVkRXJyb3IKKworCitkZWYgc2V0dXBfc2Vydm8oa3dhcmdzKToKKyAgICBy
YWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCisKKworcHJvZHVjdF9zZXR1cCA9IHsKKyAgICAiZmly
ZWZveCI6IHNldHVwX2ZpcmVmb3gsCisgICAgImNocm9tZSI6IHNldHVwX2Nocm9tZQorfQorCisK
K2RlZiBzZXR1cF93cHRydW5uZXIodmVudiwgcHJvZHVjdCwgdGVzdHMsIHdwdHJ1bm5lcl9hcmdz
LCBwcm9tcHQ9VHJ1ZSwpOgorICAgIGdsb2JhbCBsb2dnZXIKKworICAgIHdwdHBhcnNlciA9IHdw
dGNvbW1hbmRsaW5lLmNyZWF0ZV9wYXJzZXIoKQorICAgIGt3YXJncyA9IHV0aWxzLkt3YXJncyh2
YXJzKHdwdHBhcnNlci5wYXJzZV9hcmdzKHdwdHJ1bm5lcl9hcmdzKSkuaXRlcml0ZW1zKCkpCisK
KyAgICB3cHRydW5uZXIuc2V0dXBfbG9nZ2luZyhrd2FyZ3MsIHsibWFjaCI6IHN5cy5zdGRvdXR9
KQorICAgIGxvZ2dlciA9IHdwdHJ1bm5lci5sb2dnZXIKKworICAgIGt3YXJnc1sicHJvZHVjdCJd
ID0gcHJvZHVjdAorICAgIGt3YXJnc1sidGVzdF9saXN0Il0gPSB0ZXN0cworCisgICAgY2hlY2tf
ZW52aXJvbihwcm9kdWN0KQorICAgIGFyZ3NfZ2VuZXJhbChrd2FyZ3MpCisKKyAgICBpZiBwcm9k
dWN0IG5vdCBpbiBwcm9kdWN0X3NldHVwOgorICAgICAgICBleGl0KCJVbnN1cHBvcnRlZCBwcm9k
dWN0ICVzIiAlIHByb2R1Y3QpCisKKyAgICBwcm9kdWN0X3NldHVwW3Byb2R1Y3RdKHZlbnYsIGt3
YXJncywgcHJvbXB0KQorCisgICAgd3B0Y29tbWFuZGxpbmUuY2hlY2tfYXJncyhrd2FyZ3MpCisK
KyAgICB3cHRydW5uZXJfcGF0aCA9IG9zLnBhdGguam9pbih3cHRfcm9vdCwgInRvb2xzIiwgIndw
dHJ1bm5lciIpCisKKyAgICB2ZW52Lmluc3RhbGxfcmVxdWlyZW1lbnRzKG9zLnBhdGguam9pbih3
cHRydW5uZXJfcGF0aCwgInJlcXVpcmVtZW50cy50eHQiKSkKKworICAgIHJldHVybiBrd2FyZ3MK
KworCitkZWYgbWFpbigpOgorICAgIHBhcnNlciA9IGNyZWF0ZV9wYXJzZXIoKQorICAgIGFyZ3Mg
PSBwYXJzZXIucGFyc2VfYXJncygpCisKKyAgICB2ZW52ID0gdmlydHVhbGVudi5WaXJ0dWFsZW52
KG9zLnBhdGguam9pbih3cHRfcm9vdCwgIl92ZW52IikpCisgICAgdmVudi5zdGFydCgpCisKKyAg
ICBrd2FyZ3MgPSBzZXR1cF93cHRydW5uZXIodmVudiwgYXJncy5wcm9kdWN0LCBhcmdzLnRlc3Rz
LCBhcmdzLndwdHJ1bm5lcl9hcmdzLCBwcm9tcHQ9YXJncy5wcm9tcHQpCisgICAgd3B0cnVubmVy
LnN0YXJ0KCoqa3dhcmdzKQorCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgaW1w
b3J0IHBkYgorICAgIHRyeToKKyAgICAgICAgbWFpbigpCisgICAgZXhjZXB0OgorICAgICAgICBw
ZGIucG9zdF9tb3J0ZW0oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvTElDRU5TRSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL0xJQ0VOU0UKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDU4OTZlNmJlMmJkNTFmNGI3OGU5NzAzY2FlZmI5YjY3MmUxMGE1NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL0xJQ0VOU0UKQEAgLTAsMCArMSwzMCBAQAorVzNDIDMtY2xhdXNlIEJT
RCBMaWNlbnNlCisKK2h0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwOC8wMy1i
c2QtbGljZW5zZS5odG1sCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorbWV0OgorCisqIFJl
ZGlzdHJpYnV0aW9ucyBvZiB3b3JrcyBtdXN0IHJldGFpbiB0aGUgb3JpZ2luYWwgY29weXJpZ2h0
IG5vdGljZSwKKyAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKworKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIG9yaWdpbmFsIGNvcHlyaWdodAorICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisK
KyogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVzNDIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUKKyAgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tIHRoaXMgd29yayB3aXRob3V0CisgIHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKK0xJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKK09XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCitEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKK1RI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL01BTklG
RVNULmluIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvTUFOSUZFU1QuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM1ZTM4YmYyNjU0ZDQ2ODM1Yzlj
ZWNiNjFlNjAwZTRiYWYzNTRlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL01BTklGRVNULmluCkBA
IC0wLDAgKzEsMTcgQEAKK2V4Y2x1ZGUgTUFOSUZFU1QuaW4KK2luY2x1ZGUgcmVxdWlyZW1lbnRz
LnR4dAoraW5jbHVkZSB3cHRydW5uZXIvYnJvd3NlcnMvYjJnX3NldHVwLyoKK2luY2x1ZGUgd3B0
cnVubmVyLmRlZmF1bHQuaW5pCitpbmNsdWRlIHdwdHJ1bm5lci90ZXN0aGFybmVzc19ydW5uZXIu
aHRtbAoraW5jbHVkZSB3cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQuanMKK2luY2x1ZGUgd3B0
cnVubmVyL3Rlc3RoYXJuZXNzcmVwb3J0LXNlcnZvLmpzCitpbmNsdWRlIHdwdHJ1bm5lci90ZXN0
aGFybmVzc3JlcG9ydC1zZXJ2b2RyaXZlci5qcworaW5jbHVkZSB3cHRydW5uZXIvZXhlY3V0b3Jz
L3Rlc3RoYXJuZXNzX21hcmlvbmV0dGUuanMKK2luY2x1ZGUgd3B0cnVubmVyL2V4ZWN1dG9ycy90
ZXN0aGFybmVzc19zZXJ2b2RyaXZlci5qcworaW5jbHVkZSB3cHRydW5uZXIvZXhlY3V0b3JzL3Rl
c3RoYXJuZXNzX3dlYmRyaXZlci5qcworaW5jbHVkZSB3cHRydW5uZXIvZXhlY3V0b3JzL3JlZnRl
c3QuanMKK2luY2x1ZGUgd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXQuanMKK2luY2x1
ZGUgd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXRfc2Vydm9kcml2ZXIuanMKK2luY2x1
ZGUgd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXRfd2ViZHJpdmVyLmpzCitpbmNsdWRl
IHdwdHJ1bm5lci9jb25maWcuanNvbgoraW5jbHVkZSB3cHRydW5uZXIvYnJvd3NlcnMvc2VydmVy
LWxvY2F0aW9ucy50eHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci9SRUFETUUucnN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvUkVBRE1FLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzY1MGVlYzQ1YWNjMmQw
ZWFhMDUyOWM1YmMxM2VhNGQwOTEyOWU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvUkVBRE1FLnJz
dApAQCAtMCwwICsxLDI0MiBAQAord3B0cnVubmVyOiBBIHdlYi1wbGF0Zm9ybS10ZXN0cyBoYXJu
ZXNzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKword3B0cnVubmVy
IGlzIGEgaGFybmVzcyBmb3IgcnVubmluZyB0aGUgVzNDIGB3ZWItcGxhdGZvcm0tdGVzdHMgdGVz
dHN1aXRlYF8uCisKKy4uIGNvbnRlbnRzOjoKKworSW5zdGFsbGF0aW9uCit+fn5+fn5+fn5+fn4K
Kword3B0cnVubmVyIGlzIGV4cGVjdGVkIHRvIGJlIGluc3RhbGxlZCBpbnRvIGEgdmlydHVhbGVu
diB1c2luZyBwaXAuIEZvcgorZGV2ZWxvcG1lbnQsIGl0IGNhbiBiZSBpbnN0YWxsZWQgdXNpbmcg
dGhlIGAtZWAgb3B0aW9uOjoKKworICBwaXAgaW5zdGFsbCAtZSAuLworCitSdW5uaW5nIHRoZSBU
ZXN0cworfn5+fn5+fn5+fn5+fn5+fn4KKworQWZ0ZXIgaW5zdGFsbGF0aW9uLCB0aGUgY29tbWFu
ZCBgYHdwdHJ1bm5lcmBgIHNob3VsZCBiZSBhdmFpbGFibGUgdG8gcnVuCit0aGUgdGVzdHMuCisK
K1RoZSBgYHdwdHJ1bm5lcmBgIGNvbW1hbmQgIHRha2VzIG11bHRpcGxlIG9wdGlvbnMsIG9mIHdo
aWNoIHRoZQorZm9sbG93aW5nIGFyZSBtb3N0IHNpZ25pZmljYW50OgorCitgYC0tcHJvZHVjdGBg
IChkZWZhdWx0cyB0byBgZmlyZWZveGApCisgIFRoZSBwcm9kdWN0IHRvIHRlc3QgYWdhaW5zdDog
YGIyZ2AsIGBjaHJvbWVgLCBgZmlyZWZveGAsIG9yIGBzZXJ2b2AuCisKK2BgLS1iaW5hcnlgYCAo
cmVxdWlyZWQgaWYgcHJvZHVjdCBpcyBgZmlyZWZveGAgb3IgYHNlcnZvYCkKKyAgVGhlIHBhdGgg
dG8gYSBiaW5hcnkgZmlsZSBmb3IgdGhlIHByb2R1Y3QgKGJyb3dzZXIpIHRvIHRlc3QgYWdhaW5z
dC4KKworYGAtLXdlYmRyaXZlci1iaW5hcnlgYCAocmVxdWlyZWQgaWYgcHJvZHVjdCBpcyBgY2hy
b21lYCkKKyAgVGhlIHBhdGggdG8gYSBgZHJpdmVyYCBiaW5hcnk7IGUuZy4sIGEgYGNocm9tZWRy
aXZlcmAgYmluYXJ5LgorCitgYC0tY2VydHV0aWwtYmluYXJ5YGAgKHJlcXVpcmVkIGlmIHByb2R1
Y3QgaXMgYGZpcmVmb3hgIFsjXV8pCisgIFRoZSBwYXRoIHRvIGEgYGNlcnR1dGlsYCBiaW5hcnkg
KGZvciB0ZXN0cyB0aGF0IG11c3QgYmUgcnVuIG92ZXIgaHR0cHMpLgorCitgYC0tbWV0YWRhdGFg
YCAocmVxdWlyZWQpCisgIFRoZSBwYXRoIHRvIGEgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGVzdCBt
ZXRhZGF0YS4gWyNdXworCitgYC0tdGVzdHNgYCAocmVxdWlyZWQpCisgIFRoZSBwYXRoIHRvIGEg
ZGlyZWN0b3J5IGNvbnRhaW5pbmcgYSB3ZWItcGxhdGZvcm0tdGVzdHMgY2hlY2tvdXQuCisKK2Bg
LS1wcmVmcy1yb290YGAgKHJlcXVpcmVkIG9ubHkgd2hlbiB0ZXN0aW5nIGEgRmlyZWZveCBiaW5h
cnkpCisgIFRoZSBwYXRoIHRvIGEgZGlyZWN0b3J5IGNvbnRhaW5pbmcgRmlyZWZveCB0ZXN0LWhh
cm5lc3MgcHJlZmVyZW5jZXMuIFsjXV8KKworYGAtLWNvbmZpZ2BgIChzaG91bGQgZGVmYXVsdCB0
byBgd3B0cnVubmVyLmRlZmF1bHQuaW5pYCkKKyAgVGhlIHBhdGggdG8gdGhlIGNvbmZpZyAoaW5p
KSBmaWxlLgorCisuLiBbI10gVGhlIGBgLS1jZXJ0dXRpbC1iaW5hcnlgYCBvcHRpb24gaXMgcmVx
dWlyZWQgd2hlbiB0aGUgcHJvZHVjdCBpcworICAgYGBmaXJlZm94YGAgdW5sZXNzIGBgLS1zc2wt
dHlwZT1ub25lYGAgaXMgc3BlY2lmaWVkLgorCisuLiBbI10gVGhlIGBgLS1tZXRhZGF0YWBgIHBh
dGggaXMgdG8gYSBkaXJlY3RvcnkgdGhhdCBjb250YWluczoKKworICAqIGEgYGBNQU5JRkVTVC5q
c29uYGAgZmlsZSAoaW5zdHJ1Y3Rpb25zIG9uIGdlbmVyYXRpbmcgdGhpcyBmaWxlIGFyZQorICAg
IGF2YWlsYWJsZSBpbiB0aGUgYGRldGFpbGVkIGRvY3VtZW50YXRpb24KKyAgICA8aHR0cDovL3dw
dHJ1bm5lci5yZWFkdGhlZG9jcy5vcmcvZW4vbGF0ZXN0L3VzYWdlLmh0bWwjaW5zdGFsbGluZy13
cHRydW5uZXI+YF8pOworICAgIGFuZAorICAqIChvcHRpb25hbGx5KSBhbnkgZXhwZWN0YXRpb24g
ZmlsZXMgKHNlZSBiZWxvdykKKworLi4gWyNdIEV4YW1wbGUgYGAtLXByZWZzLXJvb3RgYCB2YWx1
ZTogYGB+L21vemlsbGEtY2VudHJhbC90ZXN0aW5nL3Byb2ZpbGVzYGAuCisKK1RoZXJlIGFyZSBh
bHNvIGEgdmFyaWV0eSBvZiBvdGhlciBvcHRpb25zIGF2YWlsYWJsZTsgdXNlIGBgLS1oZWxwYGAg
dG8KK2xpc3QgdGhlbS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorRXhhbXBs
ZTogSG93IHRvIHN0YXJ0IHdwdHJ1bm5lcgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorCitUbyB0ZXN0IGEgRmlyZWZveCBOaWdodGx5IGJ1aWxkIGluIGFuIE9TIFggZW52aXJvbm1l
bnQsIHlvdSBtaWdodCBzdGFydAord3B0cnVubmVyIHVzaW5nIHNvbWV0aGluZyBzaW1pbGFyIHRv
IHRoZSBmb2xsb3dpbmcgZXhhbXBsZTo6CisKKyAgd3B0cnVubmVyIC0tbWV0YWRhdGE9fi93ZWIt
cGxhdGZvcm0tdGVzdHMvIC0tdGVzdHM9fi93ZWItcGxhdGZvcm0tdGVzdHMvIFwKKyAgICAtLWJp
bmFyeT1+L21vemlsbGEtY2VudHJhbC9vYmoteDg2XzY0LWFwcGxlLWRhcndpbjE0LjMuMC9kaXN0
L05pZ2h0bHkuYXBwL0NvbnRlbnRzL01hY09TL2ZpcmVmb3ggXAorICAgIC0tY2VydHV0aWwtYmlu
YXJ5PX4vbW96aWxsYS1jZW50cmFsL29iai14ODZfNjQtYXBwbGUtZGFyd2luMTQuMy4wL3NlY3Vy
aXR5L25zcy9jbWQvY2VydHV0aWwvY2VydHV0aWwgXAorICAgIC0tcHJlZnMtcm9vdD1+L21vemls
bGEtY2VudHJhbC90ZXN0aW5nL3Byb2ZpbGVzCisKK0FuZCB0byB0ZXN0IGEgQ2hyb21pdW0gYnVp
bGQgaW4gYW4gT1MgWCBlbnZpcm9ubWVudCwgeW91IG1pZ2h0IHN0YXJ0Cit3cHRydW5uZXIgdXNp
bmcgc29tZXRoaW5nIHNpbWlsYXIgdG8gdGhlIGZvbGxvd2luZyBleGFtcGxlOjoKKworICB3cHRy
dW5uZXIgLS1tZXRhZGF0YT1+L3dlYi1wbGF0Zm9ybS10ZXN0cy8gLS10ZXN0cz1+L3dlYi1wbGF0
Zm9ybS10ZXN0cy8gXAorICAgIC0tYmluYXJ5PX4vY2hyb21pdW0vc3JjL291dC9SZWxlYXNlL0No
cm9taXVtLmFwcC9Db250ZW50cy9NYWNPUy9DaHJvbWl1bSBcCisgICAgLS13ZWJkcml2ZXItYmlu
YXJ5PS91c3IvbG9jYWwvYmluL2Nocm9tZWRyaXZlciAtLXByb2R1Y3Q9Y2hyb21lCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0V4YW1wbGU6IEhvdyB0byBydW4gYSBz
dWJzZXQgb2YgdGVzdHMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwor
VG8gcmVzdHJpY3QgYSB0ZXN0IHJ1biBqdXN0IHRvIHRlc3RzIGluIGEgcGFydGljdWxhciB3ZWIt
cGxhdGZvcm0tdGVzdHMKK3N1YmRpcmVjdG9yeSwgc3BlY2lmeSB0aGUgZGlyZWN0b3J5IG5hbWUg
aW4gdGhlIHBvc2l0aW9uYWwgYXJndW1lbnRzIGFmdGVyCit0aGUgb3B0aW9uczsgZm9yIGV4YW1w
bGUsIHJ1biBqdXN0IHRoZSB0ZXN0cyBpbiB0aGUgYGRvbWAgc3ViZGlyZWN0b3J5OjoKKworICB3
cHRydW5uZXIgLS1tZXRhZGF0YT1+L3dlYi1wbGF0Zm9ybS10ZXN0cy8gLS10ZXN0cz1+L3dlYi1w
bGF0Zm9ybS10ZXN0cy8gXAorICAgIC0tYmluYXJ5PS9wYXRoL3RvL2ZpcmVmb3ggLS1jZXJ0dXRp
bC1iaW5hcnk9L3BhdGgvdG8vY2VydHV0aWwgXAorICAgIC0tcHJlZnMtcm9vdD0vcGF0aC90by90
ZXN0aW5nL3Byb2ZpbGVzIFwKKyAgICBkb20KKworT3V0cHV0Cit+fn5+fn4KKworQnkgZGVmYXVs
dCB3cHRydW5uZXIganVzdCBkdW1wcyBpdHMgZW50aXJlIG91dHB1dCBhcyByYXcgSlNPTiBtZXNz
YWdlcwordG8gc3Rkb3V0LiBUaGlzIGlzIGNvbnZlbmllbnQgZm9yIHBpcGluZyBpbnRvIG90aGVy
IHRvb2xzLCBidXQgbm90IGlkZWFsCitmb3IgaHVtYW5zIHJlYWRpbmcgdGhlIG91dHB1dC4KKwor
QXMgYW4gYWx0ZXJuYXRpdmUsIHlvdSBjYW4gdXNlIHRoZSBgYC0tbG9nLW1hY2hgYCBvcHRpb24s
IHdoaWNoIHByb3ZpZGVzCitvdXRwdXQgaW4gYSByZWFzb25hYmxlIGZvcm1hdCBmb3IgaHVtYW5z
LiBUaGUgb3B0aW9uIHJlcXVpcmVzIGEgdmFsdWU6CitlaXRoZXIgdGhlIHBhdGggZm9yIGEgZmls
ZSB0byB3cml0ZSB0aGUgYG1hY2hgLWZvcm1hdHRlZCBvdXRwdXQgdG8sIG9yCisiYC1gIiAoYSBo
eXBoZW4pIHRvIHdyaXRlIHRoZSBgbWFjaGAtZm9ybWF0dGVkIG91dHB1dCB0byBzdGRvdXQuCisK
K1doZW4gdXNpbmcgYGAtLWxvZy1tYWNoYGAsIG91dHB1dCBvZiB0aGUgZnVsbCByYXcgSlNPTiBs
b2cgaXMgc3RpbGwKK2F2YWlsYWJsZSwgZnJvbSB0aGUgYGAtLWxvZy1yYXdgYCBvcHRpb24uIFNv
IHRvIG91dHB1dCB0aGUgZnVsbCByYXcgSlNPTgorbG9nIHRvIGEgZmlsZSBhbmQgYSBodW1hbi1y
ZWFkYWJsZSBzdW1tYXJ5IHRvIHN0ZG91dCwgeW91IG1pZ2h0IHN0YXJ0Cit3cHRydW5uZXIgdXNp
bmcgc29tZXRoaW5nIHNpbWlsYXIgdG8gdGhlIGZvbGxvd2luZyBleGFtcGxlOjoKKworICB3cHRy
dW5uZXIgLS1tZXRhZGF0YT1+L3dlYi1wbGF0Zm9ybS10ZXN0cy8gLS10ZXN0cz1+L3dlYi1wbGF0
Zm9ybS10ZXN0cy8gXAorICAgIC0tYmluYXJ5PS9wYXRoL3RvL2ZpcmVmb3ggLS1jZXJ0dXRpbC1i
aW5hcnk9L3BhdGgvdG8vY2VydHV0aWwgXAorICAgIC0tcHJlZnMtcm9vdD0vcGF0aC90by90ZXN0
aW5nL3Byb2ZpbGVzIFwKKyAgICAtLWxvZy1yYXc9b3V0cHV0LmxvZyAtLWxvZy1tYWNoPS0KKwor
RXhwZWN0YXRpb24gRGF0YQorfn5+fn5+fn5+fn5+fn5+fgorCit3cHRydW5uZXIgaXMgZGVzaWdu
ZWQgdG8gYmUgdXNlZCBpbiBhbiBlbnZpcm9ubWVudCB3aGVyZSBpdCBpcyBub3QKK2p1c3QgbmVj
ZXNzYXJ5IHRvIGtub3cgd2hpY2ggdGVzdHMgcGFzc2VkLCBidXQgdG8gY29tcGFyZSB0aGUgcmVz
dWx0cworYmV0d2VlbiBydW5zLiBGb3IgdGhpcyByZWFzb24gaXQgaXMgcG9zc2libGUgdG8gc3Rv
cmUgdGhlIHJlc3VsdHMgb2YgYQorcHJldmlvdXMgcnVuIGluIGEgc2V0IG9mIGluaS1saWtlICJl
eHBlY3RhdGlvbiBmaWxlcyIuIFRoaXMgZm9ybWF0IGlzCitkb2N1bWVudGVkIGJlbG93LiBUbyBn
ZW5lcmF0ZSB0aGUgZXhwZWN0YXRpb24gZmlsZXMgdXNlIGB3cHRydW5uZXJgIHdpdGgKK3RoZSBg
LS1sb2ctcmF3PS9wYXRoL3RvL2xvZy9maWxlYCBvcHRpb24uIFRoaXMgY2FuIHRoZW4gYmUgdXNl
ZCBhcworaW5wdXQgdG8gdGhlIGB3cHR1cGRhdGVgIHRvb2wuCisKK0V4cGVjdGF0aW9uIEZpbGUg
Rm9ybWF0Cit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitNZXRhZGF0YSBhYm91dCB0ZXN0cywg
bm90YWJseSBpbmNsdWRpbmcgdGhlaXIgZXhwZWN0ZWQgcmVzdWx0cywgaXMKK3N0b3JlZCBpbiBh
IG1vZGlmaWVkIGluaS1saWtlIGZvcm1hdCB0aGF0IGlzIGRlc2lnbmVkIHRvIGJlIGh1bWFuCitl
ZGl0YWJsZSwgYnV0IGFsc28gdG8gYmUgbWFjaGluZSB1cGRhdGFibGUuCisKK0VhY2ggdGVzdCBm
aWxlIHRoYXQgcmVxdWlyZXMgbWV0YWRhdGEgdG8gYmUgc3BlY2lmaWVkIChiZWNhdXNlIGl0IGhh
cworYSBub24tZGVmYXVsdCBleHBlY3RhdGlvbiBvciBiZWNhdXNlIGl0IGlzIGRpc2FibGVkLCBm
b3IgZXhhbXBsZSkgaGFzCithIGNvcnJlc3BvbmRpbmcgZXhwZWN0YXRpb24gZmlsZSBpbiB0aGUg
YG1ldGFkYXRhYCBkaXJlY3RvcnkuIEZvcgorZXhhbXBsZSBhIHRlc3QgZmlsZSBgaHRtbC90ZXN0
MS5odG1sYCBjb250YWluaW5nIGEgZmFpbGluZyB0ZXN0IHdvdWxkCitoYXZlIGFuIGV4cGVjdGF0
aW9uIGZpbGUgY2FsbGVkIGBodG1sL3Rlc3QxLmh0bWwuaW5pYCBpbiB0aGUKK2BtZXRhZGF0YWAg
ZGlyZWN0b3J5LgorCitBbiBleGFtcGxlIG9mIGFuIGV4cGVjdGF0aW9uIGZpbGUgaXM6OgorCisg
IGV4YW1wbGVfZGVmYXVsdF9rZXk6IGV4YW1wbGVfdmFsdWUKKworICBbZmlsZW5hbWUuaHRtbF0K
KyAgICB0eXBlOiB0ZXN0aGFybmVzcworCisgICAgW3N1YnRlc3QxXQorICAgICAgZXhwZWN0ZWQ6
IEZBSUwKKworICAgIFtzdWJ0ZXN0Ml0KKyAgICAgIGV4cGVjdGVkOgorICAgICAgICBpZiBwbGF0
Zm9ybSA9PSAnd2luJzogVElNRU9VVAorICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnb3N4JzogRVJS
T1IKKyAgICAgICAgRkFJTAorCisgIFtmaWxlbmFtZS5odG1sP3F1ZXJ5PXNvbWV0aGluZ10KKyAg
ICB0eXBlOiB0ZXN0aGFybmVzcworICAgIGRpc2FibGVkOiBidWcxMjM0NQorCitUaGUgZmlsZSBj
b25zaXN0cyBvZiB0d28gZWxlbWVudHMsIGtleS12YWx1ZSBwYWlycyBhbmQKK3NlY3Rpb25zLgor
CitTZWN0aW9ucyBhcmUgZGVsaW1pdGVkIGJ5IGhlYWRpbmdzIGVuY2xvc2VkIGluIHNxdWFyZSBi
cmFja2V0cy4gQW55CitjbG9zaW5nIHNxdWFyZSBicmFja2V0IGluIHRoZSBoZWFkaW5nIGl0c2Vs
ZiBteSBiZSBlc2NhcGVkIHdpdGggYQorYmFja3NsYXNoLiBFYWNoIHNlY3Rpb24gbWF5IHRoZW4g
Y29udGFpbiBhbnkgbnVtYmVyIG9mIGtleS12YWx1ZSBwYWlycworZm9sbG93ZWQgYnkgYW55IG51
bWJlciBvZiBzdWJzZWN0aW9ucy4gU28gdGhhdCBpdCBpcyBjbGVhciB3aGljaCBkYXRhCitiZWxv
bmdzIHRvIGVhY2ggc2VjdGlvbiB3aXRob3V0IHRoZSB1c2Ugb2YgZW5kLXNlY3Rpb24gbWFya2Vy
cywgdGhlCitkYXRhIGZvciBlYWNoIHNlY3Rpb24gKGkuZS4gdGhlIGtleS12YWx1ZSBwYWlycyBh
bmQgc3Vic2VjdGlvbnMpIG11c3QKK2JlIGluZGVudGVkIHVzaW5nIHNwYWNlcy4gSW5kZW50YXRp
b24gbmVlZCBvbmx5IGJlIGNvbnNpc3RlbnQsIGJ1dAordXNpbmcgdHdvIHNwYWNlcyBwZXIgbGV2
ZWwgaXMgcmVjb21tZW5kZWQuCisKK0luIGEgdGVzdCBleHBlY3RhdGlvbiBmaWxlLCBlYWNoIHJl
c291cmNlIHByb3ZpZGVkIGJ5IHRoZSBmaWxlIGhhcyBhCitzaW5nbGUgc2VjdGlvbiwgd2l0aCB0
aGUgc2VjdGlvbiBoZWFkaW5nIGJlaW5nIHRoZSBwYXJ0IGFmdGVyIHRoZSBsYXN0CitgL2AgaW4g
dGhlIHRlc3QgdXJsLiBUZXN0cyB0aGF0IGhhdmUgc3Vic2VjdGlvbnMgbWF5IGhhdmUgc3Vic2Vj
dGlvbnMKK2ZvciB0aG9zZSBzdWJ0ZXN0cyBpbiB3aGljaCB0aGUgaGVhZGluZyBpcyB0aGUgbmFt
ZSBvZiB0aGUgc3VidGVzdC4KKworU2ltcGxlIGtleS12YWx1ZSBwYWlycyBhcmUgb2YgdGhlIGZv
cm06OgorCisgIGtleTogdmFsdWUKKworTm90ZSB0aGF0IHVubGlrZSBpbmkgZmlsZXMsIG9ubHkg
YDpgIGlzIGEgdmFsaWQgc2VwZXJhdG9yOyBgPWAgd2lsbAorbm90IHdvcmsgYXMgZXhwZWN0ZWQu
IEtleS12YWx1ZSBwYWlycyBtYXkgYWxzbyBoYXZlIGNvbmRpdGlvbmFsCit2YWx1ZXMgb2YgdGhl
IGZvcm06OgorCisgIGtleToKKyAgICBpZiBjb25kaXRpb24xOiB2YWx1ZTEKKyAgICBpZiBjb25k
aXRpb24yOiB2YWx1ZTIKKyAgICBkZWZhdWx0CisKK0luIHRoaXMgY2FzZSBlYWNoIGNvbmRpdGlv
bmFsIGlzIGV2YWx1YXRlZCBpbiB0dXJuIGFuZCB0aGUgdmFsdWUgaXMKK3RoYXQgb24gdGhlIHJp
Z2h0IGhhbmQgc2lkZSBvZiB0aGUgZmlyc3QgbWF0Y2hpbmcgY29uZGl0aW9uYWwuIEluIHRoZQor
Y2FzZSB0aGF0IG5vIGNvbmRpdGlvbiBtYXRjaGVzLCB0aGUgdW5jb25kaXRpb25hbCBkZWZhdWx0
IGlzIHVzZWQuIElmCitubyBjb25kaXRpb24gbWF0Y2hlcyBhbmQgbm8gZGVmYXVsdCBpcyBwcm92
aWRlZCBpdCBpcyBlcXVpdmFsZW50IHRvCit0aGUga2V5IG5vdCBiZWluZyBwcmVzZW50LiBDb25k
aXRpb25hbHMgdXNlIGEgc2ltcGxlIHB5dGhvbi1saWtlIGV4cHJlc3Npb24KK2xhbmd1YWdlIGUu
Zy46OgorCisgIGlmIGRlYnVnIGFuZCAocGxhdGZvcm0gPT0gImxpbnV4IiBvciBwbGF0Zm9ybSA9
PSAib3N4Iik6IEZBSUwKKworRm9yIHRlc3QgZXhwZWN0YXRpb25zIHRoZSBhdmFsaWFibGUgdmFy
aWFibGVzIGFyZSB0aG9zZSBpbiB0aGUKK2BydW5faW5mb2Agd2hpY2ggZm9yIGRlc2t0b3AgYXJl
IGB2ZXJzaW9uYCwgYG9zYCwgYGJpdHNgLCBgcHJvY2Vzc29yYCwKK2BkZWJ1Z2AgYW5kIGBwcm9k
dWN0YC4KKworS2V5LXZhbHVlIHBhaXJzIHNwZWNpZmllZCBhdCB0aGUgdG9wIGxldmVsIG9mIHRo
ZSBmaWxlIGJlZm9yZSBhbnkKK3NlY3Rpb25zIGFyZSBzcGVjaWFsIGFzIHRoZXkgcHJvdmlkZSBk
ZWZhdWx0cyBmb3IgdGhlIHJlc3Qgb2YgdGhlIGZpbGUKK2UuZy46OgorCisgIGtleTE6IHZhbHVl
MQorCisgIFtzZWN0aW9uIDFdCisgICAga2V5MjogdmFsdWUyCisKKyAgW3NlY3Rpb24gMl0KKyAg
ICBrZXkxOiB2YWx1ZTMKKworSW4gdGhpcyBjYXNlLCBpbnNpZGUgc2VjdGlvbiAxLCBga2V5MWAg
d291bGQgaGF2ZSB0aGUgdmFsdWUgYHZhbHVlMWAKK2FuZCBga2V5MmAgdGhlIHZhbHVlIGB2YWx1
ZTJgIHdoZXJlYXMgaW4gc2VjdGlvbiAyIGBrZXkxYCB3b3VsZCBoYXZlCit0aGUgdmFsdWUgYHZh
bHVlM2AgYW5kIGBrZXkyYCB3b3VsZCBiZSB1bmRlZmluZWQuCisKK1RoZSB3ZWItcGxhdGZvcm0t
dGVzdCBoYXJuZXNzIGtub3dzIGFib3V0IHNldmVyYWwga2V5czoKKworYGV4cGVjdGVkYAorICBN
dXN0IGV2YWx1YXRlIHRvIGEgcG9zc2libGUgdGVzdCBzdGF0dXMgaW5kaWNhdGluZyB0aGUgZXhw
ZWN0ZWQKKyAgcmVzdWx0IG9mIHRoZSB0ZXN0LiBUaGUgaW1wbGljaXQgZGVmYXVsdCBpcyBQQVNT
IG9yIE9LIHdoZW4gdGhlCisgIGZpZWxkIGlzbid0IHByZXNlbnQuCisKK2BkaXNhYmxlZGAKKyAg
QW55IHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSB0ZXN0IGlzIGRpc2FibGVkLgorCitgdHlwZWAK
KyAgVGhlIHRlc3QgdHlwZSBlLmcuIGB0ZXN0aGFybmVzc2AsIGByZWZ0ZXN0YCwgb3IgYHdkc3Bl
Y2AuCisKK2ByZWZ0eXBlYAorICBUaGUgdHlwZSBvZiBjb21wYXJpc29uIGZvciByZWZ0ZXN0czsg
ZWl0aGVyIGA9PWAgb3IgYCE9YC4KKworYHJlZnVybGAKKyAgVGhlIHJlZmVyZW5jZSB1cmwgZm9y
IHJlZnRlc3RzLgorCisuLiBfYHdlYi1wbGF0Zm9ybS10ZXN0cyB0ZXN0c3VpdGVgOiBodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9N
YWtlZmlsZSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL2RvY3MvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDAyYjZjNWU3YzRmMjY3MDMx
YmQzOTAxM2MzODg0YWI1ODUzMzhmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvTWFrZWZp
bGUKQEAgLTAsMCArMSwxNzcgQEAKKyMgTWFrZWZpbGUgZm9yIFNwaGlueCBkb2N1bWVudGF0aW9u
CisjCisKKyMgWW91IGNhbiBzZXQgdGhlc2UgdmFyaWFibGVzIGZyb20gdGhlIGNvbW1hbmQgbGlu
ZS4KK1NQSElOWE9QVFMgICAgPQorU1BISU5YQlVJTEQgICA9IHNwaGlueC1idWlsZAorUEFQRVIg
ICAgICAgICA9CitCVUlMRERJUiAgICAgID0gX2J1aWxkCisKKyMgVXNlci1mcmllbmRseSBjaGVj
ayBmb3Igc3BoaW54LWJ1aWxkCitpZmVxICgkKHNoZWxsIHdoaWNoICQoU1BISU5YQlVJTEQpID4v
ZGV2L251bGwgMj4mMTsgZWNobyAkJD8pLCAxKQorJChlcnJvciBUaGUgJyQoU1BISU5YQlVJTEQp
JyBjb21tYW5kIHdhcyBub3QgZm91bmQuIE1ha2Ugc3VyZSB5b3UgaGF2ZSBTcGhpbnggaW5zdGFs
bGVkLCB0aGVuIHNldCB0aGUgU1BISU5YQlVJTEQgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gcG9p
bnQgdG8gdGhlIGZ1bGwgcGF0aCBvZiB0aGUgJyQoU1BISU5YQlVJTEQpJyBleGVjdXRhYmxlLiBB
bHRlcm5hdGl2ZWx5IHlvdSBjYW4gYWRkIHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgZXhlY3V0YWJs
ZSB0byB5b3VyIFBBVEguIElmIHlvdSBkb24ndCBoYXZlIFNwaGlueCBpbnN0YWxsZWQsIGdyYWIg
aXQgZnJvbSBodHRwOi8vc3BoaW54LWRvYy5vcmcvKQorZW5kaWYKKworIyBJbnRlcm5hbCB2YXJp
YWJsZXMuCitQQVBFUk9QVF9hNCAgICAgPSAtRCBsYXRleF9wYXBlcl9zaXplPWE0CitQQVBFUk9Q
VF9sZXR0ZXIgPSAtRCBsYXRleF9wYXBlcl9zaXplPWxldHRlcgorQUxMU1BISU5YT1BUUyAgID0g
LWQgJChCVUlMRERJUikvZG9jdHJlZXMgJChQQVBFUk9QVF8kKFBBUEVSKSkgJChTUEhJTlhPUFRT
KSAuCisjIHRoZSBpMThuIGJ1aWxkZXIgY2Fubm90IHNoYXJlIHRoZSBlbnZpcm9ubWVudCBhbmQg
ZG9jdHJlZXMgd2l0aCB0aGUgb3RoZXJzCitJMThOU1BISU5YT1BUUyAgPSAkKFBBUEVST1BUXyQo
UEFQRVIpKSAkKFNQSElOWE9QVFMpIC4KKworLlBIT05ZOiBoZWxwIGNsZWFuIGh0bWwgZGlyaHRt
bCBzaW5nbGVodG1sIHBpY2tsZSBqc29uIGh0bWxoZWxwIHF0aGVscCBkZXZoZWxwIGVwdWIgbGF0
ZXggbGF0ZXhwZGYgdGV4dCBtYW4gY2hhbmdlcyBsaW5rY2hlY2sgZG9jdGVzdCBnZXR0ZXh0CisK
K2hlbHA6CisJQGVjaG8gIlBsZWFzZSB1c2UgXGBtYWtlIDx0YXJnZXQ+JyB3aGVyZSA8dGFyZ2V0
PiBpcyBvbmUgb2YiCisJQGVjaG8gIiAgaHRtbCAgICAgICB0byBtYWtlIHN0YW5kYWxvbmUgSFRN
TCBmaWxlcyIKKwlAZWNobyAiICBkaXJodG1sICAgIHRvIG1ha2UgSFRNTCBmaWxlcyBuYW1lZCBp
bmRleC5odG1sIGluIGRpcmVjdG9yaWVzIgorCUBlY2hvICIgIHNpbmdsZWh0bWwgdG8gbWFrZSBh
IHNpbmdsZSBsYXJnZSBIVE1MIGZpbGUiCisJQGVjaG8gIiAgcGlja2xlICAgICB0byBtYWtlIHBp
Y2tsZSBmaWxlcyIKKwlAZWNobyAiICBqc29uICAgICAgIHRvIG1ha2UgSlNPTiBmaWxlcyIKKwlA
ZWNobyAiICBodG1saGVscCAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBIVE1MIGhlbHAgcHJv
amVjdCIKKwlAZWNobyAiICBxdGhlbHAgICAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBxdGhl
bHAgcHJvamVjdCIKKwlAZWNobyAiICBkZXZoZWxwICAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQg
YSBEZXZoZWxwIHByb2plY3QiCisJQGVjaG8gIiAgZXB1YiAgICAgICB0byBtYWtlIGFuIGVwdWIi
CisJQGVjaG8gIiAgbGF0ZXggICAgICB0byBtYWtlIExhVGVYIGZpbGVzLCB5b3UgY2FuIHNldCBQ
QVBFUj1hNCBvciBQQVBFUj1sZXR0ZXIiCisJQGVjaG8gIiAgbGF0ZXhwZGYgICB0byBtYWtlIExh
VGVYIGZpbGVzIGFuZCBydW4gdGhlbSB0aHJvdWdoIHBkZmxhdGV4IgorCUBlY2hvICIgIGxhdGV4
cGRmamEgdG8gbWFrZSBMYVRlWCBmaWxlcyBhbmQgcnVuIHRoZW0gdGhyb3VnaCBwbGF0ZXgvZHZp
cGRmbXgiCisJQGVjaG8gIiAgdGV4dCAgICAgICB0byBtYWtlIHRleHQgZmlsZXMiCisJQGVjaG8g
IiAgbWFuICAgICAgICB0byBtYWtlIG1hbnVhbCBwYWdlcyIKKwlAZWNobyAiICB0ZXhpbmZvICAg
IHRvIG1ha2UgVGV4aW5mbyBmaWxlcyIKKwlAZWNobyAiICBpbmZvICAgICAgIHRvIG1ha2UgVGV4
aW5mbyBmaWxlcyBhbmQgcnVuIHRoZW0gdGhyb3VnaCBtYWtlaW5mbyIKKwlAZWNobyAiICBnZXR0
ZXh0ICAgIHRvIG1ha2UgUE8gbWVzc2FnZSBjYXRhbG9ncyIKKwlAZWNobyAiICBjaGFuZ2VzICAg
IHRvIG1ha2UgYW4gb3ZlcnZpZXcgb2YgYWxsIGNoYW5nZWQvYWRkZWQvZGVwcmVjYXRlZCBpdGVt
cyIKKwlAZWNobyAiICB4bWwgICAgICAgIHRvIG1ha2UgRG9jdXRpbHMtbmF0aXZlIFhNTCBmaWxl
cyIKKwlAZWNobyAiICBwc2V1ZG94bWwgIHRvIG1ha2UgcHNldWRveG1sLVhNTCBmaWxlcyBmb3Ig
ZGlzcGxheSBwdXJwb3NlcyIKKwlAZWNobyAiICBsaW5rY2hlY2sgIHRvIGNoZWNrIGFsbCBleHRl
cm5hbCBsaW5rcyBmb3IgaW50ZWdyaXR5IgorCUBlY2hvICIgIGRvY3Rlc3QgICAgdG8gcnVuIGFs
bCBkb2N0ZXN0cyBlbWJlZGRlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbiAoaWYgZW5hYmxlZCkiCisK
K2NsZWFuOgorCXJtIC1yZiAkKEJVSUxERElSKS8qCisKK2h0bWw6CisJJChTUEhJTlhCVUlMRCkg
LWIgaHRtbCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL2h0bWwKKwlAZWNobworCUBlY2hv
ICJCdWlsZCBmaW5pc2hlZC4gVGhlIEhUTUwgcGFnZXMgYXJlIGluICQoQlVJTERESVIpL2h0bWwu
IgorCitkaXJodG1sOgorCSQoU1BISU5YQlVJTEQpIC1iIGRpcmh0bWwgJChBTExTUEhJTlhPUFRT
KSAkKEJVSUxERElSKS9kaXJodG1sCisJQGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRo
ZSBIVE1MIHBhZ2VzIGFyZSBpbiAkKEJVSUxERElSKS9kaXJodG1sLiIKKworc2luZ2xlaHRtbDoK
KwkkKFNQSElOWEJVSUxEKSAtYiBzaW5nbGVodG1sICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJ
Uikvc2luZ2xlaHRtbAorCUBlY2hvCisJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgSFRNTCBw
YWdlIGlzIGluICQoQlVJTERESVIpL3NpbmdsZWh0bWwuIgorCitwaWNrbGU6CisJJChTUEhJTlhC
VUlMRCkgLWIgcGlja2xlICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvcGlja2xlCisJQGVj
aG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQ7IG5vdyB5b3UgY2FuIHByb2Nlc3MgdGhlIHBpY2ts
ZSBmaWxlcy4iCisKK2pzb246CisJJChTUEhJTlhCVUlMRCkgLWIganNvbiAkKEFMTFNQSElOWE9Q
VFMpICQoQlVJTERESVIpL2pzb24KKwlAZWNobworCUBlY2hvICJCdWlsZCBmaW5pc2hlZDsgbm93
IHlvdSBjYW4gcHJvY2VzcyB0aGUgSlNPTiBmaWxlcy4iCisKK2h0bWxoZWxwOgorCSQoU1BISU5Y
QlVJTEQpIC1iIGh0bWxoZWxwICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvaHRtbGhlbHAK
KwlAZWNobworCUBlY2hvICJCdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuIEhUTUwgSGVs
cCBXb3Jrc2hvcCB3aXRoIHRoZSIgXAorCSAgICAgICIuaGhwIHByb2plY3QgZmlsZSBpbiAkKEJV
SUxERElSKS9odG1saGVscC4iCisKK3F0aGVscDoKKwkkKFNQSElOWEJVSUxEKSAtYiBxdGhlbHAg
JChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9xdGhlbHAKKwlAZWNobworCUBlY2hvICJCdWls
ZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuICJxY29sbGVjdGlvbmdlbmVyYXRvciIgd2l0aCB0
aGUiIFwKKwkgICAgICAiLnFoY3AgcHJvamVjdCBmaWxlIGluICQoQlVJTERESVIpL3F0aGVscCwg
bGlrZSB0aGlzOiIKKwlAZWNobyAiIyBxY29sbGVjdGlvbmdlbmVyYXRvciAkKEJVSUxERElSKS9x
dGhlbHAvd3B0cnVubmVyLnFoY3AiCisJQGVjaG8gIlRvIHZpZXcgdGhlIGhlbHAgZmlsZToiCisJ
QGVjaG8gIiMgYXNzaXN0YW50IC1jb2xsZWN0aW9uRmlsZSAkKEJVSUxERElSKS9xdGhlbHAvd3B0
cnVubmVyLnFoYyIKKworZGV2aGVscDoKKwkkKFNQSElOWEJVSUxEKSAtYiBkZXZoZWxwICQoQUxM
U1BISU5YT1BUUykgJChCVUlMRERJUikvZGV2aGVscAorCUBlY2hvCisJQGVjaG8gIkJ1aWxkIGZp
bmlzaGVkLiIKKwlAZWNobyAiVG8gdmlldyB0aGUgaGVscCBmaWxlOiIKKwlAZWNobyAiIyBta2Rp
ciAtcCAkJEhPTUUvLmxvY2FsL3NoYXJlL2RldmhlbHAvd3B0cnVubmVyIgorCUBlY2hvICIjIGxu
IC1zICQoQlVJTERESVIpL2RldmhlbHAgJCRIT01FLy5sb2NhbC9zaGFyZS9kZXZoZWxwL3dwdHJ1
bm5lciIKKwlAZWNobyAiIyBkZXZoZWxwIgorCitlcHViOgorCSQoU1BISU5YQlVJTEQpIC1iIGVw
dWIgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9lcHViCisJQGVjaG8KKwlAZWNobyAiQnVp
bGQgZmluaXNoZWQuIFRoZSBlcHViIGZpbGUgaXMgaW4gJChCVUlMRERJUikvZXB1Yi4iCisKK2xh
dGV4OgorCSQoU1BISU5YQlVJTEQpIC1iIGxhdGV4ICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJ
UikvbGF0ZXgKKwlAZWNobworCUBlY2hvICJCdWlsZCBmaW5pc2hlZDsgdGhlIExhVGVYIGZpbGVz
IGFyZSBpbiAkKEJVSUxERElSKS9sYXRleC4iCisJQGVjaG8gIlJ1biBcYG1ha2UnIGluIHRoYXQg
ZGlyZWN0b3J5IHRvIHJ1biB0aGVzZSB0aHJvdWdoIChwZGYpbGF0ZXgiIFwKKwkgICAgICAiKHVz
ZSBcYG1ha2UgbGF0ZXhwZGYnIGhlcmUgdG8gZG8gdGhhdCBhdXRvbWF0aWNhbGx5KS4iCisKK2xh
dGV4cGRmOgorCSQoU1BISU5YQlVJTEQpIC1iIGxhdGV4ICQoQUxMU1BISU5YT1BUUykgJChCVUlM
RERJUikvbGF0ZXgKKwlAZWNobyAiUnVubmluZyBMYVRlWCBmaWxlcyB0aHJvdWdoIHBkZmxhdGV4
Li4uIgorCSQoTUFLRSkgLUMgJChCVUlMRERJUikvbGF0ZXggYWxsLXBkZgorCUBlY2hvICJwZGZs
YXRleCBmaW5pc2hlZDsgdGhlIFBERiBmaWxlcyBhcmUgaW4gJChCVUlMRERJUikvbGF0ZXguIgor
CitsYXRleHBkZmphOgorCSQoU1BISU5YQlVJTEQpIC1iIGxhdGV4ICQoQUxMU1BISU5YT1BUUykg
JChCVUlMRERJUikvbGF0ZXgKKwlAZWNobyAiUnVubmluZyBMYVRlWCBmaWxlcyB0aHJvdWdoIHBs
YXRleCBhbmQgZHZpcGRmbXguLi4iCisJJChNQUtFKSAtQyAkKEJVSUxERElSKS9sYXRleCBhbGwt
cGRmLWphCisJQGVjaG8gInBkZmxhdGV4IGZpbmlzaGVkOyB0aGUgUERGIGZpbGVzIGFyZSBpbiAk
KEJVSUxERElSKS9sYXRleC4iCisKK3RleHQ6CisJJChTUEhJTlhCVUlMRCkgLWIgdGV4dCAkKEFM
TFNQSElOWE9QVFMpICQoQlVJTERESVIpL3RleHQKKwlAZWNobworCUBlY2hvICJCdWlsZCBmaW5p
c2hlZC4gVGhlIHRleHQgZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3RleHQuIgorCittYW46CisJ
JChTUEhJTlhCVUlMRCkgLWIgbWFuICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvbWFuCisJ
QGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSBtYW51YWwgcGFnZXMgYXJlIGluICQo
QlVJTERESVIpL21hbi4iCisKK3RleGluZm86CisJJChTUEhJTlhCVUlMRCkgLWIgdGV4aW5mbyAk
KEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL3RleGluZm8KKwlAZWNobworCUBlY2hvICJCdWls
ZCBmaW5pc2hlZC4gVGhlIFRleGluZm8gZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3RleGluZm8u
IgorCUBlY2hvICJSdW4gXGBtYWtlJyBpbiB0aGF0IGRpcmVjdG9yeSB0byBydW4gdGhlc2UgdGhy
b3VnaCBtYWtlaW5mbyIgXAorCSAgICAgICIodXNlIFxgbWFrZSBpbmZvJyBoZXJlIHRvIGRvIHRo
YXQgYXV0b21hdGljYWxseSkuIgorCitpbmZvOgorCSQoU1BISU5YQlVJTEQpIC1iIHRleGluZm8g
JChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS90ZXhpbmZvCisJQGVjaG8gIlJ1bm5pbmcgVGV4
aW5mbyBmaWxlcyB0aHJvdWdoIG1ha2VpbmZvLi4uIgorCW1ha2UgLUMgJChCVUlMRERJUikvdGV4
aW5mbyBpbmZvCisJQGVjaG8gIm1ha2VpbmZvIGZpbmlzaGVkOyB0aGUgSW5mbyBmaWxlcyBhcmUg
aW4gJChCVUlMRERJUikvdGV4aW5mby4iCisKK2dldHRleHQ6CisJJChTUEhJTlhCVUlMRCkgLWIg
Z2V0dGV4dCAkKEkxOE5TUEhJTlhPUFRTKSAkKEJVSUxERElSKS9sb2NhbGUKKwlAZWNobworCUBl
Y2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIG1lc3NhZ2UgY2F0YWxvZ3MgYXJlIGluICQoQlVJTERE
SVIpL2xvY2FsZS4iCisKK2NoYW5nZXM6CisJJChTUEhJTlhCVUlMRCkgLWIgY2hhbmdlcyAkKEFM
TFNQSElOWE9QVFMpICQoQlVJTERESVIpL2NoYW5nZXMKKwlAZWNobworCUBlY2hvICJUaGUgb3Zl
cnZpZXcgZmlsZSBpcyBpbiAkKEJVSUxERElSKS9jaGFuZ2VzLiIKKworbGlua2NoZWNrOgorCSQo
U1BISU5YQlVJTEQpIC1iIGxpbmtjaGVjayAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL2xp
bmtjaGVjaworCUBlY2hvCisJQGVjaG8gIkxpbmsgY2hlY2sgY29tcGxldGU7IGxvb2sgZm9yIGFu
eSBlcnJvcnMgaW4gdGhlIGFib3ZlIG91dHB1dCAiIFwKKwkgICAgICAib3IgaW4gJChCVUlMRERJ
UikvbGlua2NoZWNrL291dHB1dC50eHQuIgorCitkb2N0ZXN0OgorCSQoU1BISU5YQlVJTEQpIC1i
IGRvY3Rlc3QgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9kb2N0ZXN0CisJQGVjaG8gIlRl
c3Rpbmcgb2YgZG9jdGVzdHMgaW4gdGhlIHNvdXJjZXMgZmluaXNoZWQsIGxvb2sgYXQgdGhlICIg
XAorCSAgICAgICJyZXN1bHRzIGluICQoQlVJTERESVIpL2RvY3Rlc3Qvb3V0cHV0LnR4dC4iCisK
K3htbDoKKwkkKFNQSElOWEJVSUxEKSAtYiB4bWwgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElS
KS94bWwKKwlAZWNobworCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIFhNTCBmaWxlcyBhcmUg
aW4gJChCVUlMRERJUikveG1sLiIKKworcHNldWRveG1sOgorCSQoU1BISU5YQlVJTEQpIC1iIHBz
ZXVkb3htbCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL3BzZXVkb3htbAorCUBlY2hvCisJ
QGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgcHNldWRvLVhNTCBmaWxlcyBhcmUgaW4gJChCVUlM
RERJUikvcHNldWRveG1sLiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvYXJjaGl0ZWN0dXJlLnN2ZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL2RvY3MvYXJjaGl0ZWN0dXJlLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZmY5NWY4ZThlMDU5MzkyMzdm
YzMzY2U1MzUyYzE1MjM0NjcyYzZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9hcmNoaXRl
Y3R1cmUuc3ZnCkBAIC0wLDAgKzEgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9
Ijc4MHB4IiBoZWlnaHQ9IjEwODdweCIgdmVyc2lvbj0iMS4xIj48ZGVmcz48bGluZWFyR3JhZGll
bnQgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiIGlkPSJteC1ncmFkaWVudC1hOWM0
ZWItMS1hOWM0ZWItMS1zLTAiPjxzdG9wIG9mZnNldD0iMCUiIHN0eWxlPSJzdG9wLWNvbG9yOiNB
OUM0RUIiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0eWxlPSJzdG9wLWNvbG9yOiNBOUM0RUIiLz48
L2xpbmVhcmdyYWRpZW50PjwvZGVmcz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjUsMC41KSI+
PHJlY3QgeD0iNDk4IiB5PSI0OTgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAiIGZpbGw9IiNlNmQw
ZGUiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyB0cmFuc2Zvcm09
InRyYW5zbGF0ZSg1MDAsNTIxKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50
cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAw
LCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZw
eDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+VGVzdFJ1bm5lcjwv
ZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMwMDAwMDAiIHRl
eHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9IkhlbHZldGlj
YSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+PHJlY3QgeD0i
MzM4IiB5PSI3NzgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAiIGZpbGw9IiNmMTljOTkiIHN0cm9r
ZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0
ZSgzNDAsODAxKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3
aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9y
Zy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6
ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGlu
ZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+UHJvZHVjdCB1bmRlciB0ZXN0PC9k
aXY+PC9mb3JlaWdub2JqZWN0Pjx0ZXh0IHg9IjU4IiB5PSIxNCIgZmlsbD0iIzAwMDAwMCIgdGV4
dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4IiBmb250LWZhbWlseT0iSGVsdmV0aWNh
Ij5bTm90IHN1cHBvcnRlZCBieSB2aWV3ZXJdPC90ZXh0Pjwvc3dpdGNoPjwvZz48cmVjdCB4PSIz
MzgiIHk9IjM4OCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2U2ZDBkZSIgc3Ryb2tl
PSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRl
KDM0MCw0MTEpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJhbGwiIHdp
ZHRoPSIxMTYiIGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3Jn
L1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXpl
OiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5l
LWhlaWdodDogMS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDExNnB4OyB3aGl0ZS1z
cGFjZTogbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5UZXN0UnVubmVyTWFuYWdlcjwvZGl2
PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMwMDAwMDAiIHRleHQt
YW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSI+
W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+PHJlY3QgeD0iMzM4
IiB5PSIyMjgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAiIGZpbGw9IiNlNmQwZGUiIHN0cm9rZT0i
IzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgz
NDAsMjUxKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3aWR0
aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9U
Ui9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTog
MTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1o
ZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUtc3Bh
Y2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+TWFuYWdlckdyb3VwPC9kaXY+PC9mb3Jl
aWdub2JqZWN0Pjx0ZXh0IHg9IjU4IiB5PSIxNCIgZmlsbD0iIzAwMDAwMCIgdGV4dC1hbmNob3I9
Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4IiBmb250LWZhbWlseT0iSGVsdmV0aWNhIj5bTm90IHN1
cHBvcnRlZCBieSB2aWV3ZXJdPC90ZXh0Pjwvc3dpdGNoPjwvZz48cmVjdCB4PSI2NTgiIHk9IjYw
OCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2ZmY2U5ZiIgc3Ryb2tlPSIjMDAwMDAw
IiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY2MCw2MzEp
Ij48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJhbGwiIHdpZHRoPSIxMTYi
IGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzEx
L2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBm
b250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDog
MS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDExNnB4OyB3aGl0ZS1zcGFjZTogbm9y
bWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5FeGVjdXRvcjwvZGl2PjwvZm9yZWlnbm9iamVjdD48
dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZv
bnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkg
dmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+PHJlY3QgeD0iMzM4IiB5PSI0OTgiIHdpZHRoPSIx
MjAiIGhlaWdodD0iNjAiIGZpbGw9InVybCgjbXgtZ3JhZGllbnQtYTljNGViLTEtYTljNGViLTEt
cy0wKSIgc3Ryb2tlPSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9y
bT0idHJhbnNsYXRlKDM0MCw1MjEpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZl
bnRzPSJhbGwiIHdpZHRoPSIxMTYiIGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6
Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRpdiB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9j
azsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAs
IDAsIDApOyBsaW5lLWhlaWdodDogMS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDEx
NnB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5Ccm93c2VyPC9k
aXY+PC9mb3JlaWdub2JqZWN0Pjx0ZXh0IHg9IjU4IiB5PSIxNCIgZmlsbD0iIzAwMDAwMCIgdGV4
dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4IiBmb250LWZhbWlseT0iSGVsdmV0aWNh
Ij5bTm90IHN1cHBvcnRlZCBieSB2aWV3ZXJdPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJN
IDM5OCAyODggTCAzOTggMzgyIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1t
aXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDM5OCAzODcg
TCAzOTUgMzgwIEwgMzk4IDM4MiBMIDQwMiAzODAgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIj
MDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBh
dGggZD0iTSAzOTggNDQ4IEwgMzk4IDQ5MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBz
dHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAz
OTggNDk3IEwgMzk1IDQ5MCBMIDM5OCA0OTIgTCA0MDIgNDkwIFoiIGZpbGw9IiMwMDAwMDAiIHN0
cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9u
ZSIvPjxwYXRoIGQ9Ik0gNjE4IDUyOCBMIDY4NCA2MDMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAw
MDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxwYXRo
IGQ9Ik0gNjg3IDYwNyBMIDY4MCA2MDQgTCA2ODQgNjAzIEwgNjg1IDYwMCBaIiBmaWxsPSIjMDAw
MDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVu
dHM9Im5vbmUiLz48cmVjdCB4PSI0OTgiIHk9IjYwOCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIg
ZmlsbD0iI2E5YzRlYiIgc3Ryb2tlPSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxn
IHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwMCw2MzEpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBv
aW50ZXItZXZlbnRzPSJhbGwiIHdpZHRoPSIxMTYiIGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVy
ZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRp
diB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlu
bGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xv
cjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsg
d2lkdGg6IDExNnB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5F
eGVjdXRvckJyb3dzZXI8L2Rpdj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0IiBm
aWxsPSIjMDAwMDAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZvbnQt
ZmFtaWx5PSJIZWx2ZXRpY2EiPltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9zd2l0
Y2g+PC9nPjxwYXRoIGQ9Ik0gNjI0IDYzOCBMIDY1OCA2MzgiIGZpbGw9Im5vbmUiIHN0cm9rZT0i
IzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxw
YXRoIGQ9Ik0gNjE5IDYzOCBMIDYyNiA2MzUgTCA2MjQgNjM4IEwgNjI2IDY0MiBaIiBmaWxsPSIj
MDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1l
dmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDQyOCA0NDggTCA1NTIgNDk2IiBmaWxsPSJub25lIiBz
dHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0i
MyAzIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxwYXRoIGQ9Ik0gNTU3IDQ5OCBMIDU0OSA0OTgg
TCA1NTIgNDk2IEwgNTUyIDQ5MiBaIiBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0
cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDM5
OCA1NTggTCAzOTggNzcyIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRl
cmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iMyAzIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIv
PjxwYXRoIGQ9Ik0gMzk4IDc3NyBMIDM5NSA3NzAgTCAzOTggNzcyIEwgNDAyIDc3MCBaIiBmaWxs
PSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRl
ci1ldmVudHM9Im5vbmUiLz48cmVjdCB4PSIzMzgiIHk9IjQ4IiB3aWR0aD0iMTIwIiBoZWlnaHQ9
IjYwIiBmaWxsPSIjZTZkMGRlIiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJub25l
Ii8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQwLDcxKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVj
dCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZl
YXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHki
PjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsg
Y29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0
b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVy
OyI+cnVuX3Rlc3RzPC9kaXY+PC9mb3JlaWdub2JqZWN0Pjx0ZXh0IHg9IjU4IiB5PSIxNCIgZmls
bD0iIzAwMDAwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4IiBmb250LWZh
bWlseT0iSGVsdmV0aWNhIj5bTm90IHN1cHBvcnRlZCBieSB2aWV3ZXJdPC90ZXh0Pjwvc3dpdGNo
PjwvZz48cGF0aCBkPSJNIDQ1OCA3OCBMIDY1MiA3OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAw
MDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGgg
ZD0iTSA2NTcgNzggTCA2NTAgODIgTCA2NTIgNzggTCA2NTAgNzUgWiIgZmlsbD0iIzAwMDAwMCIg
c3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJu
b25lIi8+PHJlY3QgeD0iNjU4IiB5PSI0OCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0i
I2U2ZDBkZSIgc3Ryb2tlPSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5z
Zm9ybT0idHJhbnNsYXRlKDY2MCw3MSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1l
dmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVpZ2h0PSIxNSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0
cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5Ij48ZGl2IHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJs
b2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2Io
MCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aWR0aDog
MTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsiPlRlc3RMb2Fk
ZXI8L2Rpdj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0IiBmaWxsPSIjMDAwMDAw
IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZvbnQtZmFtaWx5PSJIZWx2
ZXRpY2EiPltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0
IHg9IjcxIiB5PSI0OCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2U2ZDBkZSIgc3Ry
b2tlPSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNs
YXRlKDczLDcxKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3
aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9y
Zy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6
ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGlu
ZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+VGVzdEVudmlyb25tZW50PC9kaXY+
PC9mb3JlaWdub2JqZWN0Pjx0ZXh0IHg9IjU4IiB5PSIxNCIgZmlsbD0iIzAwMDAwMCIgdGV4dC1h
bmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4IiBmb250LWZhbWlseT0iSGVsdmV0aWNhIj5b
Tm90IHN1cHBvcnRlZCBieSB2aWV3ZXJdPC90ZXh0Pjwvc3dpdGNoPjwvZz48cmVjdCB4PSIxNTEi
IHk9IjYxOCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2I5ZTBhNSIgc3Ryb2tlPSIj
MDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1
Myw2NDEpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJhbGwiIHdpZHRo
PSIxMTYiIGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RS
L1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAx
MnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhl
aWdodDogMS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDExNnB4OyB3aGl0ZS1zcGFj
ZTogbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij53cHRzZXJ2ZTwvZGl2PjwvZm9yZWlnbm9i
amVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJtaWRk
bGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBwb3J0
ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+PHJlY3QgeD0iMSIgeT0iNjE4IiB3aWR0
aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxsPSIjYjllMGE1IiBzdHJva2U9IiMwMDAwMDAiIHBvaW50
ZXItZXZlbnRzPSJub25lIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMyw2NDEpIj48c3dpdGNo
Pjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJhbGwiIHdpZHRoPSIxMTYiIGhlaWdodD0i
MTUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUj
RXh0ZW5zaWJpbGl0eSI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIg
c3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWls
eTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yNjsgdmVy
dGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDExNnB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB0ZXh0
LWFsaWduOiBjZW50ZXI7Ij5weXdlYnNvY2tldDwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4
PSI1OCIgeT0iMTQiIGZpbGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6
ZT0iMTJweCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2Vy
XTwvdGV4dD48L3N3aXRjaD48L2c+PHBhdGggZD0iTSAzMzggNzggTCAxOTcgNzgiIGZpbGw9Im5v
bmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50
cz0ibm9uZSIvPjxwYXRoIGQ9Ik0gMTkyIDc4IEwgMTk5IDc1IEwgMTk3IDc4IEwgMTk5IDgyIFoi
IGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBw
b2ludGVyLWV2ZW50cz0ibm9uZSIvPjxwYXRoIGQ9Ik0gMTAxIDMwOCBMIDYyIDYxMiIgZmlsbD0i
bm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNo
YXJyYXk9IjMgMyIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDYxIDYxNyBMIDU5
IDYxMCBMIDYyIDYxMiBMIDY2IDYxMCBaIiBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAi
IHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJN
IDE2MSAzMDggTCAyMDQgNjEyIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1t
aXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iMyAzIiBwb2ludGVyLWV2ZW50cz0ibm9u
ZSIvPjxwYXRoIGQ9Ik0gMjA0IDYxNyBMIDIwMCA2MTAgTCAyMDQgNjEyIEwgMjA3IDYwOSBaIiBm
aWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9p
bnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDMzOCA4MjMgTCA2MSA2NzgiIGZpbGw9Im5v
bmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFy
cmF5PSIzIDMiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAyMTEgNjc4IEwgMzM4
IDc5MyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAi
IHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJN
IDM5OCAxMDggTCAzOTggMjIyIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1t
aXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDM5OCAyMjcg
TCAzOTUgMjIwIEwgMzk4IDIyMiBMIDQwMiAyMjAgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIj
MDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBh
dGggZD0iTSA3MDYgMjg4IEwgNjE4IDUxMyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBz
dHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIgcG9pbnRlci1ldmVu
dHM9Im5vbmUiLz48cmVjdCB4PSI2NTgiIHk9IjM4OCIgd2lkdGg9IjcwIiBoZWlnaHQ9IjQwIiBm
aWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0i
IzAwMDAwMCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9u
dC1zaXplPSIxMnB4Ij48dGV4dCB4PSI2OTMiIHk9IjQxMiI+UXVldWUuZ2V0PC90ZXh0PjwvZz48
cGF0aCBkPSJNIDQ1OCA4MDggTCA3MTggNjY4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAi
IHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iMyAzIiBwb2ludGVyLWV2
ZW50cz0ibm9uZSIvPjxyZWN0IHg9IjcxIiB5PSIyNDgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAi
IGZpbGw9IiNiOWUwYTUiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48
ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MywyNzEpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBv
aW50ZXItZXZlbnRzPSJhbGwiIHdpZHRoPSIxMTYiIGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVy
ZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRp
diB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlu
bGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xv
cjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsg
d2lkdGg6IDExNnB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5z
ZXJ2ZS5weTwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMw
MDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9
IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+
PHBhdGggZD0iTSAxMzEgMTA4IEwgMTMxIDI0MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAw
IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIgcG9pbnRlci1l
dmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDEzMSAyNDcgTCAxMjggMjQwIEwgMTMxIDI0MiBMIDEz
NSAyNDAgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1p
dD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSA4OCA5NzMgTCAxMzIgOTcz
IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9p
bnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDEzNyA5NzMgTCAxMzAgOTc3IEwgMTMyIDk3
MyBMIDEzMCA5NzAgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0
ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iMTM4IiB5PSIxMDE4
IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjMwIiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHBvaW50
ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9IkhlbHZldGlj
YSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4Ij48dGV4dCB4PSIyMjgiIHk9
IjEwMzciPkNvbW11bmljYXRpb24gKGNyb3NzIHByb2Nlc3MpPC90ZXh0PjwvZz48cGF0aCBkPSJN
IDg4IDEwMDIgTCAxMzIgMTAwMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Ut
bWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIgcG9pbnRlci1ldmVudHM9Im5v
bmUiLz48cGF0aCBkPSJNIDEzNyAxMDAyIEwgMTMwIDEwMDYgTCAxMzIgMTAwMiBMIDEzMCA5OTkg
WiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAi
IHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iMTM4IiB5PSI5NTgiIHdpZHRoPSIxODAi
IGhlaWdodD0iMzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgcG9pbnRlci1ldmVudHM9Im5v
bmUiLz48ZyBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiB0ZXh0LWFuY2hv
cj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiPjx0ZXh0IHg9IjIyOCIgeT0iOTc3Ij5Pd25lcnNo
aXAgKHNhbWUgcHJvY2Vzcyk8L3RleHQ+PC9nPjxwYXRoIGQ9Ik0gODggMTAzMyBMIDEzOCAxMDMz
IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ry
b2tlLWRhc2hhcnJheT0iMyAzIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0IHg9IjE0MyIg
eT0iOTg4IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjMwIiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUi
IHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9Ikhl
bHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4Ij48dGV4dCB4PSIy
MzMiIHk9IjEwMDciPk93bmVyc2hpcCAoY3Jvc3MgcHJvY2Vzcyk8L3RleHQ+PC9nPjxyZWN0IHg9
IjQyOCIgeT0iOTY2IiB3aWR0aD0iNTAiIGhlaWdodD0iMTUiIGZpbGw9IiNlNmQwZGUiIHN0cm9r
ZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cmVjdCB4PSI0MjgiIHk9Ijk5MCIg
d2lkdGg9IjUwIiBoZWlnaHQ9IjE1IiBmaWxsPSIjYTljNGViIiBzdHJva2U9IiMwMDAwMDAiIHBv
aW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iNDI4IiB5PSIxMDE1IiB3aWR0aD0iNTAiIGhl
aWdodD0iMTUiIGZpbGw9IiNmZmNlOWYiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9
Im5vbmUiLz48cmVjdCB4PSI0MjgiIHk9IjEwNjMiIHdpZHRoPSI1MCIgaGVpZ2h0PSIxNSIgZmls
bD0iI2YxOWM5OSIgc3Ryb2tlPSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0
IHg9IjQyOCIgeT0iMTAzOCIgd2lkdGg9IjUwIiBoZWlnaHQ9IjE1IiBmaWxsPSIjYjllMGE1IiBz
dHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iNDg1IiB5PSI5
NTgiIHdpZHRoPSI5MCIgaGVpZ2h0PSIzMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBwb2lu
dGVyLWV2ZW50cz0ibm9uZSIvPjxnIGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRp
Y2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCI+PHRleHQgeD0iNTMwIiB5
PSI5NzciPndwdHJ1bm5lciBjbGFzczwvdGV4dD48L2c+PHJlY3QgeD0iNDg2IiB5PSI5ODMiIHdp
ZHRoPSIxNTAiIGhlaWdodD0iMzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgcG9pbnRlci1l
dmVudHM9Im5vbmUiLz48ZyBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiB0
ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiPjx0ZXh0IHg9IjU2MSIgeT0iMTAw
MiI+UGVyLXByb2R1Y3Qgd3B0cnVubmVyIGNsYXNzPC90ZXh0PjwvZz48cmVjdCB4PSI0ODYiIHk9
IjEwMDgiIHdpZHRoPSIxNTAiIGhlaWdodD0iMzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIg
cG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0iSGVs
dmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiPjx0ZXh0IHg9IjU2
MSIgeT0iMTAyNyI+UGVyLXByb3RvY29sIHdwdHJ1bm5lciBjbGFzczwvdGV4dD48L2c+PHJlY3Qg
eD0iNDkxIiB5PSIxMDMxIiB3aWR0aD0iMTUwIiBoZWlnaHQ9IjMwIiBmaWxsPSJub25lIiBzdHJv
a2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAwMCIgZm9udC1m
YW1pbHk9IkhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4Ij48
dGV4dCB4PSI1NjYiIHk9IjEwNTAiPldlYi1wbGF0Zm9ybS10ZXN0cyBjb21wb25lbnQ8L3RleHQ+
PC9nPjxyZWN0IHg9IjQ4NiIgeT0iMTA1NSIgd2lkdGg9IjkwIiBoZWlnaHQ9IjMwIiBmaWxsPSJu
b25lIiBzdHJva2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAw
MCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXpl
PSIxMnB4Ij48dGV4dCB4PSI1MzEiIHk9IjEwNzQiPkJyb3dzZXIgcHJvY2VzczwvdGV4dD48L2c+
PHBhdGggZD0iTSAzOTggOCBMIDM5OCA0MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBz
dHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAz
OTggNDcgTCAzOTUgNDAgTCAzOTggNDIgTCA0MDIgNDAgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tl
PSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+
PHJlY3QgeD0iNDc4IiB5PSIzODgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAiIGZpbGwtb3BhY2l0
eT0iMC41IiBmaWxsPSIjZTZkMGRlIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1vcGFjaXR5PSIw
LjUiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDgwLDQx
MSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9ImFsbCIgd2lkdGg9IjEx
NiIgaGVpZ2h0PSIxNSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZH
MTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7
IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0
OiAxLjI2OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aWR0aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBu
b3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsiPlRlc3RSdW5uZXJNYW5hZ2VyPC9kaXY+PC9mb3Jl
aWdub2JqZWN0Pjx0ZXh0IHg9IjU4IiB5PSIxNCIgZmlsbD0iIzAwMDAwMCIgdGV4dC1hbmNob3I9
Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4IiBmb250LWZhbWlseT0iSGVsdmV0aWNhIj5bTm90IHN1
cHBvcnRlZCBieSB2aWV3ZXJdPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDM5OCAyODgg
TCA1MzMgMzg0IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0
PSIxMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDUzNyAzODcgTCA1MjkgMzg2
IEwgNTMzIDM4NCBMIDUzMyAzODAgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBz
dHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iMTk4
IiB5PSIzODgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAiIGZpbGwtb3BhY2l0eT0iMC41IiBmaWxs
PSIjZTZkMGRlIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjUiIHBvaW50ZXIt
ZXZlbnRzPSJub25lIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjAwLDQxMSkiPjxzd2l0Y2g+
PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVpZ2h0PSIx
NSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNF
eHRlbnNpYmlsaXR5Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBz
dHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5
OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2OyB2ZXJ0
aWNhbC1hbGlnbjogdG9wOyB3aWR0aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHRleHQt
YWxpZ246IGNlbnRlcjsiPlRlc3RSdW5uZXJNYW5hZ2VyPC9kaXY+PC9mb3JlaWdub2JqZWN0Pjx0
ZXh0IHg9IjU4IiB5PSIxNCIgZmlsbD0iIzAwMDAwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9u
dC1zaXplPSIxMnB4IiBmb250LWZhbWlseT0iSGVsdmV0aWNhIj5bTm90IHN1cHBvcnRlZCBieSB2
aWV3ZXJdPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDM5OCAyODggTCAyNjMgMzg0IiBm
aWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRl
ci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDI1OSAzODcgTCAyNjMgMzgwIEwgMjYzIDM4NCBM
IDI2NyAzODYgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJs
aW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iNTc1IiB5PSI3NDgiIHdp
ZHRoPSIxMTAiIGhlaWdodD0iNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0ibm9uZSIgcG9pbnRlci1l
dmVudHM9Im5vbmUiLz48ZyBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiB0
ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiPjx0ZXh0IHg9IjYzMCIgeT0iNzU4
Ij5Ccm93c2VyIGNvbnRyb2w8L3RleHQ+PHRleHQgeD0iNjMwIiB5PSI3NzIiPnByb3RvY29sPC90
ZXh0Pjx0ZXh0IHg9IjYzMCIgeT0iNzg2Ij4oZS5nLiBXZWJEcml2ZXIpPC90ZXh0PjwvZz48cmVj
dCB4PSIyNTgiIHk9IjcwOCIgd2lkdGg9IjgwIiBoZWlnaHQ9IjQwIiBmaWxsPSJub25lIiBzdHJv
a2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAwMCIgZm9udC1m
YW1pbHk9IkhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4Ij48
dGV4dCB4PSIyOTgiIHk9IjczMiI+SFRUUDwvdGV4dD48L2c+PHJlY3QgeD0iMTExIiB5PSI3Mjgi
IHdpZHRoPSI4MCIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBwb2ludGVy
LWV2ZW50cz0ibm9uZSIvPjxnIGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2Ei
IHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCI+PHRleHQgeD0iMTUxIiB5PSI3
NTIiPndlYnNvY2tldHM8L3RleHQ+PC9nPjxyZWN0IHg9IjY1OCIgeT0iMjI4IiB3aWR0aD0iMTIw
IiBoZWlnaHQ9IjYwIiBmaWxsPSIjZTZkMGRlIiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZl
bnRzPSJub25lIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjYwLDI1MSkiPjxzd2l0Y2g+PGZv
cmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVpZ2h0PSIxNSIg
cmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRl
bnNpYmlsaXR5Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHls
ZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBI
ZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2OyB2ZXJ0aWNh
bC1hbGlnbjogdG9wOyB3aWR0aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHRleHQtYWxp
Z246IGNlbnRlcjsiPlRlc3RzIFF1ZXVlPC9kaXY+PC9mb3JlaWdub2JqZWN0Pjx0ZXh0IHg9IjU4
IiB5PSIxNCIgZmlsbD0iIzAwMDAwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIx
MnB4IiBmb250LWZhbWlseT0iSGVsdmV0aWNhIj5bTm90IHN1cHBvcnRlZCBieSB2aWV3ZXJdPC90
ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDcxOCAxMDggTCA3MTggMjIyIiBmaWxsPSJub25l
IiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9
Im5vbmUiLz48cGF0aCBkPSJNIDcxOCAyMjcgTCA3MTUgMjIwIEwgNzE4IDIyMiBMIDcyMiAyMjAg
WiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAi
IHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSA0MjggOTcwIEwgNDI4IDk3MCIgZmls
bD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXIt
ZXZlbnRzPSJub25lIi8+PC9nPjwvc3ZnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9jb25mLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvZG9jcy9jb25mLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5ZTVjYzRmMGQyMDQyNWQ3ZjdmMjIwYWE5NmFj
ZTkzMTk3Yjk3MDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL2NvbmYucHkKQEAgLTAsMCAr
MSwyNjcgQEAKKyMgLSotIGNvZGluZzogdXRmLTggLSotCisjCisjIHdwdHJ1bm5lciBkb2N1bWVu
dGF0aW9uIGJ1aWxkIGNvbmZpZ3VyYXRpb24gZmlsZSwgY3JlYXRlZCBieQorIyBzcGhpbngtcXVp
Y2tzdGFydCBvbiBNb24gTWF5IDE5IDE4OjE0OjIwIDIwMTQuCisjCisjIFRoaXMgZmlsZSBpcyBl
eGVjZmlsZSgpZCB3aXRoIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBzZXQgdG8gaXRzCisjIGNvbnRh
aW5pbmcgZGlyLgorIworIyBOb3RlIHRoYXQgbm90IGFsbCBwb3NzaWJsZSBjb25maWd1cmF0aW9u
IHZhbHVlcyBhcmUgcHJlc2VudCBpbiB0aGlzCisjIGF1dG9nZW5lcmF0ZWQgZmlsZS4KKyMKKyMg
QWxsIGNvbmZpZ3VyYXRpb24gdmFsdWVzIGhhdmUgYSBkZWZhdWx0OyB2YWx1ZXMgdGhhdCBhcmUg
Y29tbWVudGVkIG91dAorIyBzZXJ2ZSB0byBzaG93IHRoZSBkZWZhdWx0LgorCitpbXBvcnQgc3lz
CitpbXBvcnQgb3MKKworIyBJZiBleHRlbnNpb25zIChvciBtb2R1bGVzIHRvIGRvY3VtZW50IHdp
dGggYXV0b2RvYykgYXJlIGluIGFub3RoZXIgZGlyZWN0b3J5LAorIyBhZGQgdGhlc2UgZGlyZWN0
b3JpZXMgdG8gc3lzLnBhdGggaGVyZS4gSWYgdGhlIGRpcmVjdG9yeSBpcyByZWxhdGl2ZSB0byB0
aGUKKyMgZG9jdW1lbnRhdGlvbiByb290LCB1c2Ugb3MucGF0aC5hYnNwYXRoIHRvIG1ha2UgaXQg
YWJzb2x1dGUsIGxpa2Ugc2hvd24gaGVyZS4KKyNzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5h
YnNwYXRoKCcuJykpCisKKyMgLS0gR2VuZXJhbCBjb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjIElmIHlvdXIgZG9jdW1lbnRh
dGlvbiBuZWVkcyBhIG1pbmltYWwgU3BoaW54IHZlcnNpb24sIHN0YXRlIGl0IGhlcmUuCisjbmVl
ZHNfc3BoaW54ID0gJzEuMCcKKworIyBBZGQgYW55IFNwaGlueCBleHRlbnNpb24gbW9kdWxlIG5h
bWVzIGhlcmUsIGFzIHN0cmluZ3MuIFRoZXkgY2FuIGJlCisjIGV4dGVuc2lvbnMgY29taW5nIHdp
dGggU3BoaW54IChuYW1lZCAnc3BoaW54LmV4dC4qJykgb3IgeW91ciBjdXN0b20KKyMgb25lcy4K
K2V4dGVuc2lvbnMgPSBbCisgICAgJ3NwaGlueC5leHQuYXV0b2RvYycsCisgICAgJ3NwaGlueC5l
eHQuaW50ZXJzcGhpbngnLAorICAgICdzcGhpbnguZXh0LnZpZXdjb2RlJywKK10KKworIyBBZGQg
YW55IHBhdGhzIHRoYXQgY29udGFpbiB0ZW1wbGF0ZXMgaGVyZSwgcmVsYXRpdmUgdG8gdGhpcyBk
aXJlY3RvcnkuCit0ZW1wbGF0ZXNfcGF0aCA9IFsnX3RlbXBsYXRlcyddCisKKyMgVGhlIHN1ZmZp
eCBvZiBzb3VyY2UgZmlsZW5hbWVzLgorc291cmNlX3N1ZmZpeCA9ICcucnN0JworCisjIFRoZSBl
bmNvZGluZyBvZiBzb3VyY2UgZmlsZXMuCisjc291cmNlX2VuY29kaW5nID0gJ3V0Zi04LXNpZycK
KworIyBUaGUgbWFzdGVyIHRvY3RyZWUgZG9jdW1lbnQuCittYXN0ZXJfZG9jID0gJ2luZGV4Jwor
CisjIEdlbmVyYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2plY3QuCitwcm9qZWN0ID0gdSd3
cHRydW5uZXInCitjb3B5cmlnaHQgPSB1JycKKworIyBUaGUgdmVyc2lvbiBpbmZvIGZvciB0aGUg
cHJvamVjdCB5b3UncmUgZG9jdW1lbnRpbmcsIGFjdHMgYXMgcmVwbGFjZW1lbnQgZm9yCisjIHx2
ZXJzaW9ufCBhbmQgfHJlbGVhc2V8LCBhbHNvIHVzZWQgaW4gdmFyaW91cyBvdGhlciBwbGFjZXMg
dGhyb3VnaG91dCB0aGUKKyMgYnVpbHQgZG9jdW1lbnRzLgorIworIyBUaGUgc2hvcnQgWC5ZIHZl
cnNpb24uCit2ZXJzaW9uID0gJzAuMycKKyMgVGhlIGZ1bGwgdmVyc2lvbiwgaW5jbHVkaW5nIGFs
cGhhL2JldGEvcmMgdGFncy4KK3JlbGVhc2UgPSAnMC4zJworCisjIFRoZSBsYW5ndWFnZSBmb3Ig
Y29udGVudCBhdXRvZ2VuZXJhdGVkIGJ5IFNwaGlueC4gUmVmZXIgdG8gZG9jdW1lbnRhdGlvbgor
IyBmb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCBsYW5ndWFnZXMuCisjbGFuZ3VhZ2UgPSBOb25lCisK
KyMgVGhlcmUgYXJlIHR3byBvcHRpb25zIGZvciByZXBsYWNpbmcgfHRvZGF5fDogZWl0aGVyLCB5
b3Ugc2V0IHRvZGF5IHRvIHNvbWUKKyMgbm9uLWZhbHNlIHZhbHVlLCB0aGVuIGl0IGlzIHVzZWQ6
CisjdG9kYXkgPSAnJworIyBFbHNlLCB0b2RheV9mbXQgaXMgdXNlZCBhcyB0aGUgZm9ybWF0IGZv
ciBhIHN0cmZ0aW1lIGNhbGwuCisjdG9kYXlfZm10ID0gJyVCICVkLCAlWScKKworIyBMaXN0IG9m
IHBhdHRlcm5zLCByZWxhdGl2ZSB0byBzb3VyY2UgZGlyZWN0b3J5LCB0aGF0IG1hdGNoIGZpbGVz
IGFuZAorIyBkaXJlY3RvcmllcyB0byBpZ25vcmUgd2hlbiBsb29raW5nIGZvciBzb3VyY2UgZmls
ZXMuCitleGNsdWRlX3BhdHRlcm5zID0gWydfYnVpbGQnXQorCisjIFRoZSByZVNUIGRlZmF1bHQg
cm9sZSAodXNlZCBmb3IgdGhpcyBtYXJrdXA6IGB0ZXh0YCkgdG8gdXNlIGZvciBhbGwKKyMgZG9j
dW1lbnRzLgorI2RlZmF1bHRfcm9sZSA9IE5vbmUKKworIyBJZiB0cnVlLCAnKCknIHdpbGwgYmUg
YXBwZW5kZWQgdG8gOmZ1bmM6IGV0Yy4gY3Jvc3MtcmVmZXJlbmNlIHRleHQuCisjYWRkX2Z1bmN0
aW9uX3BhcmVudGhlc2VzID0gVHJ1ZQorCisjIElmIHRydWUsIHRoZSBjdXJyZW50IG1vZHVsZSBu
YW1lIHdpbGwgYmUgcHJlcGVuZGVkIHRvIGFsbCBkZXNjcmlwdGlvbgorIyB1bml0IHRpdGxlcyAo
c3VjaCBhcyAuLiBmdW5jdGlvbjo6KS4KKyNhZGRfbW9kdWxlX25hbWVzID0gVHJ1ZQorCisjIElm
IHRydWUsIHNlY3Rpb25hdXRob3IgYW5kIG1vZHVsZWF1dGhvciBkaXJlY3RpdmVzIHdpbGwgYmUg
c2hvd24gaW4gdGhlCisjIG91dHB1dC4gVGhleSBhcmUgaWdub3JlZCBieSBkZWZhdWx0LgorI3No
b3dfYXV0aG9ycyA9IEZhbHNlCisKKyMgVGhlIG5hbWUgb2YgdGhlIFB5Z21lbnRzIChzeW50YXgg
aGlnaGxpZ2h0aW5nKSBzdHlsZSB0byB1c2UuCitweWdtZW50c19zdHlsZSA9ICdzcGhpbngnCisK
KyMgQSBsaXN0IG9mIGlnbm9yZWQgcHJlZml4ZXMgZm9yIG1vZHVsZSBpbmRleCBzb3J0aW5nLgor
I21vZGluZGV4X2NvbW1vbl9wcmVmaXggPSBbXQorCisjIElmIHRydWUsIGtlZXAgd2FybmluZ3Mg
YXMgInN5c3RlbSBtZXNzYWdlIiBwYXJhZ3JhcGhzIGluIHRoZSBidWlsdCBkb2N1bWVudHMuCisj
a2VlcF93YXJuaW5ncyA9IEZhbHNlCisKKworIyAtLSBPcHRpb25zIGZvciBIVE1MIG91dHB1dCAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyMgVGhlIHRo
ZW1lIHRvIHVzZSBmb3IgSFRNTCBhbmQgSFRNTCBIZWxwIHBhZ2VzLiAgU2VlIHRoZSBkb2N1bWVu
dGF0aW9uIGZvcgorIyBhIGxpc3Qgb2YgYnVpbHRpbiB0aGVtZXMuCitodG1sX3RoZW1lID0gJ2Rl
ZmF1bHQnCisKKyMgVGhlbWUgb3B0aW9ucyBhcmUgdGhlbWUtc3BlY2lmaWMgYW5kIGN1c3RvbWl6
ZSB0aGUgbG9vayBhbmQgZmVlbCBvZiBhIHRoZW1lCisjIGZ1cnRoZXIuICBGb3IgYSBsaXN0IG9m
IG9wdGlvbnMgYXZhaWxhYmxlIGZvciBlYWNoIHRoZW1lLCBzZWUgdGhlCisjIGRvY3VtZW50YXRp
b24uCisjaHRtbF90aGVtZV9vcHRpb25zID0ge30KKworIyBBZGQgYW55IHBhdGhzIHRoYXQgY29u
dGFpbiBjdXN0b20gdGhlbWVzIGhlcmUsIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LgorI2h0
bWxfdGhlbWVfcGF0aCA9IFtdCisKKyMgVGhlIG5hbWUgZm9yIHRoaXMgc2V0IG9mIFNwaGlueCBk
b2N1bWVudHMuICBJZiBOb25lLCBpdCBkZWZhdWx0cyB0bworIyAiPHByb2plY3Q+IHY8cmVsZWFz
ZT4gZG9jdW1lbnRhdGlvbiIuCisjaHRtbF90aXRsZSA9IE5vbmUKKworIyBBIHNob3J0ZXIgdGl0
bGUgZm9yIHRoZSBuYXZpZ2F0aW9uIGJhci4gIERlZmF1bHQgaXMgdGhlIHNhbWUgYXMgaHRtbF90
aXRsZS4KKyNodG1sX3Nob3J0X3RpdGxlID0gTm9uZQorCisjIFRoZSBuYW1lIG9mIGFuIGltYWdl
IGZpbGUgKHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5KSB0byBwbGFjZSBhdCB0aGUgdG9wCisj
IG9mIHRoZSBzaWRlYmFyLgorI2h0bWxfbG9nbyA9IE5vbmUKKworIyBUaGUgbmFtZSBvZiBhbiBp
bWFnZSBmaWxlICh3aXRoaW4gdGhlIHN0YXRpYyBwYXRoKSB0byB1c2UgYXMgZmF2aWNvbiBvZiB0
aGUKKyMgZG9jcy4gIFRoaXMgZmlsZSBzaG91bGQgYmUgYSBXaW5kb3dzIGljb24gZmlsZSAoLmlj
bykgYmVpbmcgMTZ4MTYgb3IgMzJ4MzIKKyMgcGl4ZWxzIGxhcmdlLgorI2h0bWxfZmF2aWNvbiA9
IE5vbmUKKworIyBBZGQgYW55IHBhdGhzIHRoYXQgY29udGFpbiBjdXN0b20gc3RhdGljIGZpbGVz
IChzdWNoIGFzIHN0eWxlIHNoZWV0cykgaGVyZSwKKyMgcmVsYXRpdmUgdG8gdGhpcyBkaXJlY3Rv
cnkuIFRoZXkgYXJlIGNvcGllZCBhZnRlciB0aGUgYnVpbHRpbiBzdGF0aWMgZmlsZXMsCisjIHNv
IGEgZmlsZSBuYW1lZCAiZGVmYXVsdC5jc3MiIHdpbGwgb3ZlcndyaXRlIHRoZSBidWlsdGluICJk
ZWZhdWx0LmNzcyIuCitodG1sX3N0YXRpY19wYXRoID0gWydfc3RhdGljJ10KKworIyBBZGQgYW55
IGV4dHJhIHBhdGhzIHRoYXQgY29udGFpbiBjdXN0b20gZmlsZXMgKHN1Y2ggYXMgcm9ib3RzLnR4
dCBvcgorIyAuaHRhY2Nlc3MpIGhlcmUsIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LiBUaGVz
ZSBmaWxlcyBhcmUgY29waWVkCisjIGRpcmVjdGx5IHRvIHRoZSByb290IG9mIHRoZSBkb2N1bWVu
dGF0aW9uLgorI2h0bWxfZXh0cmFfcGF0aCA9IFtdCisKKyMgSWYgbm90ICcnLCBhICdMYXN0IHVw
ZGF0ZWQgb246JyB0aW1lc3RhbXAgaXMgaW5zZXJ0ZWQgYXQgZXZlcnkgcGFnZSBib3R0b20sCisj
IHVzaW5nIHRoZSBnaXZlbiBzdHJmdGltZSBmb3JtYXQuCisjaHRtbF9sYXN0X3VwZGF0ZWRfZm10
ID0gJyViICVkLCAlWScKKworIyBJZiB0cnVlLCBTbWFydHlQYW50cyB3aWxsIGJlIHVzZWQgdG8g
Y29udmVydCBxdW90ZXMgYW5kIGRhc2hlcyB0bworIyB0eXBvZ3JhcGhpY2FsbHkgY29ycmVjdCBl
bnRpdGllcy4KKyNodG1sX3VzZV9zbWFydHlwYW50cyA9IFRydWUKKworIyBDdXN0b20gc2lkZWJh
ciB0ZW1wbGF0ZXMsIG1hcHMgZG9jdW1lbnQgbmFtZXMgdG8gdGVtcGxhdGUgbmFtZXMuCisjaHRt
bF9zaWRlYmFycyA9IHt9CisKKyMgQWRkaXRpb25hbCB0ZW1wbGF0ZXMgdGhhdCBzaG91bGQgYmUg
cmVuZGVyZWQgdG8gcGFnZXMsIG1hcHMgcGFnZSBuYW1lcyB0bworIyB0ZW1wbGF0ZSBuYW1lcy4K
KyNodG1sX2FkZGl0aW9uYWxfcGFnZXMgPSB7fQorCisjIElmIGZhbHNlLCBubyBtb2R1bGUgaW5k
ZXggaXMgZ2VuZXJhdGVkLgorI2h0bWxfZG9tYWluX2luZGljZXMgPSBUcnVlCisKKyMgSWYgZmFs
c2UsIG5vIGluZGV4IGlzIGdlbmVyYXRlZC4KKyNodG1sX3VzZV9pbmRleCA9IFRydWUKKworIyBJ
ZiB0cnVlLCB0aGUgaW5kZXggaXMgc3BsaXQgaW50byBpbmRpdmlkdWFsIHBhZ2VzIGZvciBlYWNo
IGxldHRlci4KKyNodG1sX3NwbGl0X2luZGV4ID0gRmFsc2UKKworIyBJZiB0cnVlLCBsaW5rcyB0
byB0aGUgcmVTVCBzb3VyY2VzIGFyZSBhZGRlZCB0byB0aGUgcGFnZXMuCisjaHRtbF9zaG93X3Nv
dXJjZWxpbmsgPSBUcnVlCisKKyMgSWYgdHJ1ZSwgIkNyZWF0ZWQgdXNpbmcgU3BoaW54IiBpcyBz
aG93biBpbiB0aGUgSFRNTCBmb290ZXIuIERlZmF1bHQgaXMgVHJ1ZS4KKyNodG1sX3Nob3dfc3Bo
aW54ID0gVHJ1ZQorCisjIElmIHRydWUsICIoQykgQ29weXJpZ2h0IC4uLiIgaXMgc2hvd24gaW4g
dGhlIEhUTUwgZm9vdGVyLiBEZWZhdWx0IGlzIFRydWUuCisjaHRtbF9zaG93X2NvcHlyaWdodCA9
IFRydWUKKworIyBJZiB0cnVlLCBhbiBPcGVuU2VhcmNoIGRlc2NyaXB0aW9uIGZpbGUgd2lsbCBi
ZSBvdXRwdXQsIGFuZCBhbGwgcGFnZXMgd2lsbAorIyBjb250YWluIGEgPGxpbms+IHRhZyByZWZl
cnJpbmcgdG8gaXQuICBUaGUgdmFsdWUgb2YgdGhpcyBvcHRpb24gbXVzdCBiZSB0aGUKKyMgYmFz
ZSBVUkwgZnJvbSB3aGljaCB0aGUgZmluaXNoZWQgSFRNTCBpcyBzZXJ2ZWQuCisjaHRtbF91c2Vf
b3BlbnNlYXJjaCA9ICcnCisKKyMgVGhpcyBpcyB0aGUgZmlsZSBuYW1lIHN1ZmZpeCBmb3IgSFRN
TCBmaWxlcyAoZS5nLiAiLnhodG1sIikuCisjaHRtbF9maWxlX3N1ZmZpeCA9IE5vbmUKKworIyBP
dXRwdXQgZmlsZSBiYXNlIG5hbWUgZm9yIEhUTUwgaGVscCBidWlsZGVyLgoraHRtbGhlbHBfYmFz
ZW5hbWUgPSAnd3B0cnVubmVyZG9jJworCisKKyMgLS0gT3B0aW9ucyBmb3IgTGFUZVggb3V0cHV0
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitsYXRleF9l
bGVtZW50cyA9IHsKKyMgVGhlIHBhcGVyIHNpemUgKCdsZXR0ZXJwYXBlcicgb3IgJ2E0cGFwZXIn
KS4KKyMncGFwZXJzaXplJzogJ2xldHRlcnBhcGVyJywKKworIyBUaGUgZm9udCBzaXplICgnMTBw
dCcsICcxMXB0JyBvciAnMTJwdCcpLgorIydwb2ludHNpemUnOiAnMTBwdCcsCisKKyMgQWRkaXRp
b25hbCBzdHVmZiBmb3IgdGhlIExhVGVYIHByZWFtYmxlLgorIydwcmVhbWJsZSc6ICcnLAorfQor
CisjIEdyb3VwaW5nIHRoZSBkb2N1bWVudCB0cmVlIGludG8gTGFUZVggZmlsZXMuIExpc3Qgb2Yg
dHVwbGVzCisjIChzb3VyY2Ugc3RhcnQgZmlsZSwgdGFyZ2V0IG5hbWUsIHRpdGxlLAorIyAgYXV0
aG9yLCBkb2N1bWVudGNsYXNzIFtob3d0bywgbWFudWFsLCBvciBvd24gY2xhc3NdKS4KK2xhdGV4
X2RvY3VtZW50cyA9IFsKKyAgKCdpbmRleCcsICd3cHRydW5uZXIudGV4JywgdSd3cHRydW5uZXIg
RG9jdW1lbnRhdGlvbicsCisgICB1J0phbWVzIEdyYWhhbScsICdtYW51YWwnKSwKK10KKworIyBU
aGUgbmFtZSBvZiBhbiBpbWFnZSBmaWxlIChyZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeSkgdG8g
cGxhY2UgYXQgdGhlIHRvcCBvZgorIyB0aGUgdGl0bGUgcGFnZS4KKyNsYXRleF9sb2dvID0gTm9u
ZQorCisjIEZvciAibWFudWFsIiBkb2N1bWVudHMsIGlmIHRoaXMgaXMgdHJ1ZSwgdGhlbiB0b3Bs
ZXZlbCBoZWFkaW5ncyBhcmUgcGFydHMsCisjIG5vdCBjaGFwdGVycy4KKyNsYXRleF91c2VfcGFy
dHMgPSBGYWxzZQorCisjIElmIHRydWUsIHNob3cgcGFnZSByZWZlcmVuY2VzIGFmdGVyIGludGVy
bmFsIGxpbmtzLgorI2xhdGV4X3Nob3dfcGFnZXJlZnMgPSBGYWxzZQorCisjIElmIHRydWUsIHNo
b3cgVVJMIGFkZHJlc3NlcyBhZnRlciBleHRlcm5hbCBsaW5rcy4KKyNsYXRleF9zaG93X3VybHMg
PSBGYWxzZQorCisjIERvY3VtZW50cyB0byBhcHBlbmQgYXMgYW4gYXBwZW5kaXggdG8gYWxsIG1h
bnVhbHMuCisjbGF0ZXhfYXBwZW5kaWNlcyA9IFtdCisKKyMgSWYgZmFsc2UsIG5vIG1vZHVsZSBp
bmRleCBpcyBnZW5lcmF0ZWQuCisjbGF0ZXhfZG9tYWluX2luZGljZXMgPSBUcnVlCisKKworIyAt
LSBPcHRpb25zIGZvciBtYW51YWwgcGFnZSBvdXRwdXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCisKKyMgT25lIGVudHJ5IHBlciBtYW51YWwgcGFnZS4gTGlzdCBvZiB0
dXBsZXMKKyMgKHNvdXJjZSBzdGFydCBmaWxlLCBuYW1lLCBkZXNjcmlwdGlvbiwgYXV0aG9ycywg
bWFudWFsIHNlY3Rpb24pLgorbWFuX3BhZ2VzID0gWworICAgICgnaW5kZXgnLCAnd3B0cnVubmVy
JywgdSd3cHRydW5uZXIgRG9jdW1lbnRhdGlvbicsCisgICAgIFt1J0phbWVzIEdyYWhhbSddLCAx
KQorXQorCisjIElmIHRydWUsIHNob3cgVVJMIGFkZHJlc3NlcyBhZnRlciBleHRlcm5hbCBsaW5r
cy4KKyNtYW5fc2hvd191cmxzID0gRmFsc2UKKworCisjIC0tIE9wdGlvbnMgZm9yIFRleGluZm8g
b3V0cHV0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyBH
cm91cGluZyB0aGUgZG9jdW1lbnQgdHJlZSBpbnRvIFRleGluZm8gZmlsZXMuIExpc3Qgb2YgdHVw
bGVzCisjIChzb3VyY2Ugc3RhcnQgZmlsZSwgdGFyZ2V0IG5hbWUsIHRpdGxlLCBhdXRob3IsCisj
ICBkaXIgbWVudSBlbnRyeSwgZGVzY3JpcHRpb24sIGNhdGVnb3J5KQordGV4aW5mb19kb2N1bWVu
dHMgPSBbCisgICgnaW5kZXgnLCAnd3B0cnVubmVyJywgdSd3cHRydW5uZXIgRG9jdW1lbnRhdGlv
bicsCisgICB1J0phbWVzIEdyYWhhbScsICd3cHRydW5uZXInLCAnT25lIGxpbmUgZGVzY3JpcHRp
b24gb2YgcHJvamVjdC4nLAorICAgJ01pc2NlbGxhbmVvdXMnKSwKK10KKworIyBEb2N1bWVudHMg
dG8gYXBwZW5kIGFzIGFuIGFwcGVuZGl4IHRvIGFsbCBtYW51YWxzLgorI3RleGluZm9fYXBwZW5k
aWNlcyA9IFtdCisKKyMgSWYgZmFsc2UsIG5vIG1vZHVsZSBpbmRleCBpcyBnZW5lcmF0ZWQuCisj
dGV4aW5mb19kb21haW5faW5kaWNlcyA9IFRydWUKKworIyBIb3cgdG8gZGlzcGxheSBVUkwgYWRk
cmVzc2VzOiAnZm9vdG5vdGUnLCAnbm8nLCBvciAnaW5saW5lJy4KKyN0ZXhpbmZvX3Nob3dfdXJs
cyA9ICdmb290bm90ZScKKworIyBJZiB0cnVlLCBkbyBub3QgZ2VuZXJhdGUgYSBAZGV0YWlsbWVu
dSBpbiB0aGUgIlRvcCIgbm9kZSdzIG1lbnUuCisjdGV4aW5mb19ub19kZXRhaWxtZW51ID0gRmFs
c2UKKworCisjIEV4YW1wbGUgY29uZmlndXJhdGlvbiBmb3IgaW50ZXJzcGhpbng6IHJlZmVyIHRv
IHRoZSBQeXRob24gc3RhbmRhcmQgbGlicmFyeS4KK2ludGVyc3BoaW54X21hcHBpbmcgPSB7J3B5
dGhvbic6ICgnaHR0cDovL2RvY3MucHl0aG9uLm9yZy8nLCBOb25lKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgJ21vemxvZyc6ICgnaHR0cDovL21vemJhc2UucmVhZHRoZWRvY3Mub3JnL2VuL2xh
dGVzdC8nLCBOb25lKX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvZGVzaWduLnJzdCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3Mv
ZGVzaWduLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZjEwOGEwMDg3ZGEwYzZlYzEyMzE2OWM3MTU4NmY2Y2Uz
YmZiYTcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9kZXNpZ24ucnN0CkBAIC0wLDAgKzEs
MTA2IEBACit3cHRydW5uZXIgRGVzaWduCis9PT09PT09PT09PT09PT09CisKK1RoZSBkZXNpZ24g
b2Ygd3B0cnVubmVyIGlzIGludGVuZGVkIHRvIG1lZXQgdGhlIGZvbGxvd2luZworcmVxdWlyZW1l
bnRzOgorCisgKiBQb3NzaWJsZSB0byBydW4gdGVzdHMgZnJvbSBXM0Mgd2ViLXBsYXRmb3JtLXRl
c3RzLgorCisgKiBUZXN0cyBzaG91bGQgYmUgcnVuIGFzIGZhc3QgYXMgcG9zc2libGUuIEluIHBh
cnRpY3VsYXIgaXQgc2hvdWxkCisgICBub3QgYmUgbmVjZXNzYXJ5IHRvIHJlc3RhcnQgdGhlIGJy
b3dzZXIgYmV0d2VlbiB0ZXN0cywgb3Igc2ltaWxhci4KKworICogQXMgZmFyIGFzIHBvc3NpYmxl
LCB0aGUgdGVzdHMgc2hvdWxkIHJ1biBpbiBhICJub3JtYWwiIGJyb3dzZXIgYW5kCisgICBicm93
c2luZyBjb250ZXh0LiBJbiBwYXJ0aWN1bGFyIG1hbnkgdGVzdHMgYXNzdW1lIHRoYXQgdGhleSBh
cmUKKyAgIHJ1bm5pbmcgaW4gYSB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dCwgc28gd2UgbXVz
dCBhdm9pZCB0aGUgdXNlCisgICBvZiBhbiBgYGlmcmFtZWBgIHRlc3QgY29udGFpbmVyLgorCisg
KiBJdCBtdXN0IGJlIHBvc3NpYmxlIHRvIGRlYWwgd2l0aCBhbGwga2luZHMgb2YgYmVoYXZpb3Vy
IG9mIHRoZQorICAgYnJvd3NlciBydW5kZXIgdGVzdCwgZm9yIGV4YW1wbGUsIGNyYXNoaW5nLCBo
YW5naW5nLCBldGMuCisKKyAqIEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBhZGQgc3VwcG9ydCBm
b3IgbmV3IHBsYXRmb3JtcyBhbmQgYnJvd3NlcnMKKyAgIHdpdGggbWluaW1hbCBjb2RlIGNoYW5n
ZXMuCisKKyAqIEl0IG11c3QgYmUgcG9zc2libGUgdG8gcnVuIHRlc3RzIGluIHBhcmFsbGVsIHRv
IGZ1cnRoZXIgaW1wcm92ZQorICAgcGVyZm9ybWFuY2UuCisKKyAqIFRlc3Qgb3V0cHV0IG11c3Qg
YmUgaW4gYSBtYWNoaW5lIHJlYWRhYmxlIGZvcm0uCisKK0FyY2hpdGVjdHVyZQorLS0tLS0tLS0t
LS0tCisKK0luIG9yZGVyIHRvIG1lZXQgdGhlIGFib3ZlIHJlcXVpcmVtZW50cywgd3B0cnVubmVy
IGlzIGRlc2lnbmVkIHRvCitwdXNoIGFzIG11Y2ggb2YgdGhlIHRlc3Qgc2NoZWR1bGluZyBhcyBw
b3NzaWJsZSBpbnRvIHRoZSBoYXJuZXNzLiBUaGlzCithbGxvd3MgdGhlIGhhcm5lc3MgdG8gbW9u
aXRvciB0aGUgc3RhdGUgb2YgdGhlIGJyb3dzZXIgYW5kIHBlcmZvcm0KK2FwcHJvcHJpYXRlIGFj
dGlvbiBpZiBpdCBnZXRzIGludG8gYW4gdW53YW50ZWQgc3RhdGUgZS5nLiBraWxsIHRoZQorYnJv
d3NlciBpZiBpdCBhcHBlYXJzIHRvIGJlIGh1bmcuCisKK1RoZSBoYXJuZXNzIHdpbGwgdHlwaWNh
bGx5IGNvbW11bmljYXRlIHdpdGggdGhlIGJyb3dzZXIgdmlhIHNvbWUgcmVtb3RlCitjb250cm9s
IHByb3RvY29sIHN1Y2ggYXMgV2ViRHJpdmVyLiBIb3dldmVyIGZvciBicm93c2VycyB3aGVyZSBu
byBzdWNoCitwcm90b2NvbCBpcyBzdXBwb3J0ZWQsIG90aGVyIGltcGxlbWVudGF0aW9uIHN0cmF0
ZWdpZXMgYXJlIHBvc3NpYmxlLAordHlwaWNhbGx5IGF0IHRoZSBleHBlbnNlIG9mIHNwZWVkLgor
CitUaGUgb3ZlcmFsbCBhcmNoaXRlY3R1cmUgb2Ygd3B0cnVubmVyIGlzIHNob3duIGluIHRoZSBk
aWFncmFtIGJlbG93OgorCisuLiBpbWFnZTo6IGFyY2hpdGVjdHVyZS5zdmcKKworVGhlIG1haW4g
ZW50cnkgcG9pbnQgdG8gdGhlIGNvZGUgaXMgOnB5OmZ1bmM6YHJ1bl90ZXN0c2AgaW4KK2Bgd3B0
cnVubmVyLnB5YGAuIFRoaXMgaXMgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgdXAgdGhlIHRlc3QK
K2Vudmlyb25tZW50LCBsb2FkaW5nIHRoZSBsaXN0IG9mIHRlc3RzIHRvIGJlIGV4ZWN1dGVkLCBh
bmQgaW52b2tpbmcKK3RoZSByZW1haW5kZXIgb2YgdGhlIGNvZGUgdG8gYWN0dWFsbHkgZXhlY3V0
ZSBzb21lIHRlc3RzLgorCitUaGUgdGVzdCBlbnZpcm9ubWVudCBpcyBlbmNhcHN1bGF0ZWQgaW4g
dGhlCis6cHk6Y2xhc3M6YFRlc3RFbnZpcm9ubWVudGAgY2xhc3MuIFRoaXMgZGVmZXJzIHRvIGNv
ZGUgaW4KK2Bgd2ViLXBsYXRmb3JtLXRlc3RzYGAgd2hpY2ggYWN0dWFsbHkgc3RhcnRzIHRoZSBy
ZXF1aXJlZCBzZXJ2ZXJzIHRvCitydW4gdGhlIHRlc3RzLgorCitUaGUgc2V0IG9mIHRlc3RzIHRv
IHJ1biBpcyBkZWZpbmVkIGJ5IHRoZQorOnB5OmNsYXNzOmBUZXN0TG9hZGVyYC4gVGhpcyBpcyBj
b25zdHJ1Y3RlZCB3aXRoIGEKKzpweTpjbGFzczpgVGVzdEZpbHRlcmAgKG5vdCBzaG93biksIHdo
aWNoIHRha2VzIGFueSBmaWx0ZXIgYXJndW1lbnRzCitmcm9tIHRoZSBjb21tYW5kIGxpbmUgdG8g
cmVzdHJpY3QgdGhlIHNldCBvZiB0ZXN0cyB0aGF0IHdpbGwgYmUKK3J1bi4gVGhlIDpweTpjbGFz
czpgVGVzdExvYWRlcmAgcmVhZHMgYm90aCB0aGUgYGB3ZWItcGxhdGZvcm0tdGVzdHNgYAorSlNP
TiBtYW5pZmVzdCBhbmQgdGhlIGV4cGVjdGF0aW9uIGRhdGEgc3RvcmVkIGluIGluaSBmaWxlcyBh
bmQKK3Byb2R1Y2VzIGEgOnB5OmNsYXNzOmBtdWx0aXByb2Nlc3NpbmcuUXVldWVgIG9mIHRlc3Rz
IHRvIHJ1biwgYW5kCit0aGVpciBleHBlY3RlZCByZXN1bHRzLgorCitBY3R1YWxseSBydW5uaW5n
IHRoZSB0ZXN0cyBoYXBwZW5zIHRocm91Z2ggdGhlCis6cHk6Y2xhc3M6YE1hbmFnZXJHcm91cGAg
b2JqZWN0LiBUaGlzIHRha2VzIHRoZSA6cHk6Y2xhc3M6YFF1ZXVlYCBvZgordGVzdHMgdG8gYmUg
cnVuIGFuZCBzdGFydHMgYSA6cHk6Y2xhc3M6YHRlc3RydW5uZXIuVGVzdFJ1bm5lck1hbmFnZXJg
IGZvciBlYWNoCitpbnN0YW5jZSBvZiB0aGUgYnJvd3NlciB1bmRlciB0ZXN0IHRoYXQgd2lsbCBi
ZSBzdGFydGVkLiBUaGVzZQorOnB5OmNsYXNzOmBUZXN0UnVubmVyTWFuYWdlcmAgaW5zdGFuY2Vz
IGFyZSBlYWNoIHN0YXJ0ZWQgaW4gdGhlaXIgb3duCit0aHJlYWQuCisKK0EgOnB5OmNsYXNzOmBU
ZXN0UnVubmVyTWFuYWdlcmAgY29vcmRpbmF0ZXMgc3RhcnRpbmcgdGhlIHByb2R1Y3QgdW5kZXIK
K3Rlc3QsIGFuZCBvdXRwdXR0aW5nIHJlc3VsdHMgZnJvbSB0aGUgdGVzdC4gSW4gdGhlIGNhc2Ug
dGhhdCB0aGUgdGVzdAoraGFzIHRpbWVkIG91dCBvciB0aGUgYnJvd3NlciBoYXMgY3Jhc2hlZCwg
aXQgaGFzIHRvIHJlc3RhcnQgdGhlCiticm93c2VyIHRvIGVuc3VyZSB0aGUgdGVzdCBydW4gY2Fu
IGNvbnRpbnVlLiBUaGUgZnVuY3Rpb25hbGl0eSBmb3IKK2luaXRpYWxpc2luZyB0aGUgYnJvd3Nl
ciB1bmRlciB0ZXN0LCBhbmQgcHJvYmluZyBpdHMgc3RhdGUKKyhlLmcuIHdoZXRoZXIgdGhlIHBy
b2Nlc3MgaXMgc3RpbGwgYWxpdmUpIGlzIGltcGxlbWVudGVkIHRocm91Z2ggYQorOnB5OmNsYXNz
OmBCcm93c2VyYCBvYmplY3QuIEFuIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgY2xhc3MgbXVzdCBi
ZQorcHJvdmlkZWQgZm9yIGVhY2ggcHJvZHVjdCB0aGF0IGlzIHN1cHBvcnRlZC4KKworVGhlIGZ1
bmN0aW9uYWxpdHkgZm9yIGFjdHVhbGx5IHJ1bm5pbmcgdGhlIHRlc3RzIGlzIHByb3ZpZGVkIGJ5
IGEKKzpweTpjbGFzczpgVGVzdFJ1bm5lcmAgb2JqZWN0LiA6cHk6Y2xhc3M6YFRlc3RSdW5uZXJg
IGluc3RhbmNlcyBhcmUKK3J1biBpbiB0aGVpciBvd24gY2hpbGQgcHJvY2VzcyBjcmVhdGVkIHdp
dGggdGhlCis6cHk6bW9kOmBtdWx0aXByb2Nlc3NpbmdgIG1vZHVsZS4gVGhpcyBhbGxvd3MgdGhl
bSB0byBydW4gY29uY3VycmVudGx5CithbmQgdG8gYmUga2lsbGVkIGFuZCByZXN0YXJ0ZWQgYXMg
cmVxdWlyZWQuIENvbW11bmljYXRpb24gYmV0d2VlbiB0aGUKKzpweTpjbGFzczpgVGVzdFJ1bm5l
ck1hbmFnZXJgIGFuZCB0aGUgOnB5OmNsYXNzOmBUZXN0UnVubmVyYCBpcworcHJvdmlkZWQgYnkg
YSBwYWlyIG9mIHF1ZXVlcywgb25lIGZvciBzZW5kaW5nIG1lc3NhZ2VzIGluIGVhY2gKK2RpcmVj
dGlvbi4gSW4gcGFydGljdWxhciB0ZXN0IHJlc3VsdHMgYXJlIHNlbnQgZnJvbSB0aGUKKzpweTpj
bGFzczpgVGVzdFJ1bm5lcmAgdG8gdGhlIDpweTpjbGFzczpgVGVzdFJ1bm5lck1hbmFnZXJgIHVz
aW5nIG9uZQorb2YgdGhlc2UgcXVldWVzLgorCitUaGUgOnB5OmNsYXNzOmBUZXN0UnVubmVyYCBv
YmplY3QgaXMgZ2VuZXJpYyBpbiB0aGF0IHRoZSBzYW1lCis6cHk6Y2xhc3M6YFRlc3RSdW5uZXJg
IGlzIHVzZWQgcmVnYXJkbGVzcyBvZiB0aGUgcHJvZHVjdCB1bmRlcgordGVzdC4gSG93ZXZlciB0
aGUgZGV0YWlscyBvZiBob3cgdG8gcnVuIHRoZSB0ZXN0IG1heSB2YXJ5IGdyZWF0bHkgd2l0aAor
dGhlIHByb2R1Y3Qgc2luY2UgZGlmZmVyZW50IHByb2R1Y3RzIHN1cHBvcnQgZGlmZmVyZW50IHJl
bW90ZSBjb250cm9sCitwcm90b2NvbHMgKG9yIG5vbmUgYXQgYWxsKS4gVGhlc2UgcHJvdG9jb2wt
c3BlY2lmaWMgcGFydHMgYXJlIHBsYWNlZAoraW4gdGhlIDpweTpjbGFzczpgRXhlY3V0b3JgIG9i
amVjdC4gVGhlcmUgaXMgdHlwaWNhbGx5IGEgZGlmZmVyZW50Cis6cHk6Y2xhc3M6YEV4ZWN1dG9y
YCBjbGFzcyBmb3IgZWFjaCBjb21iaW5hdGlvbiBvZiBjb250cm9sIHByb3RvY29sCithbmQgdGVz
dCB0eXBlLiBUaGUgOnB5OmNsYXNzOmBUZXN0UnVubmVyYCBpcyByZXNwb25zaWJsZSBmb3IgcHVs
bGluZworZWFjaCB0ZXN0IG9mZiB0aGUgOnB5OmNsYXNzOmBRdWV1ZWAgb2YgdGVzdHMgYW5kIHBh
c3NpbmcgaXQgZG93biB0bwordGhlIDpweTpjbGFzczpgRXhlY3V0b3JgLgorCitUaGUgZXhlY3V0
b3Igb2Z0ZW4gcmVxdWlyZXMgYWNjZXNzIHRvIGRldGFpbHMgb2YgdGhlIHBhcnRpY3VsYXIKK2Jy
b3dzZXIgaW5zdGFuY2UgdGhhdCBpdCBpcyB0ZXN0aW5nIHNvIHRoYXQgaXQga25vd3MgZS5nLiB3
aGljaCBwb3J0Cit0byBjb25uZWN0IHRvIHRvIHNlbmQgY29tbWFuZHMgdG8gdGhlIGJyb3dzZXIu
IFRoZXNlIGRldGFpbHMgYXJlCitlbmNhcHN1bGF0ZWQgaW4gdGhlIDpweTpjbGFzczpgRXhlY3V0
b3JCcm93c2VyYCBjbGFzcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvZXhwZWN0YXRpb24ucnN0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvZG9jcy9leHBlY3RhdGlvbi5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmEwYzc3Njg0YTNiODNhYmE4ODQz
NmU4NGIzOTlmZDhmYjY0ZTMyNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvZXhwZWN0YXRp
b24ucnN0CkBAIC0wLDAgKzEsMjQ4IEBACitFeHBlY3RhdGlvbiBEYXRhCis9PT09PT09PT09PT09
PT09CisKK0ludHJvZHVjdGlvbgorLS0tLS0tLS0tLS0tCisKK0ZvciB1c2UgaW4gY29udGludW91
cyBpbnRlZ3JhdGlvbiBzeXN0ZW1zLCBhbmQgb3RoZXIgc2NlbmFyaW9zIHdoZXJlCityZWdyZXNz
aW9uIHRyYWNraW5nIGlzIHJlcXVpcmVkLCB3cHRydW5uZXIgc3VwcG9ydHMgc3RvcmluZyBhbmQK
K2xvYWRpbmcgdGhlIGV4cGVjdGVkIHJlc3VsdCBvZiBlYWNoIHRlc3QgaW4gYSB0ZXN0IHJ1bi4g
VHlwaWNhbGx5Cit0aGVzZSBleHBlY3RlZCByZXN1bHRzIHdpbGwgaW5pdGlhbGx5IGJlIGdlbmVy
YXRlZCBieSBydW5uaW5nIHRoZQordGVzdHN1aXRlIGluIGEgYmFzZWxpbmUgYnVpbGQuIFRoZXkg
bWF5IHRoZW4gYmUgZWRpdGVkIGJ5IGh1bWFucyBhcworbmV3IGZlYXR1cmVzIGFyZSBhZGRlZCB0
byB0aGUgcHJvZHVjdCB0aGF0IGNoYW5nZSB0aGUgZXhwZWN0ZWQKK3Jlc3VsdHMuIFRoZSBleHBl
Y3RlZCByZXN1bHRzIG1heSBhbHNvIHZhcnkgZm9yIGEgc2luZ2xlIHByb2R1Y3QKK2RlcGVuZGlu
ZyBvbiB0aGUgcGxhdGZvcm0gb24gd2hpY2ggaXQgaXMgcnVuLiBUaGVyZWZvcmUsIHRoZSByYXcK
K3N0cnVjdHVyZWQgbG9nIGRhdGEgaXMgbm90IGEgc3VpdGFibGUgZm9ybWF0IGZvciBzdG9yaW5n
IHRoZXNlCitmaWxlcy4gSW5zdGVhZCBzb21ldGhpbmcgaXMgcmVxdWlyZWQgdGhhdCBpczoKKwor
ICogSHVtYW4gcmVhZGFibGUKKworICogSHVtYW4gZWRpdGFibGUKKworICogTWFjaGluZSByZWFk
YWJsZSAvIHdyaXRhYmxlCisKKyAqIENhcGFibGUgb2Ygc3RvcmluZyB0ZXN0IGlkIC8gcmVzdWx0
IHBhaXJzCisKKyAqIFN1aXRhYmxlIGZvciBzdG9yaW5nIGluIGEgdmVyc2lvbiBjb250cm9sIHN5
c3RlbSAoaS5lLiB0ZXh0LWJhc2VkKQorCitUaGUgbmVlZCBmb3IgZGlmZmVyZW50IHJlc3VsdHMg
cGVyIHBsYXRmb3JtIG1lYW5zIGVpdGhlciBoYXZpbmcKK211bHRpcGxlIGV4cGVjdGF0aW9uIGZp
bGVzIGZvciBlYWNoIHBsYXRmb3JtLCBvciBoYXZpbmcgYSB3YXkgdG8KK2V4cHJlc3MgY29uZGl0
aW9uYWwgdmFsdWVzIHdpdGhpbiBhIGNlcnRhaW4gZmlsZS4gVGhlIGZvcm1lciB3b3VsZCBiZQor
cmF0aGVyIGN1bWJlcnNvbWUgZm9yIGh1bWFucyB1cGRhdGluZyB0aGUgZXhwZWN0YXRpb24gZmls
ZXMsIHNvIHRoZQorbGF0dGVyIGFwcHJvYWNoIGhhcyBiZWVuIGFkb3B0ZWQsIGxlYWRpbmcgdG8g
dGhlIHJlcXVpcmVtZW50OgorCisgKiBDYXBhYmxlIG9mIHN0b3JpbmcgcmVzdWx0IHZhbHVlcyB0
aGF0IGFyZSBjb25kaXRpb25hbCBvbiB0aGUgcGxhdGZvcm0uCisKK1RoZXJlIGFyZSBmZXcgZXh0
YW50IGZvcm1hdHMgdGhhdCBtZWV0IHRoZXNlIHJlcXVpcmVtZW50cywgc28KK3dwdHJ1bm5lciB1
c2VzIGEgYmVzcG9rZSBgYGV4cGVjdGF0aW9uIG1hbmlmZXN0YGAgZm9ybWF0LCB3aGljaCBpcwor
Y2xvc2VseSBiYXNlZCBvbiB0aGUgc3RhbmRhcmQgYGBpbmlgYCBmb3JtYXQuCisKK0RpcmVjdG9y
eSBMYXlvdXQKKy0tLS0tLS0tLS0tLS0tLS0KKworRXhwZWN0YXRpb24gbWFuaWZlc3QgZmlsZXMg
bXVzdCBiZSBzdG9yZWQgdW5kZXIgdGhlIGBgbWV0YWRhdGFgYAorZGlyZWN0b3J5IHBhc3NlZCB0
byB0aGUgdGVzdCBydW5uZXIuIFRoZSBkaXJlY3RvcnkgbGF5b3V0IGZvbGxvd3MgdGhhdAorb2Yg
d2ViLXBsYXRmb3JtLXRlc3RzIHdpdGggZWFjaCB0ZXN0IHBhdGggaGF2aW5nIGEgY29ycmVzcG9u
ZGluZworbWFuaWZlc3QgZmlsZS4gVGVzdHMgdGhhdCBkaWZmZXIgb25seSBieSBxdWVyeSBzdHJp
bmcsIG9yIHJlZnRlc3RzCit3aXRoIHRoZSBzYW1lIHRlc3QgcGF0aCBidXQgZGlmZmVyZW50IHJl
ZiBwYXRocyBzaGFyZSB0aGUgc2FtZQorcmVmZXJlbmNlIGZpbGUuIFRoZSBmaWxlIG5hbWUgaXMg
dGFrZW4gZnJvbSB0aGUgbGFzdCAvLXNlcGFyYXRlZCBwYXJ0CitvZiB0aGUgcGF0aCwgc3VmZml4
ZWQgd2l0aCBgYC5pbmlgYC4KKworQXMgYW4gb3B0aW1pc2F0aW9uLCBmaWxlcyB3aGljaCBwcm9k
dWNlIG9ubHkgZGVmYXVsdCByZXN1bHRzCisoaS5lLiBgYFBBU1NgYCBvciBgYE9LYGApIGRvbid0
IHJlcXVpcmUgYSBjb3JyZXNwb25kaW5nIG1hbmlmZXN0IGZpbGUuCisKK0ZvciBleGFtcGxlIGEg
dGVzdCB3aXRoIHVybDo6CisKKyAgL3NwZWMvc2VjdGlvbi9maWxlLmh0bWw/cXVlcnk9cGFyYW0K
Kword291bGQgaGF2ZSBhbiBleHBlY3RhdGlvbiBmaWxlIDo6CisKKyAgbWV0YWRhdGEvc3BlYy9z
ZWN0aW9uL2ZpbGUuaHRtbC5pbmkKKworCisuLiBfd3B0dXBkYXRlLWxhYmVsOgorCitHZW5lcmF0
aW5nIEV4cGVjdGF0aW9uIEZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3dw
dHJ1bm5lciBwcm92aWRlcyB0aGUgdG9vbCBgYHdwdHVwZGF0ZWBgIHRvIGdlbmVyYXRlIGV4cGVj
dGF0aW9uCitmaWxlcyBmcm9tIHRoZSByZXN1bHRzIG9mIGEgc2V0IG9mIGJhc2VsaW5lIHRlc3Qg
cnVucy4gVGhlIGJhc2ljCitzeW50YXggZm9yIHRoaXMgaXM6OgorCisgIHdwdHVwZGF0ZSBbb3B0
aW9uc10gW2xvZ2ZpbGVdLi4uCisKK0VhY2ggYGBsb2dmaWxlYGAgaXMgYSBzdHJ1Y3R1cmVkIGxv
ZyBmaWxlIGZyb20gYSBwcmV2aW91cyBydW4uIFRoZXNlCitjYW4gYmUgZ2VuZXJhdGVkIGZyb20g
d3B0cnVubmVyIHVzaW5nIHRoZSBgYC0tbG9nLXJhd2BgIG9wdGlvbgorZS5nLiBgYC0tbG9nLXJh
dz1zdHJ1Y3R1cmVkLmxvZ2BgLiBUaGUgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gdXBkYXRlCith
bGwgdGhlIHRlc3QgZGF0YSBmb3IgdGhlIHBhcnRpY3VsYXIgY29tYmluYXRpb24gb2YgaGFyZHdh
cmUgYW5kIE9TCit1c2VkIGluIHRoZSBydW4gY29ycmVzcG9uZGluZyB0byB0aGUgbG9nIGRhdGEs
IHdoaWxzdCBsZWF2aW5nIGFueQorb3RoZXIgZXhwZWN0YXRpb25zIHVudG91Y2hlZC4KKword3B0
dXBkYXRlIHRha2VzIHNldmVyYWwgdXNlZnVsIG9wdGlvbnM6CisKK2BgLS1zeW5jYGAKKyAgUHVs
bCB0aGUgbGF0ZXN0IHZlcnNpb24gb2Ygd2ViLXBsYXRmb3JtLXRlc3RzIGZyb20gdGhlCisgIHVw
c3RyZWFtIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnIGZpbGUuIElmIHRoaXMgaXMgc3BlY2lmaWVk
IGluCisgIGNvbWJpbmF0aW9uIHdpdGggbG9nZmlsZXMsIGl0IGlzIGFzc3VtZWQgdGhhdCB0aGUg
cmVzdWx0cyBpbiB0aGUgbG9nCisgIGZpbGVzIGFwcGx5IHRvIHRoZSBwb3N0LXVwZGF0ZSB0ZXN0
cy4KKworYGAtLW5vLWNoZWNrLWNsZWFuYGAKKyAgRG9uJ3QgYXR0ZW1wdCB0byBjaGVjayBpZiB0
aGUgd29ya2luZyBkaXJlY3RvcnkgaXMgY2xlYW4gYmVmb3JlCisgIGRvaW5nIHRoZSB1cGRhdGUg
KGFzc3VtaW5nIHRoYXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGEgZ2l0IG9yCisgIG1lcmN1
cmlhbCB0cmVlKS4KKworYGAtLXBhdGNoYGAKKyAgQ3JlYXRlIGEgYSBnaXQgY29tbWl0LCBvciBh
IG1xIHBhdGNoLCB3aXRoIHRoZSBjaGFuZ2VzIG1hZGUgYnkgd3B0dXBkYXRlLgorCitgYC0taWdu
b3JlLWV4aXN0aW5nYGAKKyAgT3ZlcndyaXRlIGFsbCB0aGUgZXhwZWN0YXRpb24gZGF0YSBmb3Ig
YW55IHRlc3RzIHRoYXQgaGF2ZSBhIHJlc3VsdAorICBpbiB0aGUgcGFzc2VkIGxvZyBmaWxlcywg
bm90IGp1c3QgZGF0YSBmb3IgdGhlIHNhbWUgcGxhdGZvcm0uCisKK0V4YW1wbGVzCit+fn5+fn5+
fgorCitVcGRhdGUgdGhlIGxvY2FsIGNvcHkgb2Ygd2ViLXBsYXRmb3JtLXRlc3RzIHdpdGhvdXQg
Y2hhbmdpbmcgdGhlCitleHBlY3RhdGlvbiBkYXRhIGFuZCBjb21taXQgKG9yIGNyZWF0ZSBhIG1x
IHBhdGNoIGZvcikgdGhlIHJlc3VsdDo6CisKKyAgd3B0dXBkYXRlIC0tcGF0Y2ggLS1zeW5jCisK
K1VwZGF0ZSBhbGwgdGhlIGV4cGVjdGF0aW9ucyBmcm9tIGEgc2V0IG9mIGNyb3NzLXBsYXRmb3Jt
IHRlc3QgcnVuczo6CisKKyAgd3B0dXBkYXRlIC0tbm8tY2hlY2stY2xlYW4gLS1wYXRjaCBvc3gu
bG9nIGxpbnV4LmxvZyB3aW5kb3dzLmxvZworCitBZGQgZXhwZWN0YXRpb24gZGF0YSBmb3Igc29t
ZSBuZXcgdGVzdHMgdGhhdCBhcmUgZXhwZWN0ZWQgdG8gYmUKK3BsYXRmb3JtLWluZGVwZW5kZW50
OjoKKworICB3cHR1cGRhdGUgLS1uby1jaGVjay1jbGVhbiAtLXBhdGNoIC0taWdub3JlLWV4aXN0
aW5nIHRlc3RzLmxvZworCitNYW5pZmVzdCBGb3JtYXQKKy0tLS0tLS0tLS0tLS0tLQorVGhlIGZv
cm1hdCBvZiB0aGUgbWFuaWZlc3QgZmlsZXMgaXMgYmFzZWQgb24gdGhlIGluaSBmb3JtYXQuIEZp
bGVzIGFyZQorZGl2aWRlZCBpbnRvIHNlY3Rpb25zLCBlYWNoIChhcGFydCBmcm9tIHRoZSByb290
IHNlY3Rpb24pIGhhdmluZyBhCitoZWFkaW5nIGVuY2xvc2VkIGluIHNxdWFyZSBicmFjZXMuIFdp
dGhpbiBlYWNoIHNlY3Rpb24gYXJlIGtleS12YWx1ZQorcGFpcnMuIFRoZXJlIGFyZSBzZXZlcmFs
IG5vdGFibGUgZGlmZmVyZW5jZXMgZnJvbSBzdGFuZGFyZCAuaW5pIGZpbGVzLAoraG93ZXZlcjoK
KworICogU2VjdGlvbnMgbWF5IGJlIGhpZXJhcmNoaWNhbGx5IG5lc3RlZCwgd2l0aCBzaWduaWZp
Y2FudCB3aGl0ZXNwYWNlCisgICBpbmRpY2F0aW5nIG5lc3RpbmcgZGVwdGguCisKKyAqIE9ubHkg
YGA6YGAgaXMgdmFsaWQgYXMgYSBrZXkvdmFsdWUgc2VwYXJhdG9yCisKK0Egc2ltcGxlIGV4YW1w
bGUgb2YgYSBtYW5pZmVzdCBmaWxlIGlzOjoKKworICByb290X2tleTogcm9vdF92YWx1ZQorCisg
IFtzZWN0aW9uXQorICAgIHNlY3Rpb25fa2V5OiBzZWN0aW9uX3ZhbHVlCisKKyAgICBbc3Vic2Vj
dGlvbl0KKyAgICAgICBzdWJzZWN0aW9uX2tleTogc3Vic2VjdGlvbl92YWx1ZQorCisgIFthbm90
aGVyX3NlY3Rpb25dCisgICAgYW5vdGhlcl9rZXk6IGFub3RoZXJfdmFsdWUKKworQ29uZGl0aW9u
YWwgVmFsdWVzCit+fn5+fn5+fn5+fn5+fn5+fn4KKworSW4gb3JkZXIgdG8gc3VwcG9ydCB2YWx1
ZXMgdGhhdCBkZXBlbmQgb24gc29tZSBleHRlcm5hbCBkYXRhLCB0aGUKK3JpZ2h0IGhhbmQgc2lk
ZSBvZiBhIGtleS92YWx1ZSBwYWlyIGNhbiB0YWtlIGEgc2V0IG9mIGNvbmRpdGlvbmFscworcmF0
aGVyIHRoYW4gYSBwbGFpbiB2YWx1ZS4gVGhlc2UgdmFsdWVzIGFyZSBwbGFjZWQgb24gYSBuZXcg
bGluZQorZm9sbG93aW5nIHRoZSBrZXksIHdpdGggc2lnbmlmaWNhbnQgaW5kZW50YXRpb24uIENv
bmRpdGlvbmFsIHZhbHVlcworYXJlIHByZWZpeGVkIHdpdGggYGBpZmBgIGFuZCB0ZXJtaW5hdGVk
IHdpdGggYSBjb2xvbiwgZm9yIGV4YW1wbGU6OgorCisgIGtleToKKyAgICBpZiBjb25kMTogdmFs
dWUxCisgICAgaWYgY29uZDI6IHZhbHVlMgorICAgIHZhbHVlMworCitJbiB0aGlzIGV4YW1wbGUs
IHRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYGBrZXlgYCBpcyBkZXRlcm1pbmVkIGJ5CitmaXJz
dCBldmFsdWF0aW5nIGBgY29uZDFgYCBhZ2FpbnN0IGV4dGVybmFsIGRhdGEuIElmIHRoYXQgaXMg
dHJ1ZSwKK2Bga2V5YGAgaXMgYXNzaWduZWQgdGhlIHZhbHVlIGBgdmFsdWUxYGAsIG90aGVyd2lz
ZSBgYGNvbmQyYGAgaXMKK2V2YWx1YXRlZCBpbiB0aGUgc2FtZSB3YXkuIElmIGJvdGggYGBjb25k
MWBgIGFuZCBgYGNvbmQyYGAgYXJlIGZhbHNlLAordGhlIHVuY29uZGl0aW9uYWwgYGB2YWx1ZTNg
YCBpcyB1c2VkLgorCitDb25kaXRpb25zIHRoZW1zZWx2ZXMgdXNlIGEgUHl0aG9uLWxpa2UgZXhw
cmVzc2lvbiBzeW50YXguIE9wZXJhbmRzCitjYW4gZWl0aGVyIGJlIHZhcmlhYmxlcywgY29ycmVz
cG9uZGluZyB0byBkYXRhIHBhc3NlZCBpbiwgbnVtYmVycworKGludGVnZXIgb3IgZmxvYXRpbmcg
cG9pbnQ7IGV4cG9uZW50aWFsIG5vdGF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQpIG9yCitxdW90ZS1k
ZWxpbWl0ZWQgc3RyaW5ncy4gRXF1YWxpdHkgaXMgdGVzdGVkIHVzaW5nIGBgPT1gYCBhbmQKK2lu
ZXF1YWxpdHkgYnkgYGAhPWBgLiBUaGUgb3BlcmF0b3JzIGBgYW5kYGAsIGBgb3JgYCBhbmQgYGBu
b3RgYCBhcmUKK3VzZWQgaW4gdGhlIGV4cGVjdGVkIHdheS4gUGFyZW50aGVzZXMgY2FuIGFsc28g
YmUgdXNlZCBmb3IKK2dyb3VwaW5nLiBGb3IgZXhhbXBsZTo6CisKKyAga2V5OgorICAgIGlmIChh
ID09IDIgb3IgYSA9PSAzKSBhbmQgYiA9PSAiYWJjIjogdmFsdWUxCisgICAgaWYgYSA9PSAxIG9y
IGIgIT0gImFiYyI6IHZhbHVlMgorICAgIHZhbHVlMworCitIZXJlIGBgYWBgIGFuZCBgYGJgYCBh
cmUgdmFyaWFibGVzLCB0aGUgdmFsdWUgb2Ygd2hpY2ggd2lsbCBiZQorc3VwcGxpZWQgd2hlbiB0
aGUgbWFuaWZlc3QgaXMgdXNlZC4KKworRXhwZWN0YXRpb24gTWFuaWZlc3RzCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0KKworV2hlbiB1c2VkIGZvciBleHBlY3RhdGlvbiBkYXRhLCBtYW5pZmVzdHMg
aGF2ZSB0aGUgZm9sbG93aW5nIGZvcm1hdDoKKworICogQSBzZWN0aW9uIHBlciB0ZXN0IFVSTCBk
ZXNjcmliZWQgYnkgdGhlIG1hbmlmZXN0LCB3aXRoIHRoZSBzZWN0aW9uCisgICBoZWFkaW5nIGJl
aW5nIHRoZSBwYXJ0IG9mIHRoZSB0ZXN0IFVSTCBmb2xsb3dpbmcgdGhlIGxhc3QgYGAvYGAgaW4K
KyAgIHRoZSBwYXRoICh0aGlzIGFsbG93cyBtdWx0aXBsZSB0ZXN0cyBpbiBhIHNpbmdsZSBtYW5p
ZmVzdCBmaWxlIHdpdGgKKyAgIHRoZSBzYW1lIHBhdGggcGFydCBvZiB0aGUgVVJMLCBidXQgZGlm
ZmVyZW50IHF1ZXJ5IHBhcnRzKS4KKworICogQSBzdWJzZWN0aW9uIHBlciBzdWJ0ZXN0LCB3aXRo
IHRoZSBoZWFkaW5nIGJlaW5nIHRoZSB0aXRsZSBvZiB0aGUKKyAgIHN1YnRlc3QuCisKKyAqIEEg
a2V5IGBgdHlwZWBgIGluZGljYXRpbmcgdGhlIHRlc3QgdHlwZS4gVGhpcyB0YWtlcyB0aGUgdmFs
dWVzCisgICBgYHRlc3RoYXJuZXNzYGAgYW5kIGBgcmVmdGVzdGBgLgorCisgKiBGb3IgcmVmdGVz
dHMsIGtleXMgYGByZWZ0eXBlYGAgaW5kaWNhdGluZyB0aGUgcmVmZXJlbmNlIHR5cGUKKyAgIChg
YD09YGAgb3IgYGAhPWBgKSBhbmQgYGByZWZ1cmxgYCBpbmRpY2F0aW5nIHRoZSBVUkwgb2YgdGhl
CisgICByZWZlcmVuY2UuCisKKyAqIEEga2V5IGBgZXhwZWN0ZWRgYCBnaXZpbmcgdGhlIGV4cGVj
dGF0aW9uIHZhbHVlIG9mIGVhY2ggKHN1Yil0ZXN0LgorCisgKiBBIGtleSBgYGRpc2FibGVkYGAg
d2hpY2ggY2FuIGJlIHNldCB0byBhbnkgdmFsdWUgdG8gaW5kaWNhdGUgdGhhdAorICAgdGhlIChz
dWIpdGVzdCBpcyBkaXNhYmxlZCBhbmQgc2hvdWxkIGVpdGhlciBub3QgYmUgcnVuIChmb3IgdGVz
dHMpCisgICBvciB0aGF0IGl0cyByZXN1bHRzIHNob3VsZCBiZSBpZ25vcmVkIChzdWJ0ZXN0cyku
CisKKyAqIEEga2V5IGBgcmVzdGFydC1hZnRlcmBgIHdoaWNoIGNhbiBiZSBzZXQgdG8gYW55IHZh
bHVlIHRvIGluZGljYXRlIHRoYXQKKyAgIHRoZSBydW5uZXIgc2hvdWxkIHJlc3RhcnQgdGhlIGJy
b3dzZXIgYWZ0ZXIgcnVubmluZyB0aGlzIHRlc3QgKGUuZy4gdG8KKyAgIGNsZWFyIG91dCB1bndh
bnRlZCBzdGF0ZSkuCisKKyAqIFZhcmlhYmxlcyBgYGRlYnVnYGAsIGBgb3NgYCwgYGB2ZXJzaW9u
YGAsIGBgcHJvY2Vzc29yYGAgYW5kCisgICBgYGJpdHNgYCB0aGF0IGRlc2NyaWJlIHRoZSBjb25m
aWd1cmF0aW9uIG9mIHRoZSBicm93c2VyIHVuZGVyCisgICB0ZXN0LiBgYGRlYnVnYGAgaXMgYSBi
b29sZWFuIGluZGljYXRpbmcgd2hldGhlciBhIGJ1aWxkIGlzIGEgZGVidWcKKyAgIGJ1aWxkLiBg
YG9zYGAgaXMgYSBzdHJpbmcgaW5kaWNhdGluZyB0aGUgb3BlcmF0aW5nIHN5c3RlbSwgYW5kCisg
ICBgYHZlcnNpb25gYCBhIHN0cmluZyBpbmRpY2F0aW5nIHRoZSBwYXJ0aWN1bGFyIHZlcnNpb24g
b2YgdGhhdAorICAgb3BlcmF0aW5nIHN5c3RlbS4gYGBwcm9jZXNzb3JgYCBpcyBhIHN0cmluZyBp
bmRpY2F0aW5nIHRoZQorICAgcHJvY2Vzc29yIGFyY2hpdGVjdHVyZSBhbmQgYGBiaXRzYGAgYW4g
aW50ZWdlciBpbmRpY2F0aW5nIHRoZQorICAgbnVtYmVyIG9mIGJpdHMuIFRoaXMgaW5mb3JtYXRp
b24gaXMgdHlwaWNhbGx5IHByb3ZpZGVkIGJ5CisgICA6cHk6bW9kOmBtb3ppbmZvYC4KKworICog
VG9wIGxldmVsIGtleXMgYXJlIHRha2VuIGFzIGRlZmF1bHRzIGZvciB0aGUgd2hvbGUgZmlsZS4g
U28sIGZvcgorICAgZXhhbXBsZSwgYSB0b3AgbGV2ZWwga2V5IHdpdGggYGBleHBlY3RlZDogRkFJ
TGBgIHdvdWxkIGluZGljYXRlCisgICB0aGF0IGFsbCB0ZXN0cyBhbmQgc3VidGVzdHMgaW4gdGhl
IGZpbGUgYXJlIGV4cGVjdGVkIHRvIGZhaWwsCisgICB1bmxlc3MgdGhleSBoYXZlIGFuIGBgZXhw
ZWN0ZWRgYCBrZXkgb2YgdGhlaXIgb3duLgorCitBbiBzaW1wbGUgZXhhbXBsZSBtYW5pZmVzdCBt
aWdodCBsb29rIGxpa2U6OgorCisgIFt0ZXN0Lmh0bWw/dmFyaWFudD1iYXNpY10KKyAgICB0eXBl
OiB0ZXN0aGFybmVzcworCisgICAgW1Rlc3Qgc29tZXRoaW5nIHVuc3VwcG9ydGVkXQorICAgICAg
IGV4cGVjdGVkOiBGQUlMCisKKyAgW3Rlc3QuaHRtbD92YXJpYW50PWJyb2tlbl0KKyAgICBleHBl
Y3RlZDogRVJST1IKKworICBbdGVzdC5odG1sP3ZhcmlhbnQ9dW5zdGFibGVdCisgICAgZGlzYWJs
ZWQ6IGh0dHA6Ly90ZXN0LmJ1Z3MuZXhhbXBsZS5vcmcvYnVncy8xMjM0NQorCitBIG1vcmUgY29t
cGxleCBtYW5pZmVzdCB3aXRoIGNvbmRpdGlvbmFsIHByb3BlcnRpZXMgbWlnaHQgYmU6OgorCisg
IFtjYW52YXNfdGVzdC5odG1sXQorICAgIGV4cGVjdGVkOgorICAgICAgaWYgb3MgPT0gIm9zeCI6
IEZBSUwKKyAgICAgIGlmIG9zID09ICJ3aW5kb3dzIiBhbmQgdmVyc2lvbiA9PSAiWFAiOiBGQUlM
CisgICAgICBQQVNTCisKK05vdGUgdGhhdCBgYFBBU1NgYCBpbiB0aGUgYWJvdmUgd29ya3MsIGJ1
dCBpcyB1bm5lY2Vzc2FyeTsgYGBQQVNTYGAKKyhvciBgYE9LYGApIGlzIGFsd2F5cyB0aGUgZGVm
YXVsdCBleHBlY3RhdGlvbiBmb3IgKHN1Yil0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvaW5k
ZXgucnN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvZG9jcy9pbmRleC5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTE0N2QzZTMxYzNiYzQ0YjEy
MTZlNDZiYmMwM2EwNGMzODBjYjNhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvaW5kZXgu
cnN0CkBAIC0wLDAgKzEsMjQgQEAKKy4uIHdwdHJ1bm5lciBkb2N1bWVudGF0aW9uIG1hc3RlciBm
aWxlLCBjcmVhdGVkIGJ5CisgICBzcGhpbngtcXVpY2tzdGFydCBvbiBNb24gTWF5IDE5IDE4OjE0
OjIwIDIwMTQuCisgICBZb3UgY2FuIGFkYXB0IHRoaXMgZmlsZSBjb21wbGV0ZWx5IHRvIHlvdXIg
bGlraW5nLCBidXQgaXQgc2hvdWxkIGF0IGxlYXN0CisgICBjb250YWluIHRoZSByb290IGB0b2N0
cmVlYCBkaXJlY3RpdmUuCisKK1dlbGNvbWUgdG8gd3B0cnVubmVyJ3MgZG9jdW1lbnRhdGlvbiEK
Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworQ29udGVudHM6CisKKy4u
IHRvY3RyZWU6OgorICAgOm1heGRlcHRoOiAyCisKKyAgIHVzYWdlCisgICBleHBlY3RhdGlvbgor
ICAgZGVzaWduCisKK0luZGljZXMgYW5kIHRhYmxlcworPT09PT09PT09PT09PT09PT09CisKKyog
OnJlZjpgZ2VuaW5kZXhgCisqIDpyZWY6YG1vZGluZGV4YAorKiA6cmVmOmBzZWFyY2hgCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL2RvY3MvbWFrZS5iYXQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL21ha2UuYmF0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk1OWMxNjE1YTI4OWRiMGIxYTkwYTA5MGQ4OTRmYTRiNTRiNGZhM2YKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9kb2NzL21ha2UuYmF0CkBAIC0wLDAgKzEsMjQyIEBACitARUNITyBPRkYNCisNCitS
RU0gQ29tbWFuZCBmaWxlIGZvciBTcGhpbnggZG9jdW1lbnRhdGlvbg0KKw0KK2lmICIlU1BISU5Y
QlVJTEQlIiA9PSAiIiAoDQorCXNldCBTUEhJTlhCVUlMRD1zcGhpbngtYnVpbGQNCispDQorc2V0
IEJVSUxERElSPV9idWlsZA0KK3NldCBBTExTUEhJTlhPUFRTPS1kICVCVUlMRERJUiUvZG9jdHJl
ZXMgJVNQSElOWE9QVFMlIC4NCitzZXQgSTE4TlNQSElOWE9QVFM9JVNQSElOWE9QVFMlIC4NCitp
ZiBOT1QgIiVQQVBFUiUiID09ICIiICgNCisJc2V0IEFMTFNQSElOWE9QVFM9LUQgbGF0ZXhfcGFw
ZXJfc2l6ZT0lUEFQRVIlICVBTExTUEhJTlhPUFRTJQ0KKwlzZXQgSTE4TlNQSElOWE9QVFM9LUQg
bGF0ZXhfcGFwZXJfc2l6ZT0lUEFQRVIlICVJMThOU1BISU5YT1BUUyUNCispDQorDQoraWYgIiUx
IiA9PSAiIiBnb3RvIGhlbHANCisNCitpZiAiJTEiID09ICJoZWxwIiAoDQorCTpoZWxwDQorCWVj
aG8uUGxlYXNlIHVzZSBgbWFrZSBePHRhcmdldF4+YCB3aGVyZSBePHRhcmdldF4+IGlzIG9uZSBv
Zg0KKwllY2hvLiAgaHRtbCAgICAgICB0byBtYWtlIHN0YW5kYWxvbmUgSFRNTCBmaWxlcw0KKwll
Y2hvLiAgZGlyaHRtbCAgICB0byBtYWtlIEhUTUwgZmlsZXMgbmFtZWQgaW5kZXguaHRtbCBpbiBk
aXJlY3Rvcmllcw0KKwllY2hvLiAgc2luZ2xlaHRtbCB0byBtYWtlIGEgc2luZ2xlIGxhcmdlIEhU
TUwgZmlsZQ0KKwllY2hvLiAgcGlja2xlICAgICB0byBtYWtlIHBpY2tsZSBmaWxlcw0KKwllY2hv
LiAganNvbiAgICAgICB0byBtYWtlIEpTT04gZmlsZXMNCisJZWNoby4gIGh0bWxoZWxwICAgdG8g
bWFrZSBIVE1MIGZpbGVzIGFuZCBhIEhUTUwgaGVscCBwcm9qZWN0DQorCWVjaG8uICBxdGhlbHAg
ICAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBxdGhlbHAgcHJvamVjdA0KKwllY2hvLiAgZGV2
aGVscCAgICB0byBtYWtlIEhUTUwgZmlsZXMgYW5kIGEgRGV2aGVscCBwcm9qZWN0DQorCWVjaG8u
ICBlcHViICAgICAgIHRvIG1ha2UgYW4gZXB1Yg0KKwllY2hvLiAgbGF0ZXggICAgICB0byBtYWtl
IExhVGVYIGZpbGVzLCB5b3UgY2FuIHNldCBQQVBFUj1hNCBvciBQQVBFUj1sZXR0ZXINCisJZWNo
by4gIHRleHQgICAgICAgdG8gbWFrZSB0ZXh0IGZpbGVzDQorCWVjaG8uICBtYW4gICAgICAgIHRv
IG1ha2UgbWFudWFsIHBhZ2VzDQorCWVjaG8uICB0ZXhpbmZvICAgIHRvIG1ha2UgVGV4aW5mbyBm
aWxlcw0KKwllY2hvLiAgZ2V0dGV4dCAgICB0byBtYWtlIFBPIG1lc3NhZ2UgY2F0YWxvZ3MNCisJ
ZWNoby4gIGNoYW5nZXMgICAgdG8gbWFrZSBhbiBvdmVydmlldyBvdmVyIGFsbCBjaGFuZ2VkL2Fk
ZGVkL2RlcHJlY2F0ZWQgaXRlbXMNCisJZWNoby4gIHhtbCAgICAgICAgdG8gbWFrZSBEb2N1dGls
cy1uYXRpdmUgWE1MIGZpbGVzDQorCWVjaG8uICBwc2V1ZG94bWwgIHRvIG1ha2UgcHNldWRveG1s
LVhNTCBmaWxlcyBmb3IgZGlzcGxheSBwdXJwb3Nlcw0KKwllY2hvLiAgbGlua2NoZWNrICB0byBj
aGVjayBhbGwgZXh0ZXJuYWwgbGlua3MgZm9yIGludGVncml0eQ0KKwllY2hvLiAgZG9jdGVzdCAg
ICB0byBydW4gYWxsIGRvY3Rlc3RzIGVtYmVkZGVkIGluIHRoZSBkb2N1bWVudGF0aW9uIGlmIGVu
YWJsZWQNCisJZ290byBlbmQNCispDQorDQoraWYgIiUxIiA9PSAiY2xlYW4iICgNCisJZm9yIC9k
ICUlaSBpbiAoJUJVSUxERElSJVwqKSBkbyBybWRpciAvcSAvcyAlJWkNCisJZGVsIC9xIC9zICVC
VUlMRERJUiVcKg0KKwlnb3RvIGVuZA0KKykNCisNCisNCislU1BISU5YQlVJTEQlIDI+IG51bA0K
K2lmIGVycm9ybGV2ZWwgOTAwOSAoDQorCWVjaG8uDQorCWVjaG8uVGhlICdzcGhpbngtYnVpbGQn
IGNvbW1hbmQgd2FzIG5vdCBmb3VuZC4gTWFrZSBzdXJlIHlvdSBoYXZlIFNwaGlueA0KKwllY2hv
Lmluc3RhbGxlZCwgdGhlbiBzZXQgdGhlIFNQSElOWEJVSUxEIGVudmlyb25tZW50IHZhcmlhYmxl
IHRvIHBvaW50DQorCWVjaG8udG8gdGhlIGZ1bGwgcGF0aCBvZiB0aGUgJ3NwaGlueC1idWlsZCcg
ZXhlY3V0YWJsZS4gQWx0ZXJuYXRpdmVseSB5b3UNCisJZWNoby5tYXkgYWRkIHRoZSBTcGhpbngg
ZGlyZWN0b3J5IHRvIFBBVEguDQorCWVjaG8uDQorCWVjaG8uSWYgeW91IGRvbid0IGhhdmUgU3Bo
aW54IGluc3RhbGxlZCwgZ3JhYiBpdCBmcm9tDQorCWVjaG8uaHR0cDovL3NwaGlueC1kb2Mub3Jn
Lw0KKwlleGl0IC9iIDENCispDQorDQoraWYgIiUxIiA9PSAiaHRtbCIgKA0KKwklU1BISU5YQlVJ
TEQlIC1iIGh0bWwgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvaHRtbA0KKwlpZiBlcnJvcmxl
dmVsIDEgZXhpdCAvYiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBIVE1M
IHBhZ2VzIGFyZSBpbiAlQlVJTERESVIlL2h0bWwuDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIl
MSIgPT0gImRpcmh0bWwiICgNCisJJVNQSElOWEJVSUxEJSAtYiBkaXJodG1sICVBTExTUEhJTlhP
UFRTJSAlQlVJTERESVIlL2Rpcmh0bWwNCisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwll
Y2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkLiBUaGUgSFRNTCBwYWdlcyBhcmUgaW4gJUJVSUxE
RElSJS9kaXJodG1sLg0KKwlnb3RvIGVuZA0KKykNCisNCitpZiAiJTEiID09ICJzaW5nbGVodG1s
IiAoDQorCSVTUEhJTlhCVUlMRCUgLWIgc2luZ2xlaHRtbCAlQUxMU1BISU5YT1BUUyUgJUJVSUxE
RElSJS9zaW5nbGVodG1sDQorCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCisJZWNoby4NCisJ
ZWNoby5CdWlsZCBmaW5pc2hlZC4gVGhlIEhUTUwgcGFnZXMgYXJlIGluICVCVUlMRERJUiUvc2lu
Z2xlaHRtbC4NCisJZ290byBlbmQNCispDQorDQoraWYgIiUxIiA9PSAicGlja2xlIiAoDQorCSVT
UEhJTlhCVUlMRCUgLWIgcGlja2xlICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL3BpY2tsZQ0K
KwlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNo
ZWQ7IG5vdyB5b3UgY2FuIHByb2Nlc3MgdGhlIHBpY2tsZSBmaWxlcy4NCisJZ290byBlbmQNCisp
DQorDQoraWYgIiUxIiA9PSAianNvbiIgKA0KKwklU1BISU5YQlVJTEQlIC1iIGpzb24gJUFMTFNQ
SElOWE9QVFMlICVCVUlMRERJUiUvanNvbg0KKwlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxDQor
CWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQ7IG5vdyB5b3UgY2FuIHByb2Nlc3MgdGhlIEpT
T04gZmlsZXMuDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gImh0bWxoZWxwIiAoDQor
CSVTUEhJTlhCVUlMRCUgLWIgaHRtbGhlbHAgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvaHRt
bGhlbHANCisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxk
IGZpbmlzaGVkOyBub3cgeW91IGNhbiBydW4gSFRNTCBIZWxwIFdvcmtzaG9wIHdpdGggdGhlIF4N
CisuaGhwIHByb2plY3QgZmlsZSBpbiAlQlVJTERESVIlL2h0bWxoZWxwLg0KKwlnb3RvIGVuZA0K
KykNCisNCitpZiAiJTEiID09ICJxdGhlbHAiICgNCisJJVNQSElOWEJVSUxEJSAtYiBxdGhlbHAg
JUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvcXRoZWxwDQorCWlmIGVycm9ybGV2ZWwgMSBleGl0
IC9iIDENCisJZWNoby4NCisJZWNoby5CdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuICJx
Y29sbGVjdGlvbmdlbmVyYXRvciIgd2l0aCB0aGUgXg0KKy5xaGNwIHByb2plY3QgZmlsZSBpbiAl
QlVJTERESVIlL3F0aGVscCwgbGlrZSB0aGlzOg0KKwllY2hvLl4+IHFjb2xsZWN0aW9uZ2VuZXJh
dG9yICVCVUlMRERJUiVccXRoZWxwXHdwdHJ1bm5lci5xaGNwDQorCWVjaG8uVG8gdmlldyB0aGUg
aGVscCBmaWxlOg0KKwllY2hvLl4+IGFzc2lzdGFudCAtY29sbGVjdGlvbkZpbGUgJUJVSUxERElS
JVxxdGhlbHBcd3B0cnVubmVyLmdoYw0KKwlnb3RvIGVuZA0KKykNCisNCitpZiAiJTEiID09ICJk
ZXZoZWxwIiAoDQorCSVTUEhJTlhCVUlMRCUgLWIgZGV2aGVscCAlQUxMU1BISU5YT1BUUyUgJUJV
SUxERElSJS9kZXZoZWxwDQorCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCisJZWNoby4NCisJ
ZWNoby5CdWlsZCBmaW5pc2hlZC4NCisJZ290byBlbmQNCispDQorDQoraWYgIiUxIiA9PSAiZXB1
YiIgKA0KKwklU1BISU5YQlVJTEQlIC1iIGVwdWIgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUv
ZXB1Yg0KKwlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQg
ZmluaXNoZWQuIFRoZSBlcHViIGZpbGUgaXMgaW4gJUJVSUxERElSJS9lcHViLg0KKwlnb3RvIGVu
ZA0KKykNCisNCitpZiAiJTEiID09ICJsYXRleCIgKA0KKwklU1BISU5YQlVJTEQlIC1iIGxhdGV4
ICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL2xhdGV4DQorCWlmIGVycm9ybGV2ZWwgMSBleGl0
IC9iIDENCisJZWNoby4NCisJZWNoby5CdWlsZCBmaW5pc2hlZDsgdGhlIExhVGVYIGZpbGVzIGFy
ZSBpbiAlQlVJTERESVIlL2xhdGV4Lg0KKwlnb3RvIGVuZA0KKykNCisNCitpZiAiJTEiID09ICJs
YXRleHBkZiIgKA0KKwklU1BISU5YQlVJTEQlIC1iIGxhdGV4ICVBTExTUEhJTlhPUFRTJSAlQlVJ
TERESVIlL2xhdGV4DQorCWNkICVCVUlMRERJUiUvbGF0ZXgNCisJbWFrZSBhbGwtcGRmDQorCWNk
ICVCVUlMRERJUiUvLi4NCisJZWNoby4NCisJZWNoby5CdWlsZCBmaW5pc2hlZDsgdGhlIFBERiBm
aWxlcyBhcmUgaW4gJUJVSUxERElSJS9sYXRleC4NCisJZ290byBlbmQNCispDQorDQoraWYgIiUx
IiA9PSAibGF0ZXhwZGZqYSIgKA0KKwklU1BISU5YQlVJTEQlIC1iIGxhdGV4ICVBTExTUEhJTlhP
UFRTJSAlQlVJTERESVIlL2xhdGV4DQorCWNkICVCVUlMRERJUiUvbGF0ZXgNCisJbWFrZSBhbGwt
cGRmLWphDQorCWNkICVCVUlMRERJUiUvLi4NCisJZWNoby4NCisJZWNoby5CdWlsZCBmaW5pc2hl
ZDsgdGhlIFBERiBmaWxlcyBhcmUgaW4gJUJVSUxERElSJS9sYXRleC4NCisJZ290byBlbmQNCisp
DQorDQoraWYgIiUxIiA9PSAidGV4dCIgKA0KKwklU1BISU5YQlVJTEQlIC1iIHRleHQgJUFMTFNQ
SElOWE9QVFMlICVCVUlMRERJUiUvdGV4dA0KKwlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxDQor
CWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSB0ZXh0IGZpbGVzIGFyZSBpbiAlQlVJ
TERESVIlL3RleHQuDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gIm1hbiIgKA0KKwkl
U1BISU5YQlVJTEQlIC1iIG1hbiAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9tYW4NCisJaWYg
ZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkLiBU
aGUgbWFudWFsIHBhZ2VzIGFyZSBpbiAlQlVJTERESVIlL21hbi4NCisJZ290byBlbmQNCispDQor
DQoraWYgIiUxIiA9PSAidGV4aW5mbyIgKA0KKwklU1BISU5YQlVJTEQlIC1iIHRleGluZm8gJUFM
TFNQSElOWE9QVFMlICVCVUlMRERJUiUvdGV4aW5mbw0KKwlpZiBlcnJvcmxldmVsIDEgZXhpdCAv
YiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBUZXhpbmZvIGZpbGVzIGFy
ZSBpbiAlQlVJTERESVIlL3RleGluZm8uDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0g
ImdldHRleHQiICgNCisJJVNQSElOWEJVSUxEJSAtYiBnZXR0ZXh0ICVJMThOU1BISU5YT1BUUyUg
JUJVSUxERElSJS9sb2NhbGUNCisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0K
KwllY2hvLkJ1aWxkIGZpbmlzaGVkLiBUaGUgbWVzc2FnZSBjYXRhbG9ncyBhcmUgaW4gJUJVSUxE
RElSJS9sb2NhbGUuDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gImNoYW5nZXMiICgN
CisJJVNQSElOWEJVSUxEJSAtYiBjaGFuZ2VzICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL2No
YW5nZXMNCisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLlRoZSBv
dmVydmlldyBmaWxlIGlzIGluICVCVUlMRERJUiUvY2hhbmdlcy4NCisJZ290byBlbmQNCispDQor
DQoraWYgIiUxIiA9PSAibGlua2NoZWNrIiAoDQorCSVTUEhJTlhCVUlMRCUgLWIgbGlua2NoZWNr
ICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL2xpbmtjaGVjaw0KKwlpZiBlcnJvcmxldmVsIDEg
ZXhpdCAvYiAxDQorCWVjaG8uDQorCWVjaG8uTGluayBjaGVjayBjb21wbGV0ZTsgbG9vayBmb3Ig
YW55IGVycm9ycyBpbiB0aGUgYWJvdmUgb3V0cHV0IF4NCitvciBpbiAlQlVJTERESVIlL2xpbmtj
aGVjay9vdXRwdXQudHh0Lg0KKwlnb3RvIGVuZA0KKykNCisNCitpZiAiJTEiID09ICJkb2N0ZXN0
IiAoDQorCSVTUEhJTlhCVUlMRCUgLWIgZG9jdGVzdCAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElS
JS9kb2N0ZXN0DQorCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCisJZWNoby4NCisJZWNoby5U
ZXN0aW5nIG9mIGRvY3Rlc3RzIGluIHRoZSBzb3VyY2VzIGZpbmlzaGVkLCBsb29rIGF0IHRoZSBe
DQorcmVzdWx0cyBpbiAlQlVJTERESVIlL2RvY3Rlc3Qvb3V0cHV0LnR4dC4NCisJZ290byBlbmQN
CispDQorDQoraWYgIiUxIiA9PSAieG1sIiAoDQorCSVTUEhJTlhCVUlMRCUgLWIgeG1sICVBTExT
UEhJTlhPUFRTJSAlQlVJTERESVIlL3htbA0KKwlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxDQor
CWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBYTUwgZmlsZXMgYXJlIGluICVCVUlM
RERJUiUveG1sLg0KKwlnb3RvIGVuZA0KKykNCisNCitpZiAiJTEiID09ICJwc2V1ZG94bWwiICgN
CisJJVNQSElOWEJVSUxEJSAtYiBwc2V1ZG94bWwgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUv
cHNldWRveG1sDQorCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCisJZWNoby4NCisJZWNoby5C
dWlsZCBmaW5pc2hlZC4gVGhlIHBzZXVkby1YTUwgZmlsZXMgYXJlIGluICVCVUlMRERJUiUvcHNl
dWRveG1sLg0KKwlnb3RvIGVuZA0KKykNCisNCis6ZW5kDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy91
c2FnZS5yc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci9kb2NzL3VzYWdlLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTc0YTQzMjBjODI4NzYz
NzUxYjBiMTdhZTMxM2MyMzNhOTM1OTA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy91c2Fn
ZS5yc3QKQEAgLTAsMCArMSwyMzggQEAKK0dldHRpbmcgU3RhcnRlZAorPT09PT09PT09PT09PT09
CisKK0luc3RhbGxpbmcgd3B0cnVubmVyCistLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgZWFz
aWVzdCB3YXkgdG8gaW5zdGFsbCB3cHRydW5uZXIgaXMgaW50byBhIHZpcnR1YWxlbnYsIHVzaW5n
IHBpcDo6CisKKyAgdmlydHVhbGVudiB3cHRydW5uZXIKKyAgY2Qgd3B0cnVubmVyCisgIHNvdXJj
ZSBiaW4vYWN0aXZhdGUKKyAgcGlwIGluc3RhbGwgd3B0cnVubmVyCisKK1RoaXMgd2lsbCBpbnN0
YWxsIHRoZSBiYXNlIGRlcGVuZGVuY2llcyBmb3Igd3B0cnVubmVyLCBidXQgbm90IGFueQorZXh0
cmEgZGVwZW5kZW5jaWVzIHJlcXVpcmVkIHRvIHRlc3QgYWdhaW5zdCBzcGVjaWZpYyBicm93c2Vy
cy4gSW4KK29yZGVyIHRvIGRvIHRoaXMgeW91IG11c3QgdXNlIHVzZSB0aGUgZXh0cmEgcmVxdWly
ZW1lbnRzIGZpbGVzIGluCitgYCRWSVJUVUFMX0VOVi9yZXF1aXJlbWVudHMvcmVxdWlyZW1lbnRz
X2Jyb3dzZXIudHh0YGAuIEZvciBleGFtcGxlLAoraW4gb3JkZXIgdG8gdGVzdCBhZ2FpbnN0IEZp
cmVmb3ggeW91IHdvdWxkIGhhdmUgdG8gcnVuOjoKKworICBwaXAgaW5zdGFsbCAtciByZXF1aXJl
bWVudHMvcmVxdWlyZW1lbnRzX2ZpcmVmb3gudHh0CisKK0lmIHlvdSBpbnRlbmQgdG8gd29yayBv
biB0aGUgY29kZSwgdGhlIGBgLWVgYCBvcHRpb24gdG8gcGlwIHNob3VsZCBiZQordXNlZCBpbiBj
b21iaW5hdGlvbiB3aXRoIGEgc291cmNlIGNoZWNrb3V0IGkuZS4gaW5zaWRlIGEgdmlydHVhbAor
ZW52aXJvbm1lbnQgY3JlYXRlZCBhcyBhYm92ZTo6CisKKyAgZ2l0IGNsb25lIGh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd3B0cnVubmVyLmdpdAorICBjZCB3cHRydW5uZXIKKyAgcGlwIGluc3RhbGwg
LWUgLi8KKworSW4gYWRkaXRpb24gdG8gdGhlIGRlcGVuZGVuY2llcyBpbnN0YWxsZWQgYnkgcGlw
LCB3cHRydW5uZXIgcmVxdWlyZXMKK2EgY29weSBvZiB0aGUgd2ViLXBsYXRmb3JtLXRlc3RzIHJl
cG9zaXRvcnkuIFRoaXMgY2FuIGJlIGxvY2F0ZWQKK2FueXdoZXJlIG9uIHRoZSBmaWxlc3lzdGVt
LCBidXQgdGhlIGVhc2llc3Qgb3B0aW9uIGlzIHRvIHB1dCBpdAordW5kZXIgdGhlIHNhbWUgcGFy
ZW50IGRpcmVjdG9yeSBhcyB0aGUgd3B0cnVubmVyIGNoZWNrb3V0OjoKKworICBnaXQgY2xvbmUg
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMuZ2l0CisKK0l0IGlzIGFs
c28gbmVjZXNzYXJ5IHRvIGdlbmVyYXRlIGEgd2ViLXBsYXRmb3JtLXRlc3RzIGBgTUFOSUZFU1Qu
anNvbmBgCitmaWxlLiBJdCdzIHJlY29tbWVuZGVkIHRvIGFsc28gcHV0IHRoYXQgdW5kZXIgdGhl
IHNhbWUgcGFyZW50IGRpcmVjdG9yeSBhcwordGhlIHdwdHJ1bm5lciBjaGVja291dCwgaW4gYSBk
aXJlY3RvcnkgbmFtZWQgYGBtZXRhYGA6OgorCisgIG1rZGlyIG1ldGEKKyAgY2Qgd2ViLXBsYXRm
b3JtLXRlc3RzCisgIHB5dGhvbiBtYW5pZmVzdCAtLXBhdGggLi4vbWV0YS9NQU5JRkVTVC5qc29u
CisKK1RoZSBgYE1BTklGRVNULmpzb25gYCBmaWxlIG5lZWRzIHRvIGJlIHJlZ2VuZXJhdGVkIGVh
Y2ggdGltZSB0aGUKK3dlYi1wbGF0Zm9ybS10ZXN0cyBjaGVja291dCBpcyB1cGRhdGVkLiBUbyBh
aWQgd2l0aCB0aGUgdXBkYXRlIHByb2Nlc3MKK3RoZXJlIGlzIGEgdG9vbCBjYWxsZWQgYGB3cHR1
cGRhdGVgYCwgd2hpY2ggaXMgZGVzY3JpYmVkIGluCis6cmVmOmB3cHR1cGRhdGUtbGFiZWxgLgor
CitSdW5uaW5nIHRoZSBUZXN0cworLS0tLS0tLS0tLS0tLS0tLS0KKworQSB0ZXN0IHJ1biBpcyBz
dGFydGVkIHVzaW5nIHRoZSBgYHdwdHJ1bm5lcmBgIGNvbW1hbmQuICBUaGUgY29tbWFuZAordGFr
ZXMgbXVsdGlwbGUgb3B0aW9ucywgb2Ygd2hpY2ggdGhlIGZvbGxvd2luZyBhcmUgbW9zdCBzaWdu
aWZpY2FudDoKKworYGAtLXByb2R1Y3RgYCAoZGVmYXVsdHMgdG8gYGZpcmVmb3hgKQorICBUaGUg
cHJvZHVjdCB0byB0ZXN0IGFnYWluc3Q6IGBiMmdgLCBgY2hyb21lYCwgYGZpcmVmb3hgLCBvciBg
c2Vydm9gLgorCitgYC0tYmluYXJ5YGAgKHJlcXVpcmVkIGlmIHByb2R1Y3QgaXMgYGZpcmVmb3hg
IG9yIGBzZXJ2b2ApCisgIFRoZSBwYXRoIHRvIGEgYmluYXJ5IGZpbGUgZm9yIHRoZSBwcm9kdWN0
IChicm93c2VyKSB0byB0ZXN0IGFnYWluc3QuCisKK2BgLS13ZWJkcml2ZXItYmluYXJ5YGAgKHJl
cXVpcmVkIGlmIHByb2R1Y3QgaXMgYGNocm9tZWApCisgIFRoZSBwYXRoIHRvIGEgYCpkcml2ZXJg
IGJpbmFyeTsgZS5nLiwgYSBgY2hyb21lZHJpdmVyYCBiaW5hcnkuCisKK2BgLS1jZXJ0dXRpbC1i
aW5hcnlgYCAocmVxdWlyZWQgaWYgcHJvZHVjdCBpcyBgZmlyZWZveGAgWyNdXykKKyAgVGhlIHBh
dGggdG8gYSBgY2VydHV0aWxgIGJpbmFyeSAoZm9yIHRlc3RzIHRoYXQgbXVzdCBiZSBydW4gb3Zl
ciBodHRwcykuCisKK2BgLS1tZXRhZGF0YWBgIChyZXF1aXJlZCBvbmx5IHdoZW4gbm90IGB1c2lu
ZyBkZWZhdWx0IHBhdGhzYF8pCisgIFRoZSBwYXRoIHRvIGEgZGlyZWN0b3J5IGNvbnRhaW5pbmcg
dGVzdCBtZXRhZGF0YS4gWyNdXworCitgYC0tdGVzdHNgYCAocmVxdWlyZWQgb25seSB3aGVuIG5v
dCBgdXNpbmcgZGVmYXVsdCBwYXRoc2BfKQorICBUaGUgcGF0aCB0byBhIGRpcmVjdG9yeSBjb250
YWluaW5nIGEgd2ViLXBsYXRmb3JtLXRlc3RzIGNoZWNrb3V0LgorCitgYC0tcHJlZnMtcm9vdGBg
IChyZXF1aXJlZCBvbmx5IHdoZW4gdGVzdGluZyBhIEZpcmVmb3ggYmluYXJ5KQorICBUaGUgcGF0
aCB0byBhIGRpcmVjdG9yeSBjb250YWluaW5nIEZpcmVmb3ggdGVzdC1oYXJuZXNzIHByZWZlcmVu
Y2VzLiBbI11fCisKK2BgLS1jb25maWdgYCAoc2hvdWxkIGRlZmF1bHQgdG8gYHdwdHJ1bm5lci5k
ZWZhdWx0LmluaWApCisgIFRoZSBwYXRoIHRvIHRoZSBjb25maWcgKGluaSkgZmlsZS4KKworLi4g
WyNdIFRoZSBgYC0tY2VydHV0aWwtYmluYXJ5YGAgb3B0aW9uIGlzIHJlcXVpcmVkIHdoZW4gdGhl
IHByb2R1Y3QgaXMKKyAgIGBgZmlyZWZveGBgIHVubGVzcyBgYC0tc3NsLXR5cGU9bm9uZWBgIGlz
IHNwZWNpZmllZC4KKworLi4gWyNdIFRoZSBgYC0tbWV0YWRhdGFgYCBwYXRoIGlzIHRvIGEgZGly
ZWN0b3J5IHRoYXQgY29udGFpbnM6CisKKyAgKiBhIGBgTUFOSUZFU1QuanNvbmBgIGZpbGUgKHRo
ZSB3ZWItcGxhdGZvcm0tdGVzdHMgZG9jdW1lbnRhdGlvbiBoYXMKKyAgICBpbnN0cnVjdGlvbnMg
b24gZ2VuZXJhdGluZyB0aGlzIGZpbGUpCisgICogKG9wdGlvbmFsbHkpIGFueSBleHBlY3RhdGlv
biBmaWxlcyAoc2VlIDpyZWY6YHdwdHVwZGF0ZS1sYWJlbGApCisKKy4uIFsjXSBFeGFtcGxlIGBg
LS1wcmVmcy1yb290YGAgdmFsdWU6IGBgfi9tb3ppbGxhLWNlbnRyYWwvdGVzdGluZy9wcm9maWxl
c2BgLgorCitUaGVyZSBhcmUgYWxzbyBhIHZhcmlldHkgb2Ygb3RoZXIgY29tbWFuZC1saW5lIG9w
dGlvbnMgYXZhaWxhYmxlOyB1c2UKK2BgLS1oZWxwYGAgdG8gbGlzdCB0aGVtLgorCitUaGUgZm9s
bG93aW5nIGV4YW1wbGVzIHNob3cgaG93IHRvIHN0YXJ0IHdwdHJ1bm5lciB3aXRoIHZhcmlvdXMg
b3B0aW9ucy4KKworLS0tLS0tLS0tLS0tLS0tLS0tCitTdGFydGluZyB3cHRydW5uZXIKKy0tLS0t
LS0tLS0tLS0tLS0tLQorCitUaGUgZXhhbXBsZXMgYmVsb3cgYXNzdW1lIHRoZSBmb2xsb3dpbmcg
ZGlyZWN0b3J5IGxheW91dCwKK3Rob3VnaCBubyBzcGVjaWZpYyBmb2xkZXIgc3RydWN0dXJlIGlz
IHJlcXVpcmVkOjoKKworICB+L3Rlc3R0d2Yvd3B0cnVubmVyICAgICAgICAgICMgd3B0cnVubmVy
IGNoZWNrb3V0CisgIH4vdGVzdHR3Zi93ZWItcGxhdGZvcm0tdGVzdHMgIyB3ZWItcGxhdGZvcm0t
dGVzdHMgY2hlY2tvdXQKKyAgfi90ZXN0dHdmL21ldGEgICAgICAgICAgICAgICAjIG1ldGFkYXRh
CisKK1RvIHRlc3QgYSBGaXJlZm94IE5pZ2h0bHkgYnVpbGQgaW4gYW4gT1MgWCBlbnZpcm9ubWVu
dCwgeW91IG1pZ2h0IHN0YXJ0Cit3cHRydW5uZXIgdXNpbmcgc29tZXRoaW5nIHNpbWlsYXIgdG8g
dGhlIGZvbGxvd2luZyBleGFtcGxlOjoKKworICB3cHRydW5uZXIgLS1tZXRhZGF0YT1+L3Rlc3R0
d2YvbWV0YS8gLS10ZXN0cz1+L3Rlc3R0d2Yvd2ViLXBsYXRmb3JtLXRlc3RzLyBcCisgICAgLS1i
aW5hcnk9fi9tb3ppbGxhLWNlbnRyYWwvb2JqLXg4Nl82NC1hcHBsZS1kYXJ3aW4xNC4zLjAvZGlz
dC9OaWdodGx5LmFwcC9Db250ZW50cy9NYWNPUy9maXJlZm94IFwKKyAgICAtLWNlcnR1dGlsLWJp
bmFyeT1+L21vemlsbGEtY2VudHJhbC9vYmoteDg2XzY0LWFwcGxlLWRhcndpbjE0LjMuMC9zZWN1
cml0eS9uc3MvY21kL2NlcnR1dGlsL2NlcnR1dGlsIFwKKyAgICAtLXByZWZzLXJvb3Q9fi9tb3pp
bGxhLWNlbnRyYWwvdGVzdGluZy9wcm9maWxlcworCisKK0FuZCB0byB0ZXN0IGEgQ2hyb21pdW0g
YnVpbGQgaW4gYW4gT1MgWCBlbnZpcm9ubWVudCwgeW91IG1pZ2h0IHN0YXJ0Cit3cHRydW5uZXIg
dXNpbmcgc29tZXRoaW5nIHNpbWlsYXIgdG8gdGhlIGZvbGxvd2luZyBleGFtcGxlOjoKKworICB3
cHRydW5uZXIgLS1tZXRhZGF0YT1+L3Rlc3R0d2YvbWV0YS8gLS10ZXN0cz1+L3Rlc3R0d2Yvd2Vi
LXBsYXRmb3JtLXRlc3RzLyBcCisgICAgLS1iaW5hcnk9fi9jaHJvbWl1bS9zcmMvb3V0L1JlbGVh
c2UvQ2hyb21pdW0uYXBwL0NvbnRlbnRzL01hY09TL0Nocm9taXVtIFwKKyAgICAtLXdlYmRyaXZl
ci1iaW5hcnk9L3Vzci9sb2NhbC9iaW4vY2hyb21lZHJpdmVyIC0tcHJvZHVjdD1jaHJvbWUKKwor
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK1J1bm5pbmcgdGVzdCBzdWJzZXRzCistLS0tLS0tLS0tLS0t
LS0tLS0tLQorCitUbyByZXN0cmljdCBhIHRlc3QgcnVuIGp1c3QgdG8gdGVzdHMgaW4gYSBwYXJ0
aWN1bGFyIHdlYi1wbGF0Zm9ybS10ZXN0cworc3ViZGlyZWN0b3J5LCBzcGVjaWZ5IHRoZSBkaXJl
Y3RvcnkgbmFtZSBpbiB0aGUgcG9zaXRpb25hbCBhcmd1bWVudHMgYWZ0ZXIKK3RoZSBvcHRpb25z
OyBmb3IgZXhhbXBsZSwgcnVuIGp1c3QgdGhlIHRlc3RzIGluIHRoZSBgZG9tYCBzdWJkaXJlY3Rv
cnk6OgorCisgIHdwdHJ1bm5lciAtLW1ldGFkYXRhPX4vdGVzdHR3Zi9tZXRhIC0tdGVzdHM9fi90
ZXN0dHdmL3dlYi1wbGF0Zm9ybS10ZXN0cy8gXAorICAgIC0tYmluYXJ5PS9wYXRoL3RvL2ZpcmVm
b3ggLS1jZXJ0dXRpbC1iaW5hcnk9L3BhdGgvdG8vY2VydHV0aWwgXAorICAgIC0tcHJlZnMtcm9v
dD0vcGF0aC90by90ZXN0aW5nL3Byb2ZpbGVzIFwKKyAgICBkb20KKworLS0tLS0tLS0tLS0tLS0t
LS0tLQorUnVubmluZyBpbiBwYXJhbGxlbAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUbyBzcGVl
ZCB1cCB0aGUgdGVzdGluZyBwcm9jZXNzLCB1c2UgdGhlIGBgLS1wcm9jZXNzZXNgYCBvcHRpb24g
dG8gaGF2ZQord3B0cnVubmVyIHJ1biBtdWx0aXBsZSBicm93c2VyIGluc3RhbmNlcyBpbiBwYXJh
bGxlbC4gRm9yIGV4YW1wbGUsIHRvCitoYXZlIHdwdHJ1bm5lciBhdHRlbXB0IHRvIHJ1biB0ZXN0
cyBhZ2FpbnN0IHdpdGggc2l4IGJyb3dzZXIgaW5zdGFuY2VzCitpbiBwYXJhbGxlbCwgc3BlY2lm
eSBgYC0tcHJvY2Vzc2VzPTZgYC4gQnV0IG5vdGUgdGhhdCBiZWhhdmlvdXIgaW4gdGhpcworbW9k
ZSBpcyBuZWNlc3NhcmlseSBsZXNzIGRldGVybWluaXN0aWMgdGhhbiB3aXRoIGBgLS1wcm9jZXNz
ZXM9MWBgICh0aGUKK2RlZmF1bHQpLCBzbyB0aGVyZSBtYXkgYmUgbW9yZSBub2lzZSBpbiB0aGUg
dGVzdCByZXN1bHRzLgorCistLS0tLS0tLS0tLS0tLS0tLS0tCitVc2luZyBkZWZhdWx0IHBhdGhz
CistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSAob3RoZXJ3aXNlLXJlcXVpcmVkKSBgYC0tdGVz
dHNgYCBhbmQgYGAtLW1ldGFkYXRhYGAgY29tbWFuZC1saW5lCitvcHRpb25zL2ZsYWdzIGJlIG9t
aXR0ZWQgaWYgYW55IGNvbmZpZ3VyYXRpb24gZmlsZSBpcyBmb3VuZCB0aGF0Citjb250YWlucyBh
IHNlY3Rpb24gc3BlY2lmeWluZyB0aGUgYGB0ZXN0c2BgIGFuZCBgYG1ldGFkYXRhYGAga2V5cy4K
KworU2VlIHRoZSBgQ29uZmlndXJhdGlvbiBGaWxlYF8gc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1h
dGlvbiBhYm91dAorY29uZmlndXJhdGlvbiBmaWxlcywgaW5jbHVkaW5nIGluZm9ybWF0aW9uIGFi
b3V0IHRoZWlyIGV4cGVjdGVkCitsb2NhdGlvbnMuCisKK1RoZSBjb250ZW50IG9mIHRoZSBgYHdw
dHJ1bm5lci5kZWZhdWx0LmluaWBgIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmaWxlCittYWtlcyB3
cHRydW5uZXIgbG9vayBmb3IgdGVzdHMgKHRoYXQgaXMsIGEgd2ViLXBsYXRmb3JtLXRlc3RzIGNo
ZWNrb3V0KQorYXMgYSBzdWJkaXJlY3Rvcnkgb2YgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IG5hbWVk
IGBgdGVzdHNgYCwgYW5kIGZvcgorbWV0YWRhdGEgZmlsZXMgaW4gYSBzdWJkaXJlY3Rvcnkgb2Yg
dGhlIGN1cnJlbnQgZGlyZWN0b3J5IG5hbWVkIGBgbWV0YWBgLgorCitPdXRwdXQKKy0tLS0tLQor
Cit3cHRydW5uZXIgdXNlcyB0aGUgOnB5Om1vZDpgbW96bG9nYCBwYWNrYWdlIGZvciBvdXRwdXQu
IFRoaXMKK3N0cnVjdHVyZXMgZXZlbnRzIHN1Y2ggYXMgdGVzdCByZXN1bHRzIG9yIGxvZyBtZXNz
YWdlcyBhcyBKU09OIG9iamVjdHMKK3RoYXQgY2FuIHRoZW4gYmUgZmVkIHRvIG90aGVyIHRvb2xz
IGZvciBpbnRlcnByZXRhdGlvbi4gTW9yZSBkZXRhaWxzCithYm91dCB0aGUgbWVzc2FnZSBmb3Jt
YXQgYXJlIGdpdmVuIGluIHRoZQorOnB5Om1vZDpgbW96bG9nYCBkb2N1bWVudGF0aW9uLgorCitC
eSBkZWZhdWx0IHRoZSByYXcgSlNPTiBtZXNzYWdlcyBhcmUgZHVtcGVkIHRvIHN0ZG91dC4gVGhp
cyBpcworY29udmVuaWVudCBmb3IgcGlwaW5nIGludG8gb3RoZXIgdG9vbHMsIGJ1dCBub3QgaWRl
YWwgZm9yIGh1bWFucworcmVhZGluZyB0aGUgb3V0cHV0LiA6cHk6bW9kOmBtb3psb2dgIGNvbWVz
IHdpdGggc2V2ZXJhbCBvdGhlcgorZm9ybWF0dGVycywgd2hpY2ggYXJlIGFjY2Vzc2libGUgdGhy
b3VnaCBjb21tYW5kIGxpbmUgb3B0aW9ucy4gVGhlCitnZW5lcmFsIGZvcm1hdCBvZiB0aGVzZSBv
cHRpb25zIGlzIGBgLS1sb2ctbmFtZT1kZXN0YGAsIHdoZXJlIGBgbmFtZWBgCitpcyB0aGUgbmFt
ZSBvZiB0aGUgZm9ybWF0IGFuZCBgYGRlc3RgYCBpcyBhIHBhdGggdG8gYSBkZXN0aW5hdGlvbgor
ZmlsZSwgb3IgYGAtYGAgZm9yIHN0ZG91dC4gVGhlIHJhdyBKU09OIGRhdGEgaXMgd3JpdHRlbiBi
eSB0aGUgYGByYXdgYAorZm9ybWF0dGVyIHNvLCB0aGUgZGVmYXVsdCBzZXR1cCBjb3JyZXNwb25k
cyB0byBgYC0tbG9nLXJhdz0tYGAuCisKK0EgcmVhc29uYWJsZSBvdXRwdXQgZm9ybWF0IGZvciBo
dW1hbnMgaXMgcHJvdmlkZWQgYXMgYGBtYWNoYGAuIFNvIGluCitvcmRlciB0byBvdXRwdXQgdGhl
IGZ1bGwgcmF3IGxvZyB0byBhIGZpbGUgYW5kIGEgaHVtYW4tcmVhZGFibGUKK3N1bW1hcnkgdG8g
c3Rkb3V0LCBvbmUgbWlnaHQgcGFzcyB0aGUgb3B0aW9uczo6CisKKyAgLS1sb2ctcmF3PW91dHB1
dC5sb2cgLS1sb2ctbWFjaD0tCisKK0NvbmZpZ3VyYXRpb24gRmlsZQorLS0tLS0tLS0tLS0tLS0t
LS0tCisKK3dwdHJ1bm5lciB1c2VzIGEgYGAuaW5pYGAgZmlsZSB0byBjb250cm9sIHNvbWUgY29u
ZmlndXJhdGlvbgorc2VjdGlvbnMuIFRoZSBmaWxlIGhhcyB0aHJlZSBzZWN0aW9uczsgYGBbcHJv
ZHVjdHNdYGAsCitgYFttYW5pZmVzdDpkZWZhdWx0XWBgIGFuZCBgYFt3ZWItcGxhdGZvcm0tdGVz
dHNdYGAuCisKK2BgW3Byb2R1Y3RzXWBgIGlzIHVzZWQgdG8KK2RlZmluZSB0aGUgc2V0IG9mIGF2
YWlsYWJsZSBwcm9kdWN0cy4gQnkgZGVmYXVsdCB0aGlzIHNlY3Rpb24gaXMgZW1wdHkKK3doaWNo
IG1lYW5zIHRoYXQgYWxsIHRoZSBwcm9kdWN0cyBkaXN0cmlidXRlZCB3aXRoIHdwdHJ1bm5lciBh
cmUKK2VuYWJsZWQgKGFsdGhvdWdoIHRoZWlyIGRlcGVuZGVuY2llcyBtYXkgbm90IGJlIGluc3Rh
bGxlZCkuIFRoZSBzZXQKK29mIGVuYWJsZWQgcHJvZHVjdHMgY2FuIGJlIHNldCBieSB1c2luZyB0
aGUgcHJvZHVjdCBuYW1lIGFzIHRoZQora2V5LiBGb3IgYnVpbHQgaW4gcHJvZHVjdHMgdGhlIHZh
bHVlIGlzIGVtcHR5LiBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvCitwcm92aWRlIHRoZSBwYXRoIHRv
IGEgc2NyaXB0IGltcGxlbWVudGluZyB0aGUgYnJvd3NlciBmdW5jdGlvbmFsaXR5CitlLmcuOjoK
KworICBbcHJvZHVjdHNdCisgIGNocm9tZSA9CisgIG5ldHNjYXBlNCA9IHBhdGgvdG8vbmV0c2Nh
cGUucHkKKworYGBbbWFuaWZlc3Q6ZGVmYXVsdF1gYCBzcGVjaWZpZXMgdGhlIGRlZmF1bHQgcGF0
aHMgZm9yIHRoZSB0ZXN0cyBhbmQgbWV0YWRhdGEsCityZWxhdGl2ZSB0byB0aGUgY29uZmlnIGZp
bGUuIEZvciBleGFtcGxlOjoKKworICBbbWFuaWZlc3Q6ZGVmYXVsdF0KKyAgdGVzdHMgPSB+L3Rl
c3R0d2Yvd2ViLXBsYXRmb3JtLXRlc3RzCisgIG1ldGFkYXRhID0gfi90ZXN0dHdmL21ldGEKKwor
CitgYFt3ZWItcGxhdGZvcm0tdGVzdHNdYGAgaXMgdXNlZCB0byBzZXQgdGhlIHByb3BlcnRpZXMg
b2YgdGhlIHVwc3RyZWFtCityZXBvc2l0b3J5IHdoZW4gdXBkYXRpbmcgdGhlIHBhdGhzLiBgYHJl
bW90ZV91cmxgYCBzcGVjaWZpZXMgdGhlIGdpdAordXJsIHRvIHB1bGwgZnJvbTsgYGBicmFuY2hg
YCB0aGUgYnJhbmNoIHRvIHN5bmMgYWdhaW5zdCBhbmQKK2Bgc3luY19wYXRoYGAgdGhlIGxvY2Fs
IHBhdGgsIHJlbGF0aXZlIHRvIHRoZSBjb25maWd1cmF0aW9uIGZpbGUsIHRvCit1c2Ugd2hlbiBj
aGVja2luZyBvdXQgdGhlIHRlc3RzIGUuZy46OgorCisgIFt3ZWItcGxhdGZvcm0tdGVzdHNdCisg
IHJlbW90ZV91cmwgPSBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy5n
aXQKKyAgYnJhbmNoID0gbWFzdGVyCisgIHN5bmNfcGF0aCA9IHN5bmMKKworQSBjb25maWd1cmF0
aW9uIGZpbGUgbXVzdCBjb250YWluIGFsbCB0aGUgYWJvdmUgZmllbGRzOyBmYWxsaW5nIGJhY2sK
K3RvIHRoZSBkZWZhdWx0IHZhbHVlcyBmb3IgdW5zcGVjaWZpZWQgZmllbGRzIGlzIG5vdCB5ZXQg
c3VwcG9ydGVkLgorCitUaGUgYGB3cHRydW5uZXJgYCBhbmQgYGB3cHR1cGRhdGVgYCBjb21tYW5k
cyB3aWxsIHVzZSBjb25maWd1cmF0aW9uCitmaWxlcyBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOgor
CisgKiBBbnkgcGF0aCBzdXBwbGllZCB3aXRoIGEgYGAtLWNvbmZpZ2BgIGZsYWcgdG8gdGhlIGNv
bW1hbmQuCisKKyAqIEEgZmlsZSBjYWxsZWQgYGB3cHRydW5uZXIuaW5pYGAgaW4gdGhlIGN1cnJl
bnQgZGlyZWN0b3J5CisKKyAqIFRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZmlsZSAoYGB3cHRy
dW5uZXIuZGVmYXVsdC5pbmlgYCBpbiB0aGUKKyAgIHNvdXJjZSBkaXJlY3RvcnkpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9kb2NzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy93M2MtaW1wb3J0LmxvZwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wYmM2MWFmOGUyZTAzYTEzMTViYWE2OTllZTVkOWI4YWIzMzc4NzE4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvZG9jcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDI0IEBACitUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBt
b2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxl
czoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9kb2NzL01ha2VmaWxlCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9hcmNoaXRlY3R1cmUuc3ZnCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9j
cy9jb25mLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvZG9jcy9kZXNpZ24ucnN0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9leHBlY3RhdGlvbi5yc3QK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci9kb2NzL2luZGV4LnJzdAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvbWFrZS5iYXQKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL3VzYWdlLnJz
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50cy50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzE5YTJmZjk4NGFhMTY0YTExMDRlMDI0NGUzNjQyMjhjNGMzOWRkYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50cy50eHQKQEAgLTAsMCArMSw0IEBACitodG1s
NWxpYiA+PSAwLjk5Cittb3ppbmZvID49IDAuNworbW96bG9nID49IDMuMworbW96ZGVidWcgPj0g
MC4xCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfY2hyb21lLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVt
ZW50c19jaHJvbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyZjU0NDI1ZjNlZmQ1NTIwZjFjZjdiZWJlOGY5
MGExZTU3YzBmODIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfY2hyb21lLnR4
dApAQCAtMCwwICsxLDIgQEAKK21venByb2Nlc3MgPj0gMC4xOQorc2VsZW5pdW0gPj0gMi40MS4w
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfZmlyZWZveC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVu
dHNfZmlyZWZveC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzc5ZTUyMmFjYzQ1OGRiMjgwNGQ3MmVjODZiNDM2
YWQxNWFhM2IyNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19maXJlZm94LnR4
dApAQCAtMCwwICsxLDUgQEAKK21hcmlvbmV0dGVfZHJpdmVyID49IDAuNAorbW96cHJvZmlsZSA+
PSAwLjIxCittb3pwcm9jZXNzID49IDAuMTkKK21vemNyYXNoID49IDAuMTMKK21venJ1bm5lciA+
PSA2LjcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19zYXVjZS50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJl
bWVudHNfc2F1Y2UudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiODI4Zjg0YjA4ZDMzMzRhOWZmOWVlZmRlMjEx
YTYyNzhiM2M1NDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfc2F1Y2UudHh0
CkBAIC0wLDAgKzEsMiBAQAorbW96cHJvY2VzcyA+PSAwLjE5CitzZWxlbml1bSA+PSAzLjMuMApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX3NlcnZvLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19z
ZXJ2by50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjJiY2ZhMTIzYTU0OTQyMmEyNzEyZjIyMThiZDkyYWQyZDFh
M2MyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19zZXJ2by50eHQKQEAgLTAs
MCArMSBAQAorbW96cHJvY2VzcyA+PSAwLjE5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9zZXR1cC5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3NldHVwLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlYzE4OWZlZmQ5YWVlOWI1ODA5ZmU5YWY2ZjE4NWUxNmY1
MGNhMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9zZXR1cC5weQpAQCAtMCwwICsxLDc0IEBACisj
IFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96
aWxsYSBQdWJsaWMKKyMgTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMg
bm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBmaWxlLAorIyBZb3UgY2FuIG9idGFpbiBvbmUgYXQg
aHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLgorCitpbXBvcnQgZ2xvYgoraW1wb3J0IG9zCitp
bXBvcnQgc3lzCitpbXBvcnQgdGV4dHdyYXAKKworZnJvbSBzZXR1cHRvb2xzIGltcG9ydCBzZXR1
cCwgZmluZF9wYWNrYWdlcworCitoZXJlID0gb3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0KKwor
UEFDS0FHRV9OQU1FID0gJ3dwdHJ1bm5lcicKK1BBQ0tBR0VfVkVSU0lPTiA9ICcxLjE0JworCisj
IERlcGVuZGVuY2llcword2l0aCBvcGVuKG9zLnBhdGguam9pbihoZXJlLCAicmVxdWlyZW1lbnRz
LnR4dCIpKSBhcyBmOgorICAgIGRlcHMgPSBmLnJlYWQoKS5zcGxpdGxpbmVzKCkKKworIyBCcm93
c2VyLXNwZWNpZmljIHJlcXVpcmVtZW50cworcmVxdWlyZW1lbnRzX2ZpbGVzID0gZ2xvYi5nbG9i
KCJyZXF1aXJlbWVudHNfKi50eHQiKQorCitwcm9maWxlX2Rlc3QgPSBOb25lCitkZXN0X2V4aXN0
cyA9IEZhbHNlCisKK3NldHVwKG5hbWU9UEFDS0FHRV9OQU1FLAorICAgICAgdmVyc2lvbj1QQUNL
QUdFX1ZFUlNJT04sCisgICAgICBkZXNjcmlwdGlvbj0iSGFybmVzcyBmb3IgcnVubmluZyB0aGUg
VzNDIHdlYi1wbGF0Zm9ybS10ZXN0cyBhZ2FpbnN0IHZhcmlvdXMgcHJvZHVjdHMiLAorICAgICAg
YXV0aG9yPSdNb3ppbGxhIEF1dG9tYXRpb24gYW5kIFRlc3RpbmcgVGVhbScsCisgICAgICBhdXRo
b3JfZW1haWw9J3Rvb2xzQGxpc3RzLm1vemlsbGEub3JnJywKKyAgICAgIGxpY2Vuc2U9J01QTCAy
LjAnLAorICAgICAgcGFja2FnZXM9ZmluZF9wYWNrYWdlcyhleGNsdWRlPVsidGVzdHMiLCAibWV0
YWRhdGEiLCAicHJlZnMiXSksCisgICAgICBlbnRyeV9wb2ludHM9eworICAgICAgICAgICdjb25z
b2xlX3NjcmlwdHMnOiBbCisgICAgICAgICAgICAgICd3cHRydW5uZXIgPSB3cHRydW5uZXIud3B0
cnVubmVyOm1haW4nLAorICAgICAgICAgICAgICAnd3B0dXBkYXRlID0gd3B0cnVubmVyLnVwZGF0
ZTptYWluJywKKyAgICAgICAgICBdCisgICAgICB9LAorICAgICAgemlwX3NhZmU9RmFsc2UsCisg
ICAgICBwbGF0Zm9ybXM9WydBbnknXSwKKyAgICAgIGNsYXNzaWZpZXJzPVsnRGV2ZWxvcG1lbnQg
U3RhdHVzIDo6IDQgLSBCZXRhJywKKyAgICAgICAgICAgICAgICAgICAnRW52aXJvbm1lbnQgOjog
Q29uc29sZScsCisgICAgICAgICAgICAgICAgICAgJ0ludGVuZGVkIEF1ZGllbmNlIDo6IERldmVs
b3BlcnMnLAorICAgICAgICAgICAgICAgICAgICdMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBC
U0QgTGljZW5zZScsCisgICAgICAgICAgICAgICAgICAgJ09wZXJhdGluZyBTeXN0ZW0gOjogT1Mg
SW5kZXBlbmRlbnQnXSwKKyAgICAgIHBhY2thZ2VfZGF0YT17IndwdHJ1bm5lciI6IFsiZXhlY3V0
b3JzL3Rlc3RoYXJuZXNzX21hcmlvbmV0dGUuanMiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJleGVjdXRvcnMvdGVzdGhhcm5lc3Nfd2ViZHJpdmVyLmpzIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhlY3V0b3JzL3JlZnRlc3QuanMiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGVjdXRvcnMvcmVmdGVzdC13YWl0LmpzIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdGhhcm5lc3NyZXBvcnQuanMi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0aGFybmVzc19ydW5uZXIu
aHRtbCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmZpZy5qc29uIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid3B0cnVubmVyLmRlZmF1bHQuaW5p
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnJvd3NlcnMvc2VydmVyLWxv
Y2F0aW9ucy50eHQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJicm93c2Vy
cy9iMmdfc2V0dXAvKiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJyb3dz
ZXJzL3NhdWNlX3NldHVwLyoiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJw
cmVmcy8qIl19LAorICAgICAgaW5jbHVkZV9wYWNrYWdlX2RhdGE9VHJ1ZSwKKyAgICAgIGRhdGFf
ZmlsZXM9WygicmVxdWlyZW1lbnRzIiwgcmVxdWlyZW1lbnRzX2ZpbGVzKV0sCisgICAgICBpbnN0
YWxsX3JlcXVpcmVzPWRlcHMKKyAgICAgKQorCitpZiAiaW5zdGFsbCIgaW4gc3lzLmFyZ3Y6Cisg
ICAgcGF0aCA9IG9zLnBhdGgucmVscGF0aChvcy5wYXRoLmpvaW4oc3lzLnByZWZpeCwgInJlcXVp
cmVtZW50cyIpLCBvcy5jdXJkaXIpCisgICAgcHJpbnQgdGV4dHdyYXAuZmlsbCgiIiJJbiBvcmRl
ciB0byB1c2Ugd2l0aCBvbmUgb2YgdGhlIGJ1aWx0LWluIGJyb3dzZXIKK3Byb2R1Y3RzLCB5b3Ug
d2lsbCBuZWVkIHRvIGluc3RhbGwgdGhlIGV4dHJhIGRlcGVuZGVuY2llcy4gVGhlc2UgYXJlIHBy
b3ZpZGVkCithcyByZXF1aXJlbWVudHNfW25hbWVdLnR4dCBpbiB0aGUgJXMgZGlyZWN0b3J5IGFu
ZCBjYW4gYmUgaW5zdGFsbGVkIHVzaW5nCitlLmcuIiIiICUgcGF0aCwgODApCisKKyAgICBwcmlu
dCAiIiIKKworcGlwIGluc3RhbGwgLXIgJXMvcmVxdWlyZW1lbnRzX2ZpcmVmb3gudHh0CisiIiIg
JSBwYXRoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRf
ZmFpbC5odG1sLmluaSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2FuZF9mYWls
Lmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxYWVmMDQ5Y2QxMjJmNzMzMmM2NmY1YTA4Nzk0N2U1MTJh
NTlkMGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVz
dF9hbmRfZmFpbC5odG1sLmluaQpAQCAtMCwwICsxLDMgQEAKK1tyZWZ0ZXN0X2FuZF9mYWlsLmh0
bWxdCisgIHR5cGU6IHJlZnRlc3QKKyAgZXhwZWN0ZWQ6IEZBSUwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWwuaHRtbC5pbmkgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsLmh0bWwuaW5pCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ3MmIzM2Y3NzY0YmRlNmUyYWVhN2JjMmNjZDhiZjM3MzliYWJhZDIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsLmh0bWwuaW5p
CkBAIC0wLDAgKzEsMyBAQAorW3JlZnRlc3RfY3ljbGVfZmFpbC5odG1sXQorICB0eXBlOiByZWZ0
ZXN0CisgIGV4cGVjdGVkOiBGQUlMCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRl
c3QvcmVmdGVzdF9tYXRjaF9mYWlsLmh0bWwuaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfbWF0Y2hfZmFpbC5odG1sLmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mM2RjMzM2MmZhYzQxYmJl
OGRlZDQ0NTg5ZTg5OGVmNTg5Y2IxYTg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRh
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC5odG1sLmluaQpAQCAtMCwwICsxLDMgQEAK
K1tyZWZ0ZXN0X21hdGNoX2ZhaWwuaHRtbF0KKyAgdHlwZTogcmVmdGVzdAorICBleHBlY3RlZDog
RkFJTApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0
Y2hfZmFpbC5odG1sLmluaSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21h
dGNoX2ZhaWwuaHRtbC5pbmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTA1NTMzN2UyZDY1Y2I4ZjIxZDJjZWFjNjJl
MzVjZTdiYjk5YTk3NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVz
dC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwuaHRtbC5pbmkKQEAgLTAsMCArMSwzIEBACitbcmVmdGVz
dF9taXNtYXRjaF9mYWlsLmh0bWxdCisgIHR5cGU6IHJlZnRlc3QKKyAgZXhwZWN0ZWQ6IEZBSUwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3JlZl90aW1lb3V0
Lmh0bWwuaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfcmVmX3RpbWVvdXQu
aHRtbC5pbmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODkzNjI0MWFkMjljZDE2MmY5NjEwNzZjMmJhOGViOTYwZjc2
OThjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X3JlZl90aW1lb3V0Lmh0bWwuaW5pCkBAIC0wLDAgKzEsMyBAQAorW3JlZnRlc3RfcmVmX3RpbWVv
dXQuaHRtbF0KKyAgdHlwZTogcmVmdGVzdAorICBleHBlY3RlZDogVElNRU9VVApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC5odG1sLmluaSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3RpbWVvdXQuaHRtbC5pbmkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGQxYjliYWRlOTVkN2IxMDFjOGRiZjUxNTQ3ZmZiYWVjMjI2MGMyNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3RpbWVvdXQuaHRtbC5pbmkK
QEAgLTAsMCArMSwzIEBACitbcmVmdGVzdF90aW1lb3V0Lmh0bWxdCisgIHR5cGU6IHJlZnRlc3QK
KyAgZXhwZWN0ZWQ6IFRJTUVPVVQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVz
dC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC93M2MtaW1wb3J0Lmxv
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZWU0ZmJiNzYzOTZlYjI2NDFiM2E0MGZmMWFmYTQ3ZmFhZTNkOGYzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3czYy1pbXBvcnQubG9n
CkBAIC0wLDAgKzEsMjIgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMK
KworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUK
K1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0
ZXN0X2FuZF9mYWlsLmh0bWwuaW5pCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rf
Y3ljbGVfZmFpbC5odG1sLmluaQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21h
dGNoX2ZhaWwuaHRtbC5pbmkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNt
YXRjaF9mYWlsLmh0bWwuaW5pCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfcmVm
X3RpbWVvdXQuaHRtbC5pbmkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF90aW1l
b3V0Lmh0bWwuaW5pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2Zp
cmVmb3gvX19kaXJfXy5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gv
X19kaXJfXy5pbmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzlkMTY0Y2Q0MThhMmE3N2M3OTM2NjljN2NmNmIwOWZm
YzYxOGU2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mv
ZmlyZWZveC9fX2Rpcl9fLmluaQpAQCAtMCwwICsxLDIgQEAKK3ByZWZzOiBbImJyb3dzZXIuZGlz
cGxheS5mb3JlZ3JvdW5kX2NvbG9yOiNGRjAwMDAiLAorICAgICAgICAiYnJvd3Nlci5kaXNwbGF5
LmJhY2tncm91bmRfY29sb3I6IzAwMDAwMCJdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90
ZXN0X3ByZWZfcmVzZXQuaHRtbC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2Zp
cmVmb3gvc3ViZGlyL3Rlc3RfcHJlZl9yZXNldC5odG1sLmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzkxOThk
OWJiZjFjNzc5YmU0MmY0N2JiNTJjNjg5NmY5YWQ2MjRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfcmVzZXQu
aHRtbC5pbmkKQEAgLTAsMCArMSwyIEBACitbdGVzdF9wcmVmX3Jlc2V0Lmh0bWxdCisgIHByZWZz
OiBbQFJlc2V0XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9maXJl
Zm94L3N1YmRpci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mv
ZmlyZWZveC9zdWJkaXIvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWQ1NTk2NTA2YjdkODgx
MjY3NzU0ODRjMDZhMzE0NjY4NGNjOGRjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0
YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCAr
MSwxNyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1
YmRpci90ZXN0X3ByZWZfcmVzZXQuaHRtbC5pbmkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRh
dGEvdGVzdGhhcm5lc3MvZmlyZWZveC90ZXN0X3ByZWZfc2V0Lmh0bWwuaW5pIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9t
ZXRhZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3Rlc3RfcHJlZl9zZXQuaHRtbC5pbmkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmM5YmZiOWM0MTM5N2RjMTdkY2FmZjBhNDQ5ZGY4MTBlZjQ5Y2E3OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC90ZXN0X3ByZWZf
c2V0Lmh0bWwuaW5pCkBAIC0wLDAgKzEsMyBAQAorW3Rlc3RfcHJlZl9zZXQuaHRtbF0KKyAgcHJl
ZnM6IFsiYnJvd3Nlci5kaXNwbGF5LmZvcmVncm91bmRfY29sb3I6IzAwRkYwMCIsCisgICAgICAg
ICAgImJyb3dzZXIuZGlzcGxheS5iYWNrZ3JvdW5kX2NvbG9yOiMwMDAwMDAiXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3czYy1pbXBvcnQubG9nCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjRkMGZmZTFjZDg2YWM2OWU0NjJjMTE5NDg2MjExYTFmMTJlOGEzYzAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdzNjLWltcG9y
dC5sb2cKQEAgLTAsMCArMSwxOCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgor
Tm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFy
bmVzcy9maXJlZm94L19fZGlyX18uaW5pCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9m
aXJlZm94L3Rlc3RfcHJlZl9zZXQuaHRtbC5pbmkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRh
dGEvdGVzdGhhcm5lc3Mvc3ViZGlyL19fZGlyX18uaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0
aGFybmVzcy9zdWJkaXIvX19kaXJfXy5pbmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTkxNTdmYmM2YTlmNGE5YTZi
YjNjODk0YjNlMDk1YmZhNTFlMzE0YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRh
dGEvdGVzdGhhcm5lc3Mvc3ViZGlyL19fZGlyX18uaW5pCkBAIC0wLDAgKzEgQEAKK2Rpc2FibGVk
OiB0cnVlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9t
ZXRhZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdGVzdGhhcm5lc3NfMS5odG1sLmluaSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3Rlc3RoYXJuZXNzXzEuaHRtbC5pbmkKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZGI5MzkzOTg3YjZjNzNlNjkxMGFmY2YwY2EwYjc1MzhmY2RiOTE5YgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3Rlc3RoYXJu
ZXNzXzEuaHRtbC5pbmkKQEAgLTAsMCArMSwyIEBACitbdGVzdGhhcm5lc3NfMS5odG1sXQorICBk
aXNhYmxlZDogQEZhbHNlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3N1YmRpci93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42NmM5MTM3ODkyNmU0MTE0ZGI3ZTEzNzZmMTNkZjgzMmEzM2I4ZmU0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdzNjLWltcG9ydC5sb2cK
QEAgLTAsMCArMSwxOCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwor
CitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9z
dWJkaXIvX19kaXJfXy5pbmkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3N1YmRpci90
ZXN0aGFybmVzc18xLmh0bWwuaW5pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3Ro
YXJuZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJu
ZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbC5pbmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTBiOWE2ZTlmMDEyYjVlMjM0
YzE1ZDI5ODA1YzYxZjZiZThkNWE1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRh
dGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfMC5odG1sLmluaQpAQCAtMCwwICsxLDQgQEAKK1t0
ZXN0aGFybmVzc18wLmh0bWxdCisgIHR5cGU6IHRlc3RoYXJuZXNzCisgIFtUZXN0IHRoYXQgc2hv
dWxkIGZhaWxdCisgICAgZXhwZWN0ZWQ6IEZBSUwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRh
dGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfZXJyb3IuaHRtbC5pbmkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFk
YXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX2Vycm9yLmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZh
NTNlMDczM2FiY2IxNzM5MTliM2Q0OGE3NzY3YjViYmFkOGIwZTgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX2Vycm9yLmh0bWwuaW5p
CkBAIC0wLDAgKzEsMyBAQAorW3Rlc3RoYXJuZXNzX2Vycm9yLmh0bWxdCisgIHR5cGU6IHRlc3Ro
YXJuZXNzCisgIGV4cGVjdGVkOiBFUlJPUgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90
ZXN0aGFybmVzcy90ZXN0aGFybmVzc190aW1lb3V0Lmh0bWwuaW5pIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0
YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc190aW1lb3V0Lmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1
ZWNhNTE5MWFiMWZhNmM1ZDU1MzFhMWUwNWI5OTJkMDk3MjNkZWYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVvdXQuaHRtbC5p
bmkKQEAgLTAsMCArMSwzIEBACitbdGVzdGhhcm5lc3NfdGltZW91dC5odG1sXQorICB0eXBlOiB0
ZXN0aGFybmVzcworICBleHBlY3RlZDogVElNRU9VVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRh
ZGF0YS90ZXN0aGFybmVzcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhh
cm5lc3MvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBkYjU1N2U2MGIzMmYxNDU5NTRjODM4
NjM4NDg3ZmQ1YmQ3ZGI5NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVz
dGhhcm5lc3MvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc18wLmh0bWwuaW5pCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9t
ZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc19lcnJvci5odG1sLmluaQorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
bWV0YWRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfdGltZW91dC5odG1sLmluaQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0LmNmZy5leGFtcGxlIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0LmNmZy5leGFtcGxl
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRiNDgyMjYyMTZjMzBlYjdkOGIwNzgxODk2MzY5NjRiN2Y3Y2U1MjAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3QuY2ZnLmV4YW1wbGUKQEAgLTAsMCArMSwyMCBA
QAorW2dlbmVyYWxdCit0ZXN0cz0vcGF0aC90by93ZWItcGxhdGZvcm0tdGVzdHMvCittZXRhZGF0
YT0vcGF0aC90by93ZWItcGxhdGZvcm0tdGVzdHMvCitzc2wtdHlwZT1ub25lCisKKyMgW2ZpcmVm
b3hdCisjIGJpbmFyeT0vcGF0aC90by9maXJlZm94CisjIHByZWZzLXJvb3Q9L3BhdGgvdG8vZ2Vj
a28tc3JjL3Rlc3RpbmcvcHJvZmlsZXMvCisKKyMgW3NlcnZvXQorIyBiaW5hcnk9L3BhdGgvdG8v
c2Vydm8tc3JjL3RhcmdldC9yZWxlYXNlL3NlcnZvCisjIGV4Y2x1ZGU9dGVzdGhhcm5lc3MgIyBC
ZWNhdXNlIGl0IG5lZWRzIGEgc3BlY2lhbCB0ZXN0aGFybmVzcy5qcworCisjIFtzZXJ2b2RyaXZl
cl0KKyMgYmluYXJ5PS9wYXRoL3RvL3NlcnZvLXNyYy90YXJnZXQvcmVsZWFzZS9zZXJ2bworIyBl
eGNsdWRlPXRlc3RoYXJuZXNzICMgQmVjYXVzZSBpdCBuZWVkcyBhIHNwZWNpYWwgdGVzdGhhcm5l
c3MuanMKKworIyBbY2hyb21lXQorIyBiaW5hcnk9L3BhdGgvdG8vY2hyb21lCisjIHdlYmRyaXZl
ci1iaW5hcnk9L3BhdGgvdG8vY2hyb21lZHJpdmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Qu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDM0ZTMxN2JkNTJmMDg2NTE4MDAxYWUw
ODA4ZjgwNzlkZmNlYjA4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdC5weQpAQCAt
MCwwICsxLDE2NiBAQAoraW1wb3J0IENvbmZpZ1BhcnNlcgoraW1wb3J0IGFyZ3BhcnNlCitpbXBv
cnQganNvbgoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKK2ltcG9ydCB0
aHJlYWRpbmcKK2ltcG9ydCB0aW1lCitmcm9tIFN0cmluZ0lPIGltcG9ydCBTdHJpbmdJTworCitm
cm9tIG1vemxvZyBpbXBvcnQgc3RydWN0dXJlZGxvZywgcmVhZGVyCitmcm9tIG1vemxvZy5oYW5k
bGVycyBpbXBvcnQgQmFzZUhhbmRsZXIsIFN0cmVhbUhhbmRsZXIsIFN0YXR1c0hhbmRsZXIKK2Zy
b20gbW96bG9nLmZvcm1hdHRlcnMgaW1wb3J0IE1hY2hGb3JtYXR0ZXIKK2Zyb20gd3B0cnVubmVy
IGltcG9ydCB3cHRjb21tYW5kbGluZSwgd3B0cnVubmVyCisKK2hlcmUgPSBvcy5wYXRoLmFic3Bh
dGgob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkKKworZGVmIHNldHVwX3dwdHJ1bm5lcl9sb2dn
aW5nKGxvZ2dlcik6CisgICAgc3RydWN0dXJlZGxvZy5zZXRfZGVmYXVsdF9sb2dnZXIobG9nZ2Vy
KQorICAgIHdwdHJ1bm5lci5sb2dnZXIgPSBsb2dnZXIKKyAgICB3cHRydW5uZXIud3B0bG9nZ2lu
Zy5zZXR1cF9zdGRsaWJfbG9nZ2VyKCkKKworY2xhc3MgUmVzdWx0SGFuZGxlcihCYXNlSGFuZGxl
cik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZlcmJvc2U9RmFsc2UsIGxvZ2dlcj1Ob25lKToK
KyAgICAgICAgc2VsZi5pbm5lciA9IFN0cmVhbUhhbmRsZXIoc3lzLnN0ZG91dCwgTWFjaEZvcm1h
dHRlcigpKQorICAgICAgICBCYXNlSGFuZGxlci5fX2luaXRfXyhzZWxmLCBzZWxmLmlubmVyKQor
ICAgICAgICBzZWxmLnByb2R1Y3QgPSBOb25lCisgICAgICAgIHNlbGYudmVyYm9zZSA9IHZlcmJv
c2UKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIKKworICAgICAgICBzZWxmLnJlZ2lzdGVy
X21lc3NhZ2VfaGFuZGxlcnMoIndwdHJ1bm5lci10ZXN0IiwgeyJzZXQtcHJvZHVjdCI6IHNlbGYu
c2V0X3Byb2R1Y3R9KQorCisgICAgZGVmIHNldF9wcm9kdWN0KHNlbGYsIHByb2R1Y3QpOgorICAg
ICAgICBzZWxmLnByb2R1Y3QgPSBwcm9kdWN0CisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgZGF0
YSk6CisgICAgICAgIGlmIHNlbGYucHJvZHVjdCBpcyBub3QgTm9uZSBhbmQgZGF0YVsiYWN0aW9u
Il0gaW4gWyJzdWl0ZV9zdGFydCIsICJzdWl0ZV9lbmQiXToKKyAgICAgICAgICAgICMgSGFjazog
bW96bG9nIHNldHMgc29tZSBpbnRlcm5hbCBzdGF0ZSB0byBwcmV2ZW50IG11bHRpcGxlIHN1aXRl
X3N0YXJ0IG9yCisgICAgICAgICAgICAjIHN1aXRlX2VuZCBtZXNzYWdlcy4gV2UgYWN0dWFsbHkg
d2FudCB0aGF0IGhlcmUgKG9uZSBmcm9tIHRoZSBtZXRhaGFybmVzcworICAgICAgICAgICAgIyBh
bmQgb25lIGZyb20gdGhlIGluZGl2aWR1YWwgdGVzdCB0eXBlIGhhcm5lc3MpLCBzbyBvdmVycmlk
ZSB0aGF0IGludGVybmFsCisgICAgICAgICAgICAjIHN0YXRlIChhIGJldHRlciBzb2x1dGlvbiBt
aWdodCBiZSB0byBub3Qgc2hhcmUgbG9nZ2VycywgYnV0IHRoaXMgd29ya3Mgd2VsbAorICAgICAg
ICAgICAgIyBlbm91Z2gpCisgICAgICAgICAgICBzZWxmLmxvZ2dlci5fc3RhdGUuc3VpdGVfc3Rh
cnRlZCA9IFRydWUKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGlmIChub3Qgc2VsZi52
ZXJib3NlIGFuZAorICAgICAgICAgICAgKGRhdGFbImFjdGlvbiJdID09ICJwcm9jZXNzX291dHB1
dCIgb3IKKyAgICAgICAgICAgICBkYXRhWyJhY3Rpb24iXSA9PSAibG9nIiBhbmQgZGF0YVsibGV2
ZWwiXSBub3QgaW4gWyJlcnJvciIsICJjcml0aWNhbCJdKSk6CisgICAgICAgICAgICByZXR1cm4K
KworICAgICAgICBpZiAidGVzdCIgaW4gZGF0YToKKyAgICAgICAgICAgIGRhdGEgPSBkYXRhLmNv
cHkoKQorICAgICAgICAgICAgZGF0YVsidGVzdCJdID0gIiVzOiAlcyIgJSAoc2VsZi5wcm9kdWN0
LCBkYXRhWyJ0ZXN0Il0pCisKKyAgICAgICAgcmV0dXJuIHNlbGYuaW5uZXIoZGF0YSkKKworZGVm
IHRlc3Rfc2V0dGluZ3MoKToKKyAgICByZXR1cm4geworICAgICAgICAiaW5jbHVkZSI6ICJfdGVz
dCIsCisgICAgICAgICJtYW5pZmVzdC11cGRhdGUiOiAiIiwKKyAgICAgICAgIm5vLWNhcHR1cmUt
c3RkaW8iOiAiIgorICAgIH0KKworZGVmIHJlYWRfY29uZmlnKCk6CisgICAgcGFyc2VyID0gQ29u
ZmlnUGFyc2VyLkNvbmZpZ1BhcnNlcigpCisgICAgcGFyc2VyLnJlYWQoInRlc3QuY2ZnIikKKwor
ICAgIHJ2ID0geyJnZW5lcmFsIjp7fSwKKyAgICAgICAgICAicHJvZHVjdHMiOnt9fQorCisgICAg
cnZbImdlbmVyYWwiXS51cGRhdGUoZGljdChwYXJzZXIuaXRlbXMoImdlbmVyYWwiKSkpCisKKyAg
ICAjIFRoaXMgb25seSBhbGxvd3Mgb25lIHByb2R1Y3QgcGVyIHdoYXRldmVyIGZvciBub3cKKyAg
ICBmb3IgcHJvZHVjdCBpbiBwYXJzZXIuc2VjdGlvbnMoKToKKyAgICAgICAgaWYgcHJvZHVjdCAh
PSAiZ2VuZXJhbCI6CisgICAgICAgICAgICBkZXN0ID0gcnZbInByb2R1Y3RzIl1bcHJvZHVjdF0g
PSB7fQorICAgICAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gcGFyc2VyLml0ZW1zKHByb2R1Y3Qp
OgorICAgICAgICAgICAgICAgIHJ2WyJwcm9kdWN0cyJdW3Byb2R1Y3RdW2tleV0gPSB2YWx1ZQor
CisgICAgcmV0dXJuIHJ2CisKK2RlZiBydW5fdGVzdHMocHJvZHVjdCwga3dhcmdzKToKKyAgICBr
d2FyZ3NbInRlc3RfcGF0aHMiXVsiL190ZXN0LyJdID0geyJ0ZXN0c19wYXRoIjogb3MucGF0aC5q
b2luKGhlcmUsICJ0ZXN0ZGF0YSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIm1ldGFkYXRhX3BhdGgiOiBvcy5wYXRoLmpvaW4oaGVyZSwgIm1ldGFkYXRhIil9CisK
KyAgICB3cHRydW5uZXIucnVuX3Rlc3RzKCoqa3dhcmdzKQorCitkZWYgc2V0dGluZ3NfdG9fYXJn
dihzZXR0aW5ncyk6CisgICAgcnYgPSBbXQorICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBzZXR0aW5n
cy5pdGVyaXRlbXMoKToKKyAgICAgICAga2V5ID0gIi0tJXMiICUgbmFtZQorICAgICAgICBpZiBu
b3QgdmFsdWU6CisgICAgICAgICAgICBydi5hcHBlbmQoa2V5KQorICAgICAgICBlbGlmIGlzaW5z
dGFuY2UodmFsdWUsIGxpc3QpOgorICAgICAgICAgICAgZm9yIGl0ZW0gaW4gdmFsdWU6CisgICAg
ICAgICAgICAgICAgcnYuZXh0ZW5kKFtrZXksIGl0ZW1dKQorICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgcnYuZXh0ZW5kKFtrZXksIHZhbHVlXSkKKyAgICByZXR1cm4gcnYKKworZGVmIHNldF9m
cm9tX2FyZ3Moc2V0dGluZ3MsIGFyZ3MpOgorICAgIGlmIGFyZ3MudGVzdDoKKyAgICAgICAgc2V0
dGluZ3NbImluY2x1ZGUiXSA9IGFyZ3MudGVzdAorICAgIGlmIGFyZ3MudGFnczoKKyAgICAgICAg
c2V0dGluZ3NbInRhZ3MiXSA9IGFyZ3MudGFncworCitkZWYgcnVuKGNvbmZpZywgYXJncyk6Cisg
ICAgbG9nZ2VyID0gc3RydWN0dXJlZGxvZy5TdHJ1Y3R1cmVkTG9nZ2VyKCJ3ZWItcGxhdGZvcm0t
dGVzdHMiKQorICAgIGxvZ2dlci5hZGRfaGFuZGxlcihSZXN1bHRIYW5kbGVyKGxvZ2dlcj1sb2dn
ZXIsIHZlcmJvc2U9YXJncy52ZXJib3NlKSkKKyAgICBzZXR1cF93cHRydW5uZXJfbG9nZ2luZyhs
b2dnZXIpCisKKyAgICBwYXJzZXIgPSB3cHRjb21tYW5kbGluZS5jcmVhdGVfcGFyc2VyKCkKKwor
ICAgIGxvZ2dlci5zdWl0ZV9zdGFydCh0ZXN0cz1bXSkKKworICAgIGZvciBwcm9kdWN0LCBwcm9k
dWN0X3NldHRpbmdzIGluIGNvbmZpZ1sicHJvZHVjdHMiXS5pdGVyaXRlbXMoKToKKyAgICAgICAg
aWYgYXJncy5wcm9kdWN0IGFuZCBwcm9kdWN0IG5vdCBpbiBhcmdzLnByb2R1Y3Q6CisgICAgICAg
ICAgICBjb250aW51ZQorCisgICAgICAgIHNldHRpbmdzID0gdGVzdF9zZXR0aW5ncygpCisgICAg
ICAgIHNldHRpbmdzLnVwZGF0ZShjb25maWdbImdlbmVyYWwiXSkKKyAgICAgICAgc2V0dGluZ3Mu
dXBkYXRlKHByb2R1Y3Rfc2V0dGluZ3MpCisgICAgICAgIHNldHRpbmdzWyJwcm9kdWN0Il0gPSBw
cm9kdWN0CisgICAgICAgIHNldF9mcm9tX2FyZ3Moc2V0dGluZ3MsIGFyZ3MpCisKKyAgICAgICAg
a3dhcmdzID0gdmFycyhwYXJzZXIucGFyc2VfYXJncyhzZXR0aW5nc190b19hcmd2KHNldHRpbmdz
KSkpCisgICAgICAgIHdwdGNvbW1hbmRsaW5lLmNoZWNrX2FyZ3Moa3dhcmdzKQorCisgICAgICAg
IGxvZ2dlci5zZW5kX21lc3NhZ2UoIndwdHJ1bm5lci10ZXN0IiwgInNldC1wcm9kdWN0IiwgcHJv
ZHVjdCkKKworICAgICAgICBydW5fdGVzdHMocHJvZHVjdCwga3dhcmdzKQorCisgICAgbG9nZ2Vy
LnNlbmRfbWVzc2FnZSgid3B0cnVubmVyLXRlc3QiLCAic2V0LXByb2R1Y3QiLCBOb25lKQorICAg
IGxvZ2dlci5zdWl0ZV9lbmQoKQorCitkZWYgZ2V0X3BhcnNlcigpOgorICAgIHBhcnNlciA9IGFy
Z3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItdiIsICIt
LXZlcmJvc2UiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0idmVyYm9zZSBsb2cgb3V0cHV0IikKKyAgICBwYXJzZXIuYWRk
X2FyZ3VtZW50KCItLXByb2R1Y3QiLCBhY3Rpb249ImFwcGVuZCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICBoZWxwPSJTcGVjaWZpYyBwcm9kdWN0IHRvIGluY2x1ZGUgaW4gdGVzdCBydW4iKQor
ICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tcGRiIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9Ikludm9rZSBwZGIgb24gdW5jYXVnaHQgZXhjZXB0
aW9uIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXRhZyIsIGFjdGlvbj0iYXBwZW5kIiwg
ZGVzdD0idGFncyIsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJ0YWdzIHRvIHNlbGVj
dCB0ZXN0cyIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgidGVzdCIsIG5hcmdzPSIqIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlNwZWNpZmljIHRlc3RzIHRvIGluY2x1ZGUgaW4g
dGVzdCBydW4iKQorICAgIHJldHVybiBwYXJzZXIKKworZGVmIG1haW4oKToKKyAgICBjb25maWcg
PSByZWFkX2NvbmZpZygpCisKKyAgICBhcmdzID0gZ2V0X3BhcnNlcigpLnBhcnNlX2FyZ3MoKQor
CisgICAgdHJ5OgorICAgICAgICBydW4oY29uZmlnLCBhcmdzKQorICAgIGV4Y2VwdCBFeGNlcHRp
b246CisgICAgICAgIGlmIGFyZ3MucGRiOgorICAgICAgICAgICAgaW1wb3J0IHBkYiwgdHJhY2Vi
YWNrCisgICAgICAgICAgICBwcmludCB0cmFjZWJhY2suZm9ybWF0X2V4YygpCisgICAgICAgICAg
ICBwZGIucG9zdF9tb3J0ZW0oKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UKKwor
aWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBtYWluKCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS9yZWZ0ZXN0L2dyZWVuLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUxNDVkNjBiNTViMzUw
MjYzOWQxNWYxMGQ0ZDYzYTZiMGY3OWI3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvcmVmdGVzdC9ncmVlbi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNCBAQAorPGxpbmsg
cmVsPW1hdGNoIGhyZWY9Z3JlZW4uaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNv
bG9yOmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4tcmVmLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4tcmVmLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzgxNjdiYjU4ZDU3MWU3NWY1NDkwODE2NmM1NDJhY2E4NDczMWFlYwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1yZWYtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDMgQEAKKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufQor
PC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4tcmVmLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRl
c3QvZ3JlZW4tcmVmLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUxNDVkNjBiNTViMzUwMjYzOWQxNWYxMGQ0
ZDYzYTZiMGY3OWI3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVz
dC9ncmVlbi1yZWYuaHRtbApAQCAtMCwwICsxLDQgQEAKKzxsaW5rIHJlbD1tYXRjaCBocmVmPWdy
ZWVuLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5
bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L2dyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zODE2N2JiNThkNTcxZTc1ZjU0OTA4MTY2YzU0MmFjYTg0NzMxYWVj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLmh0bWwK
QEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0K
Kzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJiNjc3ZTAwNjM0YmNkMTZjMzJiYThkMDI5Y2NhYjA0MGYwMTY3
ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVkLmh0bWwK
QEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpyZWR9Cis8
L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0Lmh0dHBzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rl
c3RkYXRhL3JlZnRlc3QvcmVmdGVzdC5odHRwcy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4
MTY3YmI1OGQ1NzFlNzVmNTQ5MDgxNjZjNTQyYWNhODQ3MzFhZWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdC5odHRwcy1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8
L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Jl
ZnRlc3QvcmVmdGVzdC5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhNDVmMTBmMzVlYjQ3MmVjMTNj
YzVkZDI0N2ZmOGRmNWMyNjUzODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRh
L3JlZnRlc3QvcmVmdGVzdC5odHRwcy5odG1sCkBAIC0wLDAgKzEsOSBAQAorPGxpbmsgcmVsPW1h
dGNoIGhyZWY9Z3JlZW4uaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOnJl
ZH0KKzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCA9PT0g
Imh0dHBzOiIpIHsKKyAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5k
Q29sb3IgPSAiZ3JlZW4iOworfQorPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2FuZF9mYWls
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDRmYjlhYTE1MTc2ZTYxOTFkZWQ1ZWNjZjQ0MmZj
ZmQ2Y2RjZjU2NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X2FuZF9mYWlsLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+UmVm
dGVzdCBjaGFpbiB0aGF0IHNob3VsZCBmYWlsPC90aXRsZT4KKzxsaW5rIHJlbD1tYXRjaCBocmVm
PXJlZC5odG1sPgorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0
eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2FuZF9mYWlsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Jl
ZnRlc3QvcmVmdGVzdF9hbmRfZmFpbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5NjAxOTUzNTYyMzhmMDM1
NDMyMDdlOWU2YTM1OTkzNjFkYWViOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbC5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxl
PlJlZnRlc3QgY2hhaW4gdGhhdCBzaG91bGQgZmFpbDwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2gg
aHJlZj1yZWZ0ZXN0X2FuZF9mYWlsXzAtcmVmLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFja2dy
b3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWxfMC1y
ZWYtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2FuZF9m
YWlsXzAtcmVmLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmI2NzdlMDA2MzRiY2QxNmMzMmJh
OGQwMjljY2FiMDQwZjAxNjc4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
cmVmdGVzdC9yZWZ0ZXN0X2FuZF9mYWlsXzAtcmVmLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwz
IEBACis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpyZWR9Cis8L3N0eWxlPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X2FuZF9mYWlsXzAtcmVmLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRl
c3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0ZmI5YWExNTE3NmU2
MTkxZGVkNWVjY2Y0NDJmY2ZkNmNkY2Y1NjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rl
c3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi5odG1sCkBAIC0wLDAgKzEsNSBA
QAorPHRpdGxlPlJlZnRlc3QgY2hhaW4gdGhhdCBzaG91bGQgZmFpbDwvdGl0bGU+Cis8bGluayBy
ZWw9bWF0Y2ggaHJlZj1yZWQuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9y
OmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZS1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGUtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMThiZmQ4ODQ0N2I0ODIxMmFmMjllNTQ4NjFiYjZkNTA5YTVlMWIxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGUtZXhwZWN0
ZWQuaHRtbApAQCAtMCwwICsxLDUgQEAKKzx0aXRsZT5PUiBtYXRjaCB0aGF0IHNob3VsZCBwYXNz
PC90aXRsZT4KKzxsaW5rIHJlbD1tYXRjaCBocmVmPXJlZnRlc3RfY3ljbGVfMS1yZWYuaHRtbD4K
KzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufQorPC9zdHlsZT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRl
c3QvcmVmdGVzdF9jeWNsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rf
Y3ljbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTg0YTNiNjc0MWVlNDFmZTYxODdhOWJkYzc2NmQ3NDky
MDZjODNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRl
c3RfY3ljbGUuaHRtbApAQCAtMCwwICsxLDUgQEAKKzx0aXRsZT5SZWZ0ZXN0IHdpdGggY3ljbGUs
IGFsbCBtYXRjaDwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1yZWZ0ZXN0X2N5Y2xlXzAt
cmVmLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5
bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMC1yZWYtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlXzAtcmVmLWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTliZTBiNjQxZGVmNmJkNzNhMGNjYTcyZjE3ZDMzMDQ2NDFiNDhlYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlXzAtcmVmLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+UmVmdGVzdCB3aXRoIGN5Y2xlLCBh
bGwgbWF0Y2g8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVmdGVzdF9jeWNsZS5odG1s
PgorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X2N5Y2xlXzAtcmVmLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9jeWNsZV8wLXJlZi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExOGJmZDg4NDQ3YjQ4MjEyYWYy
OWU1NDg2MWJiNmQ1MDlhNWUxYjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRh
L3JlZnRlc3QvcmVmdGVzdF9jeWNsZV8wLXJlZi5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxl
Pk9SIG1hdGNoIHRoYXQgc2hvdWxkIHBhc3M8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9
cmVmdGVzdF9jeWNsZV8xLXJlZi5odG1sPgorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29s
b3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlXzEtcmVmLWV4cGVjdGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV8xLXJlZi1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhODRhM2I2NzQxZWU0MWZlNjE4N2E5YmRjNzY2ZDc0OTIw
NmM4M2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVz
dF9jeWNsZV8xLXJlZi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxlPlJlZnRl
c3Qgd2l0aCBjeWNsZSwgYWxsIG1hdGNoPC90aXRsZT4KKzxsaW5rIHJlbD1tYXRjaCBocmVmPXJl
ZnRlc3RfY3ljbGVfMC1yZWYuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9y
OmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV8xLXJlZi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMS1yZWYuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41OWJlMGI2NDFkZWY2YmQ3M2EwY2NhNzJmMTdkMzMwNDY0MWI0OGVhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMS1yZWYuaHRtbApA
QCAtMCwwICsxLDUgQEAKKzx0aXRsZT5SZWZ0ZXN0IHdpdGggY3ljbGUsIGFsbCBtYXRjaDwvdGl0
bGU+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1yZWZ0ZXN0X2N5Y2xlLmh0bWw+Cis8c3R5bGU+Cis6
cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rf
Y3ljbGVfZmFpbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRl
c3RfY3ljbGVfZmFpbC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4ZTU0OGM0NjIyNTU2Mzhh
MzJjNDc0YTE3Nzc1OWZmNmQ3Y2NlYWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw1
IEBACis8dGl0bGU+UmVmdGVzdCB3aXRoIGN5Y2xlLCBmYWlsczwvdGl0bGU+Cis8bGluayByZWw9
bWlzbWF0Y2ggaHJlZj1yZWZ0ZXN0X2N5Y2xlX2ZhaWwuaHRtbD4KKzxzdHlsZT4KKzpyb290IHti
YWNrZ3JvdW5kLWNvbG9yOmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9m
YWlsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTc1ZTc2YzRjYzliYjc2NWY4ZmM4ZGZjMzQ0NTVhZDJlYjliYzQwNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xl
X2ZhaWwuaHRtbApAQCAtMCwwICsxLDUgQEAKKzx0aXRsZT5SZWZ0ZXN0IHdpdGggY3ljbGUsIGZh
aWxzPC90aXRsZT4KKzxsaW5rIHJlbD1tYXRjaCBocmVmPXJlZnRlc3RfY3ljbGVfZmFpbF8wLXJl
Zi5odG1sPgorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxl
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWxfMC1yZWYtZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWxfMC1yZWYtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNzVlNzZjNGNjOWJiNzY1ZjhmYzhkZmMzNDQ1NWFkMmViOWJjNDA1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVf
ZmFpbF8wLXJlZi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxlPlJlZnRlc3Qg
d2l0aCBjeWNsZSwgZmFpbHM8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVmdGVzdF9j
eWNsZV9mYWlsXzAtcmVmLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpn
cmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfZmFpbF8wLXJlZi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfZmFpbF8wLXJlZi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmM4ZTU0OGM0NjIyNTU2MzhhMzJjNDc0YTE3Nzc1OWZmNmQ3Y2NlYWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWls
XzAtcmVmLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+UmVmdGVzdCB3aXRoIGN5Y2xlLCBm
YWlsczwvdGl0bGU+Cis8bGluayByZWw9bWlzbWF0Y2ggaHJlZj1yZWZ0ZXN0X2N5Y2xlX2ZhaWwu
aHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufQorPC9zdHlsZT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRh
L3JlZnRlc3QvcmVmdGVzdF9tYXRjaC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9y
ZWZ0ZXN0L3JlZnRlc3RfbWF0Y2gtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODE2N2JiNThk
NTcxZTc1ZjU0OTA4MTY2YzU0MmFjYTg0NzMxYWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2gtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDMgQEAKKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufQorPC9zdHlsZT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRh
L3JlZnRlc3QvcmVmdGVzdF9tYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzNjYzZjMWVjZGYyMDAwZTRiMTE4NTY1NjYx
NzYxYjg3NmE3Mjk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfbWF0Y2guaHRtbApAQCAtMCwwICsxLDUgQEAKKzx0aXRsZT5yZWw9bWF0Y2ggdGhh
dCBzaG91bGQgcGFzczwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1ncmVlbi5odG1sPgor
PHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVz
dC9yZWZ0ZXN0X21hdGNoX2ZhaWwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X21hdGNoX2ZhaWwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjY3N2Uw
MDYzNGJjZDE2YzMyYmE4ZDAyOWNjYWIwNDBmMDE2NzgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6cmVkfQorPC9z
dHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rl
c3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9tYXRjaF9mYWlsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRh
L3JlZnRlc3QvcmVmdGVzdF9tYXRjaF9mYWlsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTkyNzJlZjc0ZGE4
NzMzN2EwMjIzZmNiMDBmMDUzY2ViYTVmYjUyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoX2ZhaWwuaHRtbApAQCAtMCwwICsxLDUgQEAK
Kzx0aXRsZT5yZWw9bWF0Y2ggdGhhdCBzaG91bGQgZmFpbDwvdGl0bGU+Cis8bGluayByZWw9bWF0
Y2ggaHJlZj1yZWQuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVu
fQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNtYXRjaC1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2gtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yYjY3N2UwMDYzNGJjZDE2YzMyYmE4ZDAyOWNjYWIwNDBmMDE2NzgwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2gtZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMgQEAKKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNv
bG9yOnJlZH0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2guaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY1
ZmEwNzUwZDgzYjY3NTljMzBlYTQzNGZjNTA5MjU1MjQ2Y2Y4MwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoLmh0bWwKQEAgLTAsMCAr
MSw1IEBACis8dGl0bGU+cmVsPW1pc21hdGNoIHRoYXQgc2hvdWxkIHBhc3M8L3RpdGxlPgorPGxp
bmsgcmVsPW1pc21hdGNoIGhyZWY9cmVkLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3Vu
ZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hf
ZmFpbC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4MTY3YmI1OGQ1NzFlNzVmNTQ5MDgxNjZj
NTQyYWNhODQ3MzFhZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRl
c3QvcmVmdGVzdF9taXNtYXRjaF9mYWlsLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8
c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfbWlzbWF0Y2hfZmFpbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkMTYwYzRmYzIwMGNhOTc2MzFi
MTg1MDU4NDdkNTFmZDc2MmFiYTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRh
L3JlZnRlc3QvcmVmdGVzdF9taXNtYXRjaF9mYWlsLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0
bGU+cmVsPW1pc21hdGNoIHRoYXQgc2hvdWxkIGZhaWw8L3RpdGxlPgorPGxpbmsgcmVsPW1pc21h
dGNoIGhyZWY9Z3JlZW4uaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdy
ZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9vcl8wLWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9vcl8wLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmI2NzdlMDA2MzRiY2QxNmMzMmJhOGQwMjljY2FiMDQwZjAxNjc4MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X29yXzAtZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDMgQEAKKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOnJlZH0K
Kzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfb3JfMC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9y
ZWZ0ZXN0L3JlZnRlc3Rfb3JfMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhNTFkZTIxNjQ0MTAzYTkzZjU5
ZDRjNTY1NDI4Y2MyZDE2MDZlNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRh
L3JlZnRlc3QvcmVmdGVzdF9vcl8wLmh0bWwKQEAgLTAsMCArMSw2IEBACis8dGl0bGU+T1IgbWF0
Y2ggdGhhdCBzaG91bGQgcGFzczwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1yZWQuaHRt
bD4KKzxsaW5rIHJlbD1tYXRjaCBocmVmPWdyZWVuLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFj
a2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfcmVmX3RpbWVv
dXQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3JlZl90
aW1lb3V0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDRjYmI3MWUwYzNjNDI4NmMwMGQ0YzAx
ZWNlNmFiMWExYmVjNjFiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X3JlZl90aW1lb3V0LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw2IEBACis8
aHRtbCBjbGFzcz0icmVmdGVzdC13YWl0Ij4KKzx0aXRsZT5yZWw9bWF0Y2ggdGhhdCBzaG91bGQg
dGltZSBvdXQgaW4gdGhlIHJlZjwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1yZWZ0ZXN0
X3JlZl90aW1lb3V0LXJlZi5odG1sPgorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6
Z3JlZW59Cis8L3N0eWxlPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfcmVmX3RpbWVvdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X3JlZl90aW1lb3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWFmNjhmNWNiNWZhMDRjZDM2NWE3MTkxZWVj
ZWFmYTM1Y2MzY2U0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVz
dC9yZWZ0ZXN0X3JlZl90aW1lb3V0Lmh0bWwKQEAgLTAsMCArMSw2IEBACis8aHRtbD4KKzx0aXRs
ZT5yZWw9bWF0Y2ggdGhhdCBzaG91bGQgdGltZSBvdXQgaW4gdGhlIHJlZjwvdGl0bGU+Cis8bGlu
ayByZWw9bWF0Y2ggaHJlZj1yZWZ0ZXN0X3JlZl90aW1lb3V0LXJlZi5odG1sPgorPHN0eWxlPgor
OnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM4MTY3YmI1OGQ1NzFlNzVmNTQ5MDgxNjZjNTQyYWNhODQ3MzFhZWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF90aW1lb3V0LWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xv
cjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxMGU2
NzZiZjAwNTJlN2JjYmUyZTkyMTRhNjkwYjNjZTY2NWRhODgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF90aW1lb3V0Lmh0bWwKQEAgLTAsMCArMSw2
IEBACis8aHRtbCBjbGFzcz0icmVmdGVzdC13YWl0Ij4KKzx0aXRsZT5yZWw9bWF0Y2ggdGhhdCBz
aG91bGQgdGltZW91dDwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1ncmVlbi5odG1sPgor
PHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfd2FpdF8wLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF93YWl0XzAtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yYjY3N2UwMDYzNGJjZDE2YzMyYmE4ZDAyOWNjYWIwNDBmMDE2NzgwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfd2FpdF8w
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3Vu
ZC1jb2xvcjpyZWR9Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3dhaXRfMC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfd2FpdF8wLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGY5
MjcxNWM2MWU3ZDkyMmE5NDk1ZTk3MzdjOTk2ZTdjMDZjMzdkNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3dhaXRfMC5odG1sCkBAIC0wLDAgKzEs
MTMgQEAKKzxodG1sIGNsYXNzPSJyZWZ0ZXN0LXdhaXQiPgorPHRpdGxlPnJlbD1tYXRjaCB0aGF0
IHNob3VsZCBmYWlsPC90aXRsZT4KKzxsaW5rIHJlbD1tYXRjaCBocmVmPXJlZC5odG1sPgorPHN0
eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6cmVkfQorPC9zdHlsZT4KKzxzY3JpcHQ+Citz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUu
YmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNs
YXNzTmFtZSA9ICIiOworfSwgMjAwMCk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvcmVmdGVzdC93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZWQxMDA4MTQxZWNlYmY1ZDM3
YWIwNDIyODFkMjU0ZWIwNmNmYzRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS9yZWZ0ZXN0L3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsNTMgQEAKK1RoZSB0ZXN0cyBpbiB0
aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8g
Tk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciBy
ZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS9yZWZ0ZXN0L2dyZWVuLXJlZi1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0
ZXN0L2dyZWVuLXJlZi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Jl
ZnRlc3QvcmVmdGVzdC5odHRwcy1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0
ZXN0L3JlZnRlc3QuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X2FuZF9mYWlsLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVz
dF9hbmRfZmFpbC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2Zh
aWxfMC1yZWYtZXhwZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X2FuZF9mYWlsXzAtcmVmLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9j
eWNsZS1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3lj
bGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlXzAtcmVmLWV4
cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV8wLXJl
Zi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMS1yZWYtZXhw
ZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlXzEtcmVm
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsLWV4cGVj
dGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsXzAtcmVmLWV4
cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWls
XzAtcmVmLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9tYXRjaC1leHBl
Y3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2guaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoX2ZhaWwtZXhwZWN0ZWQuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoX2ZhaWwuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoLWV4cGVjdGVkLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNtYXRjaC5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90
ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC1leHBlY3RlZC5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfb3JfMC1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90
ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfb3JfMC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0
ZXN0L3JlZnRlc3RfcmVmX3RpbWVvdXQtZXhwZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
cmVmdGVzdC9yZWZ0ZXN0X3JlZl90aW1lb3V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRl
c3QvcmVmdGVzdF90aW1lb3V0LWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRl
c3QvcmVmdGVzdF90aW1lb3V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVz
dF93YWl0XzAtZXhwZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X3dhaXRfMC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2Zp
cmVmb3gvc3ViZGlyL3Rlc3RfcHJlZl9pbmhlcml0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rl
c3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3Rlc3RfcHJlZl9pbmhlcml0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTBiMjg1MTk0YjRhZTAxMGM2OTljN2FlY2Y3N2Q3NzFjMjIxMzJkMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdGVzdF9w
cmVmX2luaGVyaXQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRs
ZT5FeGFtcGxlIHByZWYgdGVzdDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8cD5UZXN0IHJlcXVpcmVzIHRoZSBwcmVmIGJyb3dzZXIu
ZGlzcGxheS5mb3JlZ3JvdW5kX2NvbG9yIHRvIGJlIHNldCB0byAjMDBGRjAwPC9wPgorPHNjcmlw
dD4KK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5ib2R5KS5jb2xvciwgInJnYigyNTUsIDAsIDApIik7Cit9LCAiVGVzdCB0aGF0IHBy
ZWYgd2FzIHNldCIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rl
c3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3Rlc3RfcHJlZl9yZXNldC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90
ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfcmVzZXQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41Yzc1YzExNjA1MjJjZTgxNDE0ZWRkZWU0Yjk0Y2NhZTIxNzg1YTIyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRp
ci90ZXN0X3ByZWZfcmVzZXQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IWRvY3R5cGUgaHRtbD4K
Kzx0aXRsZT5FeGFtcGxlIHByZWYgdGVzdDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8cD5UZXN0IHJlcXVpcmVzIHRoZSBwcmVmIGJy
b3dzZXIuZGlzcGxheS5mb3JlZ3JvdW5kX2NvbG9yIHRvIGJlIHNldCB0byAjMDBGRjAwPC9wPgor
PHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5ib2R5KS5jb2xvciwgInJnYigwLCAwLCAwKSIpOworfSwgIlRlc3QgdGhh
dCBwcmVmIHdhcyByZXNldCIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90
ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci93M2MtaW1wb3J0LmxvZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iMzY3YWIzOGE2MDNmZmRlOWY1NjkwN2JmOWFkY2FmZDRiYzZjZmY3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci93M2Mt
aW1wb3J0LmxvZwpAQCAtMCwwICsxLDE4IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rl
c3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3Rlc3RfcHJlZl9pbmhlcml0Lmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3Rlc3RfcHJlZl9yZXNldC5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdGVzdF9w
cmVmX2Rpci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3Rlc3Rf
cHJlZl9kaXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDVkOTA3MGM5ZGNlYWRjZGIwY2M2NDcxMzg5Njc4
YzhkMjcxOWFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVz
cy9maXJlZm94L3Rlc3RfcHJlZl9kaXIuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IWRvY3R5cGUg
aHRtbD4KKzx0aXRsZT5FeGFtcGxlIHByZWYgdGVzdDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8cD5UZXN0IHJlcXVpcmVzIHRoZSBw
cmVmIGJyb3dzZXIuZGlzcGxheS5mb3JlZ3JvdW5kX2NvbG9yIHRvIGJlIHNldCB0byAjRkYwMDAw
PC9wPgorPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5jb2xvciwgInJnYigyNTUsIDAsIDApIik7Cit9LCAi
VGVzdCB0aGF0IHByZWYgd2FzIHNldCIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdGVzdF9wcmVmX3NldC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3Rlc3RfcHJlZl9zZXQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44ZTVlMjk4OWJmNzI5OWY0MjJjOWRjMGMxM2YyYzcyOThmMGRmZjUyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3Rlc3RfcHJlZl9z
ZXQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5FeGFtcGxl
IHByZWYgdGVzdDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8cD5UZXN0IHJlcXVpcmVzIHRoZSBwcmVmIGJyb3dzZXIuZGlzcGxheS5m
b3JlZ3JvdW5kX2NvbG9yIHRvIGJlIHNldCB0byAjMDBGRjAwPC9wPgorPHNjcmlwdD4KK3Rlc3Qo
ZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5i
b2R5KS5jb2xvciwgInJnYigwLCAyNTUsIDApIik7Cit9LCAiVGVzdCB0aGF0IHByZWYgd2FzIHNl
dCIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNz
L2ZpcmVmb3gvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2Zp
cmVmb3gvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU5ZGQwZTA2MWJkZjkwMzA3ZjI4ODJh
MTAyMjUxN2M2MmVmNGE1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVz
dGhhcm5lc3MvZmlyZWZveC93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE4IEBACitUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdGVzdF9wcmVmX2Rpci5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3Rlc3RfcHJlZl9zZXQuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdGVzdGhh
cm5lc3NfMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdGVzdGhh
cm5lc3NfMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMmZjNDMxZDM5OTk4ZDZiZmE2M2JjMGUzYjc4ODQ3
OTEwMTRjMzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNz
L3N1YmRpci90ZXN0aGFybmVzc18xLmh0bWwKQEAgLTAsMCArMSw5IEBACis8IWRvY3R5cGUgaHRt
bD4KKzx0aXRsZT5UZXN0IHNob3VsZCBiZSBlbmFibGVkPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0
aW9uKCkgeworICBhc3NlcnRfdHJ1ZSh0cnVlKTsKK30sICJUZXN0IHRoYXQgc2hvdWxkIHBhc3Mi
KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9z
dWJkaXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3N1YmRp
ci93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMGI2MTM1ZmEwODdiMzkzZmRjYjY0YmYzZTQ5
ZWQyYTEzNjAwNTI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFy
bmVzcy9zdWJkaXIvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxNyBAQAorVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9y
IHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdGVzdGhhcm5lc3NfMS5odG1sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzLmh0dHBzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTg3MWVhYzAwMTQ4ZDQ0YThiZWJkYzQzOTRlMWNiOGI0ZDU4ZGFjOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3Mu
aHR0cHMuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5FeGFt
cGxlIGh0dHBzIHRlc3Q8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9l
cXVhbHMod2luZG93LmxvY2F0aW9uLnByb3RvY29sLCAiaHR0cHM6Iik7Cit9LCAiVGVzdCB0aGF0
IGZpbGUgd2FzIGxvYWRlZCB3aXRoIHRoZSBjb3JyZWN0IHByb3RvY29sIik7CisKKzwvc2NyaXB0
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfMC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0
aGFybmVzcy90ZXN0aGFybmVzc18wLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmYwNjU0Y2I5YTA5MjUxYWQw
MDgyZThkODQ5MThiMjA2OGMxMmUxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfMC5odG1sCkBAIC0wLDAgKzEsOSBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8dGl0bGU+VGVzdCBzaG91bGQgYmUgZGlzYWJsZWQ8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Rl
c3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF90cnVlKGZhbHNlKTsKK30sICJUZXN0IHRoYXQgc2hv
dWxkIGZhaWwiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0
aGFybmVzcy90ZXN0aGFybmVzc19lcnJvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFy
bmVzcy90ZXN0aGFybmVzc19lcnJvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhYzViYTQ2YTMzMDVmNmZi
YzYzZGQ4ZDFmYzc0OTYwMzRkYTlhZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX2Vycm9yLmh0bWwKQEAgLTAsMCArMSw3IEBACis8
IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT50ZXN0aGFybmVzcy5qcyB0ZXN0IHRoYXQgc2hvdWxkIGVy
cm9yPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+Cit1bmRlZmluZWRfZnVuY3Rpb24oKQorPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX2xvbmdfdGltZW91
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc19sb25nX3Rp
bWVvdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzk0ZTA1NWJlMGM1NTQ1NGMxMmUwODUwMWNjOTgxZmRh
ZjQ1ODM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90
ZXN0aGFybmVzc19sb25nX3RpbWVvdXQuaHRtbApAQCAtMCwwICsxLDkgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPHRpdGxlPnRlc3RoYXJuZXNzLmpzIHRlc3Qgd2l0aCBsb25nIHRpbWVvdXQ8L3RpdGxl
PgorPG1ldGEgbmFtZT10aW1lb3V0IGNvbnRlbnQ9bG9uZz4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgdCA9IGFzeW5jX3Rl
c3QoIkxvbmcgdGltZW91dCB0ZXN0Iik7CitzZXRUaW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoZnVu
Y3Rpb24oKSB7YXNzZXJ0X3RydWUodHJ1ZSl9KSwgMTUqMTAwMCk7Cis8L3NjcmlwdD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3Ro
YXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVvdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhh
cm5lc3MvdGVzdGhhcm5lc3NfdGltZW91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5OTkxNWFjNzQ1Mzk1
MmFhMTk5YzdhYzI0ZTkxOTQ1OWY2NjVhNDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rl
c3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVvdXQuaHRtbApAQCAtMCwwICsxLDYg
QEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPlNpbXBsZSB0ZXN0aGFybmVzcy5qcyB1c2FnZTwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
CisKKy8vIFRoaXMgZmlsZSBzaG91bGQgdGltZSBvdXQsIG9idmlvdXNseQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3czYy1pbXBvcnQu
bG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJmOTI1NWQwZjE3OWY4MTJmMzc4ZjlkNDg0YjUyNTNmOTViMzYzZGMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3czYy1pbXBv
cnQubG9nCkBAIC0wLDAgKzEsMjEgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgor
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
K05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhh
cm5lc3MvdGVzdGhhcm5lc3MuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5l
c3MvdGVzdGhhcm5lc3NfMC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0
aGFybmVzc19lcnJvci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFy
bmVzc19sb25nX3RpbWVvdXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvdGVz
dGhhcm5lc3NfdGltZW91dC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NDk5OGYwODBkYmUzNmIzNzI0
NTk5MzE5ZmY1NzI1MDQyNTBmYmIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC93M2MtaW1w
b3J0LmxvZwpAQCAtMCwwICsxLDE4IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4g
V2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4K
KworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3QuY2ZnLmV4YW1w
bGUKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3QucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3RveC5pbmkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90b3guaW5p
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg4ZGZlNzlkYzVkMWMxMDEyNTY1NmJiYjJlMTU5OWU1MWZkNGI1NjYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci90b3guaW5pCkBAIC0wLDAgKzEsMTYgQEAKK1tweXRlc3RdCit4
ZmFpbF9zdHJpY3Q9dHJ1ZQorCitbdG94XQorZW52bGlzdCA9IHtweTI3LHB5cHl9LXtiYXNlLGIy
ZyxjaHJvbWUsZmlyZWZveCxzZXJ2b30KKworW3Rlc3RlbnZdCitkZXBzID0KKyAgICAgcHl0ZXN0
Pj0yLjkKKyAgICAgcHl0ZXN0LWNvdgorICAgICAtcnt0b3hpbmlkaXJ9L3JlcXVpcmVtZW50cy50
eHQKKyAgICAgY2hyb21lOiAtcnt0b3hpbmlkaXJ9L3JlcXVpcmVtZW50c19jaHJvbWUudHh0Cisg
ICAgIGZpcmVmb3g6IC1ye3RveGluaWRpcn0vcmVxdWlyZW1lbnRzX2ZpcmVmb3gudHh0CisgICAg
IHNlcnZvOiAtcnt0b3hpbmlkaXJ9L3JlcXVpcmVtZW50c19zZXJ2by50eHQKKworY29tbWFuZHMg
PSBweXRlc3QgLS1jb3YKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdzNjLWlt
cG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZThlZTEyYzRmMmZjZDg3OGRhZDc1NTIwMzkzOGQ3ZDQ3M2Qw
NGMyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjcg
QEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKwor
RG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1By
b3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVl
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0
IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL0xJQ0VOU0UKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9NQU5JRkVTVC5pbgorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL1JFQURNRS5yc3QK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci9yZXF1aXJlbWVudHMudHh0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX2Nocm9tZS50eHQKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9y
ZXF1aXJlbWVudHNfZmlyZWZveC50eHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfc2F1Y2UudHh0CisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
cmVxdWlyZW1lbnRzX3NlcnZvLnR4dAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3NldHVwLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdG94LmluaQorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci5kZWZhdWx0LmluaQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyLmRlZmF1bHQuaW5p
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyLmRlZmF1bHQuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0ZDI1ZjgwNTZiMGNmNzBm
NjhhODIyNjA4ZTQ3NGY2M2IwNjY2ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIu
ZGVmYXVsdC5pbmkKQEAgLTAsMCArMSwxMSBAQAorW3Byb2R1Y3RzXQorCitbd2ViLXBsYXRmb3Jt
LXRlc3RzXQorcmVtb3RlX3VybCA9IGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzLmdpdAorYnJhbmNoID0gbWFzdGVyCitzeW5jX3BhdGggPSAlKHB3ZClzL3N5bmMKKwor
W21hbmlmZXN0OmRlZmF1bHRdCit0ZXN0cyA9ICUocHdkKXMvdGVzdHMKK21ldGFkYXRhID0gJShw
d2Qpcy9tZXRhCit1cmxfYmFzZSA9IC8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvX19pbml0X18ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvX19pbml0X18u
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTY4MzRiODI4NWE1NmJlZjBlMTU0M2ZkOTAxYzdlNmYyZjhiYzIwMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9fX2luaXRfXy5weQpAQCAtMCwwICsxIEBA
CisjIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVj
dG9yeSBmb3IgbW9kdWxlcy4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvYnJvd3NlcnMvX19pbml0X18ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3Nl
cnMvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTM2MDZkMjNjZjBjYzZmZGMzZjY1NDVlZGNlZmUx
ZDNkYTFiMTlkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9fX2lu
aXRfXy5weQpAQCAtMCwwICsxLDMwIEBACisiIiJTdWJwYWNrYWdlIHdoZXJlIGVhY2ggcHJvZHVj
dCBpcyBkZWZpbmVkLiBFYWNoIHByb2R1Y3QgaXMgY3JlYXRlZCBieSBhZGRpbmcgYQorYSAucHkg
ZmlsZSBjb250YWluaW5nIGEgX193cHRydW5uZXJfXyB2YXJpYWJsZSBpbiB0aGUgZ2xvYmFsIHNj
b3BlLiBUaGlzIG11c3QgYmUKK2EgZGljdGlvbmFyeSB3aXRoIHRoZSBmaWVsZHMKKworInByb2R1
Y3QiOiBOYW1lIG9mIHRoZSBwcm9kdWN0LCBhc3N1bWVkIHRvIGJlIHVuaXF1ZS4KKyJicm93c2Vy
IjogU3RyaW5nIGluZGljYXRpbmcgdGhlIEJyb3dzZXIgaW1wbGVtZW50YXRpb24gdXNlZCB0byBs
YXVuY2ggdGhhdAorICAgICAgICAgICBwcm9kdWN0LgorImV4ZWN1dG9yIjogRGljdGlvbmFyeSB3
aXRoIGtleXMgYXMgc3VwcG9ydGVkIHRlc3QgdHlwZXMgYW5kIHZhbHVlcyBhcyB0aGUgbmFtZQor
ICAgICAgICAgICAgb2YgdGhlIEV4ZWN1dG9yIGltcGxlbWFudGF0aW9uIHRoYXQgd2lsbCBiZSB1
c2VkIHRvIHJ1biB0aGF0IHRlc3QKKyAgICAgICAgICAgIHR5cGUuCisiYnJvd3Nlcl9rd2FyZ3Mi
OiBTdHJpbmcgbmFtaW5nIGZ1bmN0aW9uIHRoYXQgdGFrZXMgcHJvZHVjdCwgYmluYXJ5LAorICAg
ICAgICAgICAgICAgICAgcHJlZnNfcm9vdCBhbmQgdGhlIHdwdHJ1bm5lci5ydW5fdGVzdHMga3dh
cmdzIGRpY3QgYXMgYXJndW1lbnRzCisgICAgICAgICAgICAgICAgICBhbmQgcmV0dXJucyBhIGRp
Y3Rpb25hcnkgb2Yga3dhcmdzIHRvIHVzZSB3aGVuIGNyZWF0aW5nIHRoZQorICAgICAgICAgICAg
ICAgICAgQnJvd3NlciBjbGFzcy4KKyJleGVjdXRvcl9rd2FyZ3MiOiBTdHJpbmcgbmFtaW5nIGEg
ZnVuY3Rpb24gdGhhdCB0YWtlcyBodHRwIHNlcnZlciB1cmwgYW5kCisgICAgICAgICAgICAgICAg
ICAgdGltZW91dCBtdWx0aXBsaWVyIGFuZCByZXR1cm5zIGt3YXJncyB0byB1c2Ugd2hlbiBjcmVh
dGluZworICAgICAgICAgICAgICAgICAgIHRoZSBleGVjdXRvciBjbGFzcy4KKyJlbnZfb3B0aW9u
cyI6IFN0cmluZyBuYW1pbmcgYSBmdW50aW9uIG9mIG5vIGFyZ3VtZW50cyB0aGF0IHJldHVybnMg
dGhlCisgICAgICAgICAgICAgICBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBUZXN0RW52aXJvbm1l
bnQuCisKK0FsbCBjbGFzc2VzIGFuZCBmdW5jdGlvbnMgbmFtZWQgaW4gdGhlIGFib3ZlIGRpY3Qg
bXVzdCBiZSBpbXBvcnRlZCBpbnRvIHRoZQorbW9kdWxlIGdsb2JhbCBzY29wZS4KKyIiIgorCitw
cm9kdWN0X2xpc3QgPSBbImNocm9tZSIsCisgICAgICAgICAgICAgICAgImVkZ2UiLAorICAgICAg
ICAgICAgICAgICJmaXJlZm94IiwKKyAgICAgICAgICAgICAgICAic2F1Y2UiLAorICAgICAgICAg
ICAgICAgICJzZXJ2byIsCisgICAgICAgICAgICAgICAgInNlcnZvZHJpdmVyIl0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9iMmdfc2V0dXAvY2VydHRlc3RfYXBwLnppcCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9icm93c2Vycy9iMmdfc2V0dXAvY2VydHRlc3RfYXBwLnppcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mOWNiZDUzMDBhZDY1MGY4MzY5YWIwMmE0YWRjODg2NmE1ZjBkZWExCkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCAxMjM3CnpjbVdJV1dAWnMjVXxgXjJGanZXT0RmelR9dHFZSkIxO2t0b0c3T257
RFhBNUQ4Nn4rbnAmXl9NJSRtalchS09EOQp6Z0coIzg4NW1pPEdCUGxMXj09T0lJcTkjclFwWTNv
Z3ZRQ1U4eXwwSzN8IWYlUyFTaj5RYEteMW5ifEpgRFY8WlAKemxjJnJOJH4/WXchR2skYkF3clgp
VmlyQSEyc25fc218dWA+Nl9ZZTBMamM/elZpb21uVmpuKW5jYGBGRj9CWmZ6Cno7MEwtUkghJnxX
RXcjOHJ1Ukp2PXY3aTkjNyNUT0lQPGJGbWJJalpALX43aUdKYlMtfmI2RUR6cz9LLVN1ZkE4LQp6
JFNUJntzQzAzb2ZUeEl4KWpYZXp8TXlMS2QhKj1iKmA9SzwxfUR8KVk7QilAXzNROHJrVGNeP2Bw
blc5ciFjdnEKenJ8fFJJaVdlZzZ7Yn5LVkl4e1pqRDc7UWxqXnlFdm5mem1rKy0xaU1vK1VYQUNR
TmYpSFJhWDJ4YUtuRTxRamJWCnp5aWZLMElkLXsmaUJDU1RlPn5OO1lRPVExQmEybDY+TnJ5VXJe
Z2ctYVdTO2QqfW04SU1zQCVHSE5+JndGNHo2Twp6QT9XMilRaEImeHlDUzNmK3VVPDgxQG5TNm1R
UngzY1lvUHBRTmZtdFlqMGtZPjwoSig1IT5ZWTtZQ0kkJEFjI1kKekgleE9yT3tASEhRdk1nUytX
SUB7P35MbCFVaHwmYUc+UH1PKEx3JEBFUFA0YjQ/fHF2T3RFXy1UejJwVGs3RHd2CnopI3JGI1d8
Jl5GeVV5NlpWQD5maylpPDlQRmBUdmJTIUxFeEVWSGE5WV5VNVkyWFM5aj4qO0d2cEtPfXUlYXI7
bgp6aDEyWWolKmlYKDA+fUUqa2AmWXV2P1hxU2JJKWNGS1g8QTFPcEU4K2hsPDZiQylYXndAQE1t
em9kO1ozYkJwRl8KemxgK2JeYGV9OGh7Tl5rRCNVVll9RC1DdkI/I1prUEl4e2lMdD1nZUlKYkNN
fXRHQmwrbVZObWJUX3RLIW19KysqCnp2O0E/JGQ5e0EpKkEzVFk5cm05Iyt7RnxpSU5fOUNxPjh1
OGZ8fER7bVQxSlFeUGp6U1g0PjIwR2MwUSZQZ3t3awp6RiFpJStOPyY/dFV5KXUqJUM9OD9uPWJz
NlUyLX5oV34pLXRlaC0xJkc1MlRseFlVJjlFNFkwdHkoSHIodEg2Nn0Keihndn5xUFVmdm9yKlF0
K1U7ajd1cmljNT9LPX1vNlBpSntlX31YMzljWT9Qbl80TzN5P2JreSNyN1E5TTRPNj16CnpTe0M8
eSYyI1A4TmN+cl81LSU0Nzw7N2pGS1JeQmFSYG9aVDl+dEhAZWYlc3VgQGs3aWlId2x2Rk9FbGVJ
UUVQMwp6Xz9fb3wrfnI7UXpqdFRjXjZnTG1Nd2lFPmFQSDdwYVlSQkBSa1gtaD1kd0ZIJVhhNzg4
NCt0IWUwS04/bSp6MlYKejNUVSE1YGtab0RlRW8kTDh+PD80ZWc2NkFwYFRKfXpqKUhPSzNsK1Nl
blElOHpIOFJ3c2FxQnY0MDtyelJAMWRZCnomdUQrfnVCcGU7ZGZoJFpUUCk5TCtaTyEhb19LazRV
VERtaGdmJntSUGlJWWRmQVpLckopaWVlVSs4WDRJPyExcAp6PStmLVReMlc4filzZiE8T1RXK0R6
SDtgQ3w3TSMkdCt7KlU/bVc+V2VPSEFQSUFYJm1aTGpIaVB9PWRfUUs0QDMKem1yWn1CWFRHbiRA
WilMRSZkUHRFNlRLZHtjS2tHZEpLZWtUZClhc1UwQj1TbkljOGpDZzlOYUlVfDt+MjAxUWhTCndL
YGk4d2YpIUZ5cGsrKkNeRHklYHZVd2RxXkR1SGUmYD9tMCQxcyRZNFAtcU41SDFETVFZO2BJMEw2
OSEzSUc1QQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2Jyb3dzZXJzL2IyZ19zZXR1cC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vy
cy9iMmdfc2V0dXAvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzlmMGVkYTA2YWIyMDMxOGIx
NDliZDE0ZDZjYzdjZGRlMTJmMmNhMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9i
cm93c2Vycy9iMmdfc2V0dXAvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxNyBAQAorVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9k
aWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2IyZ19zZXR1cC9jZXJ0dGVzdF9hcHAuemlwCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYmFzZS5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93
c2Vycy9iYXNlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4M2NhMGQ2Y2RlZDFlMDU1MmU2ZDI0MGMwNGYzYmJm
ZTVmZTYyMDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYmFzZS5w
eQpAQCAtMCwwICsxLDE1OSBAQAoraW1wb3J0IG9zCitpbXBvcnQgcGxhdGZvcm0KK2ltcG9ydCBz
b2NrZXQKK2Zyb20gYWJjIGltcG9ydCBBQkNNZXRhLCBhYnN0cmFjdG1ldGhvZAorCitmcm9tIC4u
d3B0Y29tbWFuZGxpbmUgaW1wb3J0IHJlcXVpcmVfYXJnCisKK2hlcmUgPSBvcy5wYXRoLnNwbGl0
KF9fZmlsZV9fKVswXQorCisKK2RlZiBjbWRfYXJnKG5hbWUsIHZhbHVlPU5vbmUpOgorICAgIHBy
ZWZpeCA9ICItIiBpZiBwbGF0Zm9ybS5zeXN0ZW0oKSA9PSAiV2luZG93cyIgZWxzZSAiLS0iCisg
ICAgcnYgPSBwcmVmaXggKyBuYW1lCisgICAgaWYgdmFsdWUgaXMgbm90IE5vbmU6CisgICAgICAg
IHJ2ICs9ICI9IiArIHZhbHVlCisgICAgcmV0dXJuIHJ2CisKKworZGVmIGdldF9mcmVlX3BvcnQo
c3RhcnRfcG9ydCwgZXhjbHVkZT1Ob25lKToKKyAgICAiIiJHZXQgdGhlIGZpcnN0IHBvcnQgbnVt
YmVyIGFmdGVyIHN0YXJ0X3BvcnQgKGluY2x1c2l2ZSkgdGhhdCBpcworICAgIG5vdCBjdXJyZW50
bHkgYm91bmQuCisKKyAgICA6cGFyYW0gc3RhcnRfcG9ydDogSW50ZWdlciBwb3J0IG51bWJlciBh
dCB3aGljaCB0byBzdGFydCB0ZXN0aW5nLgorICAgIDpwYXJhbSBleGNsdWRlOiBTZXQgb2YgcG9y
dCBudW1iZXJzIHRvIHNraXAiIiIKKyAgICBwb3J0ID0gc3RhcnRfcG9ydAorICAgIHdoaWxlIFRy
dWU6CisgICAgICAgIGlmIGV4Y2x1ZGUgYW5kIHBvcnQgaW4gZXhjbHVkZToKKyAgICAgICAgICAg
IHBvcnQgKz0gMQorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgcyA9IHNvY2tldC5zb2Nr
ZXQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzLmJpbmQoKCIxMjcuMC4wLjEiLCBwb3J0
KSkKKyAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgICAgIHBvcnQgKz0gMQor
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHBvcnQKKyAgICAgICAgZmluYWxseToK
KyAgICAgICAgICAgIHMuY2xvc2UoKQorCitkZWYgYnJvd3Nlcl9jb21tYW5kKGJpbmFyeSwgYXJn
cywgZGVidWdfaW5mbyk6CisgICAgaWYgZGVidWdfaW5mbzoKKyAgICAgICAgaWYgZGVidWdfaW5m
by5yZXF1aXJlc0VzY2FwZWRBcmdzOgorICAgICAgICAgICAgYXJncyA9IFtpdGVtLnJlcGxhY2Uo
IiYiLCAiXFwmIikgZm9yIGl0ZW0gaW4gYXJnc10KKyAgICAgICAgZGVidWdfYXJncyA9IFtkZWJ1
Z19pbmZvLnBhdGhdICsgZGVidWdfaW5mby5hcmdzCisgICAgZWxzZToKKyAgICAgICAgZGVidWdf
YXJncyA9IFtdCisKKyAgICBjb21tYW5kID0gW2JpbmFyeV0gKyBhcmdzCisKKyAgICByZXR1cm4g
ZGVidWdfYXJncywgY29tbWFuZAorCisKK2NsYXNzIEJyb3dzZXJFcnJvcihFeGNlcHRpb24pOgor
ICAgIHBhc3MKKworCitjbGFzcyBCcm93c2VyKG9iamVjdCk6CisgICAgX19tZXRhY2xhc3NfXyA9
IEFCQ01ldGEKKworICAgIHByb2Nlc3NfY2xzID0gTm9uZQorICAgIGluaXRfdGltZW91dCA9IDMw
CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyKToKKyAgICAgICAgIiIiQWJzdHJhY3Qg
Y2xhc3Mgc2VydmluZyBhcyB0aGUgYmFzaXMgZm9yIEJyb3dzZXIgaW1wbGVtZW50YXRpb25zLgor
CisgICAgICAgIFRoZSBCcm93c2VyIGlzIHVzZWQgaW4gdGhlIFRlc3RSdW5uZXJNYW5hZ2VyIHRv
IHN0YXJ0IGFuZCBzdG9wIHRoZSBicm93c2VyCisgICAgICAgIHByb2Nlc3MsIGFuZCB0byBjaGVj
ayB0aGUgc3RhdGUgb2YgdGhhdCBwcm9jZXNzLiBUaGlzIGNsYXNzIGFsc28gYWN0cyBhcyBhCisg
ICAgICAgIGNvbnRleHQgbWFuYWdlciwgZW5hYmxpbmcgaXQgdG8gZG8gYnJvd3Nlci1zcGVjaWZp
YyBzZXR1cCBhdCB0aGUgc3RhcnQgb2YKKyAgICAgICAgdGhlIHRlc3RydW4gYW5kIGNsZWFudXAg
YWZ0ZXIgdGhlIHJ1biBpcyBjb21wbGV0ZS4KKworICAgICAgICA6cGFyYW0gbG9nZ2VyOiBTdHJ1
Y3R1cmVkIGxvZ2dlciB0byB1c2UgZm9yIG91dHB1dC4KKyAgICAgICAgIiIiCisgICAgICAgIHNl
bGYubG9nZ2VyID0gbG9nZ2VyCisKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICBz
ZWxmLnNldHVwKCkKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiBfX2V4aXRfXyhzZWxm
LCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLmNsZWFudXAoKQorCisgICAgZGVmIHNl
dHVwKHNlbGYpOgorICAgICAgICAiIiJVc2VkIGZvciBicm93c2VyLXNwZWNpZmljIHNldHVwIHRo
YXQgaGFwcGVucyBhdCB0aGUgc3RhcnQgb2YgYSB0ZXN0IHJ1biIiIgorICAgICAgICBwYXNzCisK
KyAgICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgc3RhcnQoc2VsZik6CisgICAgICAgICIiIkxh
dW5jaCB0aGUgYnJvd3NlciBvYmplY3QgYW5kIGdldCBpdCBpbnRvIGEgc3RhdGUgd2hlcmUgaXMg
aXMgcmVhZHkgdG8gcnVuIHRlc3RzIiIiCisgICAgICAgIHBhc3MKKworICAgIEBhYnN0cmFjdG1l
dGhvZAorICAgIGRlZiBzdG9wKHNlbGYsIGZvcmNlPUZhbHNlKToKKyAgICAgICAgIiIiU3RvcCB0
aGUgcnVubmluZyBicm93c2VyIHByb2Nlc3MuIiIiCisgICAgICAgIHBhc3MKKworICAgIEBhYnN0
cmFjdG1ldGhvZAorICAgIGRlZiBwaWQoc2VsZik6CisgICAgICAgICIiInBpZCBvZiB0aGUgYnJv
d3NlciBwcm9jZXNzIG9yIE5vbmUgaWYgdGhlcmUgaXMgbm8gcGlkIiIiCisgICAgICAgIHBhc3MK
KworICAgIEBhYnN0cmFjdG1ldGhvZAorICAgIGRlZiBpc19hbGl2ZShzZWxmKToKKyAgICAgICAg
IiIiQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGJyb3dzZXIgcHJvY2VzcyBpcyBzdGls
bCBydW5uaW5nIiIiCisgICAgICAgIHBhc3MKKworICAgIGRlZiBzZXR1cF9zc2woc2VsZiwgaG9z
dHMpOgorICAgICAgICAiIiJSZXR1cm4gYSBjZXJ0aWZpY2F0ZSB0byB1c2UgZm9yIHRlc3RzIHJl
cXVpcmluZyBzc2wgdGhhdCB3aWxsIGJlIHRydXN0ZWQgYnkgdGhlIGJyb3dzZXIiIiIKKyAgICAg
ICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigic3NsIHRlc3Rpbmcgbm90IHN1cHBvcnRlZCIp
CisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgIiIiQnJvd3Nlci1zcGVjaWZpYyBj
bGVhbnVwIHRoYXQgaXMgcnVuIGFmdGVyIHRoZSB0ZXN0cnVuIGlzIGZpbmlzaGVkIiIiCisgICAg
ICAgIHBhc3MKKworICAgIGRlZiBleGVjdXRvcl9icm93c2VyKHNlbGYpOgorICAgICAgICAiIiJS
ZXR1cm5zIHRoZSBFeGVjdXRvckJyb3dzZXIgc3ViY2xhc3MgZm9yIHRoaXMgQnJvd3NlciBzdWJj
bGFzcyBhbmQgdGhlIGtleXdvcmQgYXJndW1lbnRzCisgICAgICAgIHdpdGggd2hpY2ggaXQgc2hv
dWxkIGJlIGluc3RhbnRpYXRlZCIiIgorICAgICAgICByZXR1cm4gRXhlY3V0b3JCcm93c2VyLCB7
fQorCisgICAgZGVmIGxvZ19jcmFzaChzZWxmLCBwcm9jZXNzLCB0ZXN0KToKKyAgICAgICAgIiIi
UmV0dXJuIGEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91
dCBjcmFzaGVzIHRoYXQgaGFwcGVuZAorICAgICAgICBpbiB0aGUgYnJvd3Nlciwgb3IgYW4gZW1w
dHkgbGlzdCBpZiBubyBjcmFzaGVzIG9jY3VycmVkIiIiCisgICAgICAgIHNlbGYubG9nZ2VyLmNy
YXNoKHByb2Nlc3MsIHRlc3QpCisKKworY2xhc3MgTnVsbEJyb3dzZXIoQnJvd3Nlcik6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgKiprd2FyZ3MpOgorICAgICAgICBzdXBlcihOdWxs
QnJvd3Nlciwgc2VsZikuX19pbml0X18obG9nZ2VyKQorCisgICAgZGVmIHN0YXJ0KHNlbGYpOgor
ICAgICAgICAiIiJOby1vcCBicm93c2VyIHRvIHVzZSBpbiBzY2VuYXJpb3Mgd2hlcmUgdGhlIFRl
c3RSdW5uZXJNYW5hZ2VyIHNob3VsZG4ndAorICAgICAgICBhY3R1YWxseSBvd24gdGhlIGJyb3dz
ZXIgcHJvY2VzcyAoZS5nLiBTZXJ2byB3aGVyZSB3ZSBzdGFydCBvbmUgYnJvd3NlcgorICAgICAg
ICBwZXIgdGVzdCkiIiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIHN0b3Aoc2VsZiwgZm9yY2U9
RmFsc2UpOgorICAgICAgICBwYXNzCisKKyAgICBkZWYgcGlkKHNlbGYpOgorICAgICAgICByZXR1
cm4gTm9uZQorCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICByZXR1cm4gVHJ1ZQor
CisgICAgZGVmIG9uX291dHB1dChzZWxmLCBsaW5lKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVt
ZW50ZWRFcnJvcgorCisKK2NsYXNzIEV4ZWN1dG9yQnJvd3NlcihvYmplY3QpOgorICAgIGRlZiBf
X2luaXRfXyhzZWxmLCAqKmt3YXJncyk6CisgICAgICAgICIiIlZpZXcgb2YgdGhlIEJyb3dzZXIg
dXNlZCBieSB0aGUgRXhlY3V0b3Igb2JqZWN0LgorICAgICAgICBUaGlzIGlzIG5lZWRlZCBiZWNh
dXNlIHRoZSBFeGVjdXRvciBydW5zIGluIGEgY2hpbGQgcHJvY2VzcyBhbmQKKyAgICAgICAgd2Ug
Y2FuJ3Qgc2hpcCBCcm93c2VyIGluc3RhbmNlcyBiZXR3ZWVuIHByb2Nlc3NlcyBvbiBXaW5kb3dz
LgorCisgICAgICAgIFR5cGljYWxseSB0aGlzIHdpbGwgaGF2ZSBhIGZldyBwcm9kdWN0LXNwZWNp
ZmljIHByb3BlcnRpZXMgc2V0LAorICAgICAgICBidXQgaW4gc29tZSBjYXNlcyBpdCBtYXkgaGF2
ZSBtb3JlIGVsYWJvcmF0ZSBtZXRob2RzIGZvciBzZXR0aW5nCisgICAgICAgIHVwIHRoZSBicm93
c2VyIGZyb20gdGhlIHJ1bm5lciBwcm9jZXNzLgorICAgICAgICAiIiIKKyAgICAgICAgZm9yIGss
IHYgaW4ga3dhcmdzLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBrLCB2
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2Nocm9tZS5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9icm93c2Vycy9jaHJvbWUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JkMjI3YjMyZjU1MDhmNjExMzVm
OWUxNjFmYTc2MGJiMTEyZjJlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93
c2Vycy9jaHJvbWUucHkKQEAgLTAsMCArMSw5NCBAQAorZnJvbSAuYmFzZSBpbXBvcnQgQnJvd3Nl
ciwgRXhlY3V0b3JCcm93c2VyLCByZXF1aXJlX2FyZworZnJvbSAuLndlYmRyaXZlcl9zZXJ2ZXIg
aW1wb3J0IENocm9tZURyaXZlclNlcnZlcgorZnJvbSAuLmV4ZWN1dG9ycyBpbXBvcnQgZXhlY3V0
b3Jfa3dhcmdzIGFzIGJhc2VfZXhlY3V0b3Jfa3dhcmdzCitmcm9tIC4uZXhlY3V0b3JzLmV4ZWN1
dG9yc2VsZW5pdW0gaW1wb3J0IChTZWxlbml1bVRlc3RoYXJuZXNzRXhlY3V0b3IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlbml1bVJlZlRlc3RFeGVjdXRv
cikKKworCitfX3dwdHJ1bm5lcl9fID0geyJwcm9kdWN0IjogImNocm9tZSIsCisgICAgICAgICAg
ICAgICAgICJjaGVja19hcmdzIjogImNoZWNrX2FyZ3MiLAorICAgICAgICAgICAgICAgICAiYnJv
d3NlciI6ICJDaHJvbWVCcm93c2VyIiwKKyAgICAgICAgICAgICAgICAgImV4ZWN1dG9yIjogeyJ0
ZXN0aGFybmVzcyI6ICJTZWxlbml1bVRlc3RoYXJuZXNzRXhlY3V0b3IiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInJlZnRlc3QiOiAiU2VsZW5pdW1SZWZUZXN0RXhlY3V0b3IifSwK
KyAgICAgICAgICAgICAgICAgImJyb3dzZXJfa3dhcmdzIjogImJyb3dzZXJfa3dhcmdzIiwKKyAg
ICAgICAgICAgICAgICAgImV4ZWN1dG9yX2t3YXJncyI6ICJleGVjdXRvcl9rd2FyZ3MiLAorICAg
ICAgICAgICAgICAgICAiZW52X2V4dHJhcyI6ICJlbnZfZXh0cmFzIiwKKyAgICAgICAgICAgICAg
ICAgImVudl9vcHRpb25zIjogImVudl9vcHRpb25zIn0KKworCitkZWYgY2hlY2tfYXJncygqKmt3
YXJncyk6CisgICAgcmVxdWlyZV9hcmcoa3dhcmdzLCAid2ViZHJpdmVyX2JpbmFyeSIpCisKKwor
ZGVmIGJyb3dzZXJfa3dhcmdzKCoqa3dhcmdzKToKKyAgICByZXR1cm4geyJiaW5hcnkiOiBrd2Fy
Z3NbImJpbmFyeSJdLAorICAgICAgICAgICAgIndlYmRyaXZlcl9iaW5hcnkiOiBrd2FyZ3NbIndl
YmRyaXZlcl9iaW5hcnkiXSwKKyAgICAgICAgICAgICJ3ZWJkcml2ZXJfYXJncyI6IGt3YXJncy5n
ZXQoIndlYmRyaXZlcl9hcmdzIil9CisKKworZGVmIGV4ZWN1dG9yX2t3YXJncyh0ZXN0X3R5cGUs
IHNlcnZlcl9jb25maWcsIGNhY2hlX21hbmFnZXIsIHJ1bl9pbmZvX2RhdGEsCisgICAgICAgICAg
ICAgICAgICAgICoqa3dhcmdzKToKKyAgICBmcm9tIHNlbGVuaXVtLndlYmRyaXZlciBpbXBvcnQg
RGVzaXJlZENhcGFiaWxpdGllcworCisgICAgZXhlY3V0b3Jfa3dhcmdzID0gYmFzZV9leGVjdXRv
cl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNhY2hlX21hbmFnZXIsICoqa3dhcmdzKQorICAgIGV4ZWN1
dG9yX2t3YXJnc1siY2xvc2VfYWZ0ZXJfZG9uZSJdID0gVHJ1ZQorICAgIGNhcGFiaWxpdGllcyA9
IGRpY3QoRGVzaXJlZENhcGFiaWxpdGllcy5DSFJPTUUuaXRlbXMoKSkKKyAgICBjYXBhYmlsaXRp
ZXMuc2V0ZGVmYXVsdCgiY2hyb21lT3B0aW9ucyIsIHt9KVsicHJlZnMiXSA9IHsKKyAgICAgICAg
InByb2ZpbGUiOiB7CisgICAgICAgICAgICAiZGVmYXVsdF9jb250ZW50X3NldHRpbmdfdmFsdWVz
IjogeworICAgICAgICAgICAgICAgICJwb3B1cHMiOiAxCisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICB9CisgICAgZm9yIChrd2FyZywgY2FwYWJpbGl0eSkgaW4gWygiYmluYXJ5IiwgImJp
bmFyeSIpLCAoImJpbmFyeV9hcmdzIiwgImFyZ3MiKV06CisgICAgICAgIGlmIGt3YXJnc1trd2Fy
Z10gaXMgbm90IE5vbmU6CisgICAgICAgICAgICBjYXBhYmlsaXRpZXNbImNocm9tZU9wdGlvbnMi
XVtjYXBhYmlsaXR5XSA9IGt3YXJnc1trd2FyZ10KKyAgICBleGVjdXRvcl9rd2FyZ3NbImNhcGFi
aWxpdGllcyJdID0gY2FwYWJpbGl0aWVzCisgICAgcmV0dXJuIGV4ZWN1dG9yX2t3YXJncworCisK
K2RlZiBlbnZfZXh0cmFzKCoqa3dhcmdzKToKKyAgICByZXR1cm4gW10KKworCitkZWYgZW52X29w
dGlvbnMoKToKKyAgICByZXR1cm4geyJob3N0IjogIndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAgICAg
ICAgICAgICJiaW5kX2hvc3RuYW1lIjogInRydWUifQorCisKK2NsYXNzIENocm9tZUJyb3dzZXIo
QnJvd3Nlcik6CisgICAgIiIiQ2hyb21lIGlzIGJhY2tlZCBieSBjaHJvbWVkcml2ZXIsIHdoaWNo
IGlzIHN1cHBsaWVkIHRocm91Z2gKKyAgICBgYHdwdHJ1bm5lci53ZWJkcml2ZXIuQ2hyb21lRHJp
dmVyU2VydmVyYGAuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBi
aW5hcnksIHdlYmRyaXZlcl9iaW5hcnk9ImNocm9tZWRyaXZlciIsCisgICAgICAgICAgICAgICAg
IHdlYmRyaXZlcl9hcmdzPU5vbmUpOgorICAgICAgICAiIiJDcmVhdGVzIGEgbmV3IHJlcHJlc2Vu
dGF0aW9uIG9mIENocm9tZS4gIFRoZSBgYmluYXJ5YCBhcmd1bWVudCBnaXZlcworICAgICAgICB0
aGUgYnJvd3NlciBiaW5hcnkgdG8gdXNlIGZvciB0ZXN0aW5nLiIiIgorICAgICAgICBCcm93c2Vy
Ll9faW5pdF9fKHNlbGYsIGxvZ2dlcikKKyAgICAgICAgc2VsZi5iaW5hcnkgPSBiaW5hcnkKKyAg
ICAgICAgc2VsZi5zZXJ2ZXIgPSBDaHJvbWVEcml2ZXJTZXJ2ZXIoc2VsZi5sb2dnZXIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmFyeT13ZWJkcml2ZXJfYmlu
YXJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzPXdlYmRy
aXZlcl9hcmdzKQorCisgICAgZGVmIHN0YXJ0KHNlbGYpOgorICAgICAgICBzZWxmLnNlcnZlci5z
dGFydChibG9jaz1GYWxzZSkKKworICAgIGRlZiBzdG9wKHNlbGYsIGZvcmNlPUZhbHNlKToKKyAg
ICAgICAgc2VsZi5zZXJ2ZXIuc3RvcChmb3JjZT1mb3JjZSkKKworICAgIGRlZiBwaWQoc2VsZik6
CisgICAgICAgIHJldHVybiBzZWxmLnNlcnZlci5waWQKKworICAgIGRlZiBpc19hbGl2ZShzZWxm
KToKKyAgICAgICAgIyBUT0RPKGF0byk6IFRoaXMgb25seSBpbmRpY2F0ZXMgdGhlIGRyaXZlciBp
cyBhbGl2ZSwKKyAgICAgICAgIyBhbmQgZG9lc24ndCBzYXkgYW55dGhpbmcgYWJvdXQgd2hldGhl
ciBhIGJyb3dzZXIgc2Vzc2lvbgorICAgICAgICAjIGlzIGFjdGl2ZS4KKyAgICAgICAgcmV0dXJu
IHNlbGYuc2VydmVyLmlzX2FsaXZlKCkKKworICAgIGRlZiBjbGVhbnVwKHNlbGYpOgorICAgICAg
ICBzZWxmLnN0b3AoKQorCisgICAgZGVmIGV4ZWN1dG9yX2Jyb3dzZXIoc2VsZik6CisgICAgICAg
IHJldHVybiBFeGVjdXRvckJyb3dzZXIsIHsid2ViZHJpdmVyX3VybCI6IHNlbGYuc2VydmVyLnVy
bH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9lZGdlLnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2Jyb3dzZXJzL2VkZ2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzU0ZWRiM2JhYjEyNDRjMTIxNjYzMmQ3
MDQ3MDExZWIwODMwMTg3YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vy
cy9lZGdlLnB5CkBAIC0wLDAgKzEsNzQgQEAKK2Zyb20gLmJhc2UgaW1wb3J0IEJyb3dzZXIsIEV4
ZWN1dG9yQnJvd3NlciwgcmVxdWlyZV9hcmcKK2Zyb20gLi53ZWJkcml2ZXJfc2VydmVyIGltcG9y
dCBFZGdlRHJpdmVyU2VydmVyCitmcm9tIC4uZXhlY3V0b3JzIGltcG9ydCBleGVjdXRvcl9rd2Fy
Z3MgYXMgYmFzZV9leGVjdXRvcl9rd2FyZ3MKK2Zyb20gLi5leGVjdXRvcnMuZXhlY3V0b3JzZWxl
bml1bSBpbXBvcnQgKFNlbGVuaXVtVGVzdGhhcm5lc3NFeGVjdXRvciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVuaXVtUmVmVGVzdEV4ZWN1dG9yKQorCitf
X3dwdHJ1bm5lcl9fID0geyJwcm9kdWN0IjogImVkZ2UiLAorICAgICAgICAgICAgICAgICAiY2hl
Y2tfYXJncyI6ICJjaGVja19hcmdzIiwKKyAgICAgICAgICAgICAgICAgImJyb3dzZXIiOiAiRWRn
ZUJyb3dzZXIiLAorICAgICAgICAgICAgICAgICAiZXhlY3V0b3IiOiB7InRlc3RoYXJuZXNzIjog
IlNlbGVuaXVtVGVzdGhhcm5lc3NFeGVjdXRvciIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAicmVmdGVzdCI6ICJTZWxlbml1bVJlZlRlc3RFeGVjdXRvciJ9LAorICAgICAgICAgICAg
ICAgICAiYnJvd3Nlcl9rd2FyZ3MiOiAiYnJvd3Nlcl9rd2FyZ3MiLAorICAgICAgICAgICAgICAg
ICAiZXhlY3V0b3Jfa3dhcmdzIjogImV4ZWN1dG9yX2t3YXJncyIsCisgICAgICAgICAgICAgICAg
ICJlbnZfZXh0cmFzIjogImVudl9leHRyYXMiLAorICAgICAgICAgICAgICAgICAiZW52X29wdGlv
bnMiOiAiZW52X29wdGlvbnMifQorCisKK2RlZiBjaGVja19hcmdzKCoqa3dhcmdzKToKKyAgICBy
ZXF1aXJlX2FyZyhrd2FyZ3MsICJ3ZWJkcml2ZXJfYmluYXJ5IikKKworZGVmIGJyb3dzZXJfa3dh
cmdzKCoqa3dhcmdzKToKKyAgICByZXR1cm4geyJ3ZWJkcml2ZXJfYmluYXJ5Ijoga3dhcmdzWyJ3
ZWJkcml2ZXJfYmluYXJ5Il0sCisgICAgICAgICAgICAid2ViZHJpdmVyX2FyZ3MiOiBrd2FyZ3Mu
Z2V0KCJ3ZWJkcml2ZXJfYXJncyIpfQorCitkZWYgZXhlY3V0b3Jfa3dhcmdzKHRlc3RfdHlwZSwg
c2VydmVyX2NvbmZpZywgY2FjaGVfbWFuYWdlciwgcnVuX2luZm9fZGF0YSwKKyAgICAgICAgICAg
ICAgICAgICAgKiprd2FyZ3MpOgorICAgIGZyb20gc2VsZW5pdW0ud2ViZHJpdmVyIGltcG9ydCBE
ZXNpcmVkQ2FwYWJpbGl0aWVzCisKKyAgICBleGVjdXRvcl9rd2FyZ3MgPSBiYXNlX2V4ZWN1dG9y
X2t3YXJncyh0ZXN0X3R5cGUsIHNlcnZlcl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY2FjaGVfbWFuYWdlciwgKiprd2FyZ3MpCisgICAgZXhlY3V0
b3Jfa3dhcmdzWyJjbG9zZV9hZnRlcl9kb25lIl0gPSBUcnVlCisgICAgZXhlY3V0b3Jfa3dhcmdz
WyJjYXBhYmlsaXRpZXMiXSA9IGRpY3QoRGVzaXJlZENhcGFiaWxpdGllcy5FREdFLml0ZW1zKCkp
CisgICAgcmV0dXJuIGV4ZWN1dG9yX2t3YXJncworCitkZWYgZW52X2V4dHJhcygqKmt3YXJncyk6
CisgICAgcmV0dXJuIFtdCisKK2RlZiBlbnZfb3B0aW9ucygpOgorICAgIHJldHVybiB7Imhvc3Qi
OiAid2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgImJpbmRfaG9zdG5hbWUiOiAidHJ1
ZSIsCisgICAgICAgICAgICAic3VwcG9ydHNfZGVidWdnZXIiOiBGYWxzZX0KKworY2xhc3MgRWRn
ZUJyb3dzZXIoQnJvd3Nlcik6CisgICAgdXNlZF9wb3J0cyA9IHNldCgpCisKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgbG9nZ2VyLCB3ZWJkcml2ZXJfYmluYXJ5LCB3ZWJkcml2ZXJfYXJncz1Ob25l
KToKKyAgICAgICAgQnJvd3Nlci5fX2luaXRfXyhzZWxmLCBsb2dnZXIpCisgICAgICAgIHNlbGYu
c2VydmVyID0gRWRnZURyaXZlclNlcnZlcihzZWxmLmxvZ2dlciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJpbmFyeT13ZWJkcml2ZXJfYmluYXJ5LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncz13ZWJkcml2ZXJfYXJncykKKyAgICAg
ICAgc2VsZi53ZWJkcml2ZXJfaG9zdCA9ICJsb2NhbGhvc3QiCisgICAgICAgIHNlbGYud2ViZHJp
dmVyX3BvcnQgPSBzZWxmLnNlcnZlci5wb3J0CisKKyAgICBkZWYgc3RhcnQoc2VsZik6CisgICAg
ICAgIHByaW50IHNlbGYuc2VydmVyLnVybAorICAgICAgICBzZWxmLnNlcnZlci5zdGFydCgpCisK
KyAgICBkZWYgc3RvcChzZWxmKToKKyAgICAgICAgc2VsZi5zZXJ2ZXIuc3RvcCgpCisKKyAgICBk
ZWYgcGlkKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5zZXJ2ZXIucGlkCisKKyAgICBkZWYg
aXNfYWxpdmUoc2VsZik6CisgICAgICAgICMgVE9ETyhhdG8pOiBUaGlzIG9ubHkgaW5kaWNhdGVz
IHRoZSBzZXJ2ZXIgaXMgYWxpdmUsCisgICAgICAgICMgYW5kIGRvZXNuJ3Qgc2F5IGFueXRoaW5n
IGFib3V0IHdoZXRoZXIgYSBicm93c2VyIHNlc3Npb24KKyAgICAgICAgIyBpcyBhY3RpdmUuCisg
ICAgICAgIHJldHVybiBzZWxmLnNlcnZlci5pc19hbGl2ZSgpCisKKyAgICBkZWYgY2xlYW51cChz
ZWxmKToKKyAgICAgICAgc2VsZi5zdG9wKCkKKworICAgIGRlZiBleGVjdXRvcl9icm93c2VyKHNl
bGYpOgorICAgICAgICByZXR1cm4gRXhlY3V0b3JCcm93c2VyLCB7IndlYmRyaXZlcl91cmwiOiBz
ZWxmLnNlcnZlci51cmx9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvZmlyZWZv
eC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9maXJlZm94LnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcxNTJm
ZDdjMWMyMGMwOTllZDg3NGJjMjMyYTgxOWI5OTkwNTk5OWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvZmlyZWZveC5weQpAQCAtMCwwICsxLDMwOCBAQAoraW1wb3J0
IG9zCitpbXBvcnQgcGxhdGZvcm0KK2ltcG9ydCBzaWduYWwKK2ltcG9ydCBzdWJwcm9jZXNzCitp
bXBvcnQgc3lzCisKK2ltcG9ydCBtb3ppbmZvCitmcm9tIG1venByb2Nlc3MgaW1wb3J0IFByb2Nl
c3NIYW5kbGVyCitmcm9tIG1venByb2ZpbGUgaW1wb3J0IEZpcmVmb3hQcm9maWxlLCBQcmVmZXJl
bmNlcworZnJvbSBtb3pwcm9maWxlLnBlcm1pc3Npb25zIGltcG9ydCBTZXJ2ZXJMb2NhdGlvbnMK
K2Zyb20gbW96cnVubmVyIGltcG9ydCBGaXJlZm94UnVubmVyCitmcm9tIG1venJ1bm5lci51dGls
cyBpbXBvcnQgZ2V0X3N0YWNrX2ZpeGVyX2Z1bmN0aW9uCitmcm9tIG1vemNyYXNoIGltcG9ydCBt
b3pjcmFzaAorCitmcm9tIC5iYXNlIGltcG9ydCAoZ2V0X2ZyZWVfcG9ydCwKKyAgICAgICAgICAg
ICAgICAgICBCcm93c2VyLAorICAgICAgICAgICAgICAgICAgIEV4ZWN1dG9yQnJvd3NlciwKKyAg
ICAgICAgICAgICAgICAgICByZXF1aXJlX2FyZywKKyAgICAgICAgICAgICAgICAgICBjbWRfYXJn
LAorICAgICAgICAgICAgICAgICAgIGJyb3dzZXJfY29tbWFuZCkKK2Zyb20gLi5leGVjdXRvcnMg
aW1wb3J0IGV4ZWN1dG9yX2t3YXJncyBhcyBiYXNlX2V4ZWN1dG9yX2t3YXJncworZnJvbSAuLmV4
ZWN1dG9ycy5leGVjdXRvcm1hcmlvbmV0dGUgaW1wb3J0IChNYXJpb25ldHRlVGVzdGhhcm5lc3NF
eGVjdXRvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFy
aW9uZXR0ZVJlZlRlc3RFeGVjdXRvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTWFyaW9uZXR0ZVdkc3BlY0V4ZWN1dG9yKQorZnJvbSAuLmVudmlyb25tZW50
IGltcG9ydCBob3N0bmFtZXMKKworCitoZXJlID0gb3MucGF0aC5qb2luKG9zLnBhdGguc3BsaXQo
X19maWxlX18pWzBdKQorCitfX3dwdHJ1bm5lcl9fID0geyJwcm9kdWN0IjogImZpcmVmb3giLAor
ICAgICAgICAgICAgICAgICAiY2hlY2tfYXJncyI6ICJjaGVja19hcmdzIiwKKyAgICAgICAgICAg
ICAgICAgImJyb3dzZXIiOiAiRmlyZWZveEJyb3dzZXIiLAorICAgICAgICAgICAgICAgICAiZXhl
Y3V0b3IiOiB7InRlc3RoYXJuZXNzIjogIk1hcmlvbmV0dGVUZXN0aGFybmVzc0V4ZWN1dG9yIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWZ0ZXN0IjogIk1hcmlvbmV0dGVSZWZU
ZXN0RXhlY3V0b3IiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndkc3BlYyI6ICJN
YXJpb25ldHRlV2RzcGVjRXhlY3V0b3IifSwKKyAgICAgICAgICAgICAgICAgImJyb3dzZXJfa3dh
cmdzIjogImJyb3dzZXJfa3dhcmdzIiwKKyAgICAgICAgICAgICAgICAgImV4ZWN1dG9yX2t3YXJn
cyI6ICJleGVjdXRvcl9rd2FyZ3MiLAorICAgICAgICAgICAgICAgICAiZW52X2V4dHJhcyI6ICJl
bnZfZXh0cmFzIiwKKyAgICAgICAgICAgICAgICAgImVudl9vcHRpb25zIjogImVudl9vcHRpb25z
IiwKKyAgICAgICAgICAgICAgICAgInJ1bl9pbmZvX2V4dHJhcyI6ICJydW5faW5mb19leHRyYXMi
LAorICAgICAgICAgICAgICAgICAidXBkYXRlX3Byb3BlcnRpZXMiOiAidXBkYXRlX3Byb3BlcnRp
ZXMifQorCisKK2RlZiBjaGVja19hcmdzKCoqa3dhcmdzKToKKyAgICByZXF1aXJlX2FyZyhrd2Fy
Z3MsICJiaW5hcnkiKQorICAgIGlmIGt3YXJnc1sic3NsX3R5cGUiXSAhPSAibm9uZSI6CisgICAg
ICAgIHJlcXVpcmVfYXJnKGt3YXJncywgImNlcnR1dGlsX2JpbmFyeSIpCisKKworZGVmIGJyb3dz
ZXJfa3dhcmdzKCoqa3dhcmdzKToKKyAgICByZXR1cm4geyJiaW5hcnkiOiBrd2FyZ3NbImJpbmFy
eSJdLAorICAgICAgICAgICAgInByZWZzX3Jvb3QiOiBrd2FyZ3NbInByZWZzX3Jvb3QiXSwKKyAg
ICAgICAgICAgICJleHRyYV9wcmVmcyI6IGt3YXJnc1siZXh0cmFfcHJlZnMiXSwKKyAgICAgICAg
ICAgICJkZWJ1Z19pbmZvIjoga3dhcmdzWyJkZWJ1Z19pbmZvIl0sCisgICAgICAgICAgICAic3lt
Ym9sc19wYXRoIjoga3dhcmdzWyJzeW1ib2xzX3BhdGgiXSwKKyAgICAgICAgICAgICJzdGFja3dh
bGtfYmluYXJ5Ijoga3dhcmdzWyJzdGFja3dhbGtfYmluYXJ5Il0sCisgICAgICAgICAgICAiY2Vy
dHV0aWxfYmluYXJ5Ijoga3dhcmdzWyJjZXJ0dXRpbF9iaW5hcnkiXSwKKyAgICAgICAgICAgICJj
YV9jZXJ0aWZpY2F0ZV9wYXRoIjoga3dhcmdzWyJzc2xfZW52Il0uY2FfY2VydF9wYXRoKCksCisg
ICAgICAgICAgICAiZTEwcyI6IGt3YXJnc1siZ2Vja29fZTEwcyJdLAorICAgICAgICAgICAgInN0
YWNrZml4X2RpciI6IGt3YXJnc1sic3RhY2tmaXhfZGlyIl0sCisgICAgICAgICAgICAiYmluYXJ5
X2FyZ3MiOiBrd2FyZ3NbImJpbmFyeV9hcmdzIl19CisKKworZGVmIGV4ZWN1dG9yX2t3YXJncyh0
ZXN0X3R5cGUsIHNlcnZlcl9jb25maWcsIGNhY2hlX21hbmFnZXIsIHJ1bl9pbmZvX2RhdGEsCisg
ICAgICAgICAgICAgICAgICAgICoqa3dhcmdzKToKKyAgICBleGVjdXRvcl9rd2FyZ3MgPSBiYXNl
X2V4ZWN1dG9yX2t3YXJncyh0ZXN0X3R5cGUsIHNlcnZlcl9jb25maWcsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVfbWFuYWdlciwgKiprd2FyZ3MpCisg
ICAgZXhlY3V0b3Jfa3dhcmdzWyJjbG9zZV9hZnRlcl9kb25lIl0gPSB0ZXN0X3R5cGUgIT0gInJl
ZnRlc3QiCisgICAgaWYga3dhcmdzWyJ0aW1lb3V0X211bHRpcGxpZXIiXSBpcyBOb25lOgorICAg
ICAgICBpZiB0ZXN0X3R5cGUgPT0gInJlZnRlc3QiOgorICAgICAgICAgICAgaWYgcnVuX2luZm9f
ZGF0YVsiZGVidWciXSBvciBydW5faW5mb19kYXRhLmdldCgiYXNhbiIpOgorICAgICAgICAgICAg
ICAgIGV4ZWN1dG9yX2t3YXJnc1sidGltZW91dF9tdWx0aXBsaWVyIl0gPSA0CisgICAgICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgICAgIGV4ZWN1dG9yX2t3YXJnc1sidGltZW91dF9tdWx0aXBs
aWVyIl0gPSAyCisgICAgICAgIGVsaWYgcnVuX2luZm9fZGF0YVsiZGVidWciXSBvciBydW5faW5m
b19kYXRhLmdldCgiYXNhbiIpOgorICAgICAgICAgICAgZXhlY3V0b3Jfa3dhcmdzWyJ0aW1lb3V0
X211bHRpcGxpZXIiXSA9IDMKKyAgICBpZiB0ZXN0X3R5cGUgPT0gIndkc3BlYyI6CisgICAgICAg
IGV4ZWN1dG9yX2t3YXJnc1siYmluYXJ5Il0gPSBrd2FyZ3NbImJpbmFyeSJdCisgICAgICAgIGV4
ZWN1dG9yX2t3YXJnc1sid2ViZHJpdmVyX2JpbmFyeSJdID0ga3dhcmdzLmdldCgid2ViZHJpdmVy
X2JpbmFyeSIpCisgICAgICAgIGV4ZWN1dG9yX2t3YXJnc1sid2ViZHJpdmVyX2FyZ3MiXSA9IGt3
YXJncy5nZXQoIndlYmRyaXZlcl9hcmdzIikKKyAgICAgICAgZnhPcHRpb25zID0ge30KKyAgICAg
ICAgaWYga3dhcmdzWyJiaW5hcnkiXToKKyAgICAgICAgICAgIGZ4T3B0aW9uc1siYmluYXJ5Il0g
PSBrd2FyZ3NbImJpbmFyeSJdCisgICAgICAgIGlmIGt3YXJnc1siYmluYXJ5X2FyZ3MiXToKKyAg
ICAgICAgICAgIGZ4T3B0aW9uc1siYXJncyJdID0ga3dhcmdzWyJiaW5hcnlfYXJncyJdCisgICAg
ICAgIGZ4T3B0aW9uc1sicHJlZnMiXSA9IHsKKyAgICAgICAgICAgICJuZXR3b3JrLmRucy5sb2Nh
bERvbWFpbnMiOiAiLCIuam9pbihob3N0bmFtZXMpCisgICAgICAgIH0KKyAgICAgICAgY2FwYWJp
bGl0aWVzID0geyJtb3o6ZmlyZWZveE9wdGlvbnMiOiBmeE9wdGlvbnN9CisgICAgICAgIGV4ZWN1
dG9yX2t3YXJnc1siY2FwYWJpbGl0aWVzIl0gPSBjYXBhYmlsaXRpZXMKKyAgICByZXR1cm4gZXhl
Y3V0b3Jfa3dhcmdzCisKKworZGVmIGVudl9leHRyYXMoKiprd2FyZ3MpOgorICAgIHJldHVybiBb
XQorCisKK2RlZiBlbnZfb3B0aW9ucygpOgorICAgIHJldHVybiB7Imhvc3QiOiAiMTI3LjAuMC4x
IiwKKyAgICAgICAgICAgICJleHRlcm5hbF9ob3N0IjogIndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAg
ICAgICAgICAgICJiaW5kX2hvc3RuYW1lIjogImZhbHNlIiwKKyAgICAgICAgICAgICJjZXJ0aWZp
Y2F0ZV9kb21haW4iOiAid2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgInN1cHBvcnRz
X2RlYnVnZ2VyIjogVHJ1ZX0KKworCitkZWYgcnVuX2luZm9fZXh0cmFzKCoqa3dhcmdzKToKKyAg
ICByZXR1cm4geyJlMTBzIjoga3dhcmdzWyJnZWNrb19lMTBzIl19CisKKworZGVmIHVwZGF0ZV9w
cm9wZXJ0aWVzKCk6CisgICAgcmV0dXJuIFsiZGVidWciLCAiZTEwcyIsICJvcyIsICJ2ZXJzaW9u
IiwgInByb2Nlc3NvciIsICJiaXRzIl0sIHsiZGVidWciLCAiZTEwcyJ9CisKKworY2xhc3MgRmly
ZWZveEJyb3dzZXIoQnJvd3Nlcik6CisgICAgdXNlZF9wb3J0cyA9IHNldCgpCisgICAgaW5pdF90
aW1lb3V0ID0gNjAKKyAgICBzaHV0ZG93bl90aW1lb3V0ID0gNjAKKworICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBsb2dnZXIsIGJpbmFyeSwgcHJlZnNfcm9vdCwgZXh0cmFfcHJlZnM9Tm9uZSwgZGVi
dWdfaW5mbz1Ob25lLAorICAgICAgICAgICAgICAgICBzeW1ib2xzX3BhdGg9Tm9uZSwgc3RhY2t3
YWxrX2JpbmFyeT1Ob25lLCBjZXJ0dXRpbF9iaW5hcnk9Tm9uZSwKKyAgICAgICAgICAgICAgICAg
Y2FfY2VydGlmaWNhdGVfcGF0aD1Ob25lLCBlMTBzPUZhbHNlLCBzdGFja2ZpeF9kaXI9Tm9uZSwK
KyAgICAgICAgICAgICAgICAgYmluYXJ5X2FyZ3M9Tm9uZSk6CisgICAgICAgIEJyb3dzZXIuX19p
bml0X18oc2VsZiwgbG9nZ2VyKQorICAgICAgICBzZWxmLmJpbmFyeSA9IGJpbmFyeQorICAgICAg
ICBzZWxmLnByZWZzX3Jvb3QgPSBwcmVmc19yb290CisgICAgICAgIHNlbGYuZXh0cmFfcHJlZnMg
PSBleHRyYV9wcmVmcworICAgICAgICBzZWxmLm1hcmlvbmV0dGVfcG9ydCA9IE5vbmUKKyAgICAg
ICAgc2VsZi5ydW5uZXIgPSBOb25lCisgICAgICAgIHNlbGYuZGVidWdfaW5mbyA9IGRlYnVnX2lu
Zm8KKyAgICAgICAgc2VsZi5wcm9maWxlID0gTm9uZQorICAgICAgICBzZWxmLnN5bWJvbHNfcGF0
aCA9IHN5bWJvbHNfcGF0aAorICAgICAgICBzZWxmLnN0YWNrd2Fsa19iaW5hcnkgPSBzdGFja3dh
bGtfYmluYXJ5CisgICAgICAgIHNlbGYuY2FfY2VydGlmaWNhdGVfcGF0aCA9IGNhX2NlcnRpZmlj
YXRlX3BhdGgKKyAgICAgICAgc2VsZi5jZXJ0dXRpbF9iaW5hcnkgPSBjZXJ0dXRpbF9iaW5hcnkK
KyAgICAgICAgc2VsZi5lMTBzID0gZTEwcworICAgICAgICBzZWxmLmJpbmFyeV9hcmdzID0gYmlu
YXJ5X2FyZ3MKKyAgICAgICAgaWYgc2VsZi5zeW1ib2xzX3BhdGggYW5kIHN0YWNrZml4X2RpcjoK
KyAgICAgICAgICAgIHNlbGYuc3RhY2tfZml4ZXIgPSBnZXRfc3RhY2tfZml4ZXJfZnVuY3Rpb24o
c3RhY2tmaXhfZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLnN5bWJvbHNfcGF0aCkKKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIHNlbGYuc3RhY2tfZml4ZXIgPSBOb25lCisKKyAgICBkZWYgc3RhcnQoc2VsZik6CisgICAg
ICAgIHNlbGYubWFyaW9uZXR0ZV9wb3J0ID0gZ2V0X2ZyZWVfcG9ydCgyODI4LCBleGNsdWRlPXNl
bGYudXNlZF9wb3J0cykKKyAgICAgICAgc2VsZi51c2VkX3BvcnRzLmFkZChzZWxmLm1hcmlvbmV0
dGVfcG9ydCkKKworICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQorICAgICAgICBlbnZb
Ik1PWl9ESVNBQkxFX05PTkxPQ0FMX0NPTk5FQ1RJT05TIl0gPSAiMSIKKworICAgICAgICBsb2Nh
dGlvbnMgPSBTZXJ2ZXJMb2NhdGlvbnMoZmlsZW5hbWU9b3MucGF0aC5qb2luKGhlcmUsICJzZXJ2
ZXItbG9jYXRpb25zLnR4dCIpKQorCisgICAgICAgIHByZWZlcmVuY2VzID0gc2VsZi5sb2FkX3By
ZWZzKCkKKworICAgICAgICBzZWxmLnByb2ZpbGUgPSBGaXJlZm94UHJvZmlsZShsb2NhdGlvbnM9
bG9jYXRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmZXJl
bmNlcz1wcmVmZXJlbmNlcykKKyAgICAgICAgc2VsZi5wcm9maWxlLnNldF9wcmVmZXJlbmNlcyh7
Im1hcmlvbmV0dGUuZW5hYmxlZCI6IFRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJtYXJpb25ldHRlLnBvcnQiOiBzZWxmLm1hcmlvbmV0dGVfcG9ydCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRvbS5kaXNhYmxlX29wZW5fZHVyaW5n
X2xvYWQiOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5l
dHdvcmsuZG5zLmxvY2FsRG9tYWlucyI6ICIsIi5qb2luKGhvc3RuYW1lcyksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuZXR3b3JrLnByb3h5LnR5cGUiOiAwLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGxhY2VzLmhpc3RvcnkuZW5hYmxl
ZCI6IEZhbHNlfSkKKyAgICAgICAgaWYgc2VsZi5lMTBzOgorICAgICAgICAgICAgc2VsZi5wcm9m
aWxlLnNldF9wcmVmZXJlbmNlcyh7ImJyb3dzZXIudGFicy5yZW1vdGUuYXV0b3N0YXJ0IjogVHJ1
ZX0pCisKKyAgICAgICAgIyBCdWcgMTI2Mjk1NDogd2lueHAgKyBlMTBzLCBkaXNhYmxlIGh3YWNj
ZWwKKyAgICAgICAgaWYgKHNlbGYuZTEwcyBhbmQgcGxhdGZvcm0uc3lzdGVtKCkgaW4gKCJXaW5k
b3dzIiwgIk1pY3Jvc29mdCIpIGFuZAorICAgICAgICAgICAgJzUuMScgaW4gcGxhdGZvcm0udmVy
c2lvbigpKToKKyAgICAgICAgICAgIHNlbGYucHJvZmlsZS5zZXRfcHJlZmVyZW5jZXMoeyJsYXll
cnMuYWNjZWxlcmF0aW9uLmRpc2FibGVkIjogVHJ1ZX0pCisKKyAgICAgICAgaWYgc2VsZi5jYV9j
ZXJ0aWZpY2F0ZV9wYXRoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5zZXR1cF9zc2wo
KQorCisgICAgICAgIGRlYnVnX2FyZ3MsIGNtZCA9IGJyb3dzZXJfY29tbWFuZChzZWxmLmJpbmFy
eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYmluYXJ5
X2FyZ3MgaWYgc2VsZi5iaW5hcnlfYXJncyBlbHNlIFtdICsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFtjbWRfYXJnKCJtYXJpb25ldHRlIiksICJhYm91dDpibGFu
ayJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kZWJ1
Z19pbmZvKQorCisgICAgICAgIHNlbGYucnVubmVyID0gRmlyZWZveFJ1bm5lcihwcm9maWxlPXNl
bGYucHJvZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmFyeT1j
bWRbMF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWRhcmdzPWNtZFsx
Ol0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9ZW52LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc19jbGFzcz1Qcm9jZXNzSGFuZGxl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NfYXJncz17InBy
b2Nlc3NPdXRwdXRMaW5lIjogW3NlbGYub25fb3V0cHV0XX0pCisKKyAgICAgICAgc2VsZi5sb2dn
ZXIuZGVidWcoIlN0YXJ0aW5nIEZpcmVmb3giKQorCisgICAgICAgIHNlbGYucnVubmVyLnN0YXJ0
KGRlYnVnX2FyZ3M9ZGVidWdfYXJncywgaW50ZXJhY3RpdmU9c2VsZi5kZWJ1Z19pbmZvIGFuZCBz
ZWxmLmRlYnVnX2luZm8uaW50ZXJhY3RpdmUpCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJG
aXJlZm94IFN0YXJ0ZWQiKQorCisgICAgZGVmIGxvYWRfcHJlZnMoc2VsZik6CisgICAgICAgIHBy
ZWZzID0gUHJlZmVyZW5jZXMoKQorCisgICAgICAgIHByZWZzX3BhdGggPSBvcy5wYXRoLmpvaW4o
c2VsZi5wcmVmc19yb290LCAicHJlZnNfZ2VuZXJhbC5qcyIpCisgICAgICAgIGlmIG9zLnBhdGgu
ZXhpc3RzKHByZWZzX3BhdGgpOgorICAgICAgICAgICAgcHJlZnMuYWRkKFByZWZlcmVuY2VzLnJl
YWRfcHJlZnMocHJlZnNfcGF0aCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmxv
Z2dlci53YXJuaW5nKCJGYWlsZWQgdG8gZmluZCBiYXNlIHByZWZzIGZpbGUgaW4gJXMiICUgcHJl
ZnNfcGF0aCkKKworICAgICAgICAjIEFkZCBhbnkgY3VzdG9tIHByZWZlcmVuY2VzCisgICAgICAg
IHByZWZzLmFkZChzZWxmLmV4dHJhX3ByZWZzLCBjYXN0PVRydWUpCisKKyAgICAgICAgcmV0dXJu
IHByZWZzKCkKKworICAgIGRlZiBzdG9wKHNlbGYsIGZvcmNlPUZhbHNlKToKKyAgICAgICAgaWYg
c2VsZi5ydW5uZXIgaXMgbm90IE5vbmUgYW5kIHNlbGYucnVubmVyLmlzX3J1bm5pbmcoKToKKyAg
ICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAjIEZvciBGaXJlZm94IHdlIGFzc3VtZSB0
aGF0IHN0b3BwaW5nIHRoZSBydW5uZXIgcHJvbXB0cyB0aGUKKyAgICAgICAgICAgICAgICAjIGJy
b3dzZXIgdG8gc2h1dCBkb3duLiBUaGlzIGFsbG93cyB0aGUgbGVhayBsb2cgdG8gYmUgd3JpdHRl
bgorICAgICAgICAgICAgICAgIGZvciBjbGVhbiwgc3RvcF9mIGluIFsoVHJ1ZSwgbGFtYmRhOiBz
ZWxmLnJ1bm5lci53YWl0KHNlbGYuc2h1dGRvd25fdGltZW91dCkpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoRmFsc2UsIGxhbWJkYTogc2VsZi5ydW5uZXIuc3RvcChz
aWduYWwuU0lHVEVSTSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
RmFsc2UsIGxhbWJkYTogc2VsZi5ydW5uZXIuc3RvcChzaWduYWwuU0lHS0lMTCkpXToKKyAgICAg
ICAgICAgICAgICAgICAgaWYgbm90IGZvcmNlIG9yIG5vdCBjbGVhbjoKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJldGNvZGUgPSBzdG9wX2YoKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYg
cmV0Y29kZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxv
Z2dlci5pbmZvKCJCcm93c2VyIGV4aXRlZCB3aXRoIHJldHVybiBjb2RlICVzIiAlIHJldGNvZGUp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGV4Y2VwdCBP
U0Vycm9yOgorICAgICAgICAgICAgICAgICMgVGhpcyBjYW4gaGFwcGVuIG9uIFdpbmRvd3MgaWYg
dGhlIHByb2Nlc3MgaXMgYWxyZWFkeSBkZWFkCisgICAgICAgICAgICAgICAgcGFzcworCisgICAg
ZGVmIHBpZChzZWxmKToKKyAgICAgICAgaWYgc2VsZi5ydW5uZXIucHJvY2Vzc19oYW5kbGVyIGlz
IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIHRyeToKKyAgICAgICAg
ICAgIHJldHVybiBzZWxmLnJ1bm5lci5wcm9jZXNzX2hhbmRsZXIucGlkCisgICAgICAgIGV4Y2Vw
dCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgb25f
b3V0cHV0KHNlbGYsIGxpbmUpOgorICAgICAgICAiIiJXcml0ZSBhIGxpbmUgb2Ygb3V0cHV0IGZy
b20gdGhlIGZpcmVmb3ggcHJvY2VzcyB0byB0aGUgbG9nIiIiCisgICAgICAgIGRhdGEgPSBsaW5l
LmRlY29kZSgidXRmOCIsICJyZXBsYWNlIikKKyAgICAgICAgaWYgc2VsZi5zdGFja19maXhlcjoK
KyAgICAgICAgICAgIGRhdGEgPSBzZWxmLnN0YWNrX2ZpeGVyKGRhdGEpCisgICAgICAgIHNlbGYu
bG9nZ2VyLnByb2Nlc3Nfb3V0cHV0KHNlbGYucGlkKCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bW1hbmQ9IiAiLmpvaW4oc2VsZi5ydW5uZXIuY29tbWFuZCkpCisKKyAgICBkZWYgaXNfYWxpdmUo
c2VsZik6CisgICAgICAgIGlmIHNlbGYucnVubmVyOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYu
cnVubmVyLmlzX3J1bm5pbmcoKQorICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRlZiBjbGVh
bnVwKHNlbGYpOgorICAgICAgICBzZWxmLnN0b3AoKQorCisgICAgZGVmIGV4ZWN1dG9yX2Jyb3dz
ZXIoc2VsZik6CisgICAgICAgIGFzc2VydCBzZWxmLm1hcmlvbmV0dGVfcG9ydCBpcyBub3QgTm9u
ZQorICAgICAgICByZXR1cm4gRXhlY3V0b3JCcm93c2VyLCB7Im1hcmlvbmV0dGVfcG9ydCI6IHNl
bGYubWFyaW9uZXR0ZV9wb3J0fQorCisgICAgZGVmIGxvZ19jcmFzaChzZWxmLCBwcm9jZXNzLCB0
ZXN0KToKKyAgICAgICAgZHVtcF9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5wcm9maWxlLnByb2Zp
bGUsICJtaW5pZHVtcHMiKQorCisgICAgICAgIG1vemNyYXNoLmxvZ19jcmFzaGVzKHNlbGYubG9n
Z2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdW1wX2RpciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3ltYm9sc19wYXRoPXNlbGYuc3ltYm9sc19wYXRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdGFja3dhbGtfYmluYXJ5PXNlbGYuc3RhY2t3YWxrX2Jp
bmFyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzcz1wcm9jZXNzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0PXRlc3QpCisKKyAgICBkZWYgc2V0dXBfc3Ns
KHNlbGYpOgorICAgICAgICAiIiJDcmVhdGUgYSBjZXJ0aWZpY2F0ZSBkYXRhYmFzZSB0byB1c2Ug
aW4gdGhlIHRlc3QgcHJvZmlsZS4gVGhpcyBpcyBjb25maWd1cmVkCisgICAgICAgIHRvIHRydXN0
IHRoZSBDQSBDZXJ0aWZpY2F0ZSB0aGF0IGhhcyBzaWduZWQgdGhlIHdlYi1wbGF0Zm9ybS50ZXN0
IHNlcnZlcgorICAgICAgICBjZXJ0aWZpY2F0ZS4iIiIKKworICAgICAgICBzZWxmLmxvZ2dlci5p
bmZvKCJTZXR0aW5nIHVwIHNzbCIpCisKKyAgICAgICAgIyBNYWtlIHN1cmUgdGhlIGNlcnR1dGls
IGxpYnJhcmllcyBmcm9tIHRoZSBzb3VyY2UgdHJlZSBhcmUgbG9hZGVkIHdoZW4gdXNpbmcgYQor
ICAgICAgICAjIGxvY2FsIGNvcHkgb2YgY2VydHV0aWwKKyAgICAgICAgIyBUT0RPOiBNYXliZSBv
bmx5IHNldCB0aGlzIGlmIGNlcnR1dGlsIHdvbid0IGxhdW5jaD8KKyAgICAgICAgZW52ID0gb3Mu
ZW52aXJvbi5jb3B5KCkKKyAgICAgICAgY2VydHV0aWxfZGlyID0gb3MucGF0aC5kaXJuYW1lKHNl
bGYuYmluYXJ5KQorICAgICAgICBpZiBtb3ppbmZvLmlzTWFjOgorICAgICAgICAgICAgZW52X3Zh
ciA9ICJEWUxEX0xJQlJBUllfUEFUSCIKKyAgICAgICAgZWxpZiBtb3ppbmZvLmlzVW5peDoKKyAg
ICAgICAgICAgIGVudl92YXIgPSAiTERfTElCUkFSWV9QQVRIIgorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgZW52X3ZhciA9ICJQQVRIIgorCisKKyAgICAgICAgZW52W2Vudl92YXJdID0gKG9z
LnBhdGgucGF0aHNlcC5qb2luKFtjZXJ0dXRpbF9kaXIsIGVudltlbnZfdmFyXV0pCisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiBlbnZfdmFyIGluIGVudiBlbHNlIGNlcnR1dGlsX2RpcikuZW5j
b2RlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXMuZ2V0ZmlsZXN5c3RlbWVu
Y29kaW5nKCkgb3IgJ3V0Zi04JywgJ3JlcGxhY2UnKQorCisgICAgICAgIGRlZiBjZXJ0dXRpbCgq
YXJncyk6CisgICAgICAgICAgICBjbWQgPSBbc2VsZi5jZXJ0dXRpbF9iaW5hcnldICsgbGlzdChh
cmdzKQorICAgICAgICAgICAgc2VsZi5sb2dnZXIucHJvY2Vzc19vdXRwdXQoImNlcnR1dGlsIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tf
b3V0cHV0KGNtZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGVudj1lbnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5TVERP
VVQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAiLmpvaW4oY21k
KSkKKworICAgICAgICBwd19wYXRoID0gb3MucGF0aC5qb2luKHNlbGYucHJvZmlsZS5wcm9maWxl
LCAiLmNydGRicHciKQorICAgICAgICB3aXRoIG9wZW4ocHdfcGF0aCwgInciKSBhcyBmOgorICAg
ICAgICAgICAgIyBVc2UgZW1wdHkgcGFzc3dvcmQgZm9yIGNlcnRpZmljYXRlIGRiCisgICAgICAg
ICAgICBmLndyaXRlKCJcbiIpCisKKyAgICAgICAgY2VydF9kYl9wYXRoID0gc2VsZi5wcm9maWxl
LnByb2ZpbGUKKworICAgICAgICAjIENyZWF0ZSBhIG5ldyBjZXJ0aWZpY2F0ZSBkYgorICAgICAg
ICBjZXJ0dXRpbCgiLU4iLCAiLWQiLCBjZXJ0X2RiX3BhdGgsICItZiIsIHB3X3BhdGgpCisKKyAg
ICAgICAgIyBBZGQgdGhlIENBIGNlcnRpZmljYXRlIHRvIHRoZSBkYXRhYmFzZSBhbmQgbWFyayBh
cyB0cnVzdGVkIHRvIGlzc3VlIHNlcnZlciBjZXJ0cworICAgICAgICBjZXJ0dXRpbCgiLUEiLCAi
LWQiLCBjZXJ0X2RiX3BhdGgsICItZiIsIHB3X3BhdGgsICItdCIsICJDVCwsIiwKKyAgICAgICAg
ICAgICAgICAgIi1uIiwgIndlYi1wbGF0Zm9ybS10ZXN0cyIsICItaSIsIHNlbGYuY2FfY2VydGlm
aWNhdGVfcGF0aCkKKworICAgICAgICAjIExpc3QgYWxsIGNlcnRzIGluIHRoZSBkYXRhYmFzZQor
ICAgICAgICBjZXJ0dXRpbCgiLUwiLCAiLWQiLCBjZXJ0X2RiX3BhdGgpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1
Y2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzMwMGI2YWZlZmI4YjVmZWJjZTE1NjQ4ZmJkYWMzMjM5MDc5ZWRm
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZS5weQpAQCAt
MCwwICsxLDIwOCBAQAorIyBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUg
dGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljCisjIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5
IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMgZmlsZSwKKyMgWW91IGNh
biBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4KKworaW1wb3J0IGds
b2IKK2ltcG9ydCBvcworaW1wb3J0IHNodXRpbAoraW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCB0
YXJmaWxlCitpbXBvcnQgdGVtcGZpbGUKK2ltcG9ydCB0aW1lCitmcm9tIGNTdHJpbmdJTyBpbXBv
cnQgU3RyaW5nSU8gYXMgQ1N0cmluZ0lPCisKK2ltcG9ydCByZXF1ZXN0cworCitmcm9tIC5iYXNl
IGltcG9ydCBCcm93c2VyLCBFeGVjdXRvckJyb3dzZXIsIHJlcXVpcmVfYXJnCitmcm9tIC4uZXhl
Y3V0b3JzIGltcG9ydCBleGVjdXRvcl9rd2FyZ3MgYXMgYmFzZV9leGVjdXRvcl9rd2FyZ3MKK2Zy
b20gLi5leGVjdXRvcnMuZXhlY3V0b3JzZWxlbml1bSBpbXBvcnQgKFNlbGVuaXVtVGVzdGhhcm5l
c3NFeGVjdXRvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNl
bGVuaXVtUmVmVGVzdEV4ZWN1dG9yKQorCitoZXJlID0gb3MucGF0aC5zcGxpdChfX2ZpbGVfXylb
MF0KKworCitfX3dwdHJ1bm5lcl9fID0geyJwcm9kdWN0IjogInNhdWNlIiwKKyAgICAgICAgICAg
ICAgICAgImNoZWNrX2FyZ3MiOiAiY2hlY2tfYXJncyIsCisgICAgICAgICAgICAgICAgICJicm93
c2VyIjogIlNhdWNlQnJvd3NlciIsCisgICAgICAgICAgICAgICAgICJleGVjdXRvciI6IHsidGVz
dGhhcm5lc3MiOiAiU2VsZW5pdW1UZXN0aGFybmVzc0V4ZWN1dG9yIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJyZWZ0ZXN0IjogIlNlbGVuaXVtUmVmVGVzdEV4ZWN1dG9yIn0sCisg
ICAgICAgICAgICAgICAgICJicm93c2VyX2t3YXJncyI6ICJicm93c2VyX2t3YXJncyIsCisgICAg
ICAgICAgICAgICAgICJleGVjdXRvcl9rd2FyZ3MiOiAiZXhlY3V0b3Jfa3dhcmdzIiwKKyAgICAg
ICAgICAgICAgICAgImVudl9leHRyYXMiOiAiZW52X2V4dHJhcyIsCisgICAgICAgICAgICAgICAg
ICJlbnZfb3B0aW9ucyI6ICJlbnZfb3B0aW9ucyJ9CisKKworZGVmIGdldF9jYXBhYmlsaXRpZXMo
Kiprd2FyZ3MpOgorICAgIGJyb3dzZXJfbmFtZSA9IGt3YXJnc1sic2F1Y2VfYnJvd3NlciJdCisg
ICAgcGxhdGZvcm0gPSBrd2FyZ3NbInNhdWNlX3BsYXRmb3JtIl0KKyAgICB2ZXJzaW9uID0ga3dh
cmdzWyJzYXVjZV92ZXJzaW9uIl0KKyAgICBidWlsZCA9IGt3YXJnc1sic2F1Y2VfYnVpbGQiXQor
ICAgIHRhZ3MgPSBrd2FyZ3NbInNhdWNlX3RhZ3MiXQorICAgIHR1bm5lbF9pZCA9IGt3YXJnc1si
c2F1Y2VfdHVubmVsX2lkIl0KKyAgICBwcmVydW5fc2NyaXB0ID0geworICAgICAgICAiTWljcm9z
b2Z0RWRnZSI6IHsKKyAgICAgICAgICAgICJleGVjdXRhYmxlIjogInNhdWNlLXN0b3JhZ2U6ZWRn
ZS1wcmVydW4uYmF0IiwKKyAgICAgICAgICAgICJiYWNrZ3JvdW5kIjogRmFsc2UsCisgICAgICAg
IH0sCisgICAgICAgICJzYWZhcmkiOiB7CisgICAgICAgICAgICAiZXhlY3V0YWJsZSI6ICJzYXVj
ZS1zdG9yYWdlOnNhZmFyaS1wcmVydW4uc2giLAorICAgICAgICAgICAgImJhY2tncm91bmQiOiBG
YWxzZSwKKyAgICAgICAgfQorICAgIH0KKyAgICBjYXBhYmlsaXRpZXMgPSB7CisgICAgICAgICJi
cm93c2VyTmFtZSI6IGJyb3dzZXJfbmFtZSwKKyAgICAgICAgImJ1aWxkIjogYnVpbGQsCisgICAg
ICAgICJkaXNhYmxlUG9wdXBIYW5kbGVyIjogVHJ1ZSwKKyAgICAgICAgIm5hbWUiOiAiJXMgJXMg
b24gJXMiICUgKGJyb3dzZXJfbmFtZSwgdmVyc2lvbiwgcGxhdGZvcm0pLAorICAgICAgICAicGxh
dGZvcm0iOiBwbGF0Zm9ybSwKKyAgICAgICAgInB1YmxpYyI6ICJwdWJsaWMiLAorICAgICAgICAi
c2VsZW5pdW0tdmVyc2lvbiI6ICIzLjMuMSIsCisgICAgICAgICJ0YWdzIjogdGFncywKKyAgICAg
ICAgInR1bm5lbC1pZGVudGlmaWVyIjogdHVubmVsX2lkLAorICAgICAgICAidmVyc2lvbiI6IHZl
cnNpb24sCisgICAgICAgICJwcmVydW4iOiBwcmVydW5fc2NyaXB0LmdldChicm93c2VyX25hbWUp
CisgICAgfQorCisgICAgaWYgYnJvd3Nlcl9uYW1lID09ICdNaWNyb3NvZnRFZGdlJzoKKyAgICAg
ICAgY2FwYWJpbGl0aWVzWydzZWxlbml1bS12ZXJzaW9uJ10gPSAnMi40LjgnCisKKyAgICByZXR1
cm4gY2FwYWJpbGl0aWVzCisKKworZGVmIGdldF9zYXVjZV9jb25maWcoKiprd2FyZ3MpOgorICAg
IGJyb3dzZXJfbmFtZSA9IGt3YXJnc1sic2F1Y2VfYnJvd3NlciJdCisgICAgc2F1Y2VfdXNlciA9
IGt3YXJnc1sic2F1Y2VfdXNlciJdCisgICAgc2F1Y2Vfa2V5ID0ga3dhcmdzWyJzYXVjZV9rZXki
XQorCisgICAgaHViX3VybCA9ICIlczolc0Bsb2NhbGhvc3Q6NDQ0NSIgJSAoc2F1Y2VfdXNlciwg
c2F1Y2Vfa2V5KQorICAgIGRhdGEgPSB7CisgICAgICAgICJ1cmwiOiAiaHR0cDovLyVzL3dkL2h1
YiIgJSBodWJfdXJsLAorICAgICAgICAiYnJvd3Nlck5hbWUiOiBicm93c2VyX25hbWUsCisgICAg
ICAgICJjYXBhYmlsaXRpZXMiOiBnZXRfY2FwYWJpbGl0aWVzKCoqa3dhcmdzKQorICAgIH0KKwor
ICAgIHJldHVybiBkYXRhCisKKworZGVmIGNoZWNrX2FyZ3MoKiprd2FyZ3MpOgorICAgIHJlcXVp
cmVfYXJnKGt3YXJncywgInNhdWNlX2Jyb3dzZXIiKQorICAgIHJlcXVpcmVfYXJnKGt3YXJncywg
InNhdWNlX3BsYXRmb3JtIikKKyAgICByZXF1aXJlX2FyZyhrd2FyZ3MsICJzYXVjZV92ZXJzaW9u
IikKKyAgICByZXF1aXJlX2FyZyhrd2FyZ3MsICJzYXVjZV91c2VyIikKKyAgICByZXF1aXJlX2Fy
Zyhrd2FyZ3MsICJzYXVjZV9rZXkiKQorCisKK2RlZiBicm93c2VyX2t3YXJncygqKmt3YXJncyk6
CisgICAgc2F1Y2VfY29uZmlnID0gZ2V0X3NhdWNlX2NvbmZpZygqKmt3YXJncykKKworICAgIHJl
dHVybiB7InNhdWNlX2NvbmZpZyI6IHNhdWNlX2NvbmZpZ30KKworCitkZWYgZXhlY3V0b3Jfa3dh
cmdzKHRlc3RfdHlwZSwgc2VydmVyX2NvbmZpZywgY2FjaGVfbWFuYWdlciwgcnVuX2luZm9fZGF0
YSwKKyAgICAgICAgICAgICAgICAgICAgKiprd2FyZ3MpOgorICAgIGV4ZWN1dG9yX2t3YXJncyA9
IGJhc2VfZXhlY3V0b3Jfa3dhcmdzKHRlc3RfdHlwZSwgc2VydmVyX2NvbmZpZywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZV9tYW5hZ2VyLCAqKmt3YXJn
cykKKworICAgIGV4ZWN1dG9yX2t3YXJnc1siY2FwYWJpbGl0aWVzIl0gPSBnZXRfY2FwYWJpbGl0
aWVzKCoqa3dhcmdzKQorCisgICAgcmV0dXJuIGV4ZWN1dG9yX2t3YXJncworCisKK2RlZiBlbnZf
ZXh0cmFzKCoqa3dhcmdzKToKKyAgICByZXR1cm4gW1NhdWNlQ29ubmVjdCgqKmt3YXJncyldCisK
KworZGVmIGVudl9vcHRpb25zKCk6CisgICAgcmV0dXJuIHsiaG9zdCI6ICJ3ZWItcGxhdGZvcm0u
dGVzdCIsCisgICAgICAgICAgICAiYmluZF9ob3N0bmFtZSI6ICJ0cnVlIiwKKyAgICAgICAgICAg
ICJzdXBwb3J0c19kZWJ1Z2dlciI6IEZhbHNlfQorCisKK2RlZiBnZXRfdGFyKHVybCwgZGVzdCk6
CisgICAgcmVzcCA9IHJlcXVlc3RzLmdldCh1cmwsIHN0cmVhbT1UcnVlKQorICAgIHJlc3AucmFp
c2VfZm9yX3N0YXR1cygpCisgICAgd2l0aCB0YXJmaWxlLm9wZW4oZmlsZW9iaj1DU3RyaW5nSU8o
cmVzcC5yYXcucmVhZCgpKSkgYXMgZjoKKyAgICAgICAgZi5leHRyYWN0YWxsKHBhdGg9ZGVzdCkK
KworCitjbGFzcyBTYXVjZUNvbm5lY3QoKToKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqKmt3
YXJncyk6CisgICAgICAgIHNlbGYuc2F1Y2VfdXNlciA9IGt3YXJnc1sic2F1Y2VfdXNlciJdCisg
ICAgICAgIHNlbGYuc2F1Y2Vfa2V5ID0ga3dhcmdzWyJzYXVjZV9rZXkiXQorICAgICAgICBzZWxm
LnNhdWNlX3R1bm5lbF9pZCA9IGt3YXJnc1sic2F1Y2VfdHVubmVsX2lkIl0KKyAgICAgICAgc2Vs
Zi5zYXVjZV9jb25uZWN0X2JpbmFyeSA9IGt3YXJncy5nZXQoInNhdWNlX2Nvbm5lY3RfYmluYXJ5
IikKKyAgICAgICAgc2VsZi5zY19wcm9jZXNzID0gTm9uZQorICAgICAgICBzZWxmLnRlbXBfZGly
ID0gTm9uZQorCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmLCBvcHRpb25zKToKKyAgICAgICAgaWYg
bm90IHNlbGYuc2F1Y2VfY29ubmVjdF9iaW5hcnk6CisgICAgICAgICAgICBzZWxmLnRlbXBfZGly
ID0gdGVtcGZpbGUubWtkdGVtcCgpCisgICAgICAgICAgICBnZXRfdGFyKCJodHRwczovL3NhdWNl
bGFicy5jb20vZG93bmxvYWRzL3NjLWxhdGVzdC1saW51eC50YXIuZ3oiLCBzZWxmLnRlbXBfZGly
KQorICAgICAgICAgICAgc2VsZi5zYXVjZV9jb25uZWN0X2JpbmFyeSA9IGdsb2IuZ2xvYihvcy5w
YXRoLmpvaW4oc2VsZi50ZW1wX2RpciwgInNjLSotbGludXgvYmluL3NjIikpWzBdCisKKyAgICAg
ICAgc2VsZi51cGxvYWRfcHJlcnVuX2V4ZWMoJ2VkZ2UtcHJlcnVuLmJhdCcpCisgICAgICAgIHNl
bGYudXBsb2FkX3ByZXJ1bl9leGVjKCdzYWZhcmktcHJlcnVuLnNoJykKKworICAgICAgICBzZWxm
LnNjX3Byb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKFsKKyAgICAgICAgICAgIHNlbGYuc2F1Y2Vf
Y29ubmVjdF9iaW5hcnksCisgICAgICAgICAgICAiLS11c2VyPSVzIiAlIHNlbGYuc2F1Y2VfdXNl
ciwKKyAgICAgICAgICAgICItLWFwaS1rZXk9JXMiICUgc2VsZi5zYXVjZV9rZXksCisgICAgICAg
ICAgICAiLS1uby1yZW1vdmUtY29sbGlkaW5nLXR1bm5lbHMiLAorICAgICAgICAgICAgIi0tdHVu
bmVsLWlkZW50aWZpZXI9JXMiICUgc2VsZi5zYXVjZV90dW5uZWxfaWQsCisgICAgICAgICAgICAi
LS1yZWFkeWZpbGU9Li9zYXVjZV9pc19yZWFkeSIsCisgICAgICAgICAgICAiLS10dW5uZWwtZG9t
YWlucyIsCisgICAgICAgICAgICAid2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgIiou
d2ViLXBsYXRmb3JtLnRlc3QiCisgICAgICAgIF0pCisgICAgICAgIHdoaWxlIG5vdCBvcy5wYXRo
LmV4aXN0cygnLi9zYXVjZV9pc19yZWFkeScpIGFuZCBub3Qgc2VsZi5zY19wcm9jZXNzLnBvbGwo
KToKKyAgICAgICAgICAgIHRpbWUuc2xlZXAoNSkKKworICAgICAgICBpZiBzZWxmLnNjX3Byb2Nl
c3MucmV0dXJuY29kZSBpcyBub3QgTm9uZSBhbmQgc2VsZi5zY19wcm9jZXNzLnJldHVybmNvZGUg
PiAwOgorICAgICAgICAgICAgcmFpc2UgU2F1Y2VFeGNlcHRpb24oIlVuYWJsZSB0byBzdGFydCBT
YXVjZSBDb25uZWN0IFByb3h5LiBQcm9jZXNzIGV4aXRlZCB3aXRoIGNvZGUgJXMiLCBzZWxmLnNj
X3Byb2Nlc3MucmV0dXJuY29kZSkKKworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncyk6Cisg
ICAgICAgIHNlbGYuc2NfcHJvY2Vzcy50ZXJtaW5hdGUoKQorICAgICAgICBpZiBvcy5wYXRoLmV4
aXN0cyhzZWxmLnRlbXBfZGlyKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBz
aHV0aWwucm10cmVlKHNlbGYudGVtcF9kaXIpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoK
KyAgICAgICAgICAgICAgICBwYXNzCisKKyAgICBkZWYgdXBsb2FkX3ByZXJ1bl9leGVjKHNlbGYs
IGZpbGVfbmFtZSk6CisgICAgICAgIGF1dGggPSAoc2VsZi5zYXVjZV91c2VyLCBzZWxmLnNhdWNl
X2tleSkKKyAgICAgICAgdXJsID0gImh0dHBzOi8vc2F1Y2VsYWJzLmNvbS9yZXN0L3YxL3N0b3Jh
Z2UvJXMvJXM/b3ZlcndyaXRlPXRydWUiICUgKHNlbGYuc2F1Y2VfdXNlciwgZmlsZV9uYW1lKQor
CisgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oaGVyZSwgJ3NhdWNlX3NldHVwJywgZmls
ZV9uYW1lKSwgJ3JiJykgYXMgZjoKKyAgICAgICAgICAgIHJlcXVlc3RzLnBvc3QodXJsLCBkYXRh
PWYsIGF1dGg9YXV0aCkKKworCitjbGFzcyBTYXVjZUV4Y2VwdGlvbihFeGNlcHRpb24pOgorICAg
IHBhc3MKKworCitjbGFzcyBTYXVjZUJyb3dzZXIoQnJvd3Nlcik6CisgICAgaW5pdF90aW1lb3V0
ID0gMzAwCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBzYXVjZV9jb25maWcpOgor
ICAgICAgICBCcm93c2VyLl9faW5pdF9fKHNlbGYsIGxvZ2dlcikKKyAgICAgICAgc2VsZi5zYXVj
ZV9jb25maWcgPSBzYXVjZV9jb25maWcKKworICAgIGRlZiBzdGFydChzZWxmKToKKyAgICAgICAg
cGFzcworCisgICAgZGVmIHN0b3Aoc2VsZiwgZm9yY2U9RmFsc2UpOgorICAgICAgICBwYXNzCisK
KyAgICBkZWYgcGlkKHNlbGYpOgorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIGlzX2Fs
aXZlKHNlbGYpOgorICAgICAgICAjIFRPRE86IFNob3VsZCB0aGlzIGNoZWNrIHNvbWV0aGluZyBh
Ym91dCB0aGUgY29ubmVjdGlvbj8KKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIGRlZiBjbGVh
bnVwKHNlbGYpOgorICAgICAgICBwYXNzCisKKyAgICBkZWYgZXhlY3V0b3JfYnJvd3NlcihzZWxm
KToKKyAgICAgICAgcmV0dXJuIEV4ZWN1dG9yQnJvd3NlciwgeyJ3ZWJkcml2ZXJfdXJsIjogc2Vs
Zi5zYXVjZV9jb25maWdbInVybCJdfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJz
L3NhdWNlX3NldHVwL2VkZ2UtcHJlcnVuLmJhdCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVj
ZV9zZXR1cC9lZGdlLXByZXJ1bi5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU1NDg5NDg5NmI5ODBlM2QzYWI4
OGY3MzlmNjQ5YzAwYmUxN2I5MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93
c2Vycy9zYXVjZV9zZXR1cC9lZGdlLXByZXJ1bi5iYXQKQEAgLTAsMCArMSwyIEBACitAZWNobyBv
ZmYKK3JlZyBhZGQgIkhLQ1VcU29mdHdhcmVcQ2xhc3Nlc1xMb2NhbCBTZXR0aW5nc1xTb2Z0d2Fy
ZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxBcHBDb250YWluZXJcU3RvcmFnZVxt
aWNyb3NvZnQubWljcm9zb2Z0ZWRnZV84d2VreWIzZDhiYndlXE1pY3Jvc29mdEVkZ2VcTmV3IFdp
bmRvd3MiIC92ICJQb3B1cE1nciIgL3QgUkVHX1NaIC9kIG5vCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0dXAvc2FmYXJpLXByZXJ1bi5zaCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci9icm93c2Vycy9zYXVjZV9zZXR1cC9zYWZhcmktcHJlcnVuLnNoCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1Yzcy
ZTZiZTZhMDdjY2ZhYmI4OTU4ODdlMWM4YWEzZmVlZjY5ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0dXAvc2FmYXJpLXByZXJ1bi5zaApAQCAtMCww
ICsxLDIgQEAKKyMhL2Jpbi9iYXNoCitkZWZhdWx0cyB3cml0ZSBjb20uYXBwbGUuU2FmYXJpIGNv
bS5hcHBsZS5TYWZhcmkuQ29udGVudFBhZ2VHcm91cElkZW50aWZpZXIuV2ViS2l0MkphdmFTY3Jp
cHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkgLWJvb2wgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlX3NldHVwL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2Jyb3dzZXJzL3NhdWNlX3NldHVwL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0ZjFj
MTZlYzhiZDQ3OGQ2Y2E4ZmQ3ZGJiYTZjODAxOWQxOGU0NGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0dXAvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCAr
MSwxOCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlX3NldHVwL2VkZ2Ut
cHJlcnVuLmJhdAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZV9zZXR1cC9zYWZhcmktcHJl
cnVuLnNoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2VydmVyLWxvY2F0aW9u
cy50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2VydmVyLWxvY2F0aW9ucy50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWRjYWY0YmI2YTRjYzJiOTAzNmJiNDA2YTVhZjZjNWVmMTEyMDcyNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zZXJ2ZXItbG9jYXRpb25zLnR4dApAQCAt
MCwwICsxLDMxIEBACitodHRwOi8vbG9jYWxob3N0OjgwMDAgICAgcHJpbWFyeQorCitodHRwOi8v
d2ViLXBsYXRmb3JtLnRlc3Q6ODAwMAoraHR0cDovL3d3dy53ZWItcGxhdGZvcm0udGVzdDo4MDAw
CitodHRwOi8vd3d3MS53ZWItcGxhdGZvcm0udGVzdDo4MDAwCitodHRwOi8vd3d3Mi53ZWItcGxh
dGZvcm0udGVzdDo4MDAwCitodHRwOi8veG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRm
b3JtLnRlc3Q6ODAwMAoraHR0cDovL3huLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdDo4MDAw
CisKK2h0dHA6Ly93ZWItcGxhdGZvcm0udGVzdDo4MDAxCitodHRwOi8vd3d3LndlYi1wbGF0Zm9y
bS50ZXN0OjgwMDEKK2h0dHA6Ly93d3cxLndlYi1wbGF0Zm9ybS50ZXN0OjgwMDEKK2h0dHA6Ly93
d3cyLndlYi1wbGF0Zm9ybS50ZXN0OjgwMDEKK2h0dHA6Ly94bi0tbjhqNmRzNTNsd3drcnFodjI4
YS53ZWItcGxhdGZvcm0udGVzdDo4MDAxCitodHRwOi8veG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9y
bS50ZXN0OjgwMDEKKworaHR0cHM6Ly93ZWItcGxhdGZvcm0udGVzdDo4NDQzCitodHRwczovL3d3
dy53ZWItcGxhdGZvcm0udGVzdDo4NDQzCitodHRwczovL3d3dzEud2ViLXBsYXRmb3JtLnRlc3Q6
ODQ0MworaHR0cHM6Ly93d3cyLndlYi1wbGF0Zm9ybS50ZXN0Ojg0NDMKK2h0dHBzOi8veG4tLW44
ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3Q6ODQ0MworaHR0cHM6Ly94bi0tbHZl
LTZsYWQud2ViLXBsYXRmb3JtLnRlc3Q6ODQ0MworCisjIFRoZXNlIGFyZSBhY3R1YWxseSB3cyBz
ZXJ2ZXJzLCBidXQgdW50aWwgbW96cHJvZmlsZSBpcworIyBmaXhlZCB3ZSBoYXZlIHRvIHByZXRl
bmQgdGhhdCB0aGV5IGFyZSBodHRwIHNlcnZlcnMKK2h0dHA6Ly93ZWItcGxhdGZvcm0udGVzdDo4
ODg4CitodHRwOi8vd3d3LndlYi1wbGF0Zm9ybS50ZXN0Ojg4ODgKK2h0dHA6Ly93d3cxLndlYi1w
bGF0Zm9ybS50ZXN0Ojg4ODgKK2h0dHA6Ly93d3cyLndlYi1wbGF0Zm9ybS50ZXN0Ojg4ODgKK2h0
dHA6Ly94bi0tbjhqNmRzNTNsd3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdDo4ODg4CitodHRw
Oi8veG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0Ojg4ODgKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci9icm93c2Vycy9zZXJ2by5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zZXJ2by5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lMjRlNGRmZDlkZmU5ZTAxN2VjNTlhMzdlODAxMmE3MDdjNTdlNThiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NlcnZvLnB5CkBAIC0wLDAg
KzEsODEgQEAKK2ltcG9ydCBvcworCitmcm9tIC5iYXNlIGltcG9ydCBOdWxsQnJvd3NlciwgRXhl
Y3V0b3JCcm93c2VyLCByZXF1aXJlX2FyZworZnJvbSAuLmV4ZWN1dG9ycyBpbXBvcnQgZXhlY3V0
b3Jfa3dhcmdzIGFzIGJhc2VfZXhlY3V0b3Jfa3dhcmdzCitmcm9tIC4uZXhlY3V0b3JzLmV4ZWN1
dG9yc2Vydm8gaW1wb3J0IFNlcnZvVGVzdGhhcm5lc3NFeGVjdXRvciwgU2Vydm9SZWZUZXN0RXhl
Y3V0b3IsIFNlcnZvV2RzcGVjRXhlY3V0b3IKKworaGVyZSA9IG9zLnBhdGguam9pbihvcy5wYXRo
LnNwbGl0KF9fZmlsZV9fKVswXSkKKworX193cHRydW5uZXJfXyA9IHsKKyAgICAicHJvZHVjdCI6
ICJzZXJ2byIsCisgICAgImNoZWNrX2FyZ3MiOiAiY2hlY2tfYXJncyIsCisgICAgImJyb3dzZXIi
OiAiU2Vydm9Ccm93c2VyIiwKKyAgICAiZXhlY3V0b3IiOiB7CisgICAgICAgICJ0ZXN0aGFybmVz
cyI6ICJTZXJ2b1Rlc3RoYXJuZXNzRXhlY3V0b3IiLAorICAgICAgICAicmVmdGVzdCI6ICJTZXJ2
b1JlZlRlc3RFeGVjdXRvciIsCisgICAgICAgICJ3ZHNwZWMiOiAiU2Vydm9XZHNwZWNFeGVjdXRv
ciIsCisgICAgfSwKKyAgICAiYnJvd3Nlcl9rd2FyZ3MiOiAiYnJvd3Nlcl9rd2FyZ3MiLAorICAg
ICJleGVjdXRvcl9rd2FyZ3MiOiAiZXhlY3V0b3Jfa3dhcmdzIiwKKyAgICAiZW52X2V4dHJhcyI6
ICJlbnZfZXh0cmFzIiwKKyAgICAiZW52X29wdGlvbnMiOiAiZW52X29wdGlvbnMiLAorICAgICJ1
cGRhdGVfcHJvcGVydGllcyI6ICJ1cGRhdGVfcHJvcGVydGllcyIsCit9CisKKworZGVmIGNoZWNr
X2FyZ3MoKiprd2FyZ3MpOgorICAgIHJlcXVpcmVfYXJnKGt3YXJncywgImJpbmFyeSIpCisKKwor
ZGVmIGJyb3dzZXJfa3dhcmdzKCoqa3dhcmdzKToKKyAgICByZXR1cm4geworICAgICAgICAiYmlu
YXJ5Ijoga3dhcmdzWyJiaW5hcnkiXSwKKyAgICAgICAgImRlYnVnX2luZm8iOiBrd2FyZ3NbImRl
YnVnX2luZm8iXSwKKyAgICAgICAgImJpbmFyeV9hcmdzIjoga3dhcmdzWyJiaW5hcnlfYXJncyJd
LAorICAgICAgICAidXNlcl9zdHlsZXNoZWV0cyI6IGt3YXJncy5nZXQoInVzZXJfc3R5bGVzaGVl
dHMiKSwKKyAgICAgICAgImNhX2NlcnRpZmljYXRlX3BhdGgiOiBrd2FyZ3NbInNzbF9lbnYiXS5j
YV9jZXJ0X3BhdGgoKSwKKyAgICB9CisKKworZGVmIGV4ZWN1dG9yX2t3YXJncyh0ZXN0X3R5cGUs
IHNlcnZlcl9jb25maWcsIGNhY2hlX21hbmFnZXIsIHJ1bl9pbmZvX2RhdGEsCisgICAgICAgICAg
ICAgICAgICAgICoqa3dhcmdzKToKKyAgICBydiA9IGJhc2VfZXhlY3V0b3Jfa3dhcmdzKHRlc3Rf
dHlwZSwgc2VydmVyX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hl
X21hbmFnZXIsICoqa3dhcmdzKQorICAgIHJ2WyJwYXVzZV9hZnRlcl90ZXN0Il0gPSBrd2FyZ3Nb
InBhdXNlX2FmdGVyX3Rlc3QiXQorICAgIHJldHVybiBydgorCisKK2RlZiBlbnZfZXh0cmFzKCoq
a3dhcmdzKToKKyAgICByZXR1cm4gW10KKworCitkZWYgZW52X29wdGlvbnMoKToKKyAgICByZXR1
cm4geyJob3N0IjogIjEyNy4wLjAuMSIsCisgICAgICAgICAgICAiZXh0ZXJuYWxfaG9zdCI6ICJ3
ZWItcGxhdGZvcm0udGVzdCIsCisgICAgICAgICAgICAiYmluZF9ob3N0bmFtZSI6ICJ0cnVlIiwK
KyAgICAgICAgICAgICJ0ZXN0aGFybmVzc3JlcG9ydCI6ICJ0ZXN0aGFybmVzc3JlcG9ydC1zZXJ2
by5qcyIsCisgICAgICAgICAgICAic3VwcG9ydHNfZGVidWdnZXIiOiBUcnVlfQorCisKK2RlZiB1
cGRhdGVfcHJvcGVydGllcygpOgorICAgIHJldHVybiBbImRlYnVnIiwgIm9zIiwgInZlcnNpb24i
LCAicHJvY2Vzc29yIiwgImJpdHMiXSwgTm9uZQorCisKK2NsYXNzIFNlcnZvQnJvd3NlcihOdWxs
QnJvd3Nlcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgYmluYXJ5LCBkZWJ1Z19p
bmZvPU5vbmUsIGJpbmFyeV9hcmdzPU5vbmUsCisgICAgICAgICAgICAgICAgIHVzZXJfc3R5bGVz
aGVldHM9Tm9uZSwgY2FfY2VydGlmaWNhdGVfcGF0aD1Ob25lKToKKyAgICAgICAgTnVsbEJyb3dz
ZXIuX19pbml0X18oc2VsZiwgbG9nZ2VyKQorICAgICAgICBzZWxmLmJpbmFyeSA9IGJpbmFyeQor
ICAgICAgICBzZWxmLmRlYnVnX2luZm8gPSBkZWJ1Z19pbmZvCisgICAgICAgIHNlbGYuYmluYXJ5
X2FyZ3MgPSBiaW5hcnlfYXJncyBvciBbXQorICAgICAgICBzZWxmLnVzZXJfc3R5bGVzaGVldHMg
PSB1c2VyX3N0eWxlc2hlZXRzIG9yIFtdCisgICAgICAgIHNlbGYuY2FfY2VydGlmaWNhdGVfcGF0
aCA9IGNhX2NlcnRpZmljYXRlX3BhdGgKKworICAgIGRlZiBleGVjdXRvcl9icm93c2VyKHNlbGYp
OgorICAgICAgICByZXR1cm4gRXhlY3V0b3JCcm93c2VyLCB7CisgICAgICAgICAgICAiYmluYXJ5
Ijogc2VsZi5iaW5hcnksCisgICAgICAgICAgICAiZGVidWdfaW5mbyI6IHNlbGYuZGVidWdfaW5m
bywKKyAgICAgICAgICAgICJiaW5hcnlfYXJncyI6IHNlbGYuYmluYXJ5X2FyZ3MsCisgICAgICAg
ICAgICAidXNlcl9zdHlsZXNoZWV0cyI6IHNlbGYudXNlcl9zdHlsZXNoZWV0cywKKyAgICAgICAg
ICAgICJjYV9jZXJ0aWZpY2F0ZV9wYXRoIjogc2VsZi5jYV9jZXJ0aWZpY2F0ZV9wYXRoLAorICAg
ICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2Vydm9kcml2ZXIucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2Vydm9kcml2ZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU3NWUw
ZmJmZjlkYzk2ZGEyM2UzYmE0ZWU5YjliZGM0MzNhMWIwMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9icm93c2Vycy9zZXJ2b2RyaXZlci5weQpAQCAtMCwwICsxLDE2NSBAQAoraW1w
b3J0IG9zCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHRlbXBmaWxlCisKK2Zyb20gbW96cHJv
Y2VzcyBpbXBvcnQgUHJvY2Vzc0hhbmRsZXIKKworZnJvbSAuYmFzZSBpbXBvcnQgQnJvd3Nlciwg
cmVxdWlyZV9hcmcsIGdldF9mcmVlX3BvcnQsIGJyb3dzZXJfY29tbWFuZCwgRXhlY3V0b3JCcm93
c2VyCitmcm9tIC4uZXhlY3V0b3JzIGltcG9ydCBleGVjdXRvcl9rd2FyZ3MgYXMgYmFzZV9leGVj
dXRvcl9rd2FyZ3MKK2Zyb20gLi5leGVjdXRvcnMuZXhlY3V0b3JzZXJ2b2RyaXZlciBpbXBvcnQg
KFNlcnZvV2ViRHJpdmVyVGVzdGhhcm5lc3NFeGVjdXRvciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFNlcnZvV2ViRHJpdmVyUmVmVGVzdEV4ZWN1dG9yKQor
CitoZXJlID0gb3MucGF0aC5qb2luKG9zLnBhdGguc3BsaXQoX19maWxlX18pWzBdKQorCitfX3dw
dHJ1bm5lcl9fID0geworICAgICJwcm9kdWN0IjogInNlcnZvZHJpdmVyIiwKKyAgICAiY2hlY2tf
YXJncyI6ICJjaGVja19hcmdzIiwKKyAgICAiYnJvd3NlciI6ICJTZXJ2b1dlYkRyaXZlckJyb3dz
ZXIiLAorICAgICJleGVjdXRvciI6IHsKKyAgICAgICAgInRlc3RoYXJuZXNzIjogIlNlcnZvV2Vi
RHJpdmVyVGVzdGhhcm5lc3NFeGVjdXRvciIsCisgICAgICAgICJyZWZ0ZXN0IjogIlNlcnZvV2Vi
RHJpdmVyUmVmVGVzdEV4ZWN1dG9yIiwKKyAgICB9LAorICAgICJicm93c2VyX2t3YXJncyI6ICJi
cm93c2VyX2t3YXJncyIsCisgICAgImV4ZWN1dG9yX2t3YXJncyI6ICJleGVjdXRvcl9rd2FyZ3Mi
LAorICAgICJlbnZfZXh0cmFzIjogImVudl9leHRyYXMiLAorICAgICJlbnZfb3B0aW9ucyI6ICJl
bnZfb3B0aW9ucyIsCisgICAgInVwZGF0ZV9wcm9wZXJ0aWVzIjogInVwZGF0ZV9wcm9wZXJ0aWVz
IiwKK30KKworaG9zdHNfdGV4dCA9ICIiIjEyNy4wLjAuMSB3ZWItcGxhdGZvcm0udGVzdAorMTI3
LjAuMC4xIHd3dy53ZWItcGxhdGZvcm0udGVzdAorMTI3LjAuMC4xIHd3dzEud2ViLXBsYXRmb3Jt
LnRlc3QKKzEyNy4wLjAuMSB3d3cyLndlYi1wbGF0Zm9ybS50ZXN0CisxMjcuMC4wLjEgeG4tLW44
ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3QKKzEyNy4wLjAuMSB4bi0tbHZlLTZs
YWQud2ViLXBsYXRmb3JtLnRlc3QKKyIiIgorCisKK2RlZiBjaGVja19hcmdzKCoqa3dhcmdzKToK
KyAgICByZXF1aXJlX2FyZyhrd2FyZ3MsICJiaW5hcnkiKQorCisKK2RlZiBicm93c2VyX2t3YXJn
cygqKmt3YXJncyk6CisgICAgcmV0dXJuIHsKKyAgICAgICAgImJpbmFyeSI6IGt3YXJnc1siYmlu
YXJ5Il0sCisgICAgICAgICJkZWJ1Z19pbmZvIjoga3dhcmdzWyJkZWJ1Z19pbmZvIl0sCisgICAg
ICAgICJ1c2VyX3N0eWxlc2hlZXRzIjoga3dhcmdzLmdldCgidXNlcl9zdHlsZXNoZWV0cyIpLAor
ICAgIH0KKworCitkZWYgZXhlY3V0b3Jfa3dhcmdzKHRlc3RfdHlwZSwgc2VydmVyX2NvbmZpZywg
Y2FjaGVfbWFuYWdlciwgcnVuX2luZm9fZGF0YSwgKiprd2FyZ3MpOgorICAgIHJ2ID0gYmFzZV9l
eGVjdXRvcl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29uZmlnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2FjaGVfbWFuYWdlciwgKiprd2FyZ3MpCisgICAgcmV0dXJuIHJ2CisK
KworZGVmIGVudl9leHRyYXMoKiprd2FyZ3MpOgorICAgIHJldHVybiBbXQorCisKK2RlZiBlbnZf
b3B0aW9ucygpOgorICAgIHJldHVybiB7Imhvc3QiOiAiMTI3LjAuMC4xIiwKKyAgICAgICAgICAg
ICJleHRlcm5hbF9ob3N0IjogIndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAgICAgICAgICAgICJiaW5k
X2hvc3RuYW1lIjogInRydWUiLAorICAgICAgICAgICAgInRlc3RoYXJuZXNzcmVwb3J0IjogInRl
c3RoYXJuZXNzcmVwb3J0LXNlcnZvZHJpdmVyLmpzIiwKKyAgICAgICAgICAgICJzdXBwb3J0c19k
ZWJ1Z2dlciI6IFRydWV9CisKKworZGVmIHVwZGF0ZV9wcm9wZXJ0aWVzKCk6CisgICAgcmV0dXJu
IFsiZGVidWciLCAib3MiLCAidmVyc2lvbiIsICJwcm9jZXNzb3IiLCAiYml0cyJdLCBOb25lCisK
KworZGVmIG1ha2VfaG9zdHNfZmlsZSgpOgorICAgIGhvc3RzX2ZkLCBob3N0c19wYXRoID0gdGVt
cGZpbGUubWtzdGVtcCgpCisgICAgd2l0aCBvcy5mZG9wZW4oaG9zdHNfZmQsICJ3IikgYXMgZjoK
KyAgICAgICAgZi53cml0ZShob3N0c190ZXh0KQorICAgIHJldHVybiBob3N0c19wYXRoCisKKwor
Y2xhc3MgU2Vydm9XZWJEcml2ZXJCcm93c2VyKEJyb3dzZXIpOgorICAgIHVzZWRfcG9ydHMgPSBz
ZXQoKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgYmluYXJ5LCBkZWJ1Z19pbmZv
PU5vbmUsIHdlYmRyaXZlcl9ob3N0PSIxMjcuMC4wLjEiLAorICAgICAgICAgICAgICAgICB1c2Vy
X3N0eWxlc2hlZXRzPU5vbmUpOgorICAgICAgICBCcm93c2VyLl9faW5pdF9fKHNlbGYsIGxvZ2dl
cikKKyAgICAgICAgc2VsZi5iaW5hcnkgPSBiaW5hcnkKKyAgICAgICAgc2VsZi53ZWJkcml2ZXJf
aG9zdCA9IHdlYmRyaXZlcl9ob3N0CisgICAgICAgIHNlbGYud2ViZHJpdmVyX3BvcnQgPSBOb25l
CisgICAgICAgIHNlbGYucHJvYyA9IE5vbmUKKyAgICAgICAgc2VsZi5kZWJ1Z19pbmZvID0gZGVi
dWdfaW5mbworICAgICAgICBzZWxmLmhvc3RzX3BhdGggPSBtYWtlX2hvc3RzX2ZpbGUoKQorICAg
ICAgICBzZWxmLmNvbW1hbmQgPSBOb25lCisgICAgICAgIHNlbGYudXNlcl9zdHlsZXNoZWV0cyA9
IHVzZXJfc3R5bGVzaGVldHMgaWYgdXNlcl9zdHlsZXNoZWV0cyBlbHNlIFtdCisKKyAgICBkZWYg
c3RhcnQoc2VsZik6CisgICAgICAgIHNlbGYud2ViZHJpdmVyX3BvcnQgPSBnZXRfZnJlZV9wb3J0
KDQ0NDQsIGV4Y2x1ZGU9c2VsZi51c2VkX3BvcnRzKQorICAgICAgICBzZWxmLnVzZWRfcG9ydHMu
YWRkKHNlbGYud2ViZHJpdmVyX3BvcnQpCisKKyAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5
KCkKKyAgICAgICAgZW52WyJIT1NUX0ZJTEUiXSA9IHNlbGYuaG9zdHNfcGF0aAorICAgICAgICBl
bnZbIlJVU1RfQkFDS1RSQUNFIl0gPSAiMSIKKworICAgICAgICBkZWJ1Z19hcmdzLCBjb21tYW5k
ID0gYnJvd3Nlcl9jb21tYW5kKAorICAgICAgICAgICAgc2VsZi5iaW5hcnksCisgICAgICAgICAg
ICBbCisgICAgICAgICAgICAgICAgIi0taGFyZC1mYWlsIiwKKyAgICAgICAgICAgICAgICAiLS13
ZWJkcml2ZXIiLCBzdHIoc2VsZi53ZWJkcml2ZXJfcG9ydCksCisgICAgICAgICAgICAgICAgImFi
b3V0OmJsYW5rIiwKKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICBzZWxmLmRlYnVnX2luZm8K
KyAgICAgICAgKQorCisgICAgICAgIGZvciBzdHlsZXNoZWV0IGluIHNlbGYudXNlcl9zdHlsZXNo
ZWV0czoKKyAgICAgICAgICAgIGNvbW1hbmQgKz0gWyItLXVzZXItc3R5bGVzaGVldCIsIHN0eWxl
c2hlZXRdCisKKyAgICAgICAgc2VsZi5jb21tYW5kID0gY29tbWFuZAorCisgICAgICAgIHNlbGYu
Y29tbWFuZCA9IGRlYnVnX2FyZ3MgKyBzZWxmLmNvbW1hbmQKKworICAgICAgICBpZiBub3Qgc2Vs
Zi5kZWJ1Z19pbmZvIG9yIG5vdCBzZWxmLmRlYnVnX2luZm8uaW50ZXJhY3RpdmU6CisgICAgICAg
ICAgICBzZWxmLnByb2MgPSBQcm9jZXNzSGFuZGxlcihzZWxmLmNvbW1hbmQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzT3V0cHV0TGluZT1bc2VsZi5vbl9v
dXRwdXRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52PWVudiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlT3V0cHV0PUZhbHNl
KQorICAgICAgICAgICAgc2VsZi5wcm9jLnJ1bigpCisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICBzZWxmLnByb2MgPSBzdWJwcm9jZXNzLlBvcGVuKHNlbGYuY29tbWFuZCwgZW52PWVudikKKwor
ICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiU2Vydm8gU3RhcnRlZCIpCisKKyAgICBkZWYgc3Rv
cChzZWxmLCBmb3JjZT1GYWxzZSk6CisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJTdG9wcGlu
ZyBicm93c2VyIikKKyAgICAgICAgaWYgc2VsZi5wcm9jIGlzIG5vdCBOb25lOgorICAgICAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYucHJvYy5raWxsKCkKKyAgICAgICAgICAgIGV4
Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgICAgICMgVGhpcyBjYW4gaGFwcGVuIG9uIFdpbmRv
d3MgaWYgdGhlIHByb2Nlc3MgaXMgYWxyZWFkeSBkZWFkCisgICAgICAgICAgICAgICAgcGFzcwor
CisgICAgZGVmIHBpZChzZWxmKToKKyAgICAgICAgaWYgc2VsZi5wcm9jIGlzIE5vbmU6CisgICAg
ICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybiBz
ZWxmLnByb2MucGlkCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAg
IHJldHVybiBOb25lCisKKyAgICBkZWYgb25fb3V0cHV0KHNlbGYsIGxpbmUpOgorICAgICAgICAi
IiJXcml0ZSBhIGxpbmUgb2Ygb3V0cHV0IGZyb20gdGhlIHByb2Nlc3MgdG8gdGhlIGxvZyIiIgor
ICAgICAgICBzZWxmLmxvZ2dlci5wcm9jZXNzX291dHB1dChzZWxmLnBpZCgpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLmRlY29kZSgidXRmOCIsICJyZXBsYWNlIiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9IiAiLmpvaW4oc2Vs
Zi5jb21tYW5kKSkKKworICAgIGRlZiBpc19hbGl2ZShzZWxmKToKKyAgICAgICAgaWYgc2VsZi5y
dW5uZXI6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5uZXIuaXNfcnVubmluZygpCisgICAg
ICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIGNsZWFudXAoc2VsZik6CisgICAgICAgIHNlbGYu
c3RvcCgpCisKKyAgICBkZWYgZXhlY3V0b3JfYnJvd3NlcihzZWxmKToKKyAgICAgICAgYXNzZXJ0
IHNlbGYud2ViZHJpdmVyX3BvcnQgaXMgbm90IE5vbmUKKyAgICAgICAgcmV0dXJuIEV4ZWN1dG9y
QnJvd3NlciwgeyJ3ZWJkcml2ZXJfaG9zdCI6IHNlbGYud2ViZHJpdmVyX2hvc3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAid2ViZHJpdmVyX3BvcnQiOiBzZWxmLndlYmRyaXZl
cl9wb3J0fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2ZDBk
OGVkODA1NmZkODhlYzJjOTJlZGFlMTI0ODgyOTA1NjcyZTIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyNSBAQAorVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0lu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1Qg
bW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGll
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmls
ZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL19faW5pdF9fLnB5CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jy
b3dzZXJzL2Jhc2UucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvY2hyb21lLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL2Jyb3dzZXJzL2VkZ2UucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvZmlyZWZveC5w
eQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vy
cy9zZXJ2ZXItbG9jYXRpb25zLnR4dAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zZXJ2by5weQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9icm93c2Vycy9zZXJ2b2RyaXZlci5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL2NvbmZpZy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2NvbmZpZy5qc29uCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQxNDY0MjRhMGYwOGM1NDc3ZTFjZDVlYjNmOTkwZDZiZGI1ZGQ4YmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvY29uZmlnLmpzb24KQEAgLTAsMCArMSw3IEBACit7Imhvc3QiOiAi
JShob3N0KXMiLAorICJwb3J0cyI6eyJodHRwIjpbODAwMCwgODAwMV0sCisgICAgICAgICAgImh0
dHBzIjpbODQ0M10sCisgICAgICAgICAgIndzIjpbODg4OF19LAorICJjaGVja19zdWJkb21haW5z
IjpmYWxzZSwKKyAiYmluZF9ob3N0bmFtZSI6JShiaW5kX2hvc3RuYW1lKXMsCisgInNzbCI6e319
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvY29uZmlnLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2NvbmZp
Zy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41YmQzZjQ2N2YzZWRhNWY1NjRjYTVjNTE1NDBmMjNiMjUyMWEyYTU4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2NvbmZpZy5weQpAQCAtMCwwICsxLDYw
IEBACitpbXBvcnQgQ29uZmlnUGFyc2VyCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gY29s
bGVjdGlvbnMgaW1wb3J0IE9yZGVyZWREaWN0CisKK2hlcmUgPSBvcy5wYXRoLnNwbGl0KF9fZmls
ZV9fKVswXQorCitjbGFzcyBDb25maWdEaWN0KGRpY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBiYXNlX3BhdGgsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYuYmFzZV9wYXRoID0g
YmFzZV9wYXRoCisgICAgICAgIGRpY3QuX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQor
CisgICAgZGVmIGdldF9wYXRoKHNlbGYsIGtleSwgZGVmYXVsdD1Ob25lKToKKyAgICAgICAgaWYg
a2V5IG5vdCBpbiBzZWxmOgorICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHQKKyAgICAgICAgcGF0
aCA9IHNlbGZba2V5XQorICAgICAgICBvcy5wYXRoLmV4cGFuZHVzZXIocGF0aCkKKyAgICAgICAg
cmV0dXJuIG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oc2VsZi5iYXNlX3BhdGgsIHBhdGgp
KQorCitkZWYgcmVhZChjb25maWdfcGF0aCk6CisgICAgY29uZmlnX3BhdGggPSBvcy5wYXRoLmFi
c3BhdGgoY29uZmlnX3BhdGgpCisgICAgY29uZmlnX3Jvb3QgPSBvcy5wYXRoLnNwbGl0KGNvbmZp
Z19wYXRoKVswXQorICAgIHBhcnNlciA9IENvbmZpZ1BhcnNlci5TYWZlQ29uZmlnUGFyc2VyKCkK
KyAgICBzdWNjZXNzID0gcGFyc2VyLnJlYWQoY29uZmlnX3BhdGgpCisgICAgYXNzZXJ0IGNvbmZp
Z19wYXRoIGluIHN1Y2Nlc3MsIHN1Y2Nlc3MKKworICAgIHN1Ym5zID0geyJwd2QiOiBvcy5wYXRo
LmFic3BhdGgob3MucGF0aC5jdXJkaXIpfQorCisgICAgcnYgPSBPcmRlcmVkRGljdCgpCisgICAg
Zm9yIHNlY3Rpb24gaW4gcGFyc2VyLnNlY3Rpb25zKCk6CisgICAgICAgIHJ2W3NlY3Rpb25dID0g
Q29uZmlnRGljdChjb25maWdfcm9vdCkKKyAgICAgICAgZm9yIGtleSBpbiBwYXJzZXIub3B0aW9u
cyhzZWN0aW9uKToKKyAgICAgICAgICAgIHJ2W3NlY3Rpb25dW2tleV0gPSBwYXJzZXIuZ2V0KHNl
Y3Rpb24sIGtleSwgRmFsc2UsIHN1Ym5zKQorCisgICAgcmV0dXJuIHJ2CisKK2RlZiBwYXRoKGFy
Z3Y9Tm9uZSk6CisgICAgaWYgYXJndiBpcyBOb25lOgorICAgICAgICBhcmd2ID0gW10KKyAgICBw
YXRoID0gTm9uZQorCisgICAgZm9yIGksIGFyZyBpbiBlbnVtZXJhdGUoYXJndik6CisgICAgICAg
IGlmIGFyZyA9PSAiLS1jb25maWciOgorICAgICAgICAgICAgaWYgaSArIDEgPCBsZW4oYXJndik6
CisgICAgICAgICAgICAgICAgcGF0aCA9IGFyZ3ZbaSArIDFdCisgICAgICAgIGVsaWYgYXJnLnN0
YXJ0c3dpdGgoIi0tY29uZmlnPSIpOgorICAgICAgICAgICAgcGF0aCA9IGFyZy5zcGxpdCgiPSIs
IDEpWzFdCisgICAgICAgIGlmIHBhdGggaXMgbm90IE5vbmU6CisgICAgICAgICAgICBicmVhawor
CisgICAgaWYgcGF0aCBpcyBOb25lOgorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygid3B0cnVu
bmVyLmluaSIpOgorICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJzcGF0aCgid3B0cnVubmVy
LmluaSIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKGhl
cmUsICIuLiIsICJ3cHRydW5uZXIuZGVmYXVsdC5pbmkiKQorCisgICAgcmV0dXJuIG9zLnBhdGgu
YWJzcGF0aChwYXRoKQorCitkZWYgbG9hZCgpOgorICAgIHJldHVybiByZWFkKHBhdGgoc3lzLmFy
Z3YpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Vudmlyb25tZW50LnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2Vudmlyb25tZW50LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwNTg4OTQ5MDg4ZWRmM2E4ZWVmOWVlZWNh
NjJmZmZhYzkzNGNlYzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZW52aXJvbm1l
bnQucHkKQEAgLTAsMCArMSwyMTYgQEAKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBt
dWx0aXByb2Nlc3NpbmcKK2ltcG9ydCBzaWduYWwKK2ltcG9ydCBzb2NrZXQKK2ltcG9ydCBzeXMK
K2ltcG9ydCB0aW1lCisKK2Zyb20gbW96bG9nIGltcG9ydCBnZXRfZGVmYXVsdF9sb2dnZXIsIGhh
bmRsZXJzCisKK2Zyb20gd3B0bG9nZ2luZyBpbXBvcnQgTG9nTGV2ZWxSZXdyaXRlcgorCitoZXJl
ID0gb3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0KKworc2VydmUgPSBOb25lCitzc2x1dGlscyA9
IE5vbmUKKworCitob3N0bmFtZXMgPSBbIndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAgICAgICAgICAg
ICAid3d3LndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAgICAgICAgICAgICAid3d3MS53ZWItcGxhdGZv
cm0udGVzdCIsCisgICAgICAgICAgICAgInd3dzIud2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAg
ICAgICAgICJ4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdCIsCisgICAg
ICAgICAgICAgInhuLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdCJdCisKKworZGVmIGRvX2Rl
bGF5ZWRfaW1wb3J0cyhsb2dnZXIsIHRlc3RfcGF0aHMpOgorICAgIGdsb2JhbCBzZXJ2ZSwgc3Ns
dXRpbHMKKworICAgIHNlcnZlX3Jvb3QgPSBzZXJ2ZV9wYXRoKHRlc3RfcGF0aHMpCisgICAgc3lz
LnBhdGguaW5zZXJ0KDAsIHNlcnZlX3Jvb3QpCisKKyAgICBmYWlsZWQgPSBbXQorCisgICAgdHJ5
OgorICAgICAgICBmcm9tIHRvb2xzLnNlcnZlIGltcG9ydCBzZXJ2ZQorICAgIGV4Y2VwdCBJbXBv
cnRFcnJvcjoKKyAgICAgICAgZnJvbSB3cHRfdG9vbHMuc2VydmUgaW1wb3J0IHNlcnZlCisgICAg
ZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICBmYWlsZWQuYXBwZW5kKCJzZXJ2ZSIpCisKKyAg
ICB0cnk6CisgICAgICAgIGltcG9ydCBzc2x1dGlscworICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoK
KyAgICAgICAgZmFpbGVkLmFwcGVuZCgic3NsdXRpbHMiKQorCisgICAgaWYgZmFpbGVkOgorICAg
ICAgICBsb2dnZXIuY3JpdGljYWwoCisgICAgICAgICAgICAiRmFpbGVkIHRvIGltcG9ydCAlcy4g
RW5zdXJlIHRoYXQgdGVzdHMgcGF0aCAlcyBjb250YWlucyB3ZWItcGxhdGZvcm0tdGVzdHMiICUK
KyAgICAgICAgICAgICgiLCAiLmpvaW4oZmFpbGVkKSwgc2VydmVfcm9vdCkpCisgICAgICAgIHN5
cy5leGl0KDEpCisKKworZGVmIHNlcnZlX3BhdGgodGVzdF9wYXRocyk6CisgICAgcmV0dXJuIHRl
c3RfcGF0aHNbIi8iXVsidGVzdHNfcGF0aCJdCisKKworZGVmIGdldF9zc2xfa3dhcmdzKCoqa3dh
cmdzKToKKyAgICBpZiBrd2FyZ3NbInNzbF90eXBlIl0gPT0gIm9wZW5zc2wiOgorICAgICAgICBh
cmdzID0geyJvcGVuc3NsX2JpbmFyeSI6IGt3YXJnc1sib3BlbnNzbF9iaW5hcnkiXX0KKyAgICBl
bGlmIGt3YXJnc1sic3NsX3R5cGUiXSA9PSAicHJlZ2VuZXJhdGVkIjoKKyAgICAgICAgYXJncyA9
IHsiaG9zdF9rZXlfcGF0aCI6IGt3YXJnc1siaG9zdF9rZXlfcGF0aCJdLAorICAgICAgICAgICAg
ICAgICJob3N0X2NlcnRfcGF0aCI6IGt3YXJnc1siaG9zdF9jZXJ0X3BhdGgiXSwKKyAgICAgICAg
ICAgICAgICAgImNhX2NlcnRfcGF0aCI6IGt3YXJnc1siY2FfY2VydF9wYXRoIl19CisgICAgZWxz
ZToKKyAgICAgICAgYXJncyA9IHt9CisgICAgcmV0dXJuIGFyZ3MKKworCitkZWYgc3NsX2Vudihs
b2dnZXIsICoqa3dhcmdzKToKKyAgICBzc2xfZW52X2NscyA9IHNzbHV0aWxzLmVudmlyb25tZW50
c1trd2FyZ3NbInNzbF90eXBlIl1dCisgICAgcmV0dXJuIHNzbF9lbnZfY2xzKGxvZ2dlciwgKipn
ZXRfc3NsX2t3YXJncygqKmt3YXJncykpCisKKworY2xhc3MgVGVzdEVudmlyb25tZW50RXJyb3Io
RXhjZXB0aW9uKToKKyAgICBwYXNzCisKKworY2xhc3MgVGVzdEVudmlyb25tZW50KG9iamVjdCk6
CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfcGF0aHMsIHNzbF9lbnYsIHBhdXNlX2FmdGVy
X3Rlc3QsIGRlYnVnX2luZm8sIG9wdGlvbnMsIGVudl9leHRyYXMpOgorICAgICAgICAiIiJDb250
ZXh0IG1hbmFnZXIgdGhhdCBvd25zIHRoZSB0ZXN0IGVudmlyb25tZW50IGkuZS4gdGhlIGh0dHAg
YW5kCisgICAgICAgIHdlYnNvY2tldHMgc2VydmVycyIiIgorICAgICAgICBzZWxmLnRlc3RfcGF0
aHMgPSB0ZXN0X3BhdGhzCisgICAgICAgIHNlbGYuc3NsX2VudiA9IHNzbF9lbnYKKyAgICAgICAg
c2VsZi5zZXJ2ZXIgPSBOb25lCisgICAgICAgIHNlbGYuY29uZmlnID0gTm9uZQorICAgICAgICBz
ZWxmLmV4dGVybmFsX2NvbmZpZyA9IE5vbmUKKyAgICAgICAgc2VsZi5wYXVzZV9hZnRlcl90ZXN0
ID0gcGF1c2VfYWZ0ZXJfdGVzdAorICAgICAgICBzZWxmLnRlc3Rfc2VydmVyX3BvcnQgPSBvcHRp
b25zLnBvcCgidGVzdF9zZXJ2ZXJfcG9ydCIsIFRydWUpCisgICAgICAgIHNlbGYuZGVidWdfaW5m
byA9IGRlYnVnX2luZm8KKyAgICAgICAgc2VsZi5vcHRpb25zID0gb3B0aW9ucyBpZiBvcHRpb25z
IGlzIG5vdCBOb25lIGVsc2Uge30KKworICAgICAgICBzZWxmLmNhY2hlX21hbmFnZXIgPSBtdWx0
aXByb2Nlc3NpbmcuTWFuYWdlcigpCisgICAgICAgIHNlbGYuc3Rhc2ggPSBzZXJ2ZS5zdGFzaC5T
dGFzaFNlcnZlcigpCisgICAgICAgIHNlbGYuZW52X2V4dHJhcyA9IGVudl9leHRyYXMKKworCisg
ICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgc2VsZi5zdGFzaC5fX2VudGVyX18oKQor
ICAgICAgICBzZWxmLnNzbF9lbnYuX19lbnRlcl9fKCkKKyAgICAgICAgc2VsZi5jYWNoZV9tYW5h
Z2VyLl9fZW50ZXJfXygpCisgICAgICAgIGZvciBjbSBpbiBzZWxmLmVudl9leHRyYXM6CisgICAg
ICAgICAgICBjbS5fX2VudGVyX18oc2VsZi5vcHRpb25zKQorICAgICAgICBzZWxmLnNldHVwX3Nl
cnZlcl9sb2dnaW5nKCkKKyAgICAgICAgc2VsZi5jb25maWcgPSBzZWxmLmxvYWRfY29uZmlnKCkK
KyAgICAgICAgc2VydmUuc2V0X2NvbXB1dGVkX2RlZmF1bHRzKHNlbGYuY29uZmlnKQorICAgICAg
ICBzZWxmLmV4dGVybmFsX2NvbmZpZywgc2VsZi5zZXJ2ZXJzID0gc2VydmUuc3RhcnQoc2VsZi5j
b25maWcsIHNlbGYuc3NsX2VudiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZ2V0X3JvdXRlcygpKQorICAgICAgICBpZiBzZWxm
Lm9wdGlvbnMuZ2V0KCJzdXBwb3J0c19kZWJ1Z2dlciIpIGFuZCBzZWxmLmRlYnVnX2luZm8gYW5k
IHNlbGYuZGVidWdfaW5mby5pbnRlcmFjdGl2ZToKKyAgICAgICAgICAgIHNlbGYuaWdub3JlX2lu
dGVycnVwdHMoKQorICAgICAgICByZXR1cm4gc2VsZgorCisgICAgZGVmIF9fZXhpdF9fKHNlbGYs
IGV4Y190eXBlLCBleGNfdmFsLCBleGNfdGIpOgorICAgICAgICBzZWxmLnByb2Nlc3NfaW50ZXJy
dXB0cygpCisKKyAgICAgICAgZm9yIHNjaGVtZSwgc2VydmVycyBpbiBzZWxmLnNlcnZlcnMuaXRl
cml0ZW1zKCk6CisgICAgICAgICAgICBmb3IgcG9ydCwgc2VydmVyIGluIHNlcnZlcnM6CisgICAg
ICAgICAgICAgICAgc2VydmVyLmtpbGwoKQorICAgICAgICBmb3IgY20gaW4gc2VsZi5lbnZfZXh0
cmFzOgorICAgICAgICAgICAgY20uX19leGl0X18oKQorICAgICAgICBzZWxmLmNhY2hlX21hbmFn
ZXIuX19leGl0X18oZXhjX3R5cGUsIGV4Y192YWwsIGV4Y190YikKKyAgICAgICAgc2VsZi5zc2xf
ZW52Ll9fZXhpdF9fKGV4Y190eXBlLCBleGNfdmFsLCBleGNfdGIpCisgICAgICAgIHNlbGYuc3Rh
c2guX19leGl0X18oKQorCisgICAgZGVmIGlnbm9yZV9pbnRlcnJ1cHRzKHNlbGYpOgorICAgICAg
ICBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdJTlQsIHNpZ25hbC5TSUdfSUdOKQorCisgICAgZGVm
IHByb2Nlc3NfaW50ZXJydXB0cyhzZWxmKToKKyAgICAgICAgc2lnbmFsLnNpZ25hbChzaWduYWwu
U0lHSU5ULCBzaWduYWwuU0lHX0RGTCkKKworICAgIGRlZiBsb2FkX2NvbmZpZyhzZWxmKToKKyAg
ICAgICAgZGVmYXVsdF9jb25maWdfcGF0aCA9IG9zLnBhdGguam9pbihzZXJ2ZV9wYXRoKHNlbGYu
dGVzdF9wYXRocyksICJjb25maWcuZGVmYXVsdC5qc29uIikKKyAgICAgICAgbG9jYWxfY29uZmln
X3BhdGggPSBvcy5wYXRoLmpvaW4oaGVyZSwgImNvbmZpZy5qc29uIikKKworICAgICAgICB3aXRo
IG9wZW4oZGVmYXVsdF9jb25maWdfcGF0aCkgYXMgZjoKKyAgICAgICAgICAgIGRlZmF1bHRfY29u
ZmlnID0ganNvbi5sb2FkKGYpCisKKyAgICAgICAgd2l0aCBvcGVuKGxvY2FsX2NvbmZpZ19wYXRo
KSBhcyBmOgorICAgICAgICAgICAgZGF0YSA9IGYucmVhZCgpCisgICAgICAgICAgICBsb2NhbF9j
b25maWcgPSBqc29uLmxvYWRzKGRhdGEgJSBzZWxmLm9wdGlvbnMpCisKKyAgICAgICAgI1RPRE86
IGFsbG93IG5vbi1kZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIHNzbAorCisgICAgICAgIGxvY2Fs
X2NvbmZpZ1siZXh0ZXJuYWxfaG9zdCJdID0gc2VsZi5vcHRpb25zLmdldCgiZXh0ZXJuYWxfaG9z
dCIsIE5vbmUpCisgICAgICAgIGxvY2FsX2NvbmZpZ1sic3NsIl1bImVuY3J5cHRfYWZ0ZXJfY29u
bmVjdCJdID0gc2VsZi5vcHRpb25zLmdldCgiZW5jcnlwdF9hZnRlcl9jb25uZWN0IiwgRmFsc2Up
CisKKyAgICAgICAgY29uZmlnID0gc2VydmUubWVyZ2VfanNvbihkZWZhdWx0X2NvbmZpZywgbG9j
YWxfY29uZmlnKQorICAgICAgICBjb25maWdbImRvY19yb290Il0gPSBzZXJ2ZV9wYXRoKHNlbGYu
dGVzdF9wYXRocykKKworICAgICAgICBpZiBub3Qgc2VsZi5zc2xfZW52LnNzbF9lbmFibGVkOgor
ICAgICAgICAgICAgY29uZmlnWyJwb3J0cyJdWyJodHRwcyJdID0gW05vbmVdCisKKyAgICAgICAg
aG9zdCA9IHNlbGYub3B0aW9ucy5nZXQoImNlcnRpZmljYXRlX2RvbWFpbiIsIGNvbmZpZ1siaG9z
dCJdKQorICAgICAgICBob3N0cyA9IFtob3N0XQorICAgICAgICBob3N0cy5leHRlbmQoIiVzLiVz
IiAlIChpdGVtWzBdLCBob3N0KSBmb3IgaXRlbSBpbiBzZXJ2ZS5nZXRfc3ViZG9tYWlucyhob3N0
KS52YWx1ZXMoKSkKKyAgICAgICAga2V5X2ZpbGUsIGNlcnRpZmljYXRlID0gc2VsZi5zc2xfZW52
Lmhvc3RfY2VydF9wYXRoKGhvc3RzKQorCisgICAgICAgIGNvbmZpZ1sia2V5X2ZpbGUiXSA9IGtl
eV9maWxlCisgICAgICAgIGNvbmZpZ1siY2VydGlmaWNhdGUiXSA9IGNlcnRpZmljYXRlCisKKyAg
ICAgICAgcmV0dXJuIGNvbmZpZworCisgICAgZGVmIHNldHVwX3NlcnZlcl9sb2dnaW5nKHNlbGYp
OgorICAgICAgICBzZXJ2ZXJfbG9nZ2VyID0gZ2V0X2RlZmF1bHRfbG9nZ2VyKGNvbXBvbmVudD0i
d3B0c2VydmUiKQorICAgICAgICBhc3NlcnQgc2VydmVyX2xvZ2dlciBpcyBub3QgTm9uZQorICAg
ICAgICBsb2dfZmlsdGVyID0gaGFuZGxlcnMuTG9nTGV2ZWxGaWx0ZXIobGFtYmRhIHg6eCwgImlu
Zm8iKQorICAgICAgICAjIERvd25ncmFkZSBlcnJvcnMgdG8gd2FybmluZ3MgZm9yIHRoZSBzZXJ2
ZXIKKyAgICAgICAgbG9nX2ZpbHRlciA9IExvZ0xldmVsUmV3cml0ZXIobG9nX2ZpbHRlciwgWyJl
cnJvciJdLCAid2FybmluZyIpCisgICAgICAgIHNlcnZlcl9sb2dnZXIuY29tcG9uZW50X2ZpbHRl
ciA9IGxvZ19maWx0ZXIKKworICAgICAgICB0cnk6CisgICAgICAgICAgICAjU2V0IGFzIHRoZSBk
ZWZhdWx0IGxvZ2dlciBmb3Igd3B0c2VydmUKKyAgICAgICAgICAgIHNlcnZlLnNldF9sb2dnZXIo
c2VydmVyX2xvZ2dlcikKKyAgICAgICAgICAgIHNlcnZlLmxvZ2dlciA9IHNlcnZlcl9sb2dnZXIK
KyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICMgVGhpcyBoYXBwZW5zIGlm
IGxvZ2dpbmcgaGFzIGFscmVhZHkgYmVlbiBzZXQgdXAgZm9yIHdwdHNlcnZlCisgICAgICAgICAg
ICBwYXNzCisKKyAgICBkZWYgZ2V0X3JvdXRlcyhzZWxmKToKKyAgICAgICAgcm91dGVfYnVpbGRl
ciA9IHNlcnZlLlJvdXRlc0J1aWxkZXIoKQorCisgICAgICAgIGZvciBwYXRoLCBmb3JtYXRfYXJn
cywgY29udGVudF90eXBlLCByb3V0ZSBpbiBbCisgICAgICAgICAgICAgICAgKCJ0ZXN0aGFybmVz
c19ydW5uZXIuaHRtbCIsIHt9LCAidGV4dC9odG1sIiwgIi90ZXN0aGFybmVzc19ydW5uZXIuaHRt
bCIpLAorICAgICAgICAgICAgICAgIChzZWxmLm9wdGlvbnMuZ2V0KCJ0ZXN0aGFybmVzc3JlcG9y
dCIsICJ0ZXN0aGFybmVzc3JlcG9ydC5qcyIpLAorICAgICAgICAgICAgICAgICB7Im91dHB1dCI6
IHNlbGYucGF1c2VfYWZ0ZXJfdGVzdH0sICJ0ZXh0L2phdmFzY3JpcHQiLAorICAgICAgICAgICAg
ICAgICAiL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyIpXToKKyAgICAgICAgICAgIHBh
dGggPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihoZXJlLCBwYXRoKSkKKyAgICAgICAg
ICAgIHJvdXRlX2J1aWxkZXIuYWRkX3N0YXRpYyhwYXRoLCBmb3JtYXRfYXJncywgY29udGVudF90
eXBlLCByb3V0ZSkKKworICAgICAgICBmb3IgdXJsX2Jhc2UsIHBhdGhzIGluIHNlbGYudGVzdF9w
YXRocy5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgIGlmIHVybF9iYXNlID09ICIvIjoKKyAgICAg
ICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgcm91dGVfYnVpbGRlci5hZGRfbW91bnRf
cG9pbnQodXJsX2Jhc2UsIHBhdGhzWyJ0ZXN0c19wYXRoIl0pCisKKyAgICAgICAgaWYgIi8iIG5v
dCBpbiBzZWxmLnRlc3RfcGF0aHM6CisgICAgICAgICAgICBkZWwgcm91dGVfYnVpbGRlci5tb3Vu
dHBvaW50X3JvdXRlc1siLyJdCisKKyAgICAgICAgcmV0dXJuIHJvdXRlX2J1aWxkZXIuZ2V0X3Jv
dXRlcygpCisKKyAgICBkZWYgZW5zdXJlX3N0YXJ0ZWQoc2VsZik6CisgICAgICAgICMgUGF1c2Ug
Zm9yIGEgd2hpbGUgdG8gZW5zdXJlIHRoYXQgdGhlIHNlcnZlciBoYXMgYSBjaGFuY2UgdG8gc3Rh
cnQKKyAgICAgICAgdGltZS5zbGVlcCgyKQorICAgICAgICBmb3Igc2NoZW1lLCBzZXJ2ZXJzIGlu
IHNlbGYuc2VydmVycy5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgIGZvciBwb3J0LCBzZXJ2ZXIg
aW4gc2VydmVyczoKKyAgICAgICAgICAgICAgICBpZiBzZWxmLnRlc3Rfc2VydmVyX3BvcnQ6Cisg
ICAgICAgICAgICAgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KCkKKyAgICAgICAgICAgICAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgcy5jb25uZWN0KChzZWxmLmNvbmZpZ1si
aG9zdCJdLCBwb3J0KSkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEVudmlyb25tZW50RXJyb3IoCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIiVzIHNlcnZlciBvbiBwb3J0ICVkIGZhaWxlZCB0byBzdGFy
dCIgJSAoc2NoZW1lLCBwb3J0KSkKKyAgICAgICAgICAgICAgICAgICAgZmluYWxseToKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHMuY2xvc2UoKQorCisgICAgICAgICAgICAgICAgaWYgbm90IHNl
cnZlci5pc19hbGl2ZSgpOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBFbnZpcm9ubWVudEVy
cm9yKCIlcyBzZXJ2ZXIgb24gcG9ydCAlZCBmYWlsZWQgdG8gc3RhcnQiICUgKHNjaGVtZSwgcG9y
dCkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL19faW5pdF9fLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2V4ZWN1dG9ycy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNDc2MWI4MzgzMDk0
ZGMyYzgzMDc1YTkzZDkyNGFhNGQ0NjZkMGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2V4ZWN1dG9ycy9fX2luaXRfXy5weQpAQCAtMCwwICsxLDQgQEAKK2Zyb20gYmFzZSBpbXBv
cnQgKGV4ZWN1dG9yX2t3YXJncywKKyAgICAgICAgICAgICAgICAgIHRlc3RoYXJuZXNzX3Jlc3Vs
dF9jb252ZXJ0ZXIsCisgICAgICAgICAgICAgICAgICByZWZ0ZXN0X3Jlc3VsdF9jb252ZXJ0ZXIs
CisgICAgICAgICAgICAgICAgICBUZXN0RXhlY3V0b3IpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL2Jhc2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2Jhc2UucHkKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTRiZGE0ZmFhZmFlOTFjM2U3YzlkNDU2NTEwNDQ1OWM5MDIzZGI0NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvYmFzZS5weQpAQCAtMCwwICsxLDMy
NSBAQAoraW1wb3J0IGhhc2hsaWIKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCB0cmFj
ZWJhY2sKK2ltcG9ydCB1cmxwYXJzZQorZnJvbSBhYmMgaW1wb3J0IEFCQ01ldGEsIGFic3RyYWN0
bWV0aG9kCisKK2Zyb20gLi50ZXN0cnVubmVyIGltcG9ydCBTdG9wCisKK2hlcmUgPSBvcy5wYXRo
LnNwbGl0KF9fZmlsZV9fKVswXQorCisKK2RlZiBleGVjdXRvcl9rd2FyZ3ModGVzdF90eXBlLCBz
ZXJ2ZXJfY29uZmlnLCBjYWNoZV9tYW5hZ2VyLCAqKmt3YXJncyk6CisgICAgdGltZW91dF9tdWx0
aXBsaWVyID0ga3dhcmdzWyJ0aW1lb3V0X211bHRpcGxpZXIiXQorICAgIGlmIHRpbWVvdXRfbXVs
dGlwbGllciBpcyBOb25lOgorICAgICAgICB0aW1lb3V0X211bHRpcGxpZXIgPSAxCisKKyAgICBl
eGVjdXRvcl9rd2FyZ3MgPSB7InNlcnZlcl9jb25maWciOiBzZXJ2ZXJfY29uZmlnLAorICAgICAg
ICAgICAgICAgICAgICAgICAidGltZW91dF9tdWx0aXBsaWVyIjogdGltZW91dF9tdWx0aXBsaWVy
LAorICAgICAgICAgICAgICAgICAgICAgICAiZGVidWdfaW5mbyI6IGt3YXJnc1siZGVidWdfaW5m
byJdfQorCisgICAgaWYgdGVzdF90eXBlID09ICJyZWZ0ZXN0IjoKKyAgICAgICAgZXhlY3V0b3Jf
a3dhcmdzWyJzY3JlZW5zaG90X2NhY2hlIl0gPSBjYWNoZV9tYW5hZ2VyLmRpY3QoKQorCisgICAg
cmV0dXJuIGV4ZWN1dG9yX2t3YXJncworCisKK2RlZiBzdHJpcF9zZXJ2ZXIodXJsKToKKyAgICAi
IiJSZW1vdmUgdGhlIHNjaGVtZSBhbmQgbmV0bG9jIGZyb20gYSB1cmwsIGxlYXZpbmcgb25seSB0
aGUgcGF0aCBhbmQgYW55IHF1ZXJ5CisgICAgb3IgZnJhZ21lbnQuCisKKyAgICB1cmwgLSB0aGUg
dXJsIHRvIHN0cmlwCisKKyAgICBlLmcuIGh0dHA6Ly9leGFtcGxlLm9yZzo4MDAwL3Rlc3RzP2lk
PTEjMiBiZWNvbWVzIC90ZXN0cz9pZD0xIzIiIiIKKworICAgIHVybF9wYXJ0cyA9IGxpc3QodXJs
cGFyc2UudXJsc3BsaXQodXJsKSkKKyAgICB1cmxfcGFydHNbMF0gPSAiIgorICAgIHVybF9wYXJ0
c1sxXSA9ICIiCisgICAgcmV0dXJuIHVybHBhcnNlLnVybHVuc3BsaXQodXJsX3BhcnRzKQorCisK
K2NsYXNzIFRlc3RoYXJuZXNzUmVzdWx0Q29udmVydGVyKG9iamVjdCk6CisgICAgaGFybmVzc19j
b2RlcyA9IHswOiAiT0siLAorICAgICAgICAgICAgICAgICAgICAgMTogIkVSUk9SIiwKKyAgICAg
ICAgICAgICAgICAgICAgIDI6ICJUSU1FT1VUIn0KKworICAgIHRlc3RfY29kZXMgPSB7MDogIlBB
U1MiLAorICAgICAgICAgICAgICAgICAgMTogIkZBSUwiLAorICAgICAgICAgICAgICAgICAgMjog
IlRJTUVPVVQiLAorICAgICAgICAgICAgICAgICAgMzogIk5PVFJVTiJ9CisKKyAgICBkZWYgX19j
YWxsX18oc2VsZiwgdGVzdCwgcmVzdWx0KToKKyAgICAgICAgIiIiQ29udmVydCBhIEpTT04gcmVz
dWx0IGludG8gYSAoVGVzdFJlc3VsdCwgW1N1YnRlc3RSZXN1bHRdKSB0dXBsZSIiIgorICAgICAg
ICByZXN1bHRfdXJsLCBzdGF0dXMsIG1lc3NhZ2UsIHN0YWNrLCBzdWJ0ZXN0X3Jlc3VsdHMgPSBy
ZXN1bHQKKyAgICAgICAgYXNzZXJ0IHJlc3VsdF91cmwgPT0gdGVzdC51cmwsICgiR290IHJlc3Vs
dHMgZnJvbSAlcywgZXhwZWN0ZWQgJXMiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKHJlc3VsdF91cmwsIHRlc3QudXJsKSkKKyAgICAgICAgaGFybmVzc19yZXN1bHQg
PSB0ZXN0LnJlc3VsdF9jbHMoc2VsZi5oYXJuZXNzX2NvZGVzW3N0YXR1c10sIG1lc3NhZ2UpCisg
ICAgICAgIHJldHVybiAoaGFybmVzc19yZXN1bHQsCisgICAgICAgICAgICAgICAgW3Rlc3Quc3Vi
dGVzdF9yZXN1bHRfY2xzKG5hbWUsIHNlbGYudGVzdF9jb2Rlc1tzdGF0dXNdLCBtZXNzYWdlLCBz
dGFjaykKKyAgICAgICAgICAgICAgICAgZm9yIG5hbWUsIHN0YXR1cywgbWVzc2FnZSwgc3RhY2sg
aW4gc3VidGVzdF9yZXN1bHRzXSkKKworCit0ZXN0aGFybmVzc19yZXN1bHRfY29udmVydGVyID0g
VGVzdGhhcm5lc3NSZXN1bHRDb252ZXJ0ZXIoKQorCisKK2RlZiByZWZ0ZXN0X3Jlc3VsdF9jb252
ZXJ0ZXIoc2VsZiwgdGVzdCwgcmVzdWx0KToKKyAgICByZXR1cm4gKHRlc3QucmVzdWx0X2Nscyhy
ZXN1bHRbInN0YXR1cyJdLCByZXN1bHRbIm1lc3NhZ2UiXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBleHRyYT1yZXN1bHQuZ2V0KCJleHRyYSIpKSwgW10pCisKKworZGVmIHB5dGVzdF9y
ZXN1bHRfY29udmVydGVyKHNlbGYsIHRlc3QsIGRhdGEpOgorICAgIGhhcm5lc3NfZGF0YSwgc3Vi
dGVzdF9kYXRhID0gZGF0YQorCisgICAgaWYgc3VidGVzdF9kYXRhIGlzIE5vbmU6CisgICAgICAg
IHN1YnRlc3RfZGF0YSA9IFtdCisKKyAgICBoYXJuZXNzX3Jlc3VsdCA9IHRlc3QucmVzdWx0X2Ns
cygqaGFybmVzc19kYXRhKQorICAgIHN1YnRlc3RfcmVzdWx0cyA9IFt0ZXN0LnN1YnRlc3RfcmVz
dWx0X2NscygqaXRlbSkgZm9yIGl0ZW0gaW4gc3VidGVzdF9kYXRhXQorCisgICAgcmV0dXJuICho
YXJuZXNzX3Jlc3VsdCwgc3VidGVzdF9yZXN1bHRzKQorCisKK2NsYXNzIEV4ZWN1dG9yRXhjZXB0
aW9uKEV4Y2VwdGlvbik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0YXR1cywgbWVzc2FnZSk6
CisgICAgICAgIHNlbGYuc3RhdHVzID0gc3RhdHVzCisgICAgICAgIHNlbGYubWVzc2FnZSA9IG1l
c3NhZ2UKKworCitjbGFzcyBUZXN0RXhlY3V0b3Iob2JqZWN0KToKKyAgICBfX21ldGFjbGFzc19f
ID0gQUJDTWV0YQorCisgICAgdGVzdF90eXBlID0gTm9uZQorICAgIGNvbnZlcnRfcmVzdWx0ID0g
Tm9uZQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHRp
bWVvdXRfbXVsdGlwbGllcj0xLAorICAgICAgICAgICAgICAgICBkZWJ1Z19pbmZvPU5vbmUpOgor
ICAgICAgICAiIiJBYnN0cmFjdCBCYXNlIGNsYXNzIGZvciBvYmplY3QgdGhhdCBhY3R1YWxseSBl
eGVjdXRlcyB0aGUgdGVzdHMgaW4gYQorICAgICAgICBzcGVjaWZpYyBicm93c2VyLiBUeXBpY2Fs
bHkgdGhlcmUgd2lsbCBiZSBhIGRpZmZlcmVudCBUZXN0RXhlY3V0b3IKKyAgICAgICAgc3ViY2xh
c3MgZm9yIGVhY2ggdGVzdCB0eXBlIGFuZCBtZXRob2Qgb2YgZXhlY3V0aW5nIHRlc3RzLgorCisg
ICAgICAgIDpwYXJhbSBicm93c2VyOiBFeGVjdXRvckJyb3dzZXIgaW5zdGFuY2UgcHJvdmlkaW5n
IHByb3BlcnRpZXMgb2YgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyIHRoYXQg
d2lsbCBiZSB0ZXN0ZWQuCisgICAgICAgIDpwYXJhbSBzZXJ2ZXJfY29uZmlnOiBEaWN0aW9uYXJ5
IG9mIHdwdHNlcnZlIHNlcnZlciBjb25maWd1cmF0aW9uIG9mIHRoZQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZm9ybSBzdG9yZWQgaW4gVGVzdEVudmlyb25tZW50LmV4dGVybmFsX2Nv
bmZpZworICAgICAgICA6cGFyYW0gdGltZW91dF9tdWx0aXBsaWVyOiBNdWx0aXBsaWVyIHJlbGF0
aXZlIHRvIGJhc2UgdGltZW91dCB0byB1c2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgd2hlbiBzZXR0aW5nIHRlc3QgdGltZW91dC4KKyAgICAgICAgIiIiCisgICAgICAgIHNl
bGYucnVubmVyID0gTm9uZQorICAgICAgICBzZWxmLmJyb3dzZXIgPSBicm93c2VyCisgICAgICAg
IHNlbGYuc2VydmVyX2NvbmZpZyA9IHNlcnZlcl9jb25maWcKKyAgICAgICAgc2VsZi50aW1lb3V0
X211bHRpcGxpZXIgPSB0aW1lb3V0X211bHRpcGxpZXIKKyAgICAgICAgc2VsZi5kZWJ1Z19pbmZv
ID0gZGVidWdfaW5mbworICAgICAgICBzZWxmLmxhc3RfZW52aXJvbm1lbnQgPSB7InByb3RvY29s
IjogImh0dHAiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWZzIjoge319
CisgICAgICAgIHNlbGYucHJvdG9jb2wgPSBOb25lICMgVGhpcyBtdXN0IGJlIHNldCBpbiBzdWJj
bGFzc2VzCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgbG9nZ2VyKHNlbGYpOgorICAgICAgICAi
IiJTdHJ1Y3R1cmVkTG9nZ2VyIGZvciB0aGlzIGV4ZWN1dG9yIiIiCisgICAgICAgIGlmIHNlbGYu
cnVubmVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVubmVyLmxvZ2dl
cgorCisgICAgZGVmIHNldHVwKHNlbGYsIHJ1bm5lcik6CisgICAgICAgICIiIlJ1biBzdGVwcyBu
ZWVkZWQgYmVmb3JlIHRlc3RzIGNhbiBiZSBzdGFydGVkIGUuZy4gY29ubmVjdGluZyB0bworICAg
ICAgICBicm93c2VyIGluc3RhbmNlCisKKyAgICAgICAgOnBhcmFtIHJ1bm5lcjogVGVzdFJ1bm5l
ciBpbnN0YW5jZSB0aGF0IGlzIGdvaW5nIHRvIHJ1biB0aGUgdGVzdHMiIiIKKyAgICAgICAgc2Vs
Zi5ydW5uZXIgPSBydW5uZXIKKyAgICAgICAgaWYgc2VsZi5wcm90b2NvbCBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgIHNlbGYucHJvdG9jb2wuc2V0dXAocnVubmVyKQorCisgICAgZGVmIHRlYXJk
b3duKHNlbGYpOgorICAgICAgICAiIiJSdW4gY2xlYW51cCBzdGVwcyBhZnRlciB0ZXN0cyBoYXZl
IGZpbmlzaGVkIiIiCisgICAgICAgIGlmIHNlbGYucHJvdG9jb2wgaXMgbm90IE5vbmU6CisgICAg
ICAgICAgICBzZWxmLnByb3RvY29sLnRlYXJkb3duKCkKKworICAgIGRlZiBydW5fdGVzdChzZWxm
LCB0ZXN0KToKKyAgICAgICAgIiIiUnVuIGEgcGFydGljdWxhciB0ZXN0LgorCisgICAgICAgIDpw
YXJhbSB0ZXN0OiBUaGUgdGVzdCB0byBydW4iIiIKKyAgICAgICAgaWYgdGVzdC5lbnZpcm9ubWVu
dCAhPSBzZWxmLmxhc3RfZW52aXJvbm1lbnQ6CisgICAgICAgICAgICBzZWxmLm9uX2Vudmlyb25t
ZW50X2NoYW5nZSh0ZXN0LmVudmlyb25tZW50KQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAg
IHJlc3VsdCA9IHNlbGYuZG9fdGVzdCh0ZXN0KQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFz
IGU6CisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLnJlc3VsdF9mcm9tX2V4Y2VwdGlvbih0ZXN0
LCBlKQorCisgICAgICAgIGlmIHJlc3VsdCBpcyBTdG9wOgorICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdAorCisgICAgICAgICMgbG9nIHJlc3VsdCBvZiBwYXJlbnQgdGVzdAorICAgICAgICBpZiBy
ZXN1bHRbMF0uc3RhdHVzID09ICJFUlJPUiI6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1
ZyhyZXN1bHRbMF0ubWVzc2FnZSkKKworICAgICAgICBzZWxmLmxhc3RfZW52aXJvbm1lbnQgPSB0
ZXN0LmVudmlyb25tZW50CisKKyAgICAgICAgc2VsZi5ydW5uZXIuc2VuZF9tZXNzYWdlKCJ0ZXN0
X2VuZGVkIiwgdGVzdCwgcmVzdWx0KQorCisgICAgZGVmIHNlcnZlcl91cmwoc2VsZiwgcHJvdG9j
b2wpOgorICAgICAgICByZXR1cm4gIiVzOi8vJXM6JXMiICUgKHByb3RvY29sLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2NvbmZpZ1siaG9zdCJdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2NvbmZpZ1sicG9ydHMiXVtwcm90
b2NvbF1bMF0pCisKKyAgICBkZWYgdGVzdF91cmwoc2VsZiwgdGVzdCk6CisgICAgICAgIHJldHVy
biB1cmxwYXJzZS51cmxqb2luKHNlbGYuc2VydmVyX3VybCh0ZXN0LmVudmlyb25tZW50WyJwcm90
b2NvbCJdKSwgdGVzdC51cmwpCisKKyAgICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgZG9fdGVz
dChzZWxmLCB0ZXN0KToKKyAgICAgICAgIiIiVGVzdC10eXBlIGFuZCBwcm90b2NvbCBzcGVjaWZp
YyBpbXBsZW1lbnRhdGlvbiBvZiBydW5uaW5nIGEKKyAgICAgICAgc3BlY2lmaWMgdGVzdC4KKwor
ICAgICAgICA6cGFyYW0gdGVzdDogVGhlIHRlc3QgdG8gcnVuLiIiIgorICAgICAgICBwYXNzCisK
KyAgICBkZWYgb25fZW52aXJvbm1lbnRfY2hhbmdlKHNlbGYsIG5ld19lbnZpcm9ubWVudCk6Cisg
ICAgICAgIHBhc3MKKworICAgIGRlZiByZXN1bHRfZnJvbV9leGNlcHRpb24oc2VsZiwgdGVzdCwg
ZSk6CisgICAgICAgIGlmIGhhc2F0dHIoZSwgInN0YXR1cyIpIGFuZCBlLnN0YXR1cyBpbiB0ZXN0
LnJlc3VsdF9jbHMuc3RhdHVzZXM6CisgICAgICAgICAgICBzdGF0dXMgPSBlLnN0YXR1cworICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgc3RhdHVzID0gIkVSUk9SIgorICAgICAgICBtZXNzYWdl
ID0gdW5pY29kZShnZXRhdHRyKGUsICJtZXNzYWdlIiwgIiIpKQorICAgICAgICBpZiBtZXNzYWdl
OgorICAgICAgICAgICAgbWVzc2FnZSArPSAiXG4iCisgICAgICAgIG1lc3NhZ2UgKz0gdHJhY2Vi
YWNrLmZvcm1hdF9leGMoZSkKKyAgICAgICAgcmV0dXJuIHRlc3QucmVzdWx0X2NscyhzdGF0dXMs
IG1lc3NhZ2UpLCBbXQorCisKK2NsYXNzIFRlc3RoYXJuZXNzRXhlY3V0b3IoVGVzdEV4ZWN1dG9y
KToKKyAgICBjb252ZXJ0X3Jlc3VsdCA9IHRlc3RoYXJuZXNzX3Jlc3VsdF9jb252ZXJ0ZXIKKwor
CitjbGFzcyBSZWZUZXN0RXhlY3V0b3IoVGVzdEV4ZWN1dG9yKToKKyAgICBjb252ZXJ0X3Jlc3Vs
dCA9IHJlZnRlc3RfcmVzdWx0X2NvbnZlcnRlcgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJy
b3dzZXIsIHNlcnZlcl9jb25maWcsIHRpbWVvdXRfbXVsdGlwbGllcj0xLCBzY3JlZW5zaG90X2Nh
Y2hlPU5vbmUsCisgICAgICAgICAgICAgICAgIGRlYnVnX2luZm89Tm9uZSk6CisgICAgICAgIFRl
c3RFeGVjdXRvci5fX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVyPXRpbWVvdXRfbXVsdGlw
bGllciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2luZm89ZGVidWdfaW5m
bykKKworICAgICAgICBzZWxmLnNjcmVlbnNob3RfY2FjaGUgPSBzY3JlZW5zaG90X2NhY2hlCisK
KworY2xhc3MgUmVmVGVzdEltcGxlbWVudGF0aW9uKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGV4ZWN1dG9yKToKKyAgICAgICAgc2VsZi50aW1lb3V0X211bHRpcGxpZXIgPSBleGVj
dXRvci50aW1lb3V0X211bHRpcGxpZXIKKyAgICAgICAgc2VsZi5leGVjdXRvciA9IGV4ZWN1dG9y
CisgICAgICAgICMgQ2FjaGUgb2YgdXJsOihzY3JlZW5zaG90IGhhc2gsIHNjcmVlbnNob3QpLiBU
eXBpY2FsbHkgdGhlCisgICAgICAgICMgc2NyZWVuc2hvdCBpcyBOb25lLCBidXQgd2Ugc2V0IHRo
aXMgdmFsdWUgaWYgYSB0ZXN0IGZhaWxzCisgICAgICAgICMgYW5kIHRoZSBzY3JlZW5zaG90IHdh
cyB0YWtlbiBmcm9tIHRoZSBjYWNoZSBzbyB0aGF0IHdlIG1heQorICAgICAgICAjIHJldHJpZXZl
IHRoZSBzY3JlZW5zaG90IGZyb20gdGhlIGNhY2hlIGRpcmVjdGx5IGluIHRoZSBmdXR1cmUKKyAg
ICAgICAgc2VsZi5zY3JlZW5zaG90X2NhY2hlID0gc2VsZi5leGVjdXRvci5zY3JlZW5zaG90X2Nh
Y2hlCisgICAgICAgIHNlbGYubWVzc2FnZSA9IE5vbmUKKworICAgIEBwcm9wZXJ0eQorICAgIGRl
ZiBsb2dnZXIoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmV4ZWN1dG9yLmxvZ2dlcgorCisg
ICAgZGVmIGdldF9oYXNoKHNlbGYsIHRlc3QsIHZpZXdwb3J0X3NpemUsIGRwaSk6CisgICAgICAg
IHRpbWVvdXQgPSB0ZXN0LnRpbWVvdXQgKiBzZWxmLnRpbWVvdXRfbXVsdGlwbGllcgorICAgICAg
ICBrZXkgPSAodGVzdC51cmwsIHZpZXdwb3J0X3NpemUsIGRwaSkKKworICAgICAgICBpZiBrZXkg
bm90IGluIHNlbGYuc2NyZWVuc2hvdF9jYWNoZToKKyAgICAgICAgICAgIHN1Y2Nlc3MsIGRhdGEg
PSBzZWxmLmV4ZWN1dG9yLnNjcmVlbnNob3QodGVzdCwgdmlld3BvcnRfc2l6ZSwgZHBpKQorCisg
ICAgICAgICAgICBpZiBub3Qgc3VjY2VzczoKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2Us
IGRhdGEKKworICAgICAgICAgICAgc2NyZWVuc2hvdCA9IGRhdGEKKyAgICAgICAgICAgIGhhc2hf
dmFsdWUgPSBoYXNobGliLnNoYTEoc2NyZWVuc2hvdCkuaGV4ZGlnZXN0KCkKKworICAgICAgICAg
ICAgc2VsZi5zY3JlZW5zaG90X2NhY2hlW2tleV0gPSAoaGFzaF92YWx1ZSwgTm9uZSkKKworICAg
ICAgICAgICAgcnYgPSAoaGFzaF92YWx1ZSwgc2NyZWVuc2hvdCkKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIHJ2ID0gc2VsZi5zY3JlZW5zaG90X2NhY2hlW2tleV0KKworICAgICAgICBzZWxm
Lm1lc3NhZ2UuYXBwZW5kKCIlcyAlcyIgJSAodGVzdC51cmwsIHJ2WzBdKSkKKyAgICAgICAgcmV0
dXJuIFRydWUsIHJ2CisKKyAgICBkZWYgaXNfcGFzcyhzZWxmLCBsaHNfaGFzaCwgcmhzX2hhc2gs
IHJlbGF0aW9uKToKKyAgICAgICAgYXNzZXJ0IHJlbGF0aW9uIGluICgiPT0iLCAiIT0iKQorICAg
ICAgICBzZWxmLm1lc3NhZ2UuYXBwZW5kKCJUZXN0aW5nICVzICVzICVzIiAlIChsaHNfaGFzaCwg
cmVsYXRpb24sIHJoc19oYXNoKSkKKyAgICAgICAgcmV0dXJuICgocmVsYXRpb24gPT0gIj09IiBh
bmQgbGhzX2hhc2ggPT0gcmhzX2hhc2gpIG9yCisgICAgICAgICAgICAgICAgKHJlbGF0aW9uID09
ICIhPSIgYW5kIGxoc19oYXNoICE9IHJoc19oYXNoKSkKKworICAgIGRlZiBydW5fdGVzdChzZWxm
LCB0ZXN0KToKKyAgICAgICAgdmlld3BvcnRfc2l6ZSA9IHRlc3Qudmlld3BvcnRfc2l6ZQorICAg
ICAgICBkcGkgPSB0ZXN0LmRwaQorICAgICAgICBzZWxmLm1lc3NhZ2UgPSBbXQorCisgICAgICAg
ICMgRGVwdGgtZmlyc3Qgc2VhcmNoIG9mIHJlZmVyZW5jZSB0cmVlLCB3aXRoIHRoZSBnb2FsCisg
ICAgICAgICMgb2YgcmVhY2hpbmdzIGEgbGVhZiBub2RlIHdpdGggb25seSBwYXNzIHJlc3VsdHMK
KworICAgICAgICBzdGFjayA9IGxpc3QoKCh0ZXN0LCBpdGVtWzBdKSwgaXRlbVsxXSkgZm9yIGl0
ZW0gaW4gcmV2ZXJzZWQodGVzdC5yZWZlcmVuY2VzKSkKKyAgICAgICAgd2hpbGUgc3RhY2s6Cisg
ICAgICAgICAgICBoYXNoZXMgPSBbTm9uZSwgTm9uZV0KKyAgICAgICAgICAgIHNjcmVlbnNob3Rz
ID0gW05vbmUsIE5vbmVdCisKKyAgICAgICAgICAgIG5vZGVzLCByZWxhdGlvbiA9IHN0YWNrLnBv
cCgpCisKKyAgICAgICAgICAgIGZvciBpLCBub2RlIGluIGVudW1lcmF0ZShub2Rlcyk6CisgICAg
ICAgICAgICAgICAgc3VjY2VzcywgZGF0YSA9IHNlbGYuZ2V0X2hhc2gobm9kZSwgdmlld3BvcnRf
c2l6ZSwgZHBpKQorICAgICAgICAgICAgICAgIGlmIHN1Y2Nlc3MgaXMgRmFsc2U6CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiB7InN0YXR1cyI6IGRhdGFbMF0sICJtZXNzYWdlIjogZGF0YVsx
XX0KKworICAgICAgICAgICAgICAgIGhhc2hlc1tpXSwgc2NyZWVuc2hvdHNbaV0gPSBkYXRhCisK
KyAgICAgICAgICAgIGlmIHNlbGYuaXNfcGFzcyhoYXNoZXNbMF0sIGhhc2hlc1sxXSwgcmVsYXRp
b24pOgorICAgICAgICAgICAgICAgIGlmIG5vZGVzWzFdLnJlZmVyZW5jZXM6CisgICAgICAgICAg
ICAgICAgICAgIHN0YWNrLmV4dGVuZChsaXN0KCgobm9kZXNbMV0sIGl0ZW1bMF0pLCBpdGVtWzFd
KSBmb3IgaXRlbSBpbiByZXZlcnNlZChub2Rlc1sxXS5yZWZlcmVuY2VzKSkpCisgICAgICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgIyBXZSBwYXNzZWQKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHsic3RhdHVzIjoiUEFTUyIsICJtZXNzYWdlIjogTm9uZX0KKworICAg
ICAgICAjIFdlIGZhaWxlZCwgc28gY29uc3RydWN0IGEgZmFpbHVyZSBtZXNzYWdlCisKKyAgICAg
ICAgZm9yIGksIChub2RlLCBzY3JlZW5zaG90KSBpbiBlbnVtZXJhdGUoemlwKG5vZGVzLCBzY3Jl
ZW5zaG90cykpOgorICAgICAgICAgICAgaWYgc2NyZWVuc2hvdCBpcyBOb25lOgorICAgICAgICAg
ICAgICAgIHN1Y2Nlc3MsIHNjcmVlbnNob3QgPSBzZWxmLnJldGFrZV9zY3JlZW5zaG90KG5vZGUs
IHZpZXdwb3J0X3NpemUsIGRwaSkKKyAgICAgICAgICAgICAgICBpZiBzdWNjZXNzOgorICAgICAg
ICAgICAgICAgICAgICBzY3JlZW5zaG90c1tpXSA9IHNjcmVlbnNob3QKKworICAgICAgICBsb2df
ZGF0YSA9IFt7InVybCI6IG5vZGVzWzBdLnVybCwgInNjcmVlbnNob3QiOiBzY3JlZW5zaG90c1sw
XX0sIHJlbGF0aW9uLAorICAgICAgICAgICAgICAgICAgICB7InVybCI6IG5vZGVzWzFdLnVybCwg
InNjcmVlbnNob3QiOiBzY3JlZW5zaG90c1sxXX1dCisKKyAgICAgICAgcmV0dXJuIHsic3RhdHVz
IjogIkZBSUwiLAorICAgICAgICAgICAgICAgICJtZXNzYWdlIjogIlxuIi5qb2luKHNlbGYubWVz
c2FnZSksCisgICAgICAgICAgICAgICAgImV4dHJhIjogeyJyZWZ0ZXN0X3NjcmVlbnNob3RzIjog
bG9nX2RhdGF9fQorCisgICAgZGVmIHJldGFrZV9zY3JlZW5zaG90KHNlbGYsIG5vZGUsIHZpZXdw
b3J0X3NpemUsIGRwaSk6CisgICAgICAgIHN1Y2Nlc3MsIGRhdGEgPSBzZWxmLmV4ZWN1dG9yLnNj
cmVlbnNob3Qobm9kZSwgdmlld3BvcnRfc2l6ZSwgZHBpKQorICAgICAgICBpZiBub3Qgc3VjY2Vz
czoKKyAgICAgICAgICAgIHJldHVybiBGYWxzZSwgZGF0YQorCisgICAgICAgIGtleSA9IChub2Rl
LnVybCwgdmlld3BvcnRfc2l6ZSwgZHBpKQorICAgICAgICBoYXNoX3ZhbCwgXyA9IHNlbGYuc2Ny
ZWVuc2hvdF9jYWNoZVtrZXldCisgICAgICAgIHNlbGYuc2NyZWVuc2hvdF9jYWNoZVtrZXldID0g
aGFzaF92YWwsIGRhdGEKKyAgICAgICAgcmV0dXJuIFRydWUsIGRhdGEKKworCitjbGFzcyBXZHNw
ZWNFeGVjdXRvcihUZXN0RXhlY3V0b3IpOgorICAgIGNvbnZlcnRfcmVzdWx0ID0gcHl0ZXN0X3Jl
c3VsdF9jb252ZXJ0ZXIKKworCitjbGFzcyBQcm90b2NvbChvYmplY3QpOgorICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBleGVjdXRvciwgYnJvd3Nlcik6CisgICAgICAgIHNlbGYuZXhlY3V0b3IgPSBl
eGVjdXRvcgorICAgICAgICBzZWxmLmJyb3dzZXIgPSBicm93c2VyCisKKyAgICBAcHJvcGVydHkK
KyAgICBkZWYgbG9nZ2VyKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5leGVjdXRvci5sb2dn
ZXIKKworICAgIGRlZiBzZXR1cChzZWxmLCBydW5uZXIpOgorICAgICAgICBwYXNzCisKKyAgICBk
ZWYgdGVhcmRvd24oc2VsZik6CisgICAgICAgIHBhc3MKKworICAgIGRlZiB3YWl0KHNlbGYpOgor
ICAgICAgICBwYXNzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9y
bWFyaW9uZXR0ZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JtYXJpb25ldHRl
LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxZTY1MDlhZjE2NzM4OWNhZWJjZTgyYmY0YjRkOGQ0MDAyZmEzMTUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9ybWFyaW9u
ZXR0ZS5weQpAQCAtMCwwICsxLDYxOCBAQAoraW1wb3J0IGhhc2hsaWIKK2ltcG9ydCBodHRwbGli
CitpbXBvcnQgb3MKK2ltcG9ydCBzb2NrZXQKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9ydCB0aW1l
CitpbXBvcnQgdHJhY2ViYWNrCitpbXBvcnQgdXJscGFyc2UKK2ltcG9ydCB1dWlkCitmcm9tIGNv
bGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdAorCitmcm9tIC4ud3B0dGVzdCBpbXBvcnQgV2Rz
cGVjUmVzdWx0LCBXZHNwZWNTdWJ0ZXN0UmVzdWx0CisKK2Vycm9ycyA9IE5vbmUKK21hcmlvbmV0
dGUgPSBOb25lCitweXRlc3RydW5uZXIgPSBOb25lCisKK2hlcmUgPSBvcy5wYXRoLmpvaW4ob3Mu
cGF0aC5zcGxpdChfX2ZpbGVfXylbMF0pCisKK2Zyb20gLmJhc2UgaW1wb3J0IChFeGVjdXRvckV4
Y2VwdGlvbiwKKyAgICAgICAgICAgICAgICAgICBQcm90b2NvbCwKKyAgICAgICAgICAgICAgICAg
ICBSZWZUZXN0RXhlY3V0b3IsCisgICAgICAgICAgICAgICAgICAgUmVmVGVzdEltcGxlbWVudGF0
aW9uLAorICAgICAgICAgICAgICAgICAgIFRlc3RFeGVjdXRvciwKKyAgICAgICAgICAgICAgICAg
ICBUZXN0aGFybmVzc0V4ZWN1dG9yLAorICAgICAgICAgICAgICAgICAgIHRlc3RoYXJuZXNzX3Jl
c3VsdF9jb252ZXJ0ZXIsCisgICAgICAgICAgICAgICAgICAgcmVmdGVzdF9yZXN1bHRfY29udmVy
dGVyLAorICAgICAgICAgICAgICAgICAgIHN0cmlwX3NlcnZlciwKKyAgICAgICAgICAgICAgICAg
ICBXZHNwZWNFeGVjdXRvcikKK2Zyb20gLi50ZXN0cnVubmVyIGltcG9ydCBTdG9wCitmcm9tIC4u
d2ViZHJpdmVyX3NlcnZlciBpbXBvcnQgR2Vja29Ecml2ZXJTZXJ2ZXIKKworIyBFeHRyYSB0aW1l
b3V0IHRvIHVzZSBhZnRlciBpbnRlcm5hbCB0ZXN0IHRpbWVvdXQgYXQgd2hpY2ggdGhlIGhhcm5l
c3MKKyMgc2hvdWxkIGZvcmNlIGEgdGltZW91dAorZXh0cmFfdGltZW91dCA9IDUgIyBzZWNvbmRz
CisKKworZGVmIGRvX2RlbGF5ZWRfaW1wb3J0cygpOgorICAgIGdsb2JhbCBlcnJvcnMsIG1hcmlv
bmV0dGUKKworICAgICMgTWFyaW9uZXR0ZSBjbGllbnQgdXNlZCB0byBiZSBjYWxsZWQgbWFyaW9u
ZXR0ZSwgcmVjZW50bHkgaXQgY2hhbmdlZAorICAgICMgdG8gbWFyaW9uZXR0ZV9kcml2ZXIgZm9y
IHVuZmF0aG9tYWJsZSByZWFzb25zCisgICAgdHJ5OgorICAgICAgICBpbXBvcnQgbWFyaW9uZXR0
ZQorICAgICAgICBmcm9tIG1hcmlvbmV0dGUgaW1wb3J0IGVycm9ycworICAgIGV4Y2VwdCBJbXBv
cnRFcnJvcjoKKyAgICAgICAgZnJvbSBtYXJpb25ldHRlX2RyaXZlciBpbXBvcnQgbWFyaW9uZXR0
ZSwgZXJyb3JzCisKKworY2xhc3MgTWFyaW9uZXR0ZVByb3RvY29sKFByb3RvY29sKToKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgZXhlY3V0b3IsIGJyb3dzZXIpOgorICAgICAgICBkb19kZWxheWVk
X2ltcG9ydHMoKQorCisgICAgICAgIFByb3RvY29sLl9faW5pdF9fKHNlbGYsIGV4ZWN1dG9yLCBi
cm93c2VyKQorICAgICAgICBzZWxmLm1hcmlvbmV0dGUgPSBOb25lCisgICAgICAgIHNlbGYubWFy
aW9uZXR0ZV9wb3J0ID0gYnJvd3Nlci5tYXJpb25ldHRlX3BvcnQKKyAgICAgICAgc2VsZi50aW1l
b3V0ID0gTm9uZQorICAgICAgICBzZWxmLnJ1bm5lcl9oYW5kbGUgPSBOb25lCisKKyAgICBkZWYg
c2V0dXAoc2VsZiwgcnVubmVyKToKKyAgICAgICAgIiIiQ29ubmVjdCB0byBicm93c2VyIHZpYSBN
YXJpb25ldHRlLiIiIgorICAgICAgICBQcm90b2NvbC5zZXR1cChzZWxmLCBydW5uZXIpCisKKyAg
ICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIkNvbm5lY3RpbmcgdG8gTWFyaW9uZXR0ZSBvbiBwb3J0
ICVpIiAlIHNlbGYubWFyaW9uZXR0ZV9wb3J0KQorICAgICAgICBzZWxmLm1hcmlvbmV0dGUgPSBt
YXJpb25ldHRlLk1hcmlvbmV0dGUoaG9zdD0nbG9jYWxob3N0JywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ9c2VsZi5tYXJpb25ldHRlX3BvcnQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXRf
dGltZW91dD1Ob25lKQorCisgICAgICAgICMgWFhYIE1vdmUgdGhpcyB0aW1lb3V0IHNvbWV3aGVy
ZQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiV2FpdGluZyBmb3IgTWFyaW9uZXR0ZSBjb25u
ZWN0aW9uIikKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIHN1Y2Nlc3MgPSBzZWxm
Lm1hcmlvbmV0dGUud2FpdF9mb3JfcG9ydCg2MCkKKyAgICAgICAgICAgICNXaGVuIHJ1bm5pbmcg
aW4gYSBkZWJ1Z2dlciB3YWl0IGluZGVmaW5pdGVseSBmb3IgZmlyZWZveCB0byBzdGFydAorICAg
ICAgICAgICAgaWYgc3VjY2VzcyBvciBzZWxmLmV4ZWN1dG9yLmRlYnVnX2luZm8gaXMgTm9uZToK
KyAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgIHNlc3Npb25fc3RhcnRlZCA9IEZhbHNl
CisgICAgICAgIGlmIHN1Y2Nlc3M6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAg
c2VsZi5sb2dnZXIuZGVidWcoIlN0YXJ0aW5nIE1hcmlvbmV0dGUgc2Vzc2lvbiIpCisgICAgICAg
ICAgICAgICAgc2VsZi5tYXJpb25ldHRlLnN0YXJ0X3Nlc3Npb24oKQorICAgICAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLndhcm5pbmco
IlN0YXJ0aW5nIG1hcmlvbmV0dGUgc2Vzc2lvbiBmYWlsZWQ6ICVzIiAlIGUpCisgICAgICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJNYXJpb25ldHRlIHNl
c3Npb24gc3RhcnRlZCIpCisgICAgICAgICAgICAgICAgc2Vzc2lvbl9zdGFydGVkID0gVHJ1ZQor
CisgICAgICAgIGlmIG5vdCBzdWNjZXNzIG9yIG5vdCBzZXNzaW9uX3N0YXJ0ZWQ6CisgICAgICAg
ICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKCJGYWlsZWQgdG8gY29ubmVjdCB0byBNYXJpb25ldHRl
IikKKyAgICAgICAgICAgIHNlbGYuZXhlY3V0b3IucnVubmVyLnNlbmRfbWVzc2FnZSgiaW5pdF9m
YWlsZWQiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAg
IHNlbGYuYWZ0ZXJfY29ubmVjdCgpCisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAg
ICAgICAgICAgICAgIHNlbGYubG9nZ2VyLndhcm5pbmcoIlBvc3QtY29ubmVjdGlvbiBzdGVwcyBm
YWlsZWQiKQorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKHRyYWNlYmFjay5mb3Jt
YXRfZXhjKCkpCisgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRvci5ydW5uZXIuc2VuZF9tZXNz
YWdlKCJpbml0X2ZhaWxlZCIpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNl
bGYuZXhlY3V0b3IucnVubmVyLnNlbmRfbWVzc2FnZSgiaW5pdF9zdWNjZWVkZWQiKQorCisgICAg
ZGVmIHRlYXJkb3duKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLm1hcmlv
bmV0dGUuX3JlcXVlc3RfaW5fYXBwX3NodXRkb3duKCkKKyAgICAgICAgICAgIHNlbGYubWFyaW9u
ZXR0ZS5kZWxldGVfc2Vzc2lvbihzZW5kX3JlcXVlc3Q9RmFsc2UsIHJlc2V0X3Nlc3Npb25faWQ9
VHJ1ZSkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICMgVGhpcyBpcyB0
eXBpY2FsbHkgYmVjYXVzZSB0aGUgc2Vzc2lvbiBuZXZlciBzdGFydGVkCisgICAgICAgICAgICBw
YXNzCisgICAgICAgIGlmIHNlbGYubWFyaW9uZXR0ZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
IGRlbCBzZWxmLm1hcmlvbmV0dGUKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpc19hbGl2ZShz
ZWxmKToKKyAgICAgICAgIiIiQ2hlY2sgaWYgdGhlIE1hcmlvbmV0dGUgY29ubmVjdGlvbiBpcyBz
dGlsbCBhY3RpdmUuIiIiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYubWFyaW9uZXR0
ZS5jdXJyZW50X3dpbmRvd19oYW5kbGUKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAg
ICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgZGVmIGFmdGVy
X2Nvbm5lY3Qoc2VsZik6CisgICAgICAgIHNlbGYubG9hZF9ydW5uZXIoc2VsZi5leGVjdXRvci5s
YXN0X2Vudmlyb25tZW50WyJwcm90b2NvbCJdKQorCisgICAgZGVmIHNldF90aW1lb3V0KHNlbGYs
IHRpbWVvdXQpOgorICAgICAgICAiIiJTZXQgdGhlIE1hcmlvbmV0dGUgc2NyaXB0IHRpbWVvdXQu
CisKKyAgICAgICAgOnBhcmFtIHRpbWVvdXQ6IFNjcmlwdCB0aW1lb3V0IGluIHNlY29uZHMKKwor
ICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5tYXJpb25ldHRlLnRpbWVvdXQuc2NyaXB0ID0gdGlt
ZW91dAorICAgICAgICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CisKKyAgICBkZWYgbG9hZF9ydW5u
ZXIoc2VsZiwgcHJvdG9jb2wpOgorICAgICAgICAjIENoZWNrIGlmIHdlIHByZXZpb3VzbHkgaGFk
IGEgdGVzdCB3aW5kb3cgb3BlbiwgYW5kIGlmIHdlIGRpZCBtYWtlIHN1cmUgaXQncyBjbG9zZWQK
KyAgICAgICAgc2VsZi5tYXJpb25ldHRlLmV4ZWN1dGVfc2NyaXB0KCJpZiAod2luZG93LndyYXBw
ZWRKU09iamVjdC53aW4pIHt3aW5kb3cud3JhcHBlZEpTT2JqZWN0Lndpbi5jbG9zZSgpfSIpCisg
ICAgICAgIHVybCA9IHVybHBhcnNlLnVybGpvaW4oc2VsZi5leGVjdXRvci5zZXJ2ZXJfdXJsKHBy
b3RvY29sKSwgIi90ZXN0aGFybmVzc19ydW5uZXIuaHRtbCIpCisgICAgICAgIHNlbGYubG9nZ2Vy
LmRlYnVnKCJMb2FkaW5nICVzIiAlIHVybCkKKyAgICAgICAgc2VsZi5ydW5uZXJfaGFuZGxlID0g
c2VsZi5tYXJpb25ldHRlLmN1cnJlbnRfd2luZG93X2hhbmRsZQorICAgICAgICB0cnk6CisgICAg
ICAgICAgICBzZWxmLm1hcmlvbmV0dGUubmF2aWdhdGUodXJsKQorICAgICAgICBleGNlcHQgRXhj
ZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5jcml0aWNhbCgKKyAgICAgICAg
ICAgICAgICAiTG9hZGluZyBpbml0aWFsIHBhZ2UgJXMgZmFpbGVkLiBFbnN1cmUgdGhhdCB0aGUg
IgorICAgICAgICAgICAgICAgICJ0aGVyZSBhcmUgbm8gb3RoZXIgcHJvZ3JhbXMgYm91bmQgdG8g
dGhpcyBwb3J0IGFuZCAiCisgICAgICAgICAgICAgICAgInRoYXQgeW91ciBmaXJld2FsbCBydWxl
cyBvciBuZXR3b3JrIHNldHVwIGRvZXMgbm90ICIKKyAgICAgICAgICAgICAgICAicHJldmVudCBh
Y2Nlc3MuXGUlcyIgJSAodXJsLCB0cmFjZWJhY2suZm9ybWF0X2V4YyhlKSkpCisgICAgICAgIHNl
bGYubWFyaW9uZXR0ZS5leGVjdXRlX3NjcmlwdCgKKyAgICAgICAgICAgICJkb2N1bWVudC50aXRs
ZSA9ICclcyciICUgdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCkubmFtZS5yZXBsYWNlKCInIiwg
JyInKSkKKworICAgIGRlZiBjbG9zZV9vbGRfd2luZG93cyhzZWxmLCBwcm90b2NvbCk6CisgICAg
ICAgIGhhbmRsZXMgPSBzZWxmLm1hcmlvbmV0dGUud2luZG93X2hhbmRsZXMKKyAgICAgICAgcnVu
bmVyX2hhbmRsZSA9IE5vbmUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaGFuZGxlcy5yZW1v
dmUoc2VsZi5ydW5uZXJfaGFuZGxlKQorICAgICAgICAgICAgcnVubmVyX2hhbmRsZSA9IHNlbGYu
cnVubmVyX2hhbmRsZQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICMg
VGhlIHJ1bm5lciB3aW5kb3cgcHJvYmFibHkgY2hhbmdlZCBpZCBidXQgd2UgY2FuIHJlc3RvcmUg
aXQKKyAgICAgICAgICAgICMgVGhpcyBpc24ndCBzdXBwb3NlZCB0byBoYXBwZW4sIGJ1dCBtYXJp
b25ldHRlIGlkcyBhcmUgbm90IHlldCBzdGFibGUKKyAgICAgICAgICAgICMgV2UgYXNzdW1lIHRo
YXQgdGhlIGZpcnN0IGhhbmRsZSByZXR1cm5lZCBjb3JyZXNwb25kcyB0byB0aGUgcnVubmVyLAor
ICAgICAgICAgICAgIyBidXQgaXQgaG9wZWZ1bGx5IGRvZXNuJ3QgbWF0dGVyIHRvbyBtdWNoIGlm
IHRoYXQgYXNzdW1wdGlvbiBpcworICAgICAgICAgICAgIyB3cm9uZyBzaW5jZSB3ZSByZWxvYWQg
dGhlIHJ1bm5lciBpbiB0aGF0IHRhYiBhbnl3YXkuCisgICAgICAgICAgICBydW5uZXJfaGFuZGxl
ID0gaGFuZGxlcy5wb3AoMCkKKworICAgICAgICBmb3IgaGFuZGxlIGluIGhhbmRsZXM6CisgICAg
ICAgICAgICBzZWxmLm1hcmlvbmV0dGUuc3dpdGNoX3RvX3dpbmRvdyhoYW5kbGUpCisgICAgICAg
ICAgICBzZWxmLm1hcmlvbmV0dGUuY2xvc2UoKQorCisgICAgICAgIHNlbGYubWFyaW9uZXR0ZS5z
d2l0Y2hfdG9fd2luZG93KHJ1bm5lcl9oYW5kbGUpCisgICAgICAgIGlmIHJ1bm5lcl9oYW5kbGUg
IT0gc2VsZi5ydW5uZXJfaGFuZGxlOgorICAgICAgICAgICAgc2VsZi5sb2FkX3J1bm5lcihwcm90
b2NvbCkKKworICAgIGRlZiB3YWl0KHNlbGYpOgorICAgICAgICBzb2NrZXRfdGltZW91dCA9IHNl
bGYubWFyaW9uZXR0ZS5jbGllbnQuc29jay5nZXR0aW1lb3V0KCkKKyAgICAgICAgaWYgc29ja2V0
X3RpbWVvdXQ6CisgICAgICAgICAgICBzZWxmLm1hcmlvbmV0dGUudGltZW91dC5zY3JpcHQgPSBz
b2NrZXRfdGltZW91dCAvIDIKKworICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgdHJ5
OgorICAgICAgICAgICAgICAgIHNlbGYubWFyaW9uZXR0ZS5leGVjdXRlX2FzeW5jX3NjcmlwdCgi
IikKKyAgICAgICAgICAgIGV4Y2VwdCBlcnJvcnMuU2NyaXB0VGltZW91dEV4Y2VwdGlvbjoKKyAg
ICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiU2NyaXB0IHRpbWVkIG91dCIpCisgICAg
ICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZXhjZXB0IChzb2NrZXQudGltZW91dCwgSU9F
cnJvcik6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlNvY2tldCBjbG9zZWQi
KQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFz
IGU6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IodHJhY2ViYWNrLmZvcm1hdF9l
eGMoZSkpCisgICAgICAgICAgICAgICAgYnJlYWsKKworICAgIGRlZiBvbl9lbnZpcm9ubWVudF9j
aGFuZ2Uoc2VsZiwgb2xkX2Vudmlyb25tZW50LCBuZXdfZW52aXJvbm1lbnQpOgorICAgICAgICAj
VW5zZXQgYWxsIHRoZSBvbGQgcHJlZnMKKyAgICAgICAgZm9yIG5hbWUgaW4gb2xkX2Vudmlyb25t
ZW50LmdldCgicHJlZnMiLCB7fSkuaXRlcmtleXMoKToKKyAgICAgICAgICAgIHZhbHVlID0gc2Vs
Zi5leGVjdXRvci5vcmlnaW5hbF9wcmVmX3ZhbHVlc1tuYW1lXQorICAgICAgICAgICAgaWYgdmFs
dWUgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLmNsZWFyX3VzZXJfcHJlZihuYW1lKQor
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnNldF9wcmVmKG5hbWUsIHZh
bHVlKQorCisgICAgICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBuZXdfZW52aXJvbm1lbnQuZ2V0KCJw
cmVmcyIsIHt9KS5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgIHNlbGYuZXhlY3V0b3Iub3JpZ2lu
YWxfcHJlZl92YWx1ZXNbbmFtZV0gPSBzZWxmLmdldF9wcmVmKG5hbWUpCisgICAgICAgICAgICBz
ZWxmLnNldF9wcmVmKG5hbWUsIHZhbHVlKQorCisgICAgZGVmIHNldF9wcmVmKHNlbGYsIG5hbWUs
IHZhbHVlKToKKyAgICAgICAgaWYgdmFsdWUubG93ZXIoKSBub3QgaW4gKCJ0cnVlIiwgImZhbHNl
Iik6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaW50KHZhbHVlKQorICAgICAg
ICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgdmFsdWUgPSAiJyVzJyIg
JSB2YWx1ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5sb3dlcigp
CisKKyAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiU2V0dGluZyBwcmVmICVzICglcykiICUgKG5h
bWUsIHZhbHVlKSkKKworICAgICAgICBzY3JpcHQgPSAiIiIKKyAgICAgICAgICAgIGxldCBwcmVm
SW50ZXJmYWNlID0gQ29tcG9uZW50cy5jbGFzc2VzWyJAbW96aWxsYS5vcmcvcHJlZmVyZW5jZXMt
c2VydmljZTsxIl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5n
ZXRTZXJ2aWNlKENvbXBvbmVudHMuaW50ZXJmYWNlcy5uc0lQcmVmQnJhbmNoKTsKKyAgICAgICAg
ICAgIGxldCBwcmVmID0gJyVzJzsKKyAgICAgICAgICAgIGxldCB0eXBlID0gcHJlZkludGVyZmFj
ZS5nZXRQcmVmVHlwZShwcmVmKTsKKyAgICAgICAgICAgIGxldCB2YWx1ZSA9ICVzOworICAgICAg
ICAgICAgc3dpdGNoKHR5cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlIHByZWZJbnRlcmZhY2Uu
UFJFRl9TVFJJTkc6CisgICAgICAgICAgICAgICAgICAgIHByZWZJbnRlcmZhY2Uuc2V0Q2hhclBy
ZWYocHJlZiwgdmFsdWUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICBjYXNlIHByZWZJbnRlcmZhY2UuUFJFRl9CT09MOgorICAgICAgICAgICAgICAgICAgICBw
cmVmSW50ZXJmYWNlLnNldEJvb2xQcmVmKHByZWYsIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBwcmVmSW50ZXJmYWNlLlBSRUZfSU5UOgor
ICAgICAgICAgICAgICAgICAgICBwcmVmSW50ZXJmYWNlLnNldEludFByZWYocHJlZiwgdmFsdWUp
OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICIiIiAlIChuYW1lLCB2YWx1ZSkKKyAgICAgICAgd2l0aCBzZWxmLm1hcmlvbmV0dGUudXNpbmdf
Y29udGV4dChzZWxmLm1hcmlvbmV0dGUuQ09OVEVYVF9DSFJPTUUpOgorICAgICAgICAgICAgc2Vs
Zi5tYXJpb25ldHRlLmV4ZWN1dGVfc2NyaXB0KHNjcmlwdCkKKworICAgIGRlZiBjbGVhcl91c2Vy
X3ByZWYoc2VsZiwgbmFtZSk6CisgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oIkNsZWFyaW5nIHBy
ZWYgJXMiICUgKG5hbWUpKQorICAgICAgICBzY3JpcHQgPSAiIiIKKyAgICAgICAgICAgIGxldCBw
cmVmSW50ZXJmYWNlID0gQ29tcG9uZW50cy5jbGFzc2VzWyJAbW96aWxsYS5vcmcvcHJlZmVyZW5j
ZXMtc2VydmljZTsxIl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC5nZXRTZXJ2aWNlKENvbXBvbmVudHMuaW50ZXJmYWNlcy5uc0lQcmVmQnJhbmNoKTsKKyAgICAg
ICAgICAgIGxldCBwcmVmID0gJyVzJzsKKyAgICAgICAgICAgIHByZWZJbnRlcmZhY2UuY2xlYXJV
c2VyUHJlZihwcmVmKTsKKyAgICAgICAgICAgICIiIiAlIG5hbWUKKyAgICAgICAgd2l0aCBzZWxm
Lm1hcmlvbmV0dGUudXNpbmdfY29udGV4dChzZWxmLm1hcmlvbmV0dGUuQ09OVEVYVF9DSFJPTUUp
OgorICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRlLmV4ZWN1dGVfc2NyaXB0KHNjcmlwdCkKKwor
ICAgIGRlZiBnZXRfcHJlZihzZWxmLCBuYW1lKToKKyAgICAgICAgc2NyaXB0ID0gIiIiCisgICAg
ICAgICAgICBsZXQgcHJlZkludGVyZmFjZSA9IENvbXBvbmVudHMuY2xhc3Nlc1siQG1vemlsbGEu
b3JnL3ByZWZlcmVuY2VzLXNlcnZpY2U7MSJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAuZ2V0U2VydmljZShDb21wb25lbnRzLmludGVyZmFjZXMubnNJUHJlZkJy
YW5jaCk7CisgICAgICAgICAgICBsZXQgcHJlZiA9ICclcyc7CisgICAgICAgICAgICBsZXQgdHlw
ZSA9IHByZWZJbnRlcmZhY2UuZ2V0UHJlZlR5cGUocHJlZik7CisgICAgICAgICAgICBzd2l0Y2go
dHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgcHJlZkludGVyZmFjZS5QUkVGX1NUUklORzoK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZJbnRlcmZhY2UuZ2V0Q2hhclByZWYocHJl
Zik7CisgICAgICAgICAgICAgICAgY2FzZSBwcmVmSW50ZXJmYWNlLlBSRUZfQk9PTDoKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHByZWZJbnRlcmZhY2UuZ2V0Qm9vbFByZWYocHJlZik7Cisg
ICAgICAgICAgICAgICAgY2FzZSBwcmVmSW50ZXJmYWNlLlBSRUZfSU5UOgorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gcHJlZkludGVyZmFjZS5nZXRJbnRQcmVmKHByZWYpOworICAgICAgICAg
ICAgICAgIGNhc2UgcHJlZkludGVyZmFjZS5QUkVGX0lOVkFMSUQ6CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBudWxsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgIiIiICUgbmFtZQor
ICAgICAgICB3aXRoIHNlbGYubWFyaW9uZXR0ZS51c2luZ19jb250ZXh0KHNlbGYubWFyaW9uZXR0
ZS5DT05URVhUX0NIUk9NRSk6CisgICAgICAgICAgICBzZWxmLm1hcmlvbmV0dGUuZXhlY3V0ZV9z
Y3JpcHQoc2NyaXB0KQorCisgICAgZGVmIGNsZWFyX29yaWdpbihzZWxmLCB1cmwpOgorICAgICAg
ICBzZWxmLmxvZ2dlci5pbmZvKCJDbGVhcmluZyBvcmlnaW4gJXMiICUgKHVybCkpCisgICAgICAg
IHNjcmlwdCA9ICIiIgorICAgICAgICAgICAgbGV0IHVybCA9ICclcyc7CisgICAgICAgICAgICBs
ZXQgdXJpID0gQ29tcG9uZW50cy5jbGFzc2VzWyJAbW96aWxsYS5vcmcvbmV0d29yay9pby1zZXJ2
aWNlOzEiXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmljZShDaS5u
c0lJT1NlcnZpY2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5uZXdVUkkodXJs
KTsKKyAgICAgICAgICAgIGxldCBzc20gPSBDb21wb25lbnRzLmNsYXNzZXNbIkBtb3ppbGxhLm9y
Zy9zY3JpcHRzZWN1cml0eW1hbmFnZXI7MSJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC5nZXRTZXJ2aWNlKENpLm5zSVNjcmlwdFNlY3VyaXR5TWFuYWdlcik7CisgICAgICAgICAg
ICBsZXQgcHJpbmNpcGFsID0gc3NtLmNyZWF0ZUNvZGViYXNlUHJpbmNpcGFsKHVyaSwge30pOwor
ICAgICAgICAgICAgbGV0IHFtcyA9IENvbXBvbmVudHMuY2xhc3Nlc1siQG1vemlsbGEub3JnL2Rv
bS9xdW90YS1tYW5hZ2VyLXNlcnZpY2U7MSJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC5nZXRTZXJ2aWNlKENvbXBvbmVudHMuaW50ZXJmYWNlcy5uc0lRdW90YU1hbmFnZXJTZXJ2
aWNlKTsKKyAgICAgICAgICAgIHFtcy5jbGVhclN0b3JhZ2VzRm9yUHJpbmNpcGFsKHByaW5jaXBh
bCwgImRlZmF1bHQiLCB0cnVlKTsKKyAgICAgICAgICAgICIiIiAlIHVybAorICAgICAgICB3aXRo
IHNlbGYubWFyaW9uZXR0ZS51c2luZ19jb250ZXh0KHNlbGYubWFyaW9uZXR0ZS5DT05URVhUX0NI
Uk9NRSk6CisgICAgICAgICAgICBzZWxmLm1hcmlvbmV0dGUuZXhlY3V0ZV9zY3JpcHQoc2NyaXB0
KQorCisKK2NsYXNzIFJlbW90ZU1hcmlvbmV0dGVQcm90b2NvbChQcm90b2NvbCk6CisgICAgZGVm
IF9faW5pdF9fKHNlbGYsIGV4ZWN1dG9yLCBicm93c2VyKToKKyAgICAgICAgZG9fZGVsYXllZF9p
bXBvcnRzKCkKKyAgICAgICAgUHJvdG9jb2wuX19pbml0X18oc2VsZiwgZXhlY3V0b3IsIGJyb3dz
ZXIpCisgICAgICAgIHNlbGYud2ViZHJpdmVyX2JpbmFyeSA9IGV4ZWN1dG9yLndlYmRyaXZlcl9i
aW5hcnkKKyAgICAgICAgc2VsZi53ZWJkcml2ZXJfYXJncyA9IGV4ZWN1dG9yLndlYmRyaXZlcl9h
cmdzCisgICAgICAgIHNlbGYuY2FwYWJpbGl0aWVzID0gc2VsZi5leGVjdXRvci5jYXBhYmlsaXRp
ZXMKKyAgICAgICAgc2VsZi5zZXNzaW9uX2NvbmZpZyA9IE5vbmUKKyAgICAgICAgc2VsZi5zZXJ2
ZXIgPSBOb25lCisKKyAgICBkZWYgc2V0dXAoc2VsZiwgcnVubmVyKToKKyAgICAgICAgIiIiQ29u
bmVjdCB0byBicm93c2VyIHZpYSB0aGUgTWFyaW9uZXR0ZSBIVFRQIHNlcnZlci4iIiIKKyAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5zZXJ2ZXIgPSBHZWNrb0RyaXZlclNlcnZlcigKKyAg
ICAgICAgICAgICAgICBzZWxmLmxvZ2dlciwKKyAgICAgICAgICAgICAgICBiaW5hcnk9c2VsZi53
ZWJkcml2ZXJfYmluYXJ5LAorICAgICAgICAgICAgICAgIGFyZ3M9c2VsZi53ZWJkcml2ZXJfYXJn
cykKKyAgICAgICAgICAgIHNlbGYuc2VydmVyLnN0YXJ0KGJsb2NrPUZhbHNlKQorICAgICAgICAg
ICAgc2VsZi5sb2dnZXIuaW5mbygKKyAgICAgICAgICAgICAgICAiV2ViRHJpdmVyIEhUVFAgc2Vy
dmVyIGxpc3RlbmluZyBhdCAlcyIgJSBzZWxmLnNlcnZlci51cmwpCisgICAgICAgICAgICBzZWxm
LnNlc3Npb25fY29uZmlnID0geyJob3N0Ijogc2VsZi5zZXJ2ZXIuaG9zdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInBvcnQiOiBzZWxmLnNlcnZlci5wb3J0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2FwYWJpbGl0aWVzIjogc2VsZi5jYXBhYmls
aXRpZXN9CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICBzZWxmLmxvZ2dl
ci5lcnJvcih0cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICAgICAgc2VsZi5leGVjdXRv
ci5ydW5uZXIuc2VuZF9tZXNzYWdlKCJpbml0X2ZhaWxlZCIpCisgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICBzZWxmLmV4ZWN1dG9yLnJ1bm5lci5zZW5kX21lc3NhZ2UoImluaXRfc3VjY2VlZGVk
IikKKworICAgIGRlZiB0ZWFyZG93bihzZWxmKToKKyAgICAgICAgaWYgc2VsZi5zZXJ2ZXIgaXMg
bm90IE5vbmUgYW5kIHNlbGYuc2VydmVyLmlzX2FsaXZlOgorICAgICAgICAgICAgc2VsZi5zZXJ2
ZXIuc3RvcCgpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAg
ICAgICIiIlRlc3QgdGhhdCB0aGUgTWFyaW9uZXR0ZSBjb25uZWN0aW9uIGlzIHN0aWxsIGFsaXZl
LgorCisgICAgICAgIEJlY2F1c2UgdGhlIHJlbW90ZSBjb21tdW5pY2F0aW9uIGhhcHBlbnMgb3Zl
ciBIVFRQIHdlIG5lZWQgdG8KKyAgICAgICAgbWFrZSBhbiBleHBsaWNpdCByZXF1ZXN0IHRvIHRo
ZSByZW1vdGUuICBJdCBpcyBhbGxvd2VkIGZvcgorICAgICAgICBXZWJEcml2ZXIgc3BlYyB0ZXN0
cyB0byBub3QgaGF2ZSBhIFdlYkRyaXZlciBzZXNzaW9uLCBzaW5jZSB0aGlzCisgICAgICAgIG1h
eSBiZSB3aGF0IGlzIHRlc3RlZC4KKworICAgICAgICBBbiBIVFRQIHJlcXVlc3QgdG8gYW4gaW52
YWxpZCBwYXRoIHRoYXQgcmVzdWx0cyBpbiBhIDQwNCBpcworICAgICAgICBwcm9vZiBlbm91Z2gg
dG8gdXMgdGhhdCB0aGUgc2VydmVyIGlzIGFsaXZlIGFuZCBraWNraW5nLgorICAgICAgICAiIiIK
KyAgICAgICAgY29ubiA9IGh0dHBsaWIuSFRUUENvbm5lY3Rpb24oc2VsZi5zZXJ2ZXIuaG9zdCwg
c2VsZi5zZXJ2ZXIucG9ydCkKKyAgICAgICAgY29ubi5yZXF1ZXN0KCJIRUFEIiwgc2VsZi5zZXJ2
ZXIuYmFzZV9wYXRoICsgImludmFsaWQiKQorICAgICAgICByZXMgPSBjb25uLmdldHJlc3BvbnNl
KCkKKyAgICAgICAgcmV0dXJuIHJlcy5zdGF0dXMgPT0gNDA0CisKKworY2xhc3MgRXhlY3V0ZUFz
eW5jU2NyaXB0UnVuKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgZnVu
YywgcHJvdG9jb2wsIHVybCwgdGltZW91dCk6CisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2Vy
CisgICAgICAgIHNlbGYucmVzdWx0ID0gKE5vbmUsIE5vbmUpCisgICAgICAgIHNlbGYucHJvdG9j
b2wgPSBwcm90b2NvbAorICAgICAgICBzZWxmLm1hcmlvbmV0dGUgPSBwcm90b2NvbC5tYXJpb25l
dHRlCisgICAgICAgIHNlbGYuZnVuYyA9IGZ1bmMKKyAgICAgICAgc2VsZi51cmwgPSB1cmwKKyAg
ICAgICAgc2VsZi50aW1lb3V0ID0gdGltZW91dAorICAgICAgICBzZWxmLnJlc3VsdF9mbGFnID0g
dGhyZWFkaW5nLkV2ZW50KCkKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIGluZGV4ID0g
c2VsZi51cmwucmZpbmQoIi9zdG9yYWdlLyIpOworICAgICAgICBpZiBpbmRleCAhPSAtMToKKyAg
ICAgICAgICAgICMgQ2xlYXIgc3RvcmFnZQorICAgICAgICAgICAgc2VsZi5wcm90b2NvbC5jbGVh
cl9vcmlnaW4oc2VsZi51cmwpCisKKyAgICAgICAgdGltZW91dCA9IHNlbGYudGltZW91dAorCisg
ICAgICAgIHRyeToKKyAgICAgICAgICAgIGlmIHRpbWVvdXQgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICAgICAgaWYgdGltZW91dCArIGV4dHJhX3RpbWVvdXQgIT0gc2VsZi5wcm90b2NvbC50aW1l
b3V0OgorICAgICAgICAgICAgICAgICAgICBzZWxmLnByb3RvY29sLnNldF90aW1lb3V0KHRpbWVv
dXQgKyBleHRyYV90aW1lb3V0KQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAj
IFdlIGp1c3Qgd2FudCBpdCB0byBuZXZlciB0aW1lIG91dCwgcmVhbGx5LCBidXQgbWFyaW9uZXR0
ZSBkb2Vzbid0CisgICAgICAgICAgICAgICAgIyBtYWtlIHRoYXQgcG9zc2libGUuIEl0IGFsc28g
c2VlbXMgdG8gdGltZSBvdXQgaW1tZWRpYXRlbHkgaWYgdGhlCisgICAgICAgICAgICAgICAgIyB0
aW1lb3V0IGlzIHNldCB0b28gaGlnaC4gVGhpcyB3b3JrcyBhdCBsZWFzdC4KKyAgICAgICAgICAg
ICAgICBzZWxmLnByb3RvY29sLnNldF90aW1lb3V0KDIqKjI4IC0gMSkKKyAgICAgICAgZXhjZXB0
IElPRXJyb3I6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcigiTG9zdCBtYXJpb25ldHRl
IGNvbm5lY3Rpb24gYmVmb3JlIHN0YXJ0aW5nIHRlc3QiKQorICAgICAgICAgICAgcmV0dXJuIFN0
b3AKKworICAgICAgICBleGVjdXRvciA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0ID0gc2VsZi5f
cnVuKQorICAgICAgICBleGVjdXRvci5zdGFydCgpCisKKyAgICAgICAgaWYgdGltZW91dCBpcyBu
b3QgTm9uZToKKyAgICAgICAgICAgIHdhaXRfdGltZW91dCA9IHRpbWVvdXQgKyAyICogZXh0cmFf
dGltZW91dAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgd2FpdF90aW1lb3V0ID0gTm9uZQor
CisgICAgICAgIGZsYWcgPSBzZWxmLnJlc3VsdF9mbGFnLndhaXQod2FpdF90aW1lb3V0KQorICAg
ICAgICBpZiBzZWxmLnJlc3VsdFsxXSBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIu
ZGVidWcoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBhIHJlc3VsdCIpCisgICAgICAgICAgICBzZWxm
LnJlc3VsdCA9IEZhbHNlLCAoIkVYVEVSTkFMLVRJTUVPVVQiLCBOb25lKQorICAgICAgICByZXR1
cm4gc2VsZi5yZXN1bHQKKworICAgIGRlZiBfcnVuKHNlbGYpOgorICAgICAgICB0cnk6CisgICAg
ICAgICAgICBzZWxmLnJlc3VsdCA9IFRydWUsIHNlbGYuZnVuYyhzZWxmLm1hcmlvbmV0dGUsIHNl
bGYudXJsLCBzZWxmLnRpbWVvdXQpCisgICAgICAgIGV4Y2VwdCBlcnJvcnMuU2NyaXB0VGltZW91
dEV4Y2VwdGlvbjoKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJHb3QgYSBtYXJpb25l
dHRlIHRpbWVvdXQiKQorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFWFRFUk5B
TC1USU1FT1VUIiwgTm9uZSkKKyAgICAgICAgZXhjZXB0IChzb2NrZXQudGltZW91dCwgSU9FcnJv
cik6CisgICAgICAgICAgICAjIFRoaXMgY2FuIGhhcHBlbiBvbiBhIGNyYXNoCisgICAgICAgICAg
ICAjIEFsc28sIHNob3VsZCBjaGVjayBhZnRlciB0aGUgdGVzdCBpZiB0aGUgZmlyZWZveCBwcm9j
ZXNzIGlzIHN0aWxsIHJ1bm5pbmcKKyAgICAgICAgICAgICMgYW5kIG90aGVyd2lzZSBpZ25vcmUg
YW55IG90aGVyIHJlc3VsdCBhbmQgc2V0IGl0IHRvIGNyYXNoCisgICAgICAgICAgICBzZWxmLnJl
c3VsdCA9IEZhbHNlLCAoIkNSQVNIIiwgTm9uZSkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBh
cyBlOgorICAgICAgICAgICAgbWVzc2FnZSA9IGdldGF0dHIoZSwgIm1lc3NhZ2UiLCAiIikKKyAg
ICAgICAgICAgIGlmIG1lc3NhZ2U6CisgICAgICAgICAgICAgICAgbWVzc2FnZSArPSAiXG4iCisg
ICAgICAgICAgICBtZXNzYWdlICs9IHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpCisgICAgICAgICAg
ICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIkVSUk9SIiwgZSkKKworICAgICAgICBmaW5hbGx5Ogor
ICAgICAgICAgICAgc2VsZi5yZXN1bHRfZmxhZy5zZXQoKQorCisKK2NsYXNzIE1hcmlvbmV0dGVU
ZXN0aGFybmVzc0V4ZWN1dG9yKFRlc3RoYXJuZXNzRXhlY3V0b3IpOgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKKyAg
ICAgICAgICAgICAgICAgY2xvc2VfYWZ0ZXJfZG9uZT1UcnVlLCBkZWJ1Z19pbmZvPU5vbmUsICoq
a3dhcmdzKToKKyAgICAgICAgIiIiTWFyaW9uZXR0ZS1iYXNlZCBleGVjdXRvciBmb3IgdGVzdGhh
cm5lc3MuanMgdGVzdHMiIiIKKyAgICAgICAgVGVzdGhhcm5lc3NFeGVjdXRvci5fX2luaXRfXyhz
ZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRpbWVvdXRfbXVsdGlwbGllcj10aW1lb3V0X211bHRpcGxpZXIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1kZWJ1Z19pbmZvKQorCisg
ICAgICAgIHNlbGYucHJvdG9jb2wgPSBNYXJpb25ldHRlUHJvdG9jb2woc2VsZiwgYnJvd3NlcikK
KyAgICAgICAgc2VsZi5zY3JpcHQgPSBvcGVuKG9zLnBhdGguam9pbihoZXJlLCAidGVzdGhhcm5l
c3NfbWFyaW9uZXR0ZS5qcyIpKS5yZWFkKCkKKyAgICAgICAgc2VsZi5jbG9zZV9hZnRlcl9kb25l
ID0gY2xvc2VfYWZ0ZXJfZG9uZQorICAgICAgICBzZWxmLndpbmRvd19pZCA9IHN0cih1dWlkLnV1
aWQ0KCkpCisKKyAgICAgICAgc2VsZi5vcmlnaW5hbF9wcmVmX3ZhbHVlcyA9IHt9CisKKyAgICAg
ICAgaWYgbWFyaW9uZXR0ZSBpcyBOb25lOgorICAgICAgICAgICAgZG9fZGVsYXllZF9pbXBvcnRz
KCkKKworICAgIGRlZiBpc19hbGl2ZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYucHJvdG9j
b2wuaXNfYWxpdmUKKworICAgIGRlZiBvbl9lbnZpcm9ubWVudF9jaGFuZ2Uoc2VsZiwgbmV3X2Vu
dmlyb25tZW50KToKKyAgICAgICAgc2VsZi5wcm90b2NvbC5vbl9lbnZpcm9ubWVudF9jaGFuZ2Uo
c2VsZi5sYXN0X2Vudmlyb25tZW50LCBuZXdfZW52aXJvbm1lbnQpCisKKyAgICAgICAgaWYgbmV3
X2Vudmlyb25tZW50WyJwcm90b2NvbCJdICE9IHNlbGYubGFzdF9lbnZpcm9ubWVudFsicHJvdG9j
b2wiXToKKyAgICAgICAgICAgIHNlbGYucHJvdG9jb2wubG9hZF9ydW5uZXIobmV3X2Vudmlyb25t
ZW50WyJwcm90b2NvbCJdKQorCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAg
IHRpbWVvdXQgPSAodGVzdC50aW1lb3V0ICogc2VsZi50aW1lb3V0X211bHRpcGxpZXIgaWYgc2Vs
Zi5kZWJ1Z19pbmZvIGlzIE5vbmUKKyAgICAgICAgICAgICAgICAgICBlbHNlIE5vbmUpCisKKyAg
ICAgICAgc3VjY2VzcywgZGF0YSA9IEV4ZWN1dGVBc3luY1NjcmlwdFJ1bihzZWxmLmxvZ2dlciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRvX3Rl
c3RoYXJuZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYucHJvdG9jb2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi50ZXN0X3VybCh0ZXN0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aW1lb3V0KS5ydW4oKQorICAgICAgICBpZiBzdWNjZXNzOgorICAg
ICAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1bHQodGVzdCwgZGF0YSkKKworICAgICAg
ICByZXR1cm4gKHRlc3QucmVzdWx0X2NscygqZGF0YSksIFtdKQorCisgICAgZGVmIGRvX3Rlc3Ro
YXJuZXNzKHNlbGYsIG1hcmlvbmV0dGUsIHVybCwgdGltZW91dCk6CisgICAgICAgIGlmIHNlbGYu
Y2xvc2VfYWZ0ZXJfZG9uZToKKyAgICAgICAgICAgIG1hcmlvbmV0dGUuZXhlY3V0ZV9zY3JpcHQo
ImlmICh3aW5kb3cud3JhcHBlZEpTT2JqZWN0Lndpbikge3dpbmRvdy53cmFwcGVkSlNPYmplY3Qu
d2luLmNsb3NlKCl9IikKKyAgICAgICAgICAgIHNlbGYucHJvdG9jb2wuY2xvc2Vfb2xkX3dpbmRv
d3Moc2VsZi5wcm90b2NvbCkKKworICAgICAgICBpZiB0aW1lb3V0IGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgdGltZW91dF9tcyA9IHN0cih0aW1lb3V0ICogMTAwMCkKKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIHRpbWVvdXRfbXMgPSAibnVsbCIKKworICAgICAgICBzY3JpcHQgPSBzZWxm
LnNjcmlwdCAlIHsiYWJzX3VybCI6IHVybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVybCI6IHN0cmlwX3NlcnZlcih1cmwpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAid2luZG93X2lkIjogc2VsZi53aW5kb3dfaWQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0aW1lb3V0X211bHRpcGxpZXIiOiBzZWxmLnRpbWVvdXRfbXVsdGlwbGllciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVvdXQiOiB0aW1lb3V0X21zLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwbGljaXRfdGltZW91dCI6IHRpbWVv
dXQgaXMgTm9uZX0KKworICAgICAgICBydiA9IG1hcmlvbmV0dGUuZXhlY3V0ZV9hc3luY19zY3Jp
cHQoc2NyaXB0LCBuZXdfc2FuZGJveD1GYWxzZSkKKyAgICAgICAgcmV0dXJuIHJ2CisKKworY2xh
c3MgTWFyaW9uZXR0ZVJlZlRlc3RFeGVjdXRvcihSZWZUZXN0RXhlY3V0b3IpOgorICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9
MSwKKyAgICAgICAgICAgICAgICAgc2NyZWVuc2hvdF9jYWNoZT1Ob25lLCBjbG9zZV9hZnRlcl9k
b25lPVRydWUsCisgICAgICAgICAgICAgICAgIGRlYnVnX2luZm89Tm9uZSwgKiprd2FyZ3MpOgor
CisgICAgICAgICIiIk1hcmlvbmV0dGUtYmFzZWQgZXhlY3V0b3IgZm9yIHJlZnRlc3RzIiIiCisg
ICAgICAgIFJlZlRlc3RFeGVjdXRvci5fX2luaXRfXyhzZWxmLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYnJvd3NlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlcnZlcl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JlZW5z
aG90X2NhY2hlPXNjcmVlbnNob3RfY2FjaGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0aW1lb3V0X211bHRpcGxpZXI9dGltZW91dF9tdWx0aXBsaWVyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1kZWJ1Z19pbmZvKQorICAgICAgICBzZWxm
LnByb3RvY29sID0gTWFyaW9uZXR0ZVByb3RvY29sKHNlbGYsIGJyb3dzZXIpCisgICAgICAgIHNl
bGYuaW1wbGVtZW50YXRpb24gPSBSZWZUZXN0SW1wbGVtZW50YXRpb24oc2VsZikKKyAgICAgICAg
c2VsZi5jbG9zZV9hZnRlcl9kb25lID0gY2xvc2VfYWZ0ZXJfZG9uZQorICAgICAgICBzZWxmLmhh
c193aW5kb3cgPSBGYWxzZQorICAgICAgICBzZWxmLm9yaWdpbmFsX3ByZWZfdmFsdWVzID0ge30K
KworICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGhlcmUsICJyZWZ0ZXN0LmpzIikpIGFz
IGY6CisgICAgICAgICAgICBzZWxmLnNjcmlwdCA9IGYucmVhZCgpCisgICAgICAgIHdpdGggb3Bl
bihvcy5wYXRoLmpvaW4oaGVyZSwgInJlZnRlc3Qtd2FpdC5qcyIpKSBhcyBmOgorICAgICAgICAg
ICAgc2VsZi53YWl0X3NjcmlwdCA9IGYucmVhZCgpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6
CisgICAgICAgIHJldHVybiBzZWxmLnByb3RvY29sLmlzX2FsaXZlCisKKyAgICBkZWYgb25fZW52
aXJvbm1lbnRfY2hhbmdlKHNlbGYsIG5ld19lbnZpcm9ubWVudCk6CisgICAgICAgIHNlbGYucHJv
dG9jb2wub25fZW52aXJvbm1lbnRfY2hhbmdlKHNlbGYubGFzdF9lbnZpcm9ubWVudCwgbmV3X2Vu
dmlyb25tZW50KQorCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgIGlmIHNl
bGYuY2xvc2VfYWZ0ZXJfZG9uZSBhbmQgc2VsZi5oYXNfd2luZG93OgorICAgICAgICAgICAgc2Vs
Zi5wcm90b2NvbC5tYXJpb25ldHRlLmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYucHJvdG9jb2wu
bWFyaW9uZXR0ZS5zd2l0Y2hfdG9fd2luZG93KAorICAgICAgICAgICAgICAgIHNlbGYucHJvdG9j
b2wubWFyaW9uZXR0ZS53aW5kb3dfaGFuZGxlc1stMV0pCisgICAgICAgICAgICBzZWxmLmhhc193
aW5kb3cgPSBGYWxzZQorCisgICAgICAgIGlmIG5vdCBzZWxmLmhhc193aW5kb3c6CisgICAgICAg
ICAgICBzZWxmLnByb3RvY29sLm1hcmlvbmV0dGUuZXhlY3V0ZV9zY3JpcHQoc2VsZi5zY3JpcHQp
CisgICAgICAgICAgICBzZWxmLnByb3RvY29sLm1hcmlvbmV0dGUuc3dpdGNoX3RvX3dpbmRvdyhz
ZWxmLnByb3RvY29sLm1hcmlvbmV0dGUud2luZG93X2hhbmRsZXNbLTFdKQorICAgICAgICAgICAg
c2VsZi5oYXNfd2luZG93ID0gVHJ1ZQorCisgICAgICAgIHJlc3VsdCA9IHNlbGYuaW1wbGVtZW50
YXRpb24ucnVuX3Rlc3QodGVzdCkKKyAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1bHQo
dGVzdCwgcmVzdWx0KQorCisgICAgZGVmIHNjcmVlbnNob3Qoc2VsZiwgdGVzdCwgdmlld3BvcnRf
c2l6ZSwgZHBpKToKKyAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dwdHJ1bm5lci9p
c3N1ZXMvMTY2CisgICAgICAgIGFzc2VydCB2aWV3cG9ydF9zaXplIGlzIE5vbmUKKyAgICAgICAg
YXNzZXJ0IGRwaSBpcyBOb25lCisKKyAgICAgICAgdGltZW91dCA9ICBzZWxmLnRpbWVvdXRfbXVs
dGlwbGllciAqIHRlc3QudGltZW91dCBpZiBzZWxmLmRlYnVnX2luZm8gaXMgTm9uZSBlbHNlIE5v
bmUKKworICAgICAgICB0ZXN0X3VybCA9IHNlbGYudGVzdF91cmwodGVzdCkKKworICAgICAgICBy
ZXR1cm4gRXhlY3V0ZUFzeW5jU2NyaXB0UnVuKHNlbGYubG9nZ2VyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLl9zY3JlZW5zaG90LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxmLnByb3RvY29sLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3Vy
bCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCkucnVuKCkKKworICAgIGRl
ZiBfc2NyZWVuc2hvdChzZWxmLCBtYXJpb25ldHRlLCB1cmwsIHRpbWVvdXQpOgorICAgICAgICBt
YXJpb25ldHRlLm5hdmlnYXRlKHVybCkKKworICAgICAgICBtYXJpb25ldHRlLmV4ZWN1dGVfYXN5
bmNfc2NyaXB0KHNlbGYud2FpdF9zY3JpcHQpCisKKyAgICAgICAgc2NyZWVuc2hvdCA9IG1hcmlv
bmV0dGUuc2NyZWVuc2hvdChmdWxsPUZhbHNlKQorICAgICAgICAjIHN0cmlwIG9mZiB0aGUgZGF0
YTppbWcvcG5nLCBwYXJ0IG9mIHRoZSB1cmwKKyAgICAgICAgaWYgc2NyZWVuc2hvdC5zdGFydHN3
aXRoKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsIik6CisgICAgICAgICAgICBzY3JlZW5zaG90ID0g
c2NyZWVuc2hvdC5zcGxpdCgiLCIsIDEpWzFdCisKKyAgICAgICAgcmV0dXJuIHNjcmVlbnNob3QK
KworCitjbGFzcyBXZHNwZWNSdW4ob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZnVu
Yywgc2Vzc2lvbiwgcGF0aCwgdGltZW91dCk6CisgICAgICAgIHNlbGYuZnVuYyA9IGZ1bmMKKyAg
ICAgICAgc2VsZi5yZXN1bHQgPSAoTm9uZSwgTm9uZSkKKyAgICAgICAgc2VsZi5zZXNzaW9uID0g
c2Vzc2lvbgorICAgICAgICBzZWxmLnBhdGggPSBwYXRoCisgICAgICAgIHNlbGYudGltZW91dCA9
IHRpbWVvdXQKKyAgICAgICAgc2VsZi5yZXN1bHRfZmxhZyA9IHRocmVhZGluZy5FdmVudCgpCisK
KyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICAiIiJSdW5zIGZ1bmN0aW9uIGluIGEgdGhyZWFk
IGFuZCBpbnRlcnJ1cHRzIGl0IGlmIGl0IGV4Y2VlZHMgdGhlCisgICAgICAgIGdpdmVuIHRpbWVv
dXQuICBSZXR1cm5zIChUcnVlLCAoUmVzdWx0LCBbU3VidGVzdFJlc3VsdCAuLi5dKSkgaW4KKyAg
ICAgICAgY2FzZSBvZiBzdWNjZXNzLCBvciAoRmFsc2UsIChzdGF0dXMsIGV4dHJhIGluZm9ybWF0
aW9uKSkgaW4gdGhlCisgICAgICAgIGV2ZW50IG9mIGZhaWx1cmUuCisgICAgICAgICIiIgorCisg
ICAgICAgIGV4ZWN1dG9yID0gdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9c2VsZi5fcnVuKQorICAg
ICAgICBleGVjdXRvci5zdGFydCgpCisKKyAgICAgICAgZmxhZyA9IHNlbGYucmVzdWx0X2ZsYWcu
d2FpdChzZWxmLnRpbWVvdXQpCisgICAgICAgIGlmIHNlbGYucmVzdWx0WzFdIGlzIE5vbmU6Cisg
ICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIkVYVEVSTkFMLVRJTUVPVVQiLCBOb25l
KQorCisgICAgICAgIHJldHVybiBzZWxmLnJlc3VsdAorCisgICAgZGVmIF9ydW4oc2VsZik6Cisg
ICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYucmVzdWx0ID0gVHJ1ZSwgc2VsZi5mdW5jKHNl
bGYuc2Vzc2lvbiwgc2VsZi5wYXRoLCBzZWxmLnRpbWVvdXQpCisgICAgICAgIGV4Y2VwdCAoc29j
a2V0LnRpbWVvdXQsIElPRXJyb3IpOgorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwg
KCJDUkFTSCIsIE5vbmUpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAg
ICAgIG1lc3NhZ2UgPSBnZXRhdHRyKGUsICJtZXNzYWdlIikKKyAgICAgICAgICAgIGlmIG1lc3Nh
Z2U6CisgICAgICAgICAgICAgICAgbWVzc2FnZSArPSAiXG4iCisgICAgICAgICAgICBtZXNzYWdl
ICs9IHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpCisgICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZh
bHNlLCAoIkVSUk9SIiwgbWVzc2FnZSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNl
bGYucmVzdWx0X2ZsYWcuc2V0KCkKKworCitjbGFzcyBNYXJpb25ldHRlV2RzcGVjRXhlY3V0b3Io
V2RzcGVjRXhlY3V0b3IpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJf
Y29uZmlnLCB3ZWJkcml2ZXJfYmluYXJ5LAorICAgICAgICAgICAgICAgICB0aW1lb3V0X211bHRp
cGxpZXI9MSwgY2xvc2VfYWZ0ZXJfZG9uZT1UcnVlLCBkZWJ1Z19pbmZvPU5vbmUsCisgICAgICAg
ICAgICAgICAgIGNhcGFiaWxpdGllcz1Ob25lLCB3ZWJkcml2ZXJfYXJncz1Ob25lLCBiaW5hcnk9
Tm9uZSk6CisgICAgICAgIHNlbGYuZG9fZGVsYXllZF9pbXBvcnRzKCkKKyAgICAgICAgV2RzcGVj
RXhlY3V0b3IuX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVyPXRpbWVvdXRfbXVsdGlw
bGllciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1kZWJ1Z19p
bmZvKQorICAgICAgICBzZWxmLndlYmRyaXZlcl9iaW5hcnkgPSB3ZWJkcml2ZXJfYmluYXJ5Cisg
ICAgICAgIHNlbGYud2ViZHJpdmVyX2FyZ3MgPSB3ZWJkcml2ZXJfYXJncyArIFsiLS1iaW5hcnki
LCBiaW5hcnldCisgICAgICAgIHNlbGYuY2FwYWJpbGl0aWVzID0gY2FwYWJpbGl0aWVzCisgICAg
ICAgIHNlbGYucHJvdG9jb2wgPSBSZW1vdGVNYXJpb25ldHRlUHJvdG9jb2woc2VsZiwgYnJvd3Nl
cikKKworICAgIGRlZiBpc19hbGl2ZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYucHJvdG9j
b2wuaXNfYWxpdmUKKworICAgIGRlZiBvbl9lbnZpcm9ubWVudF9jaGFuZ2Uoc2VsZiwgbmV3X2Vu
dmlyb25tZW50KToKKyAgICAgICAgcGFzcworCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwgdGVzdCk6
CisgICAgICAgIHRpbWVvdXQgPSB0ZXN0LnRpbWVvdXQgKiBzZWxmLnRpbWVvdXRfbXVsdGlwbGll
ciArIGV4dHJhX3RpbWVvdXQKKworICAgICAgICBzdWNjZXNzLCBkYXRhID0gV2RzcGVjUnVuKHNl
bGYuZG9fd2RzcGVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucHJv
dG9jb2wuc2Vzc2lvbl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdC5hYnNfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0
KS5ydW4oKQorCisgICAgICAgIGlmIHN1Y2Nlc3M6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5j
b252ZXJ0X3Jlc3VsdCh0ZXN0LCBkYXRhKQorCisgICAgICAgIHJldHVybiAodGVzdC5yZXN1bHRf
Y2xzKCpkYXRhKSwgW10pCisKKyAgICBkZWYgZG9fd2RzcGVjKHNlbGYsIHNlc3Npb25fY29uZmln
LCBwYXRoLCB0aW1lb3V0KToKKyAgICAgICAgaGFybmVzc19yZXN1bHQgPSAoIk9LIiwgTm9uZSkK
KyAgICAgICAgc3VidGVzdF9yZXN1bHRzID0gcHl0ZXN0cnVubmVyLnJ1bihwYXRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2NvbmZpZywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uX2NvbmZp
ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PXRp
bWVvdXQpCisgICAgICAgIHJldHVybiAoaGFybmVzc19yZXN1bHQsIHN1YnRlc3RfcmVzdWx0cykK
KworICAgIGRlZiBkb19kZWxheWVkX2ltcG9ydHMoc2VsZik6CisgICAgICAgIGdsb2JhbCBweXRl
c3RydW5uZXIKKyAgICAgICAgZnJvbSAuIGltcG9ydCBweXRlc3RydW5uZXIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZWxlbml1bS5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci9leGVjdXRvcnMvZXhlY3V0b3JzZWxlbml1bS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNWVkYmVjMmY2ZmEx
OTAxZWNlNjBjMDQ3NjQ0Yzk3Mjk4ZTY5YTBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2V4ZWN1dG9ycy9leGVjdXRvcnNlbGVuaXVtLnB5CkBAIC0wLDAgKzEsMjYwIEBACitpbXBv
cnQgb3MKK2ltcG9ydCBzb2NrZXQKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9y
dCB0aW1lCitpbXBvcnQgdHJhY2ViYWNrCitpbXBvcnQgdXJscGFyc2UKK2ltcG9ydCB1dWlkCisK
K2Zyb20gLmJhc2UgaW1wb3J0IChFeGVjdXRvckV4Y2VwdGlvbiwKKyAgICAgICAgICAgICAgICAg
ICBQcm90b2NvbCwKKyAgICAgICAgICAgICAgICAgICBSZWZUZXN0RXhlY3V0b3IsCisgICAgICAg
ICAgICAgICAgICAgUmVmVGVzdEltcGxlbWVudGF0aW9uLAorICAgICAgICAgICAgICAgICAgIFRl
c3RFeGVjdXRvciwKKyAgICAgICAgICAgICAgICAgICBUZXN0aGFybmVzc0V4ZWN1dG9yLAorICAg
ICAgICAgICAgICAgICAgIHRlc3RoYXJuZXNzX3Jlc3VsdF9jb252ZXJ0ZXIsCisgICAgICAgICAg
ICAgICAgICAgcmVmdGVzdF9yZXN1bHRfY29udmVydGVyLAorICAgICAgICAgICAgICAgICAgIHN0
cmlwX3NlcnZlcikKK2Zyb20gLi50ZXN0cnVubmVyIGltcG9ydCBTdG9wCisKK2hlcmUgPSBvcy5w
YXRoLmpvaW4ob3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0pCisKK3dlYmRyaXZlciA9IE5vbmUK
K2V4Y2VwdGlvbnMgPSBOb25lCitSZW1vdGVDb25uZWN0aW9uID0gTm9uZQorCitleHRyYV90aW1l
b3V0ID0gNQorCitkZWYgZG9fZGVsYXllZF9pbXBvcnRzKCk6CisgICAgZ2xvYmFsIHdlYmRyaXZl
cgorICAgIGdsb2JhbCBleGNlcHRpb25zCisgICAgZ2xvYmFsIFJlbW90ZUNvbm5lY3Rpb24KKyAg
ICBmcm9tIHNlbGVuaXVtIGltcG9ydCB3ZWJkcml2ZXIKKyAgICBmcm9tIHNlbGVuaXVtLmNvbW1v
biBpbXBvcnQgZXhjZXB0aW9ucworICAgIGZyb20gc2VsZW5pdW0ud2ViZHJpdmVyLnJlbW90ZS5y
ZW1vdGVfY29ubmVjdGlvbiBpbXBvcnQgUmVtb3RlQ29ubmVjdGlvbgorCitjbGFzcyBTZWxlbml1
bVByb3RvY29sKFByb3RvY29sKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZXhlY3V0b3IsIGJy
b3dzZXIsIGNhcGFiaWxpdGllcywgKiprd2FyZ3MpOgorICAgICAgICBkb19kZWxheWVkX2ltcG9y
dHMoKQorCisgICAgICAgIFByb3RvY29sLl9faW5pdF9fKHNlbGYsIGV4ZWN1dG9yLCBicm93c2Vy
KQorICAgICAgICBzZWxmLmNhcGFiaWxpdGllcyA9IGNhcGFiaWxpdGllcworICAgICAgICBzZWxm
LnVybCA9IGJyb3dzZXIud2ViZHJpdmVyX3VybAorICAgICAgICBzZWxmLndlYmRyaXZlciA9IE5v
bmUKKworICAgIGRlZiBzZXR1cChzZWxmLCBydW5uZXIpOgorICAgICAgICAiIiJDb25uZWN0IHRv
IGJyb3dzZXIgdmlhIFNlbGVuaXVtJ3MgV2ViRHJpdmVyIGltcGxlbWVudGF0aW9uLiIiIgorICAg
ICAgICBzZWxmLnJ1bm5lciA9IHJ1bm5lcgorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiQ29u
bmVjdGluZyB0byBTZWxlbml1bSBvbiBVUkw6ICVzIiAlIHNlbGYudXJsKQorCisgICAgICAgIHNl
c3Npb25fc3RhcnRlZCA9IEZhbHNlCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYud2Vi
ZHJpdmVyID0gd2ViZHJpdmVyLlJlbW90ZShjb21tYW5kX2V4ZWN1dG9yPVJlbW90ZUNvbm5lY3Rp
b24oc2VsZi51cmwuc3RyaXAoIi8iKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZV9p
cD1GYWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGVzaXJlZF9jYXBhYmlsaXRpZXM9c2VsZi5jYXBhYmlsaXRpZXMpCisgICAgICAgIGV4Y2VwdDoK
KyAgICAgICAgICAgIHNlbGYubG9nZ2VyLndhcm5pbmcoCisgICAgICAgICAgICAgICAgIkNvbm5l
Y3RpbmcgdG8gU2VsZW5pdW0gZmFpbGVkOlxuJXMiICUgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJTZWxlbml1bSBz
ZXNzaW9uIHN0YXJ0ZWQiKQorICAgICAgICAgICAgc2Vzc2lvbl9zdGFydGVkID0gVHJ1ZQorCisg
ICAgICAgIGlmIG5vdCBzZXNzaW9uX3N0YXJ0ZWQ6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci53
YXJuaW5nKCJGYWlsZWQgdG8gY29ubmVjdCB0byBTZWxlbml1bSIpCisgICAgICAgICAgICBzZWxm
LmV4ZWN1dG9yLnJ1bm5lci5zZW5kX21lc3NhZ2UoImluaXRfZmFpbGVkIikKKyAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLmFmdGVyX2Nvbm5lY3Qo
KQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIHByaW50ID4+IHN5cy5zdGRl
cnIsIHRyYWNlYmFjay5mb3JtYXRfZXhjKCkKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci53
YXJuaW5nKAorICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGNvbm5lY3QgdG8gbmF2aWdh
dGUgaW5pdGlhbCBwYWdlIikKKyAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yLnJ1bm5lci5z
ZW5kX21lc3NhZ2UoImluaXRfZmFpbGVkIikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICAgICAgc2VsZi5leGVjdXRvci5ydW5uZXIuc2VuZF9tZXNzYWdlKCJpbml0X3N1Y2NlZWRlZCIp
CisKKyAgICBkZWYgdGVhcmRvd24oc2VsZik6CisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJI
YW5naW5nIHVwIG9uIFNlbGVuaXVtIHNlc3Npb24iKQorICAgICAgICB0cnk6CisgICAgICAgICAg
ICBzZWxmLndlYmRyaXZlci5xdWl0KCkKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgcGFz
cworICAgICAgICBkZWwgc2VsZi53ZWJkcml2ZXIKKworICAgIGRlZiBpc19hbGl2ZShzZWxmKToK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgIyBHZXQgYSBzaW1wbGUgcHJvcGVydHkgb3ZlciB0
aGUgY29ubmVjdGlvbgorICAgICAgICAgICAgc2VsZi53ZWJkcml2ZXIuY3VycmVudF93aW5kb3df
aGFuZGxlCisgICAgICAgICMgVE9ETyB3aGF0IGV4Y2VwdGlvbj8KKyAgICAgICAgZXhjZXB0IChz
b2NrZXQudGltZW91dCwgZXhjZXB0aW9ucy5FcnJvckluUmVzcG9uc2VFeGNlcHRpb24pOgorICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgYWZ0
ZXJfY29ubmVjdChzZWxmKToKKyAgICAgICAgc2VsZi5sb2FkX3J1bm5lcigiaHR0cCIpCisKKyAg
ICBkZWYgbG9hZF9ydW5uZXIoc2VsZiwgcHJvdG9jb2wpOgorICAgICAgICB1cmwgPSB1cmxwYXJz
ZS51cmxqb2luKHNlbGYuZXhlY3V0b3Iuc2VydmVyX3VybChwcm90b2NvbCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIi90ZXN0aGFybmVzc19ydW5uZXIuaHRtbCIpCisgICAgICAg
IHNlbGYubG9nZ2VyLmRlYnVnKCJMb2FkaW5nICVzIiAlIHVybCkKKyAgICAgICAgc2VsZi53ZWJk
cml2ZXIuZ2V0KHVybCkKKyAgICAgICAgc2VsZi53ZWJkcml2ZXIuZXhlY3V0ZV9zY3JpcHQoImRv
Y3VtZW50LnRpdGxlID0gJyVzJyIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKS5uYW1lLnJlcGxhY2UoIiciLCAnIicpKQor
CisgICAgZGVmIHdhaXQoc2VsZik6CisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICB0
cnk6CisgICAgICAgICAgICAgICAgc2VsZi53ZWJkcml2ZXIuZXhlY3V0ZV9hc3luY19zY3JpcHQo
IiIpOworICAgICAgICAgICAgZXhjZXB0IGV4Y2VwdGlvbnMuVGltZW91dEV4Y2VwdGlvbjoKKyAg
ICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBleGNlcHQgKHNvY2tldC50aW1lb3V0LCBl
eGNlcHRpb25zLk5vU3VjaFdpbmRvd0V4Y2VwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgZXhj
ZXB0aW9ucy5FcnJvckluUmVzcG9uc2VFeGNlcHRpb24sIElPRXJyb3IpOgorICAgICAgICAgICAg
ICAgIGJyZWFrCisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAg
ICAgICAgc2VsZi5sb2dnZXIuZXJyb3IodHJhY2ViYWNrLmZvcm1hdF9leGMoZSkpCisgICAgICAg
ICAgICAgICAgYnJlYWsKKworCitjbGFzcyBTZWxlbml1bVJ1bihvYmplY3QpOgorICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBmdW5jLCB3ZWJkcml2ZXIsIHVybCwgdGltZW91dCk6CisgICAgICAgIHNl
bGYuZnVuYyA9IGZ1bmMKKyAgICAgICAgc2VsZi5yZXN1bHQgPSBOb25lCisgICAgICAgIHNlbGYu
d2ViZHJpdmVyID0gd2ViZHJpdmVyCisgICAgICAgIHNlbGYudXJsID0gdXJsCisgICAgICAgIHNl
bGYudGltZW91dCA9IHRpbWVvdXQKKyAgICAgICAgc2VsZi5yZXN1bHRfZmxhZyA9IHRocmVhZGlu
Zy5FdmVudCgpCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICB0aW1lb3V0ID0gc2VsZi50
aW1lb3V0CisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi53ZWJkcml2ZXIuc2V0X3Nj
cmlwdF90aW1lb3V0KCh0aW1lb3V0ICsgZXh0cmFfdGltZW91dCkgKiAxMDAwKQorICAgICAgICBl
eGNlcHQgZXhjZXB0aW9ucy5FcnJvckluUmVzcG9uc2VFeGNlcHRpb246CisgICAgICAgICAgICBz
ZWxmLmxvZ2dlci5lcnJvcigiTG9zdCBXZWJEcml2ZXIgY29ubmVjdGlvbiIpCisgICAgICAgICAg
ICByZXR1cm4gU3RvcAorCisgICAgICAgIGV4ZWN1dG9yID0gdGhyZWFkaW5nLlRocmVhZCh0YXJn
ZXQ9c2VsZi5fcnVuKQorICAgICAgICBleGVjdXRvci5zdGFydCgpCisKKyAgICAgICAgZmxhZyA9
IHNlbGYucmVzdWx0X2ZsYWcud2FpdCh0aW1lb3V0ICsgMiAqIGV4dHJhX3RpbWVvdXQpCisgICAg
ICAgIGlmIHNlbGYucmVzdWx0IGlzIE5vbmU6CisgICAgICAgICAgICBhc3NlcnQgbm90IGZsYWcK
KyAgICAgICAgICAgIHNlbGYucmVzdWx0ID0gRmFsc2UsICgiRVhURVJOQUwtVElNRU9VVCIsIE5v
bmUpCisKKyAgICAgICAgcmV0dXJuIHNlbGYucmVzdWx0CisKKyAgICBkZWYgX3J1bihzZWxmKToK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBUcnVlLCBzZWxmLmZ1bmMo
c2VsZi53ZWJkcml2ZXIsIHNlbGYudXJsLCBzZWxmLnRpbWVvdXQpCisgICAgICAgIGV4Y2VwdCBl
eGNlcHRpb25zLlRpbWVvdXRFeGNlcHRpb246CisgICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZh
bHNlLCAoIkVYVEVSTkFMLVRJTUVPVVQiLCBOb25lKQorICAgICAgICBleGNlcHQgKHNvY2tldC50
aW1lb3V0LCBleGNlcHRpb25zLkVycm9ySW5SZXNwb25zZUV4Y2VwdGlvbik6CisgICAgICAgICAg
ICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIkNSQVNIIiwgTm9uZSkKKyAgICAgICAgZXhjZXB0IEV4
Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgbWVzc2FnZSA9IGdldGF0dHIoZSwgIm1lc3NhZ2Ui
LCAiIikKKyAgICAgICAgICAgIGlmIG1lc3NhZ2U6CisgICAgICAgICAgICAgICAgbWVzc2FnZSAr
PSAiXG4iCisgICAgICAgICAgICBtZXNzYWdlICs9IHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpCisg
ICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIkVSUk9SIiwgZSkKKyAgICAgICAgZmlu
YWxseToKKyAgICAgICAgICAgIHNlbGYucmVzdWx0X2ZsYWcuc2V0KCkKKworCitjbGFzcyBTZWxl
bml1bVRlc3RoYXJuZXNzRXhlY3V0b3IoVGVzdGhhcm5lc3NFeGVjdXRvcik6CisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHRpbWVvdXRfbXVsdGlwbGllcj0x
LAorICAgICAgICAgICAgICAgICBjbG9zZV9hZnRlcl9kb25lPVRydWUsIGNhcGFiaWxpdGllcz1O
b25lLCBkZWJ1Z19pbmZvPU5vbmUpOgorICAgICAgICAiIiJTZWxlbml1bS1iYXNlZCBleGVjdXRv
ciBmb3IgdGVzdGhhcm5lc3MuanMgdGVzdHMiIiIKKyAgICAgICAgVGVzdGhhcm5lc3NFeGVjdXRv
ci5fX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXVsdGlwbGllcj10aW1lb3V0X211bHRpcGxp
ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1kZWJ1
Z19pbmZvKQorICAgICAgICBzZWxmLnByb3RvY29sID0gU2VsZW5pdW1Qcm90b2NvbChzZWxmLCBi
cm93c2VyLCBjYXBhYmlsaXRpZXMpCisgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oaGVy
ZSwgInRlc3RoYXJuZXNzX3dlYmRyaXZlci5qcyIpKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5z
Y3JpcHQgPSBmLnJlYWQoKQorICAgICAgICBzZWxmLmNsb3NlX2FmdGVyX2RvbmUgPSBjbG9zZV9h
ZnRlcl9kb25lCisgICAgICAgIHNlbGYud2luZG93X2lkID0gc3RyKHV1aWQudXVpZDQoKSkKKwor
ICAgIGRlZiBpc19hbGl2ZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYucHJvdG9jb2wuaXNf
YWxpdmUoKQorCisgICAgZGVmIG9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLCBuZXdfZW52aXJv
bm1lbnQpOgorICAgICAgICBpZiBuZXdfZW52aXJvbm1lbnRbInByb3RvY29sIl0gIT0gc2VsZi5s
YXN0X2Vudmlyb25tZW50WyJwcm90b2NvbCJdOgorICAgICAgICAgICAgc2VsZi5wcm90b2NvbC5s
b2FkX3J1bm5lcihuZXdfZW52aXJvbm1lbnRbInByb3RvY29sIl0pCisKKyAgICBkZWYgZG9fdGVz
dChzZWxmLCB0ZXN0KToKKyAgICAgICAgdXJsID0gc2VsZi50ZXN0X3VybCh0ZXN0KQorCisgICAg
ICAgIHN1Y2Nlc3MsIGRhdGEgPSBTZWxlbml1bVJ1bihzZWxmLmRvX3Rlc3RoYXJuZXNzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm90b2NvbC53ZWJkcml2ZXIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0LnRpbWVvdXQgKiBzZWxmLnRpbWVvdXRfbXVsdGlw
bGllcikucnVuKCkKKworICAgICAgICBpZiBzdWNjZXNzOgorICAgICAgICAgICAgcmV0dXJuIHNl
bGYuY29udmVydF9yZXN1bHQodGVzdCwgZGF0YSkKKworICAgICAgICByZXR1cm4gKHRlc3QucmVz
dWx0X2NscygqZGF0YSksIFtdKQorCisgICAgZGVmIGRvX3Rlc3RoYXJuZXNzKHNlbGYsIHdlYmRy
aXZlciwgdXJsLCB0aW1lb3V0KToKKyAgICAgICAgcmV0dXJuIHdlYmRyaXZlci5leGVjdXRlX2Fz
eW5jX3NjcmlwdCgKKyAgICAgICAgICAgIHNlbGYuc2NyaXB0ICUgeyJhYnNfdXJsIjogdXJsLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVybCI6IHN0cmlwX3NlcnZlcih1cmwpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIndpbmRvd19pZCI6IHNlbGYud2luZG93X2lkLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVvdXRfbXVsdGlwbGllciI6IHNlbGYudGltZW91
dF9tdWx0aXBsaWVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVvdXQiOiB0aW1l
b3V0ICogMTAwMH0pCisKK2NsYXNzIFNlbGVuaXVtUmVmVGVzdEV4ZWN1dG9yKFJlZlRlc3RFeGVj
dXRvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHRp
bWVvdXRfbXVsdGlwbGllcj0xLAorICAgICAgICAgICAgICAgICBzY3JlZW5zaG90X2NhY2hlPU5v
bmUsIGNsb3NlX2FmdGVyX2RvbmU9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1O
b25lLCBjYXBhYmlsaXRpZXM9Tm9uZSk6CisgICAgICAgICIiIlNlbGVuaXVtIFdlYkRyaXZlci1i
YXNlZCBleGVjdXRvciBmb3IgcmVmdGVzdHMiIiIKKyAgICAgICAgUmVmVGVzdEV4ZWN1dG9yLl9f
aW5pdF9fKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2NvbmZpZywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNjcmVlbnNob3RfY2FjaGU9c2NyZWVuc2hvdF9jYWNo
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXVsdGlwbGllcj10
aW1lb3V0X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1
Z19pbmZvPWRlYnVnX2luZm8pCisgICAgICAgIHNlbGYucHJvdG9jb2wgPSBTZWxlbml1bVByb3Rv
Y29sKHNlbGYsIGJyb3dzZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNhcGFiaWxpdGllcz1jYXBhYmlsaXRpZXMpCisgICAgICAgIHNlbGYuaW1wbGVtZW50YXRp
b24gPSBSZWZUZXN0SW1wbGVtZW50YXRpb24oc2VsZikKKyAgICAgICAgc2VsZi5jbG9zZV9hZnRl
cl9kb25lID0gY2xvc2VfYWZ0ZXJfZG9uZQorICAgICAgICBzZWxmLmhhc193aW5kb3cgPSBGYWxz
ZQorCisgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oaGVyZSwgInJlZnRlc3QuanMiKSkg
YXMgZjoKKyAgICAgICAgICAgIHNlbGYuc2NyaXB0ID0gZi5yZWFkKCkKKyAgICAgICAgd2l0aCBv
cGVuKG9zLnBhdGguam9pbihoZXJlLCAicmVmdGVzdC13YWl0X3dlYmRyaXZlci5qcyIpKSBhcyBm
OgorICAgICAgICAgICAgc2VsZi53YWl0X3NjcmlwdCA9IGYucmVhZCgpCisKKyAgICBkZWYgaXNf
YWxpdmUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnByb3RvY29sLmlzX2FsaXZlKCkKKwor
ICAgIGRlZiBkb190ZXN0KHNlbGYsIHRlc3QpOgorICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJU
ZXN0IHJlcXVpcmVzIE9TLWxldmVsIHdpbmRvdyBmb2N1cyIpCisKKyAgICAgICAgc2VsZi5wcm90
b2NvbC53ZWJkcml2ZXIuc2V0X3dpbmRvd19zaXplKDYwMCwgNjAwKQorCisgICAgICAgIHJlc3Vs
dCA9IHNlbGYuaW1wbGVtZW50YXRpb24ucnVuX3Rlc3QodGVzdCkKKworICAgICAgICByZXR1cm4g
c2VsZi5jb252ZXJ0X3Jlc3VsdCh0ZXN0LCByZXN1bHQpCisKKyAgICBkZWYgc2NyZWVuc2hvdChz
ZWxmLCB0ZXN0LCB2aWV3cG9ydF9zaXplLCBkcGkpOgorICAgICAgICAjIGh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd3B0cnVubmVyL2lzc3Vlcy8xNjYKKyAgICAgICAgYXNzZXJ0IHZpZXdwb3J0X3Np
emUgaXMgTm9uZQorICAgICAgICBhc3NlcnQgZHBpIGlzIE5vbmUKKworICAgICAgICByZXR1cm4g
U2VsZW5pdW1SdW4oc2VsZi5fc2NyZWVuc2hvdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYucHJvdG9jb2wud2ViZHJpdmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi50ZXN0X3VybCh0ZXN0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3QudGltZW91
dCkucnVuKCkKKworICAgIGRlZiBfc2NyZWVuc2hvdChzZWxmLCB3ZWJkcml2ZXIsIHVybCwgdGlt
ZW91dCk6CisgICAgICAgIHdlYmRyaXZlci5nZXQodXJsKQorCisgICAgICAgIHdlYmRyaXZlci5l
eGVjdXRlX2FzeW5jX3NjcmlwdChzZWxmLndhaXRfc2NyaXB0KQorCisgICAgICAgIHNjcmVlbnNo
b3QgPSB3ZWJkcml2ZXIuZ2V0X3NjcmVlbnNob3RfYXNfYmFzZTY0KCkKKworICAgICAgICAjIHN0
cmlwIG9mZiB0aGUgZGF0YTppbWcvcG5nLCBwYXJ0IG9mIHRoZSB1cmwKKyAgICAgICAgaWYgc2Ny
ZWVuc2hvdC5zdGFydHN3aXRoKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsIik6CisgICAgICAgICAg
ICBzY3JlZW5zaG90ID0gc2NyZWVuc2hvdC5zcGxpdCgiLCIsIDEpWzFdCisKKyAgICAgICAgcmV0
dXJuIHNjcmVlbnNob3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0
b3JzZXJ2by5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZXJ2by5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMDAyZDkzYWE1ZjI1YTM3MzM0ZDQwZWU3ZmFkMmQ3ZTQwNjk1NDg1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9leGVjdXRvcnNlcnZvLnB5CkBAIC0w
LDAgKzEsMzY4IEBACitpbXBvcnQgYmFzZTY0CitpbXBvcnQgaGFzaGxpYgoraW1wb3J0IGh0dHBs
aWIKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgdGVt
cGZpbGUKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9ydCB0cmFjZWJhY2sKK2ltcG9ydCB1cmxwYXJz
ZQoraW1wb3J0IHV1aWQKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlZmF1bHRkaWN0CisKK2Zy
b20gbW96cHJvY2VzcyBpbXBvcnQgUHJvY2Vzc0hhbmRsZXIKKworZnJvbSAuYmFzZSBpbXBvcnQg
KEV4ZWN1dG9yRXhjZXB0aW9uLAorICAgICAgICAgICAgICAgICAgIFByb3RvY29sLAorICAgICAg
ICAgICAgICAgICAgIFJlZlRlc3RJbXBsZW1lbnRhdGlvbiwKKyAgICAgICAgICAgICAgICAgICB0
ZXN0aGFybmVzc19yZXN1bHRfY29udmVydGVyLAorICAgICAgICAgICAgICAgICAgIHJlZnRlc3Rf
cmVzdWx0X2NvbnZlcnRlciwKKyAgICAgICAgICAgICAgICAgICBXZHNwZWNFeGVjdXRvcikKK2Zy
b20gLnByb2Nlc3MgaW1wb3J0IFByb2Nlc3NUZXN0RXhlY3V0b3IKK2Zyb20gLi5icm93c2Vycy5i
YXNlIGltcG9ydCBicm93c2VyX2NvbW1hbmQKK2Zyb20gLi53cHR0ZXN0IGltcG9ydCBXZHNwZWNS
ZXN1bHQsIFdkc3BlY1N1YnRlc3RSZXN1bHQKK2Zyb20gLi53ZWJkcml2ZXJfc2VydmVyIGltcG9y
dCBTZXJ2b0RyaXZlclNlcnZlcgorZnJvbSAuZXhlY3V0b3JtYXJpb25ldHRlIGltcG9ydCBXZHNw
ZWNSdW4KKworcHl0ZXN0cnVubmVyID0gTm9uZQord2ViZHJpdmVyID0gTm9uZQorCitleHRyYV90
aW1lb3V0ID0gNSAjIHNlY29uZHMKKworaG9zdHNfdGV4dCA9ICIiIjEyNy4wLjAuMSB3ZWItcGxh
dGZvcm0udGVzdAorMTI3LjAuMC4xIHd3dy53ZWItcGxhdGZvcm0udGVzdAorMTI3LjAuMC4xIHd3
dzEud2ViLXBsYXRmb3JtLnRlc3QKKzEyNy4wLjAuMSB3d3cyLndlYi1wbGF0Zm9ybS50ZXN0Cisx
MjcuMC4wLjEgeG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3QKKzEyNy4w
LjAuMSB4bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3QKKyIiIgorCitkZWYgbWFrZV9ob3N0
c19maWxlKCk6CisgICAgaG9zdHNfZmQsIGhvc3RzX3BhdGggPSB0ZW1wZmlsZS5ta3N0ZW1wKCkK
KyAgICB3aXRoIG9zLmZkb3Blbihob3N0c19mZCwgInciKSBhcyBmOgorICAgICAgICBmLndyaXRl
KGhvc3RzX3RleHQpCisgICAgcmV0dXJuIGhvc3RzX3BhdGgKKworCitjbGFzcyBTZXJ2b1Rlc3Ro
YXJuZXNzRXhlY3V0b3IoUHJvY2Vzc1Rlc3RFeGVjdXRvcik6CisgICAgY29udmVydF9yZXN1bHQg
PSB0ZXN0aGFybmVzc19yZXN1bHRfY29udmVydGVyCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
YnJvd3Nlciwgc2VydmVyX2NvbmZpZywgdGltZW91dF9tdWx0aXBsaWVyPTEsIGRlYnVnX2luZm89
Tm9uZSwKKyAgICAgICAgICAgICAgICAgcGF1c2VfYWZ0ZXJfdGVzdD1GYWxzZSk6CisgICAgICAg
IGRvX2RlbGF5ZWRfaW1wb3J0cygpCisgICAgICAgIFByb2Nlc3NUZXN0RXhlY3V0b3IuX19pbml0
X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aW1lb3V0X211bHRpcGxpZXI9dGltZW91dF9tdWx0aXBsaWVyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2luZm89ZGVidWdfaW5mbykK
KyAgICAgICAgc2VsZi5wYXVzZV9hZnRlcl90ZXN0ID0gcGF1c2VfYWZ0ZXJfdGVzdAorICAgICAg
ICBzZWxmLnJlc3VsdF9kYXRhID0gTm9uZQorICAgICAgICBzZWxmLnJlc3VsdF9mbGFnID0gTm9u
ZQorICAgICAgICBzZWxmLnByb3RvY29sID0gUHJvdG9jb2woc2VsZiwgYnJvd3NlcikKKyAgICAg
ICAgc2VsZi5ob3N0c19wYXRoID0gbWFrZV9ob3N0c19maWxlKCkKKworICAgIGRlZiB0ZWFyZG93
bihzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3MudW5saW5rKHNlbGYuaG9zdHNf
cGF0aCkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAg
IFByb2Nlc3NUZXN0RXhlY3V0b3IudGVhcmRvd24oc2VsZikKKworICAgIGRlZiBkb190ZXN0KHNl
bGYsIHRlc3QpOgorICAgICAgICBzZWxmLnJlc3VsdF9kYXRhID0gTm9uZQorICAgICAgICBzZWxm
LnJlc3VsdF9mbGFnID0gdGhyZWFkaW5nLkV2ZW50KCkKKworICAgICAgICBhcmdzID0gWworICAg
ICAgICAgICAgIi0taGFyZC1mYWlsIiwgIi11IiwgIlNlcnZvL3dwdHJ1bm5lciIsCisgICAgICAg
ICAgICAiLVoiLCAicmVwbGFjZS1zdXJyb2dhdGVzIiwgIi16Iiwgc2VsZi50ZXN0X3VybCh0ZXN0
KSwKKyAgICAgICAgXQorICAgICAgICBmb3Igc3R5bGVzaGVldCBpbiBzZWxmLmJyb3dzZXIudXNl
cl9zdHlsZXNoZWV0czoKKyAgICAgICAgICAgIGFyZ3MgKz0gWyItLXVzZXItc3R5bGVzaGVldCIs
IHN0eWxlc2hlZXRdCisgICAgICAgIGZvciBwcmVmLCB2YWx1ZSBpbiB0ZXN0LmVudmlyb25tZW50
LmdldCgncHJlZnMnLCB7fSkuaXRlcml0ZW1zKCk6CisgICAgICAgICAgICBhcmdzICs9IFsiLS1w
cmVmIiwgIiVzPSVzIiAlIChwcmVmLCB2YWx1ZSldCisgICAgICAgIGlmIHNlbGYuYnJvd3Nlci5j
YV9jZXJ0aWZpY2F0ZV9wYXRoOgorICAgICAgICAgICAgYXJncyArPSBbIi0tY2VydGlmaWNhdGUt
cGF0aCIsIHNlbGYuYnJvd3Nlci5jYV9jZXJ0aWZpY2F0ZV9wYXRoXQorICAgICAgICBhcmdzICs9
IHNlbGYuYnJvd3Nlci5iaW5hcnlfYXJncworICAgICAgICBkZWJ1Z19hcmdzLCBjb21tYW5kID0g
YnJvd3Nlcl9jb21tYW5kKHNlbGYuYmluYXJ5LCBhcmdzLCBzZWxmLmRlYnVnX2luZm8pCisKKyAg
ICAgICAgc2VsZi5jb21tYW5kID0gY29tbWFuZAorCisgICAgICAgIGlmIHNlbGYucGF1c2VfYWZ0
ZXJfdGVzdDoKKyAgICAgICAgICAgIHNlbGYuY29tbWFuZC5yZW1vdmUoIi16IikKKworICAgICAg
ICBzZWxmLmNvbW1hbmQgPSBkZWJ1Z19hcmdzICsgc2VsZi5jb21tYW5kCisKKyAgICAgICAgZW52
ID0gb3MuZW52aXJvbi5jb3B5KCkKKyAgICAgICAgZW52WyJIT1NUX0ZJTEUiXSA9IHNlbGYuaG9z
dHNfcGF0aAorICAgICAgICBlbnZbIlJVU1RfQkFDS1RSQUNFIl0gPSAiMSIKKworCisgICAgICAg
IGlmIG5vdCBzZWxmLmludGVyYWN0aXZlOgorICAgICAgICAgICAgc2VsZi5wcm9jID0gUHJvY2Vz
c0hhbmRsZXIoc2VsZi5jb21tYW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHJvY2Vzc091dHB1dExpbmU9W3NlbGYub25fb3V0cHV0XSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9uRmluaXNoPXNlbGYub25fZmluaXNoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52PWVudiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlT3V0cHV0PUZhbHNlKQorICAgICAgICAgICAg
c2VsZi5wcm9jLnJ1bigpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnByb2MgPSBz
dWJwcm9jZXNzLlBvcGVuKHNlbGYuY29tbWFuZCwgZW52PWVudikKKworICAgICAgICB0cnk6Cisg
ICAgICAgICAgICB0aW1lb3V0ID0gdGVzdC50aW1lb3V0ICogc2VsZi50aW1lb3V0X211bHRpcGxp
ZXIKKworICAgICAgICAgICAgIyBOb3cgd2FpdCB0byBnZXQgdGhlIG91dHB1dCB3ZSBleHBlY3Qs
IG9yIHVudGlsIHdlIHJlYWNoIHRoZSB0aW1lb3V0CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5p
bnRlcmFjdGl2ZSBhbmQgbm90IHNlbGYucGF1c2VfYWZ0ZXJfdGVzdDoKKyAgICAgICAgICAgICAg
ICB3YWl0X3RpbWVvdXQgPSB0aW1lb3V0ICsgNQorICAgICAgICAgICAgICAgIHNlbGYucmVzdWx0
X2ZsYWcud2FpdCh3YWl0X3RpbWVvdXQpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAg
ICAgIHdhaXRfdGltZW91dCA9IE5vbmUKKyAgICAgICAgICAgICAgICBzZWxmLnByb2Mud2FpdCgp
CisKKyAgICAgICAgICAgIHByb2NfaXNfcnVubmluZyA9IFRydWUKKworICAgICAgICAgICAgaWYg
c2VsZi5yZXN1bHRfZmxhZy5pc19zZXQoKToKKyAgICAgICAgICAgICAgICBpZiBzZWxmLnJlc3Vs
dF9kYXRhIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmNv
bnZlcnRfcmVzdWx0KHRlc3QsIHNlbGYucmVzdWx0X2RhdGEpCisgICAgICAgICAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm9jLndhaXQoKQorICAgICAgICAgICAgICAg
ICAgICByZXN1bHQgPSAodGVzdC5yZXN1bHRfY2xzKCJDUkFTSCIsIE5vbmUpLCBbXSkKKyAgICAg
ICAgICAgICAgICAgICAgcHJvY19pc19ydW5uaW5nID0gRmFsc2UKKyAgICAgICAgICAgIGVsc2U6
CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gKHRlc3QucmVzdWx0X2NscygiVElNRU9VVCIsIE5v
bmUpLCBbXSkKKworCisgICAgICAgICAgICBpZiBwcm9jX2lzX3J1bm5pbmc6CisgICAgICAgICAg
ICAgICAgaWYgc2VsZi5wYXVzZV9hZnRlcl90ZXN0OgorICAgICAgICAgICAgICAgICAgICBzZWxm
LmxvZ2dlci5pbmZvKCJQYXVzaW5nIHVudGlsIHRoZSBicm93c2VyIGV4aXRzIikKKyAgICAgICAg
ICAgICAgICAgICAgc2VsZi5wcm9jLndhaXQoKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICAgICAgICAgIHNlbGYucHJvYy5raWxsKCkKKyAgICAgICAgZXhjZXB0IEtleWJvYXJk
SW50ZXJydXB0OgorICAgICAgICAgICAgc2VsZi5wcm9jLmtpbGwoKQorICAgICAgICAgICAgcmFp
c2UKKworICAgICAgICByZXR1cm4gcmVzdWx0CisKKyAgICBkZWYgb25fb3V0cHV0KHNlbGYsIGxp
bmUpOgorICAgICAgICBwcmVmaXggPSAiQUxFUlQ6IFJFU1VMVDogIgorICAgICAgICBsaW5lID0g
bGluZS5kZWNvZGUoInV0ZjgiLCAicmVwbGFjZSIpCisgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0
aChwcmVmaXgpOgorICAgICAgICAgICAgc2VsZi5yZXN1bHRfZGF0YSA9IGpzb24ubG9hZHMobGlu
ZVtsZW4ocHJlZml4KTpdKQorICAgICAgICAgICAgc2VsZi5yZXN1bHRfZmxhZy5zZXQoKQorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgaWYgc2VsZi5pbnRlcmFjdGl2ZToKKyAgICAgICAgICAg
ICAgICBwcmludCBsaW5lCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYu
bG9nZ2VyLnByb2Nlc3Nfb3V0cHV0KHNlbGYucHJvYy5waWQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGluZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiICIuam9pbihzZWxmLmNvbW1hbmQpKQorCisgICAgZGVmIG9uX2Zp
bmlzaChzZWxmKToKKyAgICAgICAgc2VsZi5yZXN1bHRfZmxhZy5zZXQoKQorCisKK2NsYXNzIFRl
bXBGaWxlbmFtZShvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkaXJlY3RvcnkpOgor
ICAgICAgICBzZWxmLmRpcmVjdG9yeSA9IGRpcmVjdG9yeQorICAgICAgICBzZWxmLnBhdGggPSBO
b25lCisKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICBzZWxmLnBhdGggPSBvcy5w
YXRoLmpvaW4oc2VsZi5kaXJlY3RvcnksIHN0cih1dWlkLnV1aWQ0KCkpKQorICAgICAgICByZXR1
cm4gc2VsZi5wYXRoCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3MudW5saW5rKHNlbGYucGF0aCkKKyAgICAgICAg
ZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICBwYXNzCisKKworY2xhc3MgU2Vydm9SZWZUZXN0
RXhlY3V0b3IoUHJvY2Vzc1Rlc3RFeGVjdXRvcik6CisgICAgY29udmVydF9yZXN1bHQgPSByZWZ0
ZXN0X3Jlc3VsdF9jb252ZXJ0ZXIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBz
ZXJ2ZXJfY29uZmlnLCBiaW5hcnk9Tm9uZSwgdGltZW91dF9tdWx0aXBsaWVyPTEsCisgICAgICAg
ICAgICAgICAgIHNjcmVlbnNob3RfY2FjaGU9Tm9uZSwgZGVidWdfaW5mbz1Ob25lLCBwYXVzZV9h
ZnRlcl90ZXN0PUZhbHNlKToKKyAgICAgICAgZG9fZGVsYXllZF9pbXBvcnRzKCkKKyAgICAgICAg
UHJvY2Vzc1Rlc3RFeGVjdXRvci5fX2luaXRfXyhzZWxmLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJyb3dzZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VydmVyX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0aW1lb3V0X211bHRpcGxpZXI9dGltZW91dF9tdWx0aXBsaWVyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2luZm89ZGVidWdfaW5mbykKKworICAgICAgICBz
ZWxmLnByb3RvY29sID0gUHJvdG9jb2woc2VsZiwgYnJvd3NlcikKKyAgICAgICAgc2VsZi5zY3Jl
ZW5zaG90X2NhY2hlID0gc2NyZWVuc2hvdF9jYWNoZQorICAgICAgICBzZWxmLmltcGxlbWVudGF0
aW9uID0gUmVmVGVzdEltcGxlbWVudGF0aW9uKHNlbGYpCisgICAgICAgIHNlbGYudGVtcGRpciA9
IHRlbXBmaWxlLm1rZHRlbXAoKQorICAgICAgICBzZWxmLmhvc3RzX3BhdGggPSBtYWtlX2hvc3Rz
X2ZpbGUoKQorCisgICAgZGVmIHRlYXJkb3duKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAg
ICAgICBvcy51bmxpbmsoc2VsZi5ob3N0c19wYXRoKQorICAgICAgICBleGNlcHQgT1NFcnJvcjoK
KyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgb3Mucm1kaXIoc2VsZi50ZW1wZGlyKQorICAgICAg
ICBQcm9jZXNzVGVzdEV4ZWN1dG9yLnRlYXJkb3duKHNlbGYpCisKKyAgICBkZWYgc2NyZWVuc2hv
dChzZWxmLCB0ZXN0LCB2aWV3cG9ydF9zaXplLCBkcGkpOgorICAgICAgICBmdWxsX3VybCA9IHNl
bGYudGVzdF91cmwodGVzdCkKKworICAgICAgICB3aXRoIFRlbXBGaWxlbmFtZShzZWxmLnRlbXBk
aXIpIGFzIG91dHB1dF9wYXRoOgorICAgICAgICAgICAgZGVidWdfYXJncywgY29tbWFuZCA9IGJy
b3dzZXJfY29tbWFuZCgKKyAgICAgICAgICAgICAgICBzZWxmLmJpbmFyeSwKKyAgICAgICAgICAg
ICAgICBbCisgICAgICAgICAgICAgICAgICAgICItLWhhcmQtZmFpbCIsICItLWV4aXQiLAorICAg
ICAgICAgICAgICAgICAgICAiLXUiLCAiU2Vydm8vd3B0cnVubmVyIiwKKyAgICAgICAgICAgICAg
ICAgICAgIi1aIiwgImRpc2FibGUtdGV4dC1hYSxsb2FkLXdlYmZvbnRzLXN5bmNocm9ub3VzbHks
cmVwbGFjZS1zdXJyb2dhdGVzIiwKKyAgICAgICAgICAgICAgICAgICAgIi0tb3V0cHV0PSVzIiAl
IG91dHB1dF9wYXRoLCBmdWxsX3VybAorICAgICAgICAgICAgICAgIF0gKyBzZWxmLmJyb3dzZXIu
YmluYXJ5X2FyZ3MsCisgICAgICAgICAgICAgICAgc2VsZi5kZWJ1Z19pbmZvKQorCisgICAgICAg
ICAgICBmb3Igc3R5bGVzaGVldCBpbiBzZWxmLmJyb3dzZXIudXNlcl9zdHlsZXNoZWV0czoKKyAg
ICAgICAgICAgICAgICBjb21tYW5kICs9IFsiLS11c2VyLXN0eWxlc2hlZXQiLCBzdHlsZXNoZWV0
XQorCisgICAgICAgICAgICBmb3IgcHJlZiwgdmFsdWUgaW4gdGVzdC5lbnZpcm9ubWVudC5nZXQo
J3ByZWZzJywge30pLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgICAgIGNvbW1hbmQgKz0gWyIt
LXByZWYiLCAiJXM9JXMiICUgKHByZWYsIHZhbHVlKV0KKworICAgICAgICAgICAgY29tbWFuZCAr
PSBbIi0tcmVzb2x1dGlvbiIsIHZpZXdwb3J0X3NpemUgb3IgIjgwMHg2MDAiXQorCisgICAgICAg
ICAgICBpZiBzZWxmLmJyb3dzZXIuY2FfY2VydGlmaWNhdGVfcGF0aDoKKyAgICAgICAgICAgICAg
ICBjb21tYW5kICs9IFsiLS1jZXJ0aWZpY2F0ZS1wYXRoIiwgc2VsZi5icm93c2VyLmNhX2NlcnRp
ZmljYXRlX3BhdGhdCisKKyAgICAgICAgICAgIGlmIGRwaToKKyAgICAgICAgICAgICAgICBjb21t
YW5kICs9IFsiLS1kZXZpY2UtcGl4ZWwtcmF0aW8iLCBkcGldCisKKyAgICAgICAgICAgICMgUnVu
IHJlZiB0ZXN0cyBpbiBoZWFkbGVzcyBtb2RlCisgICAgICAgICAgICBjb21tYW5kICs9IFsiLXoi
XQorCisgICAgICAgICAgICBzZWxmLmNvbW1hbmQgPSBkZWJ1Z19hcmdzICsgY29tbWFuZAorCisg
ICAgICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQorICAgICAgICAgICAgZW52WyJIT1NU
X0ZJTEUiXSA9IHNlbGYuaG9zdHNfcGF0aAorICAgICAgICAgICAgZW52WyJSVVNUX0JBQ0tUUkFD
RSJdID0gIjEiCisKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLmludGVyYWN0aXZlOgorICAgICAg
ICAgICAgICAgIHNlbGYucHJvYyA9IFByb2Nlc3NIYW5kbGVyKHNlbGYuY29tbWFuZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzT3V0cHV0TGluZT1b
c2VsZi5vbl9vdXRwdXRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVudj1lbnYpCisKKworICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAg
ICAgc2VsZi5wcm9jLnJ1bigpCisgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgPSB0ZXN0LnRp
bWVvdXQgKiBzZWxmLnRpbWVvdXRfbXVsdGlwbGllciArIDUKKyAgICAgICAgICAgICAgICAgICAg
cnYgPSBzZWxmLnByb2Mud2FpdCh0aW1lb3V0PXRpbWVvdXQpCisgICAgICAgICAgICAgICAgZXhj
ZXB0IEtleWJvYXJkSW50ZXJydXB0OgorICAgICAgICAgICAgICAgICAgICBzZWxmLnByb2Mua2ls
bCgpCisgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgICAgIHNlbGYucHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oc2VsZi5jb21tYW5kLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52PWVudikKKyAgICAg
ICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHJ2ID0gc2VsZi5wcm9jLndhaXQo
KQorICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAg
ICAgICAgICAgc2VsZi5wcm9jLmtpbGwoKQorICAgICAgICAgICAgICAgICAgICByYWlzZQorCisg
ICAgICAgICAgICBpZiBydiBpcyBOb25lOgorICAgICAgICAgICAgICAgIHNlbGYucHJvYy5raWxs
KCkKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UsICgiRVhURVJOQUwtVElNRU9VVCIsIE5v
bmUpCisKKyAgICAgICAgICAgIGlmIHJ2ICE9IDAgb3Igbm90IG9zLnBhdGguZXhpc3RzKG91dHB1
dF9wYXRoKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UsICgiQ1JBU0giLCBOb25lKQor
CisgICAgICAgICAgICB3aXRoIG9wZW4ob3V0cHV0X3BhdGgpIGFzIGY6CisgICAgICAgICAgICAg
ICAgIyBNaWdodCBuZWVkIHRvIHN0cmlwIHZhcmlhYmxlIGhlYWRlcnMgb3Igc29tZXRoaW5nIGhl
cmUKKyAgICAgICAgICAgICAgICBkYXRhID0gZi5yZWFkKCkKKyAgICAgICAgICAgICAgICByZXR1
cm4gVHJ1ZSwgYmFzZTY0LmI2NGVuY29kZShkYXRhKQorCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwg
dGVzdCk6CisgICAgICAgIHJlc3VsdCA9IHNlbGYuaW1wbGVtZW50YXRpb24ucnVuX3Rlc3QodGVz
dCkKKworICAgICAgICByZXR1cm4gc2VsZi5jb252ZXJ0X3Jlc3VsdCh0ZXN0LCByZXN1bHQpCisK
KyAgICBkZWYgb25fb3V0cHV0KHNlbGYsIGxpbmUpOgorICAgICAgICBsaW5lID0gbGluZS5kZWNv
ZGUoInV0ZjgiLCAicmVwbGFjZSIpCisgICAgICAgIGlmIHNlbGYuaW50ZXJhY3RpdmU6CisgICAg
ICAgICAgICBwcmludCBsaW5lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmxvZ2dl
ci5wcm9jZXNzX291dHB1dChzZWxmLnByb2MucGlkLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGluZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICIgIi5qb2luKHNlbGYuY29tbWFuZCkpCisKK2NsYXNzIFNlcnZvV2RzcGVjUHJvdG9jb2wo
UHJvdG9jb2wpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRvciwgYnJvd3Nlcik6Cisg
ICAgICAgIHNlbGYuZG9fZGVsYXllZF9pbXBvcnRzKCkKKyAgICAgICAgUHJvdG9jb2wuX19pbml0
X18oc2VsZiwgZXhlY3V0b3IsIGJyb3dzZXIpCisgICAgICAgIHNlbGYuc2Vzc2lvbiA9IE5vbmUK
KyAgICAgICAgc2VsZi5zZXJ2ZXIgPSBOb25lCisKKyAgICBkZWYgc2V0dXAoc2VsZiwgcnVubmVy
KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5zZXJ2ZXIgPSBTZXJ2b0RyaXZlclNl
cnZlcihzZWxmLmxvZ2dlciwgYmluYXJ5PXNlbGYuYnJvd3Nlci5iaW5hcnksIGJpbmFyeV9hcmdz
PXNlbGYuYnJvd3Nlci5iaW5hcnlfYXJncykKKyAgICAgICAgICAgIHNlbGYuc2VydmVyLnN0YXJ0
KGJsb2NrPUZhbHNlKQorICAgICAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygKKyAgICAgICAgICAg
ICAgICAiV2ViRHJpdmVyIEhUVFAgc2VydmVyIGxpc3RlbmluZyBhdCAlcyIgJSBzZWxmLnNlcnZl
ci51cmwpCisKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oCisgICAgICAgICAgICAgICAg
IkVzdGFibGlzaGluZyBuZXcgV2ViRHJpdmVyIHNlc3Npb24gd2l0aCAlcyIgJSBzZWxmLnNlcnZl
ci51cmwpCisgICAgICAgICAgICBzZWxmLnNlc3Npb24gPSB3ZWJkcml2ZXIuU2Vzc2lvbigKKyAg
ICAgICAgICAgICAgICBzZWxmLnNlcnZlci5ob3N0LCBzZWxmLnNlcnZlci5wb3J0LCBzZWxmLnNl
cnZlci5iYXNlX3BhdGgpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICBz
ZWxmLmxvZ2dlci5lcnJvcih0cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICAgICAgc2Vs
Zi5leGVjdXRvci5ydW5uZXIuc2VuZF9tZXNzYWdlKCJpbml0X2ZhaWxlZCIpCisgICAgICAgIGVs
c2U6CisgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yLnJ1bm5lci5zZW5kX21lc3NhZ2UoImluaXRf
c3VjY2VlZGVkIikKKworICAgIGRlZiB0ZWFyZG93bihzZWxmKToKKyAgICAgICAgaWYgc2VsZi5z
ZXJ2ZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaWYg
c2VsZi5zZXNzaW9uLnNlc3Npb25faWQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAg
IHNlbGYuc2Vzc2lvbi5lbmQoKQorICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAg
ICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBpZiBzZWxmLnNlcnZlci5pc19hbGl2ZToKKyAg
ICAgICAgICAgICAgICBzZWxmLnNlcnZlci5zdG9wKCkKKworICAgIEBwcm9wZXJ0eQorICAgIGRl
ZiBpc19hbGl2ZShzZWxmKToKKyAgICAgICAgY29ubiA9IGh0dHBsaWIuSFRUUENvbm5lY3Rpb24o
c2VsZi5zZXJ2ZXIuaG9zdCwgc2VsZi5zZXJ2ZXIucG9ydCkKKyAgICAgICAgY29ubi5yZXF1ZXN0
KCJIRUFEIiwgc2VsZi5zZXJ2ZXIuYmFzZV9wYXRoICsgImludmFsaWQiKQorICAgICAgICByZXMg
PSBjb25uLmdldHJlc3BvbnNlKCkKKyAgICAgICAgcmV0dXJuIHJlcy5zdGF0dXMgPT0gNDA0CisK
KyAgICBkZWYgZG9fZGVsYXllZF9pbXBvcnRzKHNlbGYpOgorICAgICAgICBnbG9iYWwgcHl0ZXN0
cnVubmVyLCB3ZWJkcml2ZXIKKyAgICAgICAgZnJvbSAuIGltcG9ydCBweXRlc3RydW5uZXIKKyAg
ICAgICAgaW1wb3J0IHdlYmRyaXZlcgorCisKK2NsYXNzIFNlcnZvV2RzcGVjRXhlY3V0b3IoV2Rz
cGVjRXhlY3V0b3IpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29u
ZmlnLAorICAgICAgICAgICAgICAgICB0aW1lb3V0X211bHRpcGxpZXI9MSwgY2xvc2VfYWZ0ZXJf
ZG9uZT1UcnVlLCBkZWJ1Z19pbmZvPU5vbmUsCisgICAgICAgICAgICAgICAgICoqa3dhcmdzKToK
KyAgICAgICAgV2RzcGVjRXhlY3V0b3IuX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2Nv
bmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVy
PXRpbWVvdXRfbXVsdGlwbGllciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVi
dWdfaW5mbz1kZWJ1Z19pbmZvKQorICAgICAgICBzZWxmLnByb3RvY29sID0gU2Vydm9XZHNwZWNQ
cm90b2NvbChzZWxmLCBicm93c2VyKQorCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAg
ICByZXR1cm4gc2VsZi5wcm90b2NvbC5pc19hbGl2ZQorCisgICAgZGVmIG9uX2Vudmlyb25tZW50
X2NoYW5nZShzZWxmLCBuZXdfZW52aXJvbm1lbnQpOgorICAgICAgICBwYXNzCisKKyAgICBkZWYg
ZG9fdGVzdChzZWxmLCB0ZXN0KToKKyAgICAgICAgdGltZW91dCA9IHRlc3QudGltZW91dCAqIHNl
bGYudGltZW91dF9tdWx0aXBsaWVyICsgZXh0cmFfdGltZW91dAorCisgICAgICAgIHN1Y2Nlc3Ms
IGRhdGEgPSBXZHNwZWNSdW4oc2VsZi5kb193ZHNwZWMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5wcm90b2NvbC5zZXNzaW9uLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3QucGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0aW1lb3V0KS5ydW4oKQorCisgICAgICAgIGlmIHN1Y2Nlc3M6CisgICAgICAgICAgICByZXR1
cm4gc2VsZi5jb252ZXJ0X3Jlc3VsdCh0ZXN0LCBkYXRhKQorCisgICAgICAgIHJldHVybiAodGVz
dC5yZXN1bHRfY2xzKCpkYXRhKSwgW10pCisKKyAgICBkZWYgZG9fd2RzcGVjKHNlbGYsIHNlc3Np
b24sIHBhdGgsIHRpbWVvdXQpOgorICAgICAgICBoYXJuZXNzX3Jlc3VsdCA9ICgiT0siLCBOb25l
KQorICAgICAgICBzdWJ0ZXN0X3Jlc3VsdHMgPSBweXRlc3RydW5uZXIucnVuKHBhdGgsIHNlc3Np
b24sIHRpbWVvdXQ9dGltZW91dCkKKyAgICAgICAgcmV0dXJuIChoYXJuZXNzX3Jlc3VsdCwgc3Vi
dGVzdF9yZXN1bHRzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9leGVjdXRv
cnNlcnZvZHJpdmVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9leGVjdXRvcnNlcnZvZHJp
dmVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhkZDMzMWM3NTA5MDI1Y2JkN2RiZmY5NzJhMDQzMTY5ODE1NmQx
Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9yc2Vy
dm9kcml2ZXIucHkKQEAgLTAsMCArMSwyNTcgQEAKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MKK2lt
cG9ydCBzb2NrZXQKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9ydCB0aW1lCitpbXBvcnQgdHJhY2Vi
YWNrCisKK2Zyb20gLmJhc2UgaW1wb3J0IChQcm90b2NvbCwKKyAgICAgICAgICAgICAgICAgICBS
ZWZUZXN0RXhlY3V0b3IsCisgICAgICAgICAgICAgICAgICAgUmVmVGVzdEltcGxlbWVudGF0aW9u
LAorICAgICAgICAgICAgICAgICAgIFRlc3RoYXJuZXNzRXhlY3V0b3IsCisgICAgICAgICAgICAg
ICAgICAgc3RyaXBfc2VydmVyKQorZnJvbSAuLnRlc3RydW5uZXIgaW1wb3J0IFN0b3AKKword2Vi
ZHJpdmVyID0gTm9uZQorCitoZXJlID0gb3MucGF0aC5qb2luKG9zLnBhdGguc3BsaXQoX19maWxl
X18pWzBdKQorCitleHRyYV90aW1lb3V0ID0gNQorCisKK2RlZiBkb19kZWxheWVkX2ltcG9ydHMo
KToKKyAgICBnbG9iYWwgd2ViZHJpdmVyCisgICAgaW1wb3J0IHdlYmRyaXZlcgorCisKK2NsYXNz
IFNlcnZvV2ViRHJpdmVyUHJvdG9jb2woUHJvdG9jb2wpOgorICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBleGVjdXRvciwgYnJvd3NlciwgY2FwYWJpbGl0aWVzLCAqKmt3YXJncyk6CisgICAgICAgIGRv
X2RlbGF5ZWRfaW1wb3J0cygpCisgICAgICAgIFByb3RvY29sLl9faW5pdF9fKHNlbGYsIGV4ZWN1
dG9yLCBicm93c2VyKQorICAgICAgICBzZWxmLmNhcGFiaWxpdGllcyA9IGNhcGFiaWxpdGllcwor
ICAgICAgICBzZWxmLmhvc3QgPSBicm93c2VyLndlYmRyaXZlcl9ob3N0CisgICAgICAgIHNlbGYu
cG9ydCA9IGJyb3dzZXIud2ViZHJpdmVyX3BvcnQKKyAgICAgICAgc2VsZi5zZXNzaW9uID0gTm9u
ZQorCisgICAgZGVmIHNldHVwKHNlbGYsIHJ1bm5lcik6CisgICAgICAgICIiIkNvbm5lY3QgdG8g
YnJvd3NlciB2aWEgV2ViRHJpdmVyLiIiIgorICAgICAgICBzZWxmLnJ1bm5lciA9IHJ1bm5lcgor
CisgICAgICAgIHVybCA9ICJodHRwOi8vJXM6JWQiICUgKHNlbGYuaG9zdCwgc2VsZi5wb3J0KQor
ICAgICAgICBzZXNzaW9uX3N0YXJ0ZWQgPSBGYWxzZQorICAgICAgICB0cnk6CisgICAgICAgICAg
ICBzZWxmLnNlc3Npb24gPSB3ZWJkcml2ZXIuU2Vzc2lvbihzZWxmLmhvc3QsIHNlbGYucG9ydCwK
KyAgICAgICAgICAgICAgICBleHRlbnNpb249d2ViZHJpdmVyLnNlcnZvLlNlcnZvQ29tbWFuZEV4
dGVuc2lvbnMpCisgICAgICAgICAgICBzZWxmLnNlc3Npb24uc3RhcnQoKQorICAgICAgICBleGNl
cHQ6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKAorICAgICAgICAgICAgICAgICJD
b25uZWN0aW5nIHdpdGggV2ViRHJpdmVyIGZhaWxlZDpcbiVzIiAlIHRyYWNlYmFjay5mb3JtYXRf
ZXhjKCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1Zygic2Vz
c2lvbiBzdGFydGVkIikKKyAgICAgICAgICAgIHNlc3Npb25fc3RhcnRlZCA9IFRydWUKKworICAg
ICAgICBpZiBub3Qgc2Vzc2lvbl9zdGFydGVkOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIud2Fy
bmluZygiRmFpbGVkIHRvIGNvbm5lY3QgdmlhIFdlYkRyaXZlciIpCisgICAgICAgICAgICBzZWxm
LmV4ZWN1dG9yLnJ1bm5lci5zZW5kX21lc3NhZ2UoImluaXRfZmFpbGVkIikKKyAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgIHNlbGYuZXhlY3V0b3IucnVubmVyLnNlbmRfbWVzc2FnZSgiaW5pdF9z
dWNjZWVkZWQiKQorCisgICAgZGVmIHRlYXJkb3duKHNlbGYpOgorICAgICAgICBzZWxmLmxvZ2dl
ci5kZWJ1ZygiSGFuZ2luZyB1cCBvbiBXZWJEcml2ZXIgc2Vzc2lvbiIpCisgICAgICAgIHRyeToK
KyAgICAgICAgICAgIHNlbGYuc2Vzc2lvbi5lbmQoKQorICAgICAgICBleGNlcHQ6CisgICAgICAg
ICAgICBwYXNzCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAg
ICAgICAgICMgR2V0IGEgc2ltcGxlIHByb3BlcnR5IG92ZXIgdGhlIGNvbm5lY3Rpb24KKyAgICAg
ICAgICAgIHNlbGYuc2Vzc2lvbi53aW5kb3dfaGFuZGxlCisgICAgICAgICMgVE9ETyB3aGF0IGV4
Y2VwdGlvbj8KKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgIHJldHVybiBG
YWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgZGVmIGFmdGVyX2Nvbm5lY3Qoc2VsZik6
CisgICAgICAgIHBhc3MKKworICAgIGRlZiB3YWl0KHNlbGYpOgorICAgICAgICB3aGlsZSBUcnVl
OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuc2Vzc2lvbi5leGVjdXRl
X2FzeW5jX3NjcmlwdCgiIikKKyAgICAgICAgICAgIGV4Y2VwdCB3ZWJkcml2ZXIuVGltZW91dEV4
Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBleGNlcHQgKHNvY2tl
dC50aW1lb3V0LCBJT0Vycm9yKToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAg
ZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9y
KHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpKQorICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICBk
ZWYgb25fZW52aXJvbm1lbnRfY2hhbmdlKHNlbGYsIG9sZF9lbnZpcm9ubWVudCwgbmV3X2Vudmly
b25tZW50KToKKyAgICAgICAgI1Vuc2V0IGFsbCB0aGUgb2xkIHByZWZzCisgICAgICAgIHNlbGYu
c2Vzc2lvbi5leHRlbnNpb24ucmVzZXRfcHJlZnMoKm9sZF9lbnZpcm9ubWVudC5nZXQoInByZWZz
Iiwge30pLmtleXMoKSkKKyAgICAgICAgc2VsZi5zZXNzaW9uLmV4dGVuc2lvbi5zZXRfcHJlZnMo
bmV3X2Vudmlyb25tZW50LmdldCgicHJlZnMiLCB7fSkpCisKKworY2xhc3MgU2Vydm9XZWJEcml2
ZXJSdW4ob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZnVuYywgc2Vzc2lvbiwgdXJs
LCB0aW1lb3V0LCBjdXJyZW50X3RpbWVvdXQ9Tm9uZSk6CisgICAgICAgIHNlbGYuZnVuYyA9IGZ1
bmMKKyAgICAgICAgc2VsZi5yZXN1bHQgPSBOb25lCisgICAgICAgIHNlbGYuc2Vzc2lvbiA9IHNl
c3Npb24KKyAgICAgICAgc2VsZi51cmwgPSB1cmwKKyAgICAgICAgc2VsZi50aW1lb3V0ID0gdGlt
ZW91dAorICAgICAgICBzZWxmLnJlc3VsdF9mbGFnID0gdGhyZWFkaW5nLkV2ZW50KCkKKworICAg
IGRlZiBydW4oc2VsZik6CisgICAgICAgIGV4ZWN1dG9yID0gdGhyZWFkaW5nLlRocmVhZCh0YXJn
ZXQ9c2VsZi5fcnVuKQorICAgICAgICBleGVjdXRvci5zdGFydCgpCisKKyAgICAgICAgZmxhZyA9
IHNlbGYucmVzdWx0X2ZsYWcud2FpdChzZWxmLnRpbWVvdXQgKyBleHRyYV90aW1lb3V0KQorICAg
ICAgICBpZiBzZWxmLnJlc3VsdCBpcyBOb25lOgorICAgICAgICAgICAgYXNzZXJ0IG5vdCBmbGFn
CisgICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIkVYVEVSTkFMLVRJTUVPVVQiLCBO
b25lKQorCisgICAgICAgIHJldHVybiBzZWxmLnJlc3VsdAorCisgICAgZGVmIF9ydW4oc2VsZik6
CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYucmVzdWx0ID0gVHJ1ZSwgc2VsZi5mdW5j
KHNlbGYuc2Vzc2lvbiwgc2VsZi51cmwsIHNlbGYudGltZW91dCkKKyAgICAgICAgZXhjZXB0IHdl
YmRyaXZlci5UaW1lb3V0RXhjZXB0aW9uOgorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxz
ZSwgKCJFWFRFUk5BTC1USU1FT1VUIiwgTm9uZSkKKyAgICAgICAgZXhjZXB0IChzb2NrZXQudGlt
ZW91dCwgSU9FcnJvcik6CisgICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIkNSQVNI
IiwgTm9uZSkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgbWVz
c2FnZSA9IGdldGF0dHIoZSwgIm1lc3NhZ2UiLCAiIikKKyAgICAgICAgICAgIGlmIG1lc3NhZ2U6
CisgICAgICAgICAgICAgICAgbWVzc2FnZSArPSAiXG4iCisgICAgICAgICAgICBtZXNzYWdlICs9
IHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpCisgICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZhbHNl
LCAoIkVSUk9SIiwgZSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYucmVzdWx0
X2ZsYWcuc2V0KCkKKworCitkZWYgdGltZW91dF9mdW5jKHRpbWVvdXQpOgorICAgIGlmIHRpbWVv
dXQ6CisgICAgICAgIHQwID0gdGltZS50aW1lKCkKKyAgICAgICAgcmV0dXJuIGxhbWJkYTogdGlt
ZS50aW1lKCkgLSB0MCA+IHRpbWVvdXQgKyBleHRyYV90aW1lb3V0CisgICAgZWxzZToKKyAgICAg
ICAgcmV0dXJuIGxhbWJkYTogRmFsc2UKKworCitjbGFzcyBTZXJ2b1dlYkRyaXZlclRlc3RoYXJu
ZXNzRXhlY3V0b3IoVGVzdGhhcm5lc3NFeGVjdXRvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHRpbWVvdXRfbXVsdGlwbGllcj0xLAorICAgICAgICAg
ICAgICAgICBjbG9zZV9hZnRlcl9kb25lPVRydWUsIGNhcGFiaWxpdGllcz1Ob25lLCBkZWJ1Z19p
bmZvPU5vbmUpOgorICAgICAgICBUZXN0aGFybmVzc0V4ZWN1dG9yLl9faW5pdF9fKHNlbGYsIGJy
b3dzZXIsIHNlcnZlcl9jb25maWcsIHRpbWVvdXRfbXVsdGlwbGllcj0xLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2luZm89Tm9uZSkKKyAgICAgICAgc2VsZi5w
cm90b2NvbCA9IFNlcnZvV2ViRHJpdmVyUHJvdG9jb2woc2VsZiwgYnJvd3NlciwgY2FwYWJpbGl0
aWVzPWNhcGFiaWxpdGllcykKKyAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihoZXJlLCAi
dGVzdGhhcm5lc3Nfc2Vydm9kcml2ZXIuanMiKSkgYXMgZjoKKyAgICAgICAgICAgIHNlbGYuc2Ny
aXB0ID0gZi5yZWFkKCkKKyAgICAgICAgc2VsZi50aW1lb3V0ID0gTm9uZQorCisgICAgZGVmIG9u
X3Byb3RvY29sX2NoYW5nZShzZWxmLCBuZXdfcHJvdG9jb2wpOgorICAgICAgICBwYXNzCisKKyAg
ICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnByb3RvY29sLmlzX2Fs
aXZlKCkKKworICAgIGRlZiBkb190ZXN0KHNlbGYsIHRlc3QpOgorICAgICAgICB1cmwgPSBzZWxm
LnRlc3RfdXJsKHRlc3QpCisKKyAgICAgICAgdGltZW91dCA9IHRlc3QudGltZW91dCAqIHNlbGYu
dGltZW91dF9tdWx0aXBsaWVyICsgZXh0cmFfdGltZW91dAorCisgICAgICAgIGlmIHRpbWVvdXQg
IT0gc2VsZi50aW1lb3V0OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYu
cHJvdG9jb2wuc2Vzc2lvbi50aW1lb3V0cy5zY3JpcHQgPSB0aW1lb3V0CisgICAgICAgICAgICAg
ICAgc2VsZi50aW1lb3V0ID0gdGltZW91dAorICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6Cisg
ICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IoIkxvc3Qgd2ViZHJpdmVyIGNvbm5lY3Rp
b24iKQorICAgICAgICAgICAgICAgIHJldHVybiBTdG9wCisKKyAgICAgICAgc3VjY2VzcywgZGF0
YSA9IFNlcnZvV2ViRHJpdmVyUnVuKHNlbGYuZG9fdGVzdGhhcm5lc3MsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnByb3RvY29sLnNlc3Npb24sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0KS5ydW4oKQorCisgICAgICAgIGlm
IHN1Y2Nlc3M6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5jb252ZXJ0X3Jlc3VsdCh0ZXN0LCBk
YXRhKQorCisgICAgICAgIHJldHVybiAodGVzdC5yZXN1bHRfY2xzKCpkYXRhKSwgW10pCisKKyAg
ICBkZWYgZG9fdGVzdGhhcm5lc3Moc2VsZiwgc2Vzc2lvbiwgdXJsLCB0aW1lb3V0KToKKyAgICAg
ICAgc2Vzc2lvbi51cmwgPSB1cmwKKyAgICAgICAgcmVzdWx0ID0ganNvbi5sb2FkcygKKyAgICAg
ICAgICAgIHNlc3Npb24uZXhlY3V0ZV9hc3luY19zY3JpcHQoCisgICAgICAgICAgICAgICAgc2Vs
Zi5zY3JpcHQgJSB7ImFic191cmwiOiB1cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInVybCI6IHN0cmlwX3NlcnZlcih1cmwpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0aW1lb3V0X211bHRpcGxpZXIiOiBzZWxmLnRpbWVvdXRfbXVsdGlwbGllciwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZW91dCI6IHRpbWVvdXQgKiAxMDAwfSkpCisg
ICAgICAgICMgUHJldmVudCBsZWFraW5nIGV2ZXJ5IHBhZ2UgaW4gaGlzdG9yeSB1bnRpbCBTZXJ2
byBkZXZlbG9wcyBhIG1vcmUgc2FuZQorICAgICAgICAjIHBhZ2UgY2FjaGUKKyAgICAgICAgc2Vz
c2lvbi5iYWNrKCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorCisKK2NsYXNzIFRpbWVvdXRFcnJv
cihFeGNlcHRpb24pOgorICAgIHBhc3MKKworCitjbGFzcyBTZXJ2b1dlYkRyaXZlclJlZlRlc3RF
eGVjdXRvcihSZWZUZXN0RXhlY3V0b3IpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2Vy
LCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKKyAgICAgICAgICAgICAgICAg
c2NyZWVuc2hvdF9jYWNoZT1Ob25lLCBjYXBhYmlsaXRpZXM9Tm9uZSwgZGVidWdfaW5mbz1Ob25l
KToKKyAgICAgICAgIiIiU2VsZW5pdW0gV2ViRHJpdmVyLWJhc2VkIGV4ZWN1dG9yIGZvciByZWZ0
ZXN0cyIiIgorICAgICAgICBSZWZUZXN0RXhlY3V0b3IuX19pbml0X18oc2VsZiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZXJ2ZXJfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2NyZWVuc2hvdF9jYWNoZT1zY3JlZW5zaG90X2NhY2hlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVyPXRpbWVvdXRfbXVsdGlwbGllciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2luZm89ZGVidWdfaW5mbykKKyAg
ICAgICAgc2VsZi5wcm90b2NvbCA9IFNlcnZvV2ViRHJpdmVyUHJvdG9jb2woc2VsZiwgYnJvd3Nl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FwYWJp
bGl0aWVzPWNhcGFiaWxpdGllcykKKyAgICAgICAgc2VsZi5pbXBsZW1lbnRhdGlvbiA9IFJlZlRl
c3RJbXBsZW1lbnRhdGlvbihzZWxmKQorICAgICAgICBzZWxmLnRpbWVvdXQgPSBOb25lCisgICAg
ICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oaGVyZSwgInJlZnRlc3Qtd2FpdF9zZXJ2b2RyaXZl
ci5qcyIpKSBhcyBmOgorICAgICAgICAgICAgc2VsZi53YWl0X3NjcmlwdCA9IGYucmVhZCgpCisK
KyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnByb3RvY29sLmlz
X2FsaXZlKCkKKworICAgIGRlZiBkb190ZXN0KHNlbGYsIHRlc3QpOgorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICByZXN1bHQgPSBzZWxmLmltcGxlbWVudGF0aW9uLnJ1bl90ZXN0KHRlc3QpCisg
ICAgICAgICAgICByZXR1cm4gc2VsZi5jb252ZXJ0X3Jlc3VsdCh0ZXN0LCByZXN1bHQpCisgICAg
ICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgcmV0dXJuIHRlc3QucmVzdWx0X2Nscygi
Q1JBU0giLCBOb25lKSwgW10KKyAgICAgICAgZXhjZXB0IFRpbWVvdXRFcnJvcjoKKyAgICAgICAg
ICAgIHJldHVybiB0ZXN0LnJlc3VsdF9jbHMoIlRJTUVPVVQiLCBOb25lKSwgW10KKyAgICAgICAg
ZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgbWVzc2FnZSA9IGdldGF0dHIoZSwg
Im1lc3NhZ2UiLCAiIikKKyAgICAgICAgICAgIGlmIG1lc3NhZ2U6CisgICAgICAgICAgICAgICAg
bWVzc2FnZSArPSAiXG4iCisgICAgICAgICAgICBtZXNzYWdlICs9IHRyYWNlYmFjay5mb3JtYXRf
ZXhjKGUpCisgICAgICAgICAgICByZXR1cm4gdGVzdC5yZXN1bHRfY2xzKCJFUlJPUiIsIG1lc3Nh
Z2UpLCBbXQorCisgICAgZGVmIHNjcmVlbnNob3Qoc2VsZiwgdGVzdCwgdmlld3BvcnRfc2l6ZSwg
ZHBpKToKKyAgICAgICAgIyBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dwdHJ1bm5lci9pc3N1ZXMv
MTY2CisgICAgICAgIGFzc2VydCB2aWV3cG9ydF9zaXplIGlzIE5vbmUKKyAgICAgICAgYXNzZXJ0
IGRwaSBpcyBOb25lCisKKyAgICAgICAgdGltZW91dCA9ICh0ZXN0LnRpbWVvdXQgKiBzZWxmLnRp
bWVvdXRfbXVsdGlwbGllciArIGV4dHJhX3RpbWVvdXQKKyAgICAgICAgICAgICAgICAgICBpZiBz
ZWxmLmRlYnVnX2luZm8gaXMgTm9uZSBlbHNlIE5vbmUpCisKKyAgICAgICAgaWYgc2VsZi50aW1l
b3V0ICE9IHRpbWVvdXQ6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5w
cm90b2NvbC5zZXNzaW9uLnRpbWVvdXRzLnNjcmlwdCA9IHRpbWVvdXQKKyAgICAgICAgICAgICAg
ICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CisgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAg
ICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcigiTG9zdCB3ZWJkcml2ZXIgY29ubmVjdGlv
biIpCisgICAgICAgICAgICAgICAgcmV0dXJuIFN0b3AKKworICAgICAgICByZXR1cm4gU2Vydm9X
ZWJEcml2ZXJSdW4oc2VsZi5fc2NyZWVuc2hvdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYucHJvdG9jb2wuc2Vzc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYudGVzdF91cmwodGVzdCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0aW1lb3V0KS5ydW4oKQorCisgICAgZGVmIF9zY3JlZW5zaG90KHNlbGYsIHNlc3Npb24s
IHVybCwgdGltZW91dCk6CisgICAgICAgIHNlc3Npb24udXJsID0gdXJsCisgICAgICAgIHNlc3Np
b24uZXhlY3V0ZV9hc3luY19zY3JpcHQoc2VsZi53YWl0X3NjcmlwdCkKKyAgICAgICAgcmV0dXJu
IHNlc3Npb24uc2NyZWVuc2hvdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3Jz
L3Byb2Nlc3MucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Byb2Nlc3MucHkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmI4YzE3YTk2YmEwNGNlNjAxYWQzY2I5YWQ0Yzc1ODhmOTQ3ZTk0OQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHJvY2Vzcy5weQpAQCAtMCwwICsxLDIwIEBA
Citmcm9tIC5iYXNlIGltcG9ydCBUZXN0RXhlY3V0b3IKKworCitjbGFzcyBQcm9jZXNzVGVzdEV4
ZWN1dG9yKFRlc3RFeGVjdXRvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3
YXJncyk6CisgICAgICAgIFRlc3RFeGVjdXRvci5fX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2Fy
Z3MpCisgICAgICAgIHNlbGYuYmluYXJ5ID0gc2VsZi5icm93c2VyLmJpbmFyeQorICAgICAgICBz
ZWxmLmludGVyYWN0aXZlID0gKEZhbHNlIGlmIHNlbGYuZGVidWdfaW5mbyBpcyBOb25lCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBzZWxmLmRlYnVnX2luZm8uaW50ZXJhY3RpdmUp
CisKKyAgICBkZWYgc2V0dXAoc2VsZiwgcnVubmVyKToKKyAgICAgICAgc2VsZi5ydW5uZXIgPSBy
dW5uZXIKKyAgICAgICAgc2VsZi5ydW5uZXIuc2VuZF9tZXNzYWdlKCJpbml0X3N1Y2NlZWRlZCIp
CisgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAg
IHJldHVybiBUcnVlCisKKyAgICBkZWYgZG9fdGVzdChzZWxmLCB0ZXN0KToKKyAgICAgICAgcmFp
c2UgTm90SW1wbGVtZW50ZWRFcnJvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9y
cy9weXRlc3RydW5uZXIvX19pbml0X18ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3B5dGVz
dHJ1bm5lci9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTJiM2E4MTUxZGE3ZDBjNmRhZTlkZjlm
NmExYmM3NzA5YjJjYmFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9y
cy9weXRlc3RydW5uZXIvX19pbml0X18ucHkKQEAgLTAsMCArMSBAQAorZnJvbSAucnVubmVyIGlt
cG9ydCBydW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVy
L3J1bm5lci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVyL3J1bm5lci5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zYTk3ZDQwZTA2NmExMTg5NWVjYTdjOGY2ZjcxZTNkNmRmOTA1YjY3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9weXRlc3RydW5uZXIvcnVu
bmVyLnB5CkBAIC0wLDAgKzEsMTE1IEBACisiIiJQcm92aWRlcyBpbnRlcmZhY2UgdG8gZGVhbCB3
aXRoIHB5dGVzdC4KKworVXNhZ2U6OgorCisgICAgc2Vzc2lvbiA9IHdlYmRyaXZlci5jbGllbnQu
U2Vzc2lvbigiMTI3LjAuMC4xIiwgIjQ0NDQiLCAiLyIpCisgICAgaGFybmVzc19yZXN1bHQgPSAo
Ik9LIiwgTm9uZSkKKyAgICBzdWJ0ZXN0X3Jlc3VsdHMgPSBweXRlc3RydW5uZXIucnVuKCIvcGF0
aC90by90ZXN0Iiwgc2Vzc2lvbi51cmwpCisgICAgcmV0dXJuIChoYXJuZXNzX3Jlc3VsdCwgc3Vi
dGVzdF9yZXN1bHRzKQorIiIiCisKK2ltcG9ydCBlcnJubworaW1wb3J0IGpzb24KK2ltcG9ydCBv
cworaW1wb3J0IHNodXRpbAoraW1wb3J0IHRlbXBmaWxlCisKKworcHl0ZXN0ID0gTm9uZQorCisK
K2RlZiBkb19kZWxheWVkX2ltcG9ydHMoKToKKyAgICBnbG9iYWwgcHl0ZXN0CisgICAgaW1wb3J0
IHB5dGVzdAorCisKK2RlZiBydW4ocGF0aCwgc2VydmVyX2NvbmZpZywgc2Vzc2lvbl9jb25maWcs
IHRpbWVvdXQ9MCk6CisgICAgIiIiUnVuIFB5dGhvbiB0ZXN0IGF0IGBgcGF0aGBgIGluIHB5dGVz
dC4gIFRoZSBwcm92aWRlZCBgYHNlc3Npb25gYAorICAgIGlzIGV4cG9zZWQgYXMgYSBmaXh0dXJl
IGF2YWlsYWJsZSBpbiB0aGUgc2NvcGUgb2YgdGhlIHRlc3QgZnVuY3Rpb25zLgorCisgICAgOnBh
cmFtIHBhdGg6IFBhdGggdG8gdGhlIHRlc3QgZmlsZS4KKyAgICA6cGFyYW0gc2Vzc2lvbl9jb25m
aWc6IGRpY3Rpb25hcnkgb2YgaG9zdCwgcG9ydCxjYXBhYmlsaXRpZXMgcGFyYW1ldGVycworICAg
IHRvIHBhc3MgdGhyb3VnaCB0byB0aGUgd2ViZHJpdmVyIHNlc3Npb24KKyAgICA6cGFyYW0gdGlt
ZW91dDogRHVyYXRpb24gYmVmb3JlIGludGVycnVwdGluZyBwb3RlbnRpYWxseSBoYW5naW5nCisg
ICAgICAgIHRlc3RzLiAgSWYgMCwgdGhlcmUgaXMgbm8gdGltZW91dC4KKworICAgIDpyZXR1cm5z
OiBMaXN0IG9mIHN1YnRlc3QgcmVzdWx0cywgd2hpY2ggYXJlIHR1cGxlcyBvZiAodGVzdCBpZCwK
KyAgICAgICAgc3RhdHVzLCBtZXNzYWdlLCBzdGFja3RyYWNlKS4KKyAgICAiIiIKKworICAgIGlm
IHB5dGVzdCBpcyBOb25lOgorICAgICAgICBkb19kZWxheWVkX2ltcG9ydHMoKQorCisgICAgcmVj
b3JkZXIgPSBTdWJ0ZXN0UmVzdWx0UmVjb3JkZXIoKQorCisgICAgb3MuZW52aXJvblsiV0RfSE9T
VCJdID0gc2Vzc2lvbl9jb25maWdbImhvc3QiXQorICAgIG9zLmVudmlyb25bIldEX1BPUlQiXSA9
IHN0cihzZXNzaW9uX2NvbmZpZ1sicG9ydCJdKQorICAgIG9zLmVudmlyb25bIldEX0NBUEFCSUxJ
VElFUyJdID0ganNvbi5kdW1wcyhzZXNzaW9uX2NvbmZpZ1siY2FwYWJpbGl0aWVzIl0pCisgICAg
b3MuZW52aXJvblsiV0RfU0VSVkVSX0NPTkZJRyJdID0ganNvbi5kdW1wcyhzZXJ2ZXJfY29uZmln
KQorCisgICAgcGx1Z2lucyA9IFtyZWNvcmRlcl0KKworICAgICMgVE9ETyhhdG8pOiBEZWFsIHdp
dGggdGltZW91dHMKKworICAgIHdpdGggVGVtcG9yYXJ5RGlyZWN0b3J5KCkgYXMgY2FjaGU6Cisg
ICAgICAgIHB5dGVzdC5tYWluKFsiLS1zdHJpY3QiLCAgIyB0dXJuIHdhcm5pbmdzIGludG8gZXJy
b3JzCisgICAgICAgICAgICAgICAgICAgICAiLS12ZXJib3NlIiwgICMgc2hvdyBlYWNoIGluZGl2
aWR1YWwgc3VidGVzdAorICAgICAgICAgICAgICAgICAgICAgIi0tY2FwdHVyZSIsICJubyIsICAj
IGVuYWJsZSBzdGRvdXQvc3RkZXJyIGZyb20gdGVzdHMKKyAgICAgICAgICAgICAgICAgICAgICIt
LWJhc2V0ZW1wIiwgY2FjaGUsICAjIHRlbXBvcmFyeSBkaXJlY3RvcnkKKyAgICAgICAgICAgICAg
ICAgICAgIHBhdGhdLAorICAgICAgICAgICAgICAgICAgICBwbHVnaW5zPXBsdWdpbnMpCisKKyAg
ICByZXR1cm4gcmVjb3JkZXIucmVzdWx0cworCisKK2NsYXNzIFN1YnRlc3RSZXN1bHRSZWNvcmRl
cihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5yZXN1bHRz
ID0gW10KKworICAgIGRlZiBweXRlc3RfcnVudGVzdF9sb2dyZXBvcnQoc2VsZiwgcmVwb3J0KToK
KyAgICAgICAgaWYgcmVwb3J0LnBhc3NlZCBhbmQgcmVwb3J0LndoZW4gPT0gImNhbGwiOgorICAg
ICAgICAgICAgc2VsZi5yZWNvcmRfcGFzcyhyZXBvcnQpCisgICAgICAgIGVsaWYgcmVwb3J0LmZh
aWxlZDoKKyAgICAgICAgICAgIGlmIHJlcG9ydC53aGVuICE9ICJjYWxsIjoKKyAgICAgICAgICAg
ICAgICBzZWxmLnJlY29yZF9lcnJvcihyZXBvcnQpCisgICAgICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgICAgIHNlbGYucmVjb3JkX2ZhaWwocmVwb3J0KQorICAgICAgICBlbGlmIHJlcG9ydC5z
a2lwcGVkOgorICAgICAgICAgICAgc2VsZi5yZWNvcmRfc2tpcChyZXBvcnQpCisKKyAgICBkZWYg
cmVjb3JkX3Bhc3Moc2VsZiwgcmVwb3J0KToKKyAgICAgICAgc2VsZi5yZWNvcmQocmVwb3J0Lm5v
ZGVpZCwgIlBBU1MiKQorCisgICAgZGVmIHJlY29yZF9mYWlsKHNlbGYsIHJlcG9ydCk6CisgICAg
ICAgIHNlbGYucmVjb3JkKHJlcG9ydC5ub2RlaWQsICJGQUlMIiwgc3RhY2s9cmVwb3J0Lmxvbmdy
ZXByKQorCisgICAgZGVmIHJlY29yZF9lcnJvcihzZWxmLCByZXBvcnQpOgorICAgICAgICAjIGVy
cm9yIGluIHNldHVwL3RlYXJkb3duCisgICAgICAgIGlmIHJlcG9ydC53aGVuICE9ICJjYWxsIjoK
KyAgICAgICAgICAgIG1lc3NhZ2UgPSAiJXMgZXJyb3IiICUgcmVwb3J0LndoZW4KKyAgICAgICAg
c2VsZi5yZWNvcmQocmVwb3J0Lm5vZGVpZCwgIkVSUk9SIiwgbWVzc2FnZSwgcmVwb3J0Lmxvbmdy
ZXByKQorCisgICAgZGVmIHJlY29yZF9za2lwKHNlbGYsIHJlcG9ydCk6CisgICAgICAgIHNlbGYu
cmVjb3JkKHJlcG9ydC5ub2RlaWQsICJFUlJPUiIsCisgICAgICAgICAgICAgICAgICAgICJJbi10
ZXN0IHNraXAgZGVjb3JhdG9ycyBhcmUgZGlzYWxsb3dlZCwgIgorICAgICAgICAgICAgICAgICAg
ICAicGxlYXNlIHVzZSBXUFQgbWV0YWRhdGEgdG8gaWdub3JlIHRlc3RzLiIpCisKKyAgICBkZWYg
cmVjb3JkKHNlbGYsIHRlc3QsIHN0YXR1cywgbWVzc2FnZT1Ob25lLCBzdGFjaz1Ob25lKToKKyAg
ICAgICAgaWYgc3RhY2sgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzdGFjayA9IHN0cihzdGFj
aykKKyAgICAgICAgbmV3X3Jlc3VsdCA9ICh0ZXN0LCBzdGF0dXMsIG1lc3NhZ2UsIHN0YWNrKQor
ICAgICAgICBzZWxmLnJlc3VsdHMuYXBwZW5kKG5ld19yZXN1bHQpCisKKworY2xhc3MgVGVtcG9y
YXJ5RGlyZWN0b3J5KG9iamVjdCk6CisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAg
c2VsZi5wYXRoID0gdGVtcGZpbGUubWtkdGVtcChwcmVmaXg9InB5dGVzdC0iKQorICAgICAgICBy
ZXR1cm4gc2VsZi5wYXRoCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MpOgorICAgICAg
ICB0cnk6CisgICAgICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYucGF0aCkKKyAgICAgICAgZXhj
ZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgICMgbm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
eQorICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FTk9FTlQ6CisgICAgICAgICAgICAg
ICAgcmFpc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVy
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9weXRlc3RydW5uZXIvdzNj
LWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjBkYThhMDg4MDE2ZWJmM2UyMDg1M2Q3MzRmMmExOTI3
MzFhZGU0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0
cnVubmVyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVyL19faW5pdF9fLnB5CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4
ZWN1dG9ycy9weXRlc3RydW5uZXIvcnVubmVyLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
ZXhlY3V0b3JzL3JlZnRlc3Qtd2FpdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVz
dC13YWl0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkZDk2ZGY3ODAzMTlmNmExY2I4ZDM5MjFjMmI0ZmZmZWFk
NDA1MDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3JlZnRlc3Qt
d2FpdC5qcwpAQCAtMCwwICsxLDE4IEBACitmdW5jdGlvbiB0ZXN0KHgpIHsKKyAgbG9nKCJjbGFz
c0xpc3Q6ICIgKyByb290LmNsYXNzTGlzdCk7CisgIGlmICghcm9vdC5jbGFzc0xpc3QuY29udGFp
bnMoInJlZnRlc3Qtd2FpdCIpKSB7CisgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgIG1h
cmlvbmV0dGVTY3JpcHRGaW5pc2hlZCgpOworICB9Cit9CisKK3ZhciByb290ID0gZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50OwordmFyIG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIodGVz
dCk7CisKK29ic2VydmVyLm9ic2VydmUocm9vdCwge2F0dHJpYnV0ZXM6IHRydWV9KTsKKworaWYg
KGRvY3VtZW50LnJlYWR5U3RhdGUgIT0gImNvbXBsZXRlIikgeworICBvbmxvYWQgPSB0ZXN0Cit9
IGVsc2UgeworICB0ZXN0KCk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3Jz
L3JlZnRlc3Qtd2FpdF9zZXJ2b2RyaXZlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVm
dGVzdC13YWl0X3NlcnZvZHJpdmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4NDg0MzNiNTQwOTQwZDdlN2Jm
MjhkYmE1YTQyNzA4Y2U1ZDcyZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhl
Y3V0b3JzL3JlZnRlc3Qtd2FpdF9zZXJ2b2RyaXZlci5qcwpAQCAtMCwwICsxLDE1IEBACitjYWxs
YmFjayA9IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV07CisKK2Z1bmN0aW9uIGNoZWNr
X2RvbmUoKSB7CisgICAgaWYgKCFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNv
bnRhaW5zKCdyZWZ0ZXN0LXdhaXQnKSkgeworICAgICAgICBjYWxsYmFjaygpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIHNldFRpbWVvdXQoY2hlY2tfZG9uZSwgNTApOworICAgIH0KK30KKworaWYg
KGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScpIHsKKyAgICBjaGVja19kb25lKCk7
Cit9IGVsc2UgeworICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBjaGVja19kb25lKTsKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13YWl0X3dlYmRyaXZl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13YWl0X3dlYmRyaXZlci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jM2NjNDUzYmQ0OTEwMWM4MmNiYjM5ZjQ1OTc0Njg1NjQxYmIxMjQ5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXRfd2ViZHJp
dmVyLmpzCkBAIC0wLDAgKzEsMzMgQEAKK3ZhciBjYWxsYmFjayA9IGFyZ3VtZW50c1thcmd1bWVu
dHMubGVuZ3RoIC0gMV07CisKK2Z1bmN0aW9uIHRlc3QoeCkgeworICBpZiAoIXJvb3QuY2xhc3NM
aXN0LmNvbnRhaW5zKCJyZWZ0ZXN0LXdhaXQiKSkgeworICAgIG9ic2VydmVyLmRpc2Nvbm5lY3Qo
KTsKKworICAgIC8vIEFzIG9mIDIwMTctMDQtMDUsIHRoZSBDaHJvbWl1bSB3ZWIgYnJvd3NlciBl
eGhpYml0cyBhIHJlbmRlcmluZyBidWcKKyAgICAvLyAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9y
Zy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NzA4NzU3KSB0aGF0CisgICAgLy8gcHJvZHVj
ZXMgaW5zdGFiaWxpdHkgZHVyaW5nIHNjcmVlbiBjYXB0dXJlLiBUaGUgZm9sbG93aW5nIHVzZSBv
ZgorICAgIC8vIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIGlzIGludGVuZGVkIGFzIGEgc2hvcnQt
dGVybSB3b3JrYXJvdW5kLCB0aG91Z2gKKyAgICAvLyBpdCBpcyBub3QgZ3VhcmFudGVlZCB0byBy
ZXNvbHZlIHRoZSBpc3N1ZS4KKyAgICAvLworICAgIC8vIEZvciBmdXJ0aGVyIGRldGFpbCwgc2Vl
OgorICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWdnbGlubWlrZS9jaHJvbWUtc2NyZWVuc2hv
dC1yYWNlL2lzc3Vlcy8xCisKKyAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKSB7
CisgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKSB7CisgICAgICAgIGNhbGxi
YWNrKCk7CisgICAgICB9KTsKKyAgICB9KTsKKyAgfQorfQorCit2YXIgcm9vdCA9IGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudDsKK3ZhciBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKHRl
c3QpOworCitvYnNlcnZlci5vYnNlcnZlKHJvb3QsIHthdHRyaWJ1dGVzOiB0cnVlfSk7CisKK2lm
IChkb2N1bWVudC5yZWFkeVN0YXRlICE9ICJjb21wbGV0ZSIpIHsKKyAgICBvbmxvYWQgPSB0ZXN0
OworfSBlbHNlIHsKKyAgICB0ZXN0KCk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhl
Y3V0b3JzL3JlZnRlc3QuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3JlZnRlc3QuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWJkNWM2MDljYmQ1ZTc5OTc4N2M5M2JhYzY3M2ZiOGUzOTJhN2MzMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC5qcwpAQCAtMCwwICsx
IEBACit2YXIgd2luID0gd2luZG93Lm9wZW4oImFib3V0OmJsYW5rIiwgInRlc3QiLCAid2lkdGg9
NjAwLGhlaWdodD02MDAiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvdGVz
dGhhcm5lc3NfbWFyaW9uZXR0ZS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5l
c3NfbWFyaW9uZXR0ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xY2ZhODVmODk0OWE4YTViMWFlYTdlZmEyNzll
NjljNGI3ZTI5ZGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy90
ZXN0aGFybmVzc19tYXJpb25ldHRlLmpzCkBAIC0wLDAgKzEsMzIgQEAKK3dpbmRvdy53cmFwcGVk
SlNPYmplY3QudGltZW91dF9tdWx0aXBsaWVyID0gJSh0aW1lb3V0X211bHRpcGxpZXIpZDsKK3dp
bmRvdy53cmFwcGVkSlNPYmplY3QuZXhwbGljaXRfdGltZW91dCA9ICUoZXhwbGljaXRfdGltZW91
dClkOworCit3aW5kb3cud3JhcHBlZEpTT2JqZWN0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2Ui
LCBmdW5jdGlvbiBsaXN0ZW5lcihldmVudCkgeworICAgIGlmIChldmVudC5kYXRhLnR5cGUgIT0g
ImNvbXBsZXRlIikgeworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHdpbmRvdy53cmFwcGVk
SlNPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGxpc3RlbmVyKTsKKyAgICBj
bGVhclRpbWVvdXQodGltZXIpOworICAgIHZhciB0ZXN0cyA9IGV2ZW50LmRhdGEudGVzdHM7Cisg
ICAgdmFyIHN0YXR1cyA9IGV2ZW50LmRhdGEuc3RhdHVzOworCisgICAgdmFyIHN1YnRlc3RfcmVz
dWx0cyA9IHRlc3RzLm1hcChmdW5jdGlvbiAoeCkgeworICAgICAgICByZXR1cm4gW3gubmFtZSwg
eC5zdGF0dXMsIHgubWVzc2FnZSwgeC5zdGFja10KKyAgICB9KTsKKworICAgIG1hcmlvbmV0dGVT
Y3JpcHRGaW5pc2hlZChbIiUodXJsKXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3RhdHVzLnN0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cy5tZXNz
YWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzLnN0YWNrLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3VidGVzdF9yZXN1bHRzXSk7Cit9LCBmYWxzZSk7CisK
K3dpbmRvdy53cmFwcGVkSlNPYmplY3Qud2luID0gd2luZG93Lm9wZW4oIiUoYWJzX3VybClzIiwg
IiUod2luZG93X2lkKXMiKTsKKwordmFyIHRpbWVyID0gbnVsbDsKK2lmICglKHRpbWVvdXQpcykg
eworICAgIHRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgbG9nKCJUaW1l
b3V0IGZpcmVkIik7CisgICAgICAgIHdpbmRvdy53cmFwcGVkSlNPYmplY3Qud2luLnRpbWVvdXQo
KTsKKyAgICB9LCAlKHRpbWVvdXQpcyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhl
Y3V0b3JzL3Rlc3RoYXJuZXNzX3NlcnZvZHJpdmVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9y
cy90ZXN0aGFybmVzc19zZXJ2b2RyaXZlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzMxY2MwNGQ3MDExNzU5
Y2U2MzA3OWZiZDEyNDJmZDY0MjY2MDNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy90ZXN0aGFybmVzc19zZXJ2b2RyaXZlci5qcwpAQCAtMCwwICsxLDIgQEAKK3dp
bmRvdy5fX3dkX3Jlc3VsdHNfY2FsbGJhY2tfXyA9IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3Ro
IC0gMV07Cit3aW5kb3cuX193ZF9yZXN1bHRzX3RpbWVyX18gPSBzZXRUaW1lb3V0KHRpbWVvdXQs
ICUodGltZW91dClzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvdGVzdGhh
cm5lc3Nfd2ViZHJpdmVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy90ZXN0aGFybmVzc193
ZWJkcml2ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVjYmZmOWVmNzc2YTg1MDVlN2JmZGM1N2VhMTQ5YTYw
MjJhZjk5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvdGVzdGhh
cm5lc3Nfd2ViZHJpdmVyLmpzCkBAIC0wLDAgKzEsMjkgQEAKK3ZhciBjYWxsYmFjayA9IGFyZ3Vt
ZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV07Cit3aW5kb3cudGltZW91dF9tdWx0aXBsaWVyID0g
JSh0aW1lb3V0X211bHRpcGxpZXIpZDsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3Nh
Z2UiLCBmdW5jdGlvbiBmKGV2ZW50KSB7CisgIGlmIChldmVudC5kYXRhLnR5cGUgIT0gImNvbXBs
ZXRlIikgeworICAgIHJldHVybjsKKyAgfQorICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigi
bWVzc2FnZSIsIGYpOworCisgIHZhciB0ZXN0cyA9IGV2ZW50LmRhdGEudGVzdHM7CisgIHZhciBz
dGF0dXMgPSBldmVudC5kYXRhLnN0YXR1czsKKworICB2YXIgc3VidGVzdF9yZXN1bHRzID0gdGVz
dHMubWFwKGZ1bmN0aW9uKHgpIHsKKyAgICByZXR1cm4gW3gubmFtZSwgeC5zdGF0dXMsIHgubWVz
c2FnZSwgeC5zdGFja10KKyAgfSk7CisgIGNsZWFyVGltZW91dCh0aW1lcik7CisgIGNhbGxiYWNr
KFsiJSh1cmwpcyIsCisgICAgICAgICAgICBzdGF0dXMuc3RhdHVzLAorICAgICAgICAgICAgc3Rh
dHVzLm1lc3NhZ2UsCisgICAgICAgICAgICBzdGF0dXMuc3RhY2ssCisgICAgICAgICAgICBzdWJ0
ZXN0X3Jlc3VsdHNdKTsKK30sIGZhbHNlKTsKKword2luZG93LndpbiA9IHdpbmRvdy5vcGVuKCIl
KGFic191cmwpcyIsICIlKHdpbmRvd19pZClzIik7CisKK3ZhciB0aW1lciA9IHNldFRpbWVvdXQo
ZnVuY3Rpb24oKSB7CisgIHdpbmRvdy53aW4udGltZW91dCgpOworICB3aW5kb3cud2luLmNsb3Nl
KCk7Cit9LCAlKHRpbWVvdXQpcyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3Jz
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy93M2MtaW1wb3J0LmxvZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40NjY2OTg1MDQxYjc1MzU5ZDQxNzc1YTY1MmUwZjYyYThlNDY3NWI4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy93M2MtaW1wb3J0LmxvZwpAQCAt
MCwwICsxLDMwIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBm
cm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0
bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQg
Z2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1Ro
ZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJl
aW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9w
ZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL19faW5pdF9fLnB5
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9iYXNlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9y
cy9leGVjdXRvcm1hcmlvbmV0dGUucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9y
c2VsZW5pdW0ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9yc2Vydm8ucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9yc2Vydm9kcml2ZXIucHkKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL3Byb2Nlc3MucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3JlZnRlc3Qt
d2FpdC5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13YWl0X3NlcnZvZHJpdmVy
LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXRfd2ViZHJpdmVyLmpzCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9y
cy90ZXN0aGFybmVzc19tYXJpb25ldHRlLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy90ZXN0
aGFybmVzc19zZXJ2b2RyaXZlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5l
c3Nfd2ViZHJpdmVyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhwZWN0ZWQucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvZXhwZWN0ZWQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjA2YWJiOTQ2YWYxNmY2OTBkNDM0
NzE1YzdiOTMzZjEyZDVhMzMzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leHBl
Y3RlZC5weQpAQCAtMCwwICsxLDE0IEBACitpbXBvcnQgb3MKKworCitkZWYgZXhwZWN0ZWRfcGF0
aChtZXRhZGF0YV9wYXRoLCB0ZXN0X3BhdGgpOgorICAgICIiIlBhdGggdG8gdGhlIGV4cGVjdGF0
aW9uIGRhdGEgZmlsZSBmb3IgYSBnaXZlbiB0ZXN0IHBhdGguCisKKyAgICBUaGlzIGlzIGRlZmlu
ZWQgYXMgbWV0YWRhdGFfcGF0aCArIHJlbGF0aXZlX3Rlc3RfcGF0aCArIC5pbmkKKworICAgIDpw
YXJhbSBtZXRhZGF0YV9wYXRoOiBQYXRoIHRvIHRoZSByb290IG9mIHRoZSBtZXRhZGF0YSBkaXJl
Y3RvcnkKKyAgICA6cGFyYW0gdGVzdF9wYXRoOiBSZWxhdGl2ZSBwYXRoIHRvIHRoZSB0ZXN0IGZp
bGUgZnJvbSB0aGUgdGVzdCByb290CisgICAgIiIiCisgICAgYXJncyA9IGxpc3QodGVzdF9wYXRo
LnNwbGl0KCIvIikpCisgICAgYXJnc1stMV0gKz0gIi5pbmkiCisgICAgcmV0dXJuIG9zLnBhdGgu
am9pbihtZXRhZGF0YV9wYXRoLCAqYXJncykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9ob3N0
cy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9ob3N0cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTVjMTdmMWIzMTEyNmZi
ZjQ1MTdiNWVhNzhjYzBjZGYwMWViNTBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2hvc3RzLnB5CkBAIC0wLDAgKzEsMTAwIEBACitmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHVuaWNv
ZGVfbGl0ZXJhbHMKKworCitjbGFzcyBIb3N0c0xpbmUob2JqZWN0KToKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgaXBfYWRkcmVzcywgY2Fub25pY2FsX2hvc3RuYW1lLCBhbGlhc2VzPU5vbmUsIGNv
bW1lbnQ9Tm9uZSk6CisgICAgICAgIHNlbGYuaXBfYWRkcmVzcyA9IGlwX2FkZHJlc3MKKyAgICAg
ICAgc2VsZi5jYW5vbmljYWxfaG9zdG5hbWUgPSBjYW5vbmljYWxfaG9zdG5hbWUKKyAgICAgICAg
c2VsZi5hbGlhc2VzID0gYWxpYXNlcyBpZiBhbGlhc2VzIGlzIG5vdCBOb25lIGVsc2UgW10KKyAg
ICAgICAgc2VsZi5jb21tZW50ID0gY29tbWVudAorICAgICAgICBpZiBzZWxmLmlwX2FkZHJlc3Mg
aXMgTm9uZToKKyAgICAgICAgICAgIGFzc2VydCBzZWxmLmNhbm9uaWNhbF9ob3N0bmFtZSBpcyBO
b25lCisgICAgICAgICAgICBhc3NlcnQgbm90IHNlbGYuYWxpYXNlcworICAgICAgICAgICAgYXNz
ZXJ0IHNlbGYuY29tbWVudCBpcyBub3QgTm9uZQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVm
IGZyb21fc3RyaW5nKGNscywgbGluZSk6CisgICAgICAgIGlmIG5vdCBsaW5lLnN0cmlwKCk6Cisg
ICAgICAgICAgICByZXR1cm4KKworICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCisKKyAgICAg
ICAgaXBfYWRkcmVzcyA9IE5vbmUKKyAgICAgICAgY2Fub25pY2FsX2hvc3RuYW1lID0gTm9uZQor
ICAgICAgICBhbGlhc2VzID0gW10KKyAgICAgICAgY29tbWVudCA9IE5vbmUKKworICAgICAgICBj
b21tZW50X3BhcnRzID0gbGluZS5zcGxpdCgiIyIsIDEpCisgICAgICAgIGlmIGxlbihjb21tZW50
X3BhcnRzKSA+IDE6CisgICAgICAgICAgICBjb21tZW50ID0gY29tbWVudF9wYXJ0c1sxXQorCisg
ICAgICAgIGRhdGEgPSBjb21tZW50X3BhcnRzWzBdLnN0cmlwKCkKKworICAgICAgICBpZiBkYXRh
OgorICAgICAgICAgICAgZmllbGRzID0gZGF0YS5zcGxpdCgpCisgICAgICAgICAgICBpZiBsZW4o
ZmllbGRzKSA8IDI6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCBo
b3N0cyBsaW5lIikKKworICAgICAgICAgICAgaXBfYWRkcmVzcyA9IGZpZWxkc1swXQorICAgICAg
ICAgICAgY2Fub25pY2FsX2hvc3RuYW1lID0gZmllbGRzWzFdCisgICAgICAgICAgICBhbGlhc2Vz
ID0gZmllbGRzWzI6XQorCisgICAgICAgIHJldHVybiBjbHMoaXBfYWRkcmVzcywgY2Fub25pY2Fs
X2hvc3RuYW1lLCBhbGlhc2VzLCBjb21tZW50KQorCisKK2NsYXNzIEhvc3RzRmlsZShvYmplY3Qp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5kYXRhID0gW10KKyAgICAg
ICAgc2VsZi5ieV9ob3N0bmFtZSA9IHt9CisKKyAgICBkZWYgc2V0X2hvc3Qoc2VsZiwgaG9zdCk6
CisgICAgICAgIGlmIGhvc3QuY2Fub25pY2FsX2hvc3RuYW1lIGlzIE5vbmU6CisgICAgICAgICAg
ICBzZWxmLmRhdGEuYXBwZW5kKGhvc3QpCisgICAgICAgIGVsaWYgaG9zdC5jYW5vbmljYWxfaG9z
dG5hbWUgaW4gc2VsZi5ieV9ob3N0bmFtZToKKyAgICAgICAgICAgIG9sZF9ob3N0ID0gc2VsZi5i
eV9ob3N0bmFtZVtob3N0LmNhbm9uaWNhbF9ob3N0bmFtZV0KKyAgICAgICAgICAgIG9sZF9ob3N0
LmlwX2FkZHJlc3MgPSBob3N0LmlwX2FkZHJlc3MKKyAgICAgICAgICAgIG9sZF9ob3N0LmFsaWFz
ZXMgPSBob3N0LmFsaWFzZXMKKyAgICAgICAgICAgIG9sZF9ob3N0LmNvbW1lbnQgPSBob3N0LmNv
bW1lbnQKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZGF0YS5hcHBlbmQoaG9zdCkK
KyAgICAgICAgICAgIHNlbGYuYnlfaG9zdG5hbWVbaG9zdC5jYW5vbmljYWxfaG9zdG5hbWVdID0g
aG9zdAorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGZyb21fZmlsZShjbHMsIGYpOgorICAg
ICAgICBydiA9IGNscygpCisgICAgICAgIGZvciBsaW5lIGluIGY6CisgICAgICAgICAgICBob3N0
ID0gSG9zdHNMaW5lLmZyb21fc3RyaW5nKGxpbmUpCisgICAgICAgICAgICBpZiBob3N0IGlzIG5v
dCBOb25lOgorICAgICAgICAgICAgICAgIHJ2LnNldF9ob3N0KGhvc3QpCisgICAgICAgIHJldHVy
biBydgorCisgICAgZGVmIHRvX3N0cmluZyhzZWxmKToKKyAgICAgICAgZmllbGRfd2lkdGhzID0g
WzAsIDBdCisgICAgICAgIGZvciBsaW5lIGluIHNlbGYuZGF0YToKKyAgICAgICAgICAgIGlmIGxp
bmUuaXBfYWRkcmVzcyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBmaWVsZF93aWR0aHNb
MF0gPSBtYXgoZmllbGRfd2lkdGhzWzBdLCBsZW4obGluZS5pcF9hZGRyZXNzKSkKKyAgICAgICAg
ICAgICAgICBmaWVsZF93aWR0aHNbMV0gPSBtYXgoZmllbGRfd2lkdGhzWzFdLCBsZW4obGluZS5j
YW5vbmljYWxfaG9zdG5hbWUpKQorCisgICAgICAgIGxpbmVzID0gW10KKworICAgICAgICBmb3Ig
aG9zdCBpbiBzZWxmLmRhdGE6CisgICAgICAgICAgICBsaW5lID0gIiIKKyAgICAgICAgICAgIGlm
IGhvc3QuaXBfYWRkcmVzcyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBpcF9zdHJpbmcg
PSBob3N0LmlwX2FkZHJlc3MubGp1c3QoZmllbGRfd2lkdGhzWzBdKQorICAgICAgICAgICAgICAg
IGhvc3RuYW1lX3N0ciA9IGhvc3QuY2Fub25pY2FsX2hvc3RuYW1lCisgICAgICAgICAgICAgICAg
aWYgaG9zdC5hbGlhc2VzOgorICAgICAgICAgICAgICAgICAgICBob3N0bmFtZV9zdHIgPSAiJXMg
JXMiICUgKGhvc3RuYW1lX3N0ci5sanVzdChmaWVsZF93aWR0aHNbMV0pLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgIi5qb2luKGhvc3QuYWxpYXNlcykp
CisgICAgICAgICAgICAgICAgbGluZSA9ICIlcyAlcyIgJSAoaXBfc3RyaW5nLCBob3N0bmFtZV9z
dHIpCisgICAgICAgICAgICBpZiBob3N0LmNvbW1lbnQ6CisgICAgICAgICAgICAgICAgaWYgbGlu
ZToKKyAgICAgICAgICAgICAgICAgICAgbGluZSArPSAiICIKKyAgICAgICAgICAgICAgICBsaW5l
ICs9ICIjJXMiICUgaG9zdC5jb21tZW50CisgICAgICAgICAgICBsaW5lcy5hcHBlbmQobGluZSkK
KworICAgICAgICBsaW5lcy5hcHBlbmQoIiIpCisKKyAgICAgICAgcmV0dXJuICJcbiIuam9pbihs
aW5lcykKKworICAgIGRlZiB0b19maWxlKHNlbGYsIGYpOgorICAgICAgICBmLndyaXRlKHNlbGYu
dG9fc3RyaW5nKCkuZW5jb2RlKCJ1dGY4IikpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFu
aWZlc3RleHBlY3RlZC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tYW5pZmVzdGV4cGVjdGVkLnB5Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmZiNWMxYjFlNzIzOWNjZDg0NDM4NzA4N2IwNGY5ZDQ4NjM5ZWFhMTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3RleHBlY3RlZC5weQpAQCAtMCwwICsxLDI1
MCBAQAoraW1wb3J0IG9zCitpbXBvcnQgdXJscGFyc2UKKworZnJvbSB3cHRtYW5pZmVzdC5iYWNr
ZW5kcyBpbXBvcnQgc3RhdGljCitmcm9tIHdwdG1hbmlmZXN0LmJhY2tlbmRzLnN0YXRpYyBpbXBv
cnQgTWFuaWZlc3RJdGVtCisKK2ltcG9ydCBleHBlY3RlZAorCisiIiJNYW5pZmVzdCBzdHJ1Y3R1
cmUgdXNlZCB0byBzdG9yZSBleHBlY3RlZCByZXN1bHRzIG9mIGEgdGVzdC4KKworRWFjaCBtYW5p
ZmVzdCBmaWxlIGlzIHJlcHJlc2VudGVkIGJ5IGFuIEV4cGVjdGVkTWFuaWZlc3QgdGhhdAoraGFz
IG9uZSBvciBtb3JlIFRlc3ROb2RlIGNoaWxkcmVuLCBvbmUgcGVyIHRlc3QgaW4gdGhlIG1hbmlm
ZXN0LgorRWFjaCBUZXN0Tm9kZSBoYXMgemVybyBvciBtb3JlIFN1YnRlc3ROb2RlIGNoaWxkcmVu
LCBvbmUgZm9yIGVhY2gKK2tub3duIHN1YnRlc3Qgb2YgdGhlIHRlc3QuCisiIiIKKworZGVmIGRh
dGFfY2xzX2dldHRlcihvdXRwdXRfbm9kZSwgdmlzaXRlZF9ub2RlKToKKyAgICAjIHZpc2l0ZWRf
bm9kZSBpcyBpbnRlbnRpb25hbGx5IHVudXNlZAorICAgIGlmIG91dHB1dF9ub2RlIGlzIE5vbmU6
CisgICAgICAgIHJldHVybiBFeHBlY3RlZE1hbmlmZXN0CisgICAgaWYgaXNpbnN0YW5jZShvdXRw
dXRfbm9kZSwgRXhwZWN0ZWRNYW5pZmVzdCk6CisgICAgICAgIHJldHVybiBUZXN0Tm9kZQorICAg
IGlmIGlzaW5zdGFuY2Uob3V0cHV0X25vZGUsIFRlc3ROb2RlKToKKyAgICAgICAgcmV0dXJuIFN1
YnRlc3ROb2RlCisgICAgcmFpc2UgVmFsdWVFcnJvcgorCisKK2RlZiBib29sX3Byb3AobmFtZSwg
bm9kZSk6CisgICAgIiIiQm9vbGVhbiBwcm9wZXJ0eSIiIgorICAgIHRyeToKKyAgICAgICAgcmV0
dXJuIG5vZGUuZ2V0KG5hbWUpCisgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICByZXR1cm4g
Tm9uZQorCisKK2RlZiB0YWdzKG5vZGUpOgorICAgICIiIlNldCBvZiB0YWdzIHRoYXQgaGF2ZSBi
ZWVuIGFwcGxpZWQgdG8gdGhlIHRlc3QiIiIKKyAgICB0cnk6CisgICAgICAgIHZhbHVlID0gbm9k
ZS5nZXQoInRhZ3MiKQorICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCAoc3RyLCB1bmljb2Rl
KSk6CisgICAgICAgICAgICByZXR1cm4ge3ZhbHVlfQorICAgICAgICByZXR1cm4gc2V0KHZhbHVl
KQorICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgcmV0dXJuIHNldCgpCisKKworZGVmIHBy
ZWZzKG5vZGUpOgorICAgIGRlZiB2YWx1ZShpbmlfdmFsdWUpOgorICAgICAgICBpZiBpc2luc3Rh
bmNlKGluaV92YWx1ZSwgKHN0ciwgdW5pY29kZSkpOgorICAgICAgICAgICAgcmV0dXJuIHR1cGxl
KGluaV92YWx1ZS5zcGxpdCgiOiIsIDEpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0
dXJuIChpbmlfdmFsdWUsIE5vbmUpCisKKyAgICB0cnk6CisgICAgICAgIG5vZGVfcHJlZnMgPSBu
b2RlLmdldCgicHJlZnMiKQorICAgICAgICBpZiB0eXBlKG5vZGVfcHJlZnMpIGluIChzdHIsIHVu
aWNvZGUpOgorICAgICAgICAgICAgcHJlZnMgPSB7dmFsdWUobm9kZV9wcmVmcyl9CisgICAgICAg
IHJ2ID0gZGljdCh2YWx1ZShpdGVtKSBmb3IgaXRlbSBpbiBub2RlX3ByZWZzKQorICAgIGV4Y2Vw
dCBLZXlFcnJvcjoKKyAgICAgICAgcnYgPSB7fQorICAgIHJldHVybiBydgorCisKK2NsYXNzIEV4
cGVjdGVkTWFuaWZlc3QoTWFuaWZlc3RJdGVtKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFt
ZSwgdGVzdF9wYXRoLCB1cmxfYmFzZSk6CisgICAgICAgICIiIk9iamVjdCByZXByZXNlbnRpbmcg
YWxsIHRoZSB0ZXN0cyBpbiBhIHBhcnRpY3VsYXIgbWFuaWZlc3QKKworICAgICAgICA6cGFyYW0g
bmFtZTogTmFtZSBvZiB0aGUgQVNUIE5vZGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgb2JqZWN0Lgor
ICAgICAgICAgICAgICAgICAgICAgU2hvdWxkIGFsd2F5cyBiZSBOb25lIHNpbmNlIHRoaXMgc2hv
dWxkIGFsd2F5cyBiZSBhc3NvY2lhdGVkIHdpdGgKKyAgICAgICAgICAgICAgICAgICAgIHRoZSBy
b290IG5vZGUgb2YgdGhlIEFTVC4KKyAgICAgICAgOnBhcmFtIHRlc3RfcGF0aDogUGF0aCBvZiB0
aGUgdGVzdCBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1hbmlmZXN0LgorICAgICAgICA6cGFy
YW0gdXJsX2Jhc2U6IEJhc2UgdXJsIGZvciBzZXJ2aW5nIHRoZSB0ZXN0cyBpbiB0aGlzIG1hbmlm
ZXN0CisgICAgICAgICIiIgorICAgICAgICBpZiBuYW1lIGlzIG5vdCBOb25lOgorICAgICAgICAg
ICAgcmFpc2UgVmFsdWVFcnJvcigiRXhwZWN0ZWRNYW5pZmVzdCBzaG91bGQgcmVwcmVzZW50IHRo
ZSByb290IG5vZGUiKQorICAgICAgICBpZiB0ZXN0X3BhdGggaXMgTm9uZToKKyAgICAgICAgICAg
IHJhaXNlIFZhbHVlRXJyb3IoIkV4cGVjdGVkTWFuaWZlc3QgcmVxdWlyZXMgYSB0ZXN0IHBhdGgi
KQorICAgICAgICBpZiB1cmxfYmFzZSBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVF
cnJvcigiRXhwZWN0ZWRNYW5pZmVzdCByZXF1aXJlcyBhIGJhc2UgdXJsIikKKyAgICAgICAgTWFu
aWZlc3RJdGVtLl9faW5pdF9fKHNlbGYsIG5hbWUpCisgICAgICAgIHNlbGYuY2hpbGRfbWFwID0g
e30KKyAgICAgICAgc2VsZi50ZXN0X3BhdGggPSB0ZXN0X3BhdGgKKyAgICAgICAgc2VsZi51cmxf
YmFzZSA9IHVybF9iYXNlCisKKyAgICBkZWYgYXBwZW5kKHNlbGYsIGNoaWxkKToKKyAgICAgICAg
IiIiQWRkIGEgdGVzdCB0byB0aGUgbWFuaWZlc3QiIiIKKyAgICAgICAgTWFuaWZlc3RJdGVtLmFw
cGVuZChzZWxmLCBjaGlsZCkKKyAgICAgICAgc2VsZi5jaGlsZF9tYXBbY2hpbGQuaWRdID0gY2hp
bGQKKworICAgIGRlZiBfcmVtb3ZlX2NoaWxkKHNlbGYsIGNoaWxkKToKKyAgICAgICAgZGVsIHNl
bGYuY2hpbGRfbWFwW2NoaWxkLmlkXQorICAgICAgICBNYW5pZmVzdEl0ZW0ucmVtb3ZlX2NoaWxk
KHNlbGYsIGNoaWxkKQorICAgICAgICBhc3NlcnQgbGVuKHNlbGYuY2hpbGRfbWFwKSA9PSBsZW4o
c2VsZi5jaGlsZHJlbikKKworICAgIGRlZiBnZXRfdGVzdChzZWxmLCB0ZXN0X2lkKToKKyAgICAg
ICAgIiIiR2V0IGEgdGVzdCBmcm9tIHRoZSBtYW5pZmVzdCBieSBJRAorCisgICAgICAgIDpwYXJh
bSB0ZXN0X2lkOiBJRCBvZiB0aGUgdGVzdCB0byByZXR1cm4uIiIiCisgICAgICAgIHJldHVybiBz
ZWxmLmNoaWxkX21hcC5nZXQodGVzdF9pZCkKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiB1cmwo
c2VsZik6CisgICAgICAgIHJldHVybiB1cmxwYXJzZS51cmxqb2luKHNlbGYudXJsX2Jhc2UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvIi5qb2luKHNlbGYudGVzdF9wYXRoLnNw
bGl0KG9zLnBhdGguc2VwKSkpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgZGlzYWJsZWQoc2Vs
Zik6CisgICAgICAgIHJldHVybiBib29sX3Byb3AoImRpc2FibGVkIiwgc2VsZikKKworICAgIEBw
cm9wZXJ0eQorICAgIGRlZiByZXN0YXJ0X2FmdGVyKHNlbGYpOgorICAgICAgICByZXR1cm4gYm9v
bF9wcm9wKCJyZXN0YXJ0LWFmdGVyIiwgc2VsZikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiB0
YWdzKHNlbGYpOgorICAgICAgICByZXR1cm4gdGFncyhzZWxmKQorCisgICAgQHByb3BlcnR5Cisg
ICAgZGVmIHByZWZzKHNlbGYpOgorICAgICAgICByZXR1cm4gcHJlZnMoc2VsZikKKworCitjbGFz
cyBEaXJlY3RvcnlNYW5pZmVzdChNYW5pZmVzdEl0ZW0pOgorICAgIEBwcm9wZXJ0eQorICAgIGRl
ZiBkaXNhYmxlZChzZWxmKToKKyAgICAgICAgcmV0dXJuIGJvb2xfcHJvcCgiZGlzYWJsZWQiLCBz
ZWxmKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHJlc3RhcnRfYWZ0ZXIoc2VsZik6CisgICAg
ICAgIHJldHVybiBib29sX3Byb3AoInJlc3RhcnQtYWZ0ZXIiLCBzZWxmKQorCisgICAgQHByb3Bl
cnR5CisgICAgZGVmIHRhZ3Moc2VsZik6CisgICAgICAgIHJldHVybiB0YWdzKHNlbGYpCisKKyAg
ICBAcHJvcGVydHkKKyAgICBkZWYgcHJlZnMoc2VsZik6CisgICAgICAgIHJldHVybiBwcmVmcyhz
ZWxmKQorCisKK2NsYXNzIFRlc3ROb2RlKE1hbmlmZXN0SXRlbSk6CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIG5hbWUpOgorICAgICAgICAiIiJUcmVlIG5vZGUgYXNzb2NpYXRlZCB3aXRoIGEgcGFy
dGljdWxhciB0ZXN0IGluIGEgbWFuaWZlc3QKKworICAgICAgICA6cGFyYW0gbmFtZTogbmFtZSBv
ZiB0aGUgdGVzdCIiIgorICAgICAgICBhc3NlcnQgbmFtZSBpcyBub3QgTm9uZQorICAgICAgICBN
YW5pZmVzdEl0ZW0uX19pbml0X18oc2VsZiwgbmFtZSkKKyAgICAgICAgc2VsZi51cGRhdGVkX2V4
cGVjdGVkID0gW10KKyAgICAgICAgc2VsZi5uZXdfZXhwZWN0ZWQgPSBbXQorICAgICAgICBzZWxm
LnN1YnRlc3RzID0ge30KKyAgICAgICAgc2VsZi5kZWZhdWx0X3N0YXR1cyA9IE5vbmUKKyAgICAg
ICAgc2VsZi5fZnJvbV9maWxlID0gVHJ1ZQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGlzX2Vt
cHR5KHNlbGYpOgorICAgICAgICByZXF1aXJlZF9rZXlzID0gc2V0KFsidHlwZSJdKQorICAgICAg
ICBpZiBzZXQoc2VsZi5fZGF0YS5rZXlzKCkpICE9IHJlcXVpcmVkX2tleXM6CisgICAgICAgICAg
ICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIGFsbChjaGlsZC5pc19lbXB0eSBmb3IgY2hp
bGQgaW4gc2VsZi5jaGlsZHJlbikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiB0ZXN0X3R5cGUo
c2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmdldCgidHlwZSIpCisKKyAgICBAcHJvcGVydHkK
KyAgICBkZWYgaWQoc2VsZik6CisgICAgICAgIHJldHVybiB1cmxwYXJzZS51cmxqb2luKHNlbGYu
cGFyZW50LnVybCwgc2VsZi5uYW1lKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGRpc2FibGVk
KHNlbGYpOgorICAgICAgICByZXR1cm4gYm9vbF9wcm9wKCJkaXNhYmxlZCIsIHNlbGYpCisKKyAg
ICBAcHJvcGVydHkKKyAgICBkZWYgcmVzdGFydF9hZnRlcihzZWxmKToKKyAgICAgICAgcmV0dXJu
IGJvb2xfcHJvcCgicmVzdGFydC1hZnRlciIsIHNlbGYpCisKKyAgICBAcHJvcGVydHkKKyAgICBk
ZWYgdGFncyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHRhZ3Moc2VsZikKKworICAgIEBwcm9wZXJ0
eQorICAgIGRlZiBwcmVmcyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHByZWZzKHNlbGYpCisKKyAg
ICBkZWYgYXBwZW5kKHNlbGYsIG5vZGUpOgorICAgICAgICAiIiJBZGQgYSBzdWJ0ZXN0IHRvIHRo
ZSBjdXJyZW50IHRlc3QKKworICAgICAgICA6cGFyYW0gbm9kZTogQVNUIE5vZGUgYXNzb2NpYXRl
ZCB3aXRoIHRoZSBzdWJ0ZXN0IiIiCisgICAgICAgIGNoaWxkID0gTWFuaWZlc3RJdGVtLmFwcGVu
ZChzZWxmLCBub2RlKQorICAgICAgICBzZWxmLnN1YnRlc3RzW2NoaWxkLm5hbWVdID0gY2hpbGQK
KworICAgIGRlZiBnZXRfc3VidGVzdChzZWxmLCBuYW1lKToKKyAgICAgICAgIiIiR2V0IHRoZSBT
dWJ0ZXN0Tm9kZSBjb3JyZXNwb25kaW5nIHRvIGEgcGFydGljdWxhciBzdWJ0ZXN0LCBieSBuYW1l
CisKKyAgICAgICAgOnBhcmFtIG5hbWU6IE5hbWUgb2YgdGhlIG5vZGUgdG8gcmV0dXJuIiIiCisg
ICAgICAgIGlmIG5hbWUgaW4gc2VsZi5zdWJ0ZXN0czoKKyAgICAgICAgICAgIHJldHVybiBzZWxm
LnN1YnRlc3RzW25hbWVdCisgICAgICAgIHJldHVybiBOb25lCisKKworY2xhc3MgU3VidGVzdE5v
ZGUoVGVzdE5vZGUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lKToKKyAgICAgICAgIiIi
VHJlZSBub2RlIGFzc29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgc3VidGVzdCBpbiBhIG1hbmlm
ZXN0CisKKyAgICAgICAgOnBhcmFtIG5hbWU6IG5hbWUgb2YgdGhlIHN1YnRlc3QiIiIKKyAgICAg
ICAgVGVzdE5vZGUuX19pbml0X18oc2VsZiwgbmFtZSkKKworICAgIEBwcm9wZXJ0eQorICAgIGRl
ZiBpc19lbXB0eShzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fZGF0YToKKyAgICAgICAgICAgIHJl
dHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQorCisKK2RlZiBnZXRfbWFuaWZlc3QobWV0
YWRhdGFfcm9vdCwgdGVzdF9wYXRoLCB1cmxfYmFzZSwgcnVuX2luZm8pOgorICAgICIiIkdldCB0
aGUgRXhwZWN0ZWRNYW5pZmVzdCBmb3IgYSBwYXJ0aWN1bGFyIHRlc3QgcGF0aCwgb3IgTm9uZSBp
ZiB0aGVyZSBpcyBubworICAgIG1ldGFkYXRhIHN0b3JlZCBmb3IgdGhhdCB0ZXN0IHBhdGguCisK
KyAgICA6cGFyYW0gbWV0YWRhdGFfcm9vdDogQWJzb2x1dGUgcGF0aCB0byB0aGUgcm9vdCBvZiB0
aGUgbWV0YWRhdGEgZGlyZWN0b3J5CisgICAgOnBhcmFtIHRlc3RfcGF0aDogUGF0aCB0byB0aGUg
dGVzdChzKSByZWxhdGl2ZSB0byB0aGUgdGVzdCByb290CisgICAgOnBhcmFtIHVybF9iYXNlOiBC
YXNlIHVybCBmb3Igc2VydmluZyB0aGUgdGVzdHMgaW4gdGhpcyBtYW5pZmVzdAorICAgIDpwYXJh
bSBydW5faW5mbzogRGljdGlvbmFyeSBvZiBwcm9wZXJ0aWVzIG9mIHRoZSB0ZXN0IHJ1biBmb3Ig
d2hpY2ggdGhlIGV4cGVjdGF0aW9uCisgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgc2hvdWxk
IGJlIGNvbXB1dGVkLgorICAgICIiIgorICAgIG1hbmlmZXN0X3BhdGggPSBleHBlY3RlZC5leHBl
Y3RlZF9wYXRoKG1ldGFkYXRhX3Jvb3QsIHRlc3RfcGF0aCkKKyAgICB0cnk6CisgICAgICAgIHdp
dGggb3BlbihtYW5pZmVzdF9wYXRoKSBhcyBmOgorICAgICAgICAgICAgcmV0dXJuIHN0YXRpYy5j
b21waWxlKGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuX2luZm8sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YV9jbHNfZ2V0dGVyPWRhdGFfY2xz
X2dldHRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3BhdGg9dGVz
dF9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybF9iYXNlPXVybF9i
YXNlKQorICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICByZXR1cm4gTm9uZQorCitkZWYgZ2V0
X2Rpcl9tYW5pZmVzdChwYXRoLCBydW5faW5mbyk6CisgICAgIiIiR2V0IHRoZSBFeHBlY3RlZE1h
bmlmZXN0IGZvciBhIHBhcnRpY3VsYXIgdGVzdCBwYXRoLCBvciBOb25lIGlmIHRoZXJlIGlzIG5v
CisgICAgbWV0YWRhdGEgc3RvcmVkIGZvciB0aGF0IHRlc3QgcGF0aC4KKworICAgIDpwYXJhbSBw
YXRoOiBGdWxsIHBhdGggdG8gdGhlIGluaSBmaWxlCisgICAgOnBhcmFtIHJ1bl9pbmZvOiBEaWN0
aW9uYXJ5IG9mIHByb3BlcnRpZXMgb2YgdGhlIHRlc3QgcnVuIGZvciB3aGljaCB0aGUgZXhwZWN0
YXRpb24KKyAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyBzaG91bGQgYmUgY29tcHV0ZWQuCisg
ICAgIiIiCisgICAgdHJ5OgorICAgICAgICB3aXRoIG9wZW4ocGF0aCkgYXMgZjoKKyAgICAgICAg
ICAgIHJldHVybiBzdGF0aWMuY29tcGlsZShmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJ1bl9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFf
Y2xzX2dldHRlcj1sYW1iZGEgeCx5OiBEaXJlY3RvcnlNYW5pZmVzdCkKKyAgICBleGNlcHQgSU9F
cnJvcjoKKyAgICAgICAgcmV0dXJuIE5vbmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tYW5p
ZmVzdGluY2x1ZGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3RpbmNsdWRlLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY3MjI5ZDUwNGYxMzQ0Y2NmZWMxMzlhMGI2ZjUxYjA3YTFhMGIyOGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3RpbmNsdWRlLnB5CkBAIC0wLDAgKzEsMTQ5IEBA
CisiIiJNYW5pZmVzdCBzdHJ1Y3R1cmUgdXNlZCB0byBzdG9yZSBwYXRocyB0aGF0IHNob3VsZCBi
ZSBpbmNsdWRlZCBpbiBhIHRlc3QgcnVuLgorCitUaGUgbWFuaWZlc3QgaXMgcmVwcmVzZW50ZWQg
YnkgYSB0cmVlIG9mIEluY2x1ZGVNYW5pZmVzdCBvYmplY3RzLCB0aGUgcm9vdAorcmVwcmVzZW50
aW5nIHRoZSBmaWxlIGFuZCBlYWNoIHN1Ym5vZGUgcmVwcmVzZW50aW5nIGEgc3ViZGlyZWN0b3J5
IHRoYXQgc2hvdWxkCitiZSBpbmNsdWRlZCBvciBleGNsdWRlZC4KKyIiIgoraW1wb3J0IGdsb2IK
K2ltcG9ydCBvcworaW1wb3J0IHVybHBhcnNlCisKK2Zyb20gd3B0bWFuaWZlc3Qubm9kZSBpbXBv
cnQgRGF0YU5vZGUKK2Zyb20gd3B0bWFuaWZlc3QuYmFja2VuZHMgaW1wb3J0IGNvbmRpdGlvbmFs
Citmcm9tIHdwdG1hbmlmZXN0LmJhY2tlbmRzLmNvbmRpdGlvbmFsIGltcG9ydCBNYW5pZmVzdEl0
ZW0KKworCitjbGFzcyBJbmNsdWRlTWFuaWZlc3QoTWFuaWZlc3RJdGVtKToKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgbm9kZSk6CisgICAgICAgICIiIk5vZGUgaW4gYSB0cmVlIHN0cnVjdHVyZSBy
ZXByZXNlbnRpbmcgdGhlIHBhdGhzCisgICAgICAgIHRoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIG9y
IGV4Y2x1ZGVkIGZyb20gdGhlIHRlc3QgcnVuLgorCisgICAgICAgIDpwYXJhbSBub2RlOiBBU1Qg
Tm9kZSBjb3JyZXNwb25kaW5nIHRvIHRoaXMgTm9kZS4KKyAgICAgICAgIiIiCisgICAgICAgIE1h
bmlmZXN0SXRlbS5fX2luaXRfXyhzZWxmLCBub2RlKQorICAgICAgICBzZWxmLmNoaWxkX21hcCA9
IHt9CisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgY3JlYXRlKGNscyk6CisgICAgICAgICIi
IkNyZWF0ZSBhbiBlbXB0eSBJbmNsdWRlTWFuaWZlc3QgdHJlZSIiIgorICAgICAgICBub2RlID0g
RGF0YU5vZGUoTm9uZSkKKyAgICAgICAgcmV0dXJuIGNscyhub2RlKQorCisgICAgZGVmIGFwcGVu
ZChzZWxmLCBjaGlsZCk6CisgICAgICAgIE1hbmlmZXN0SXRlbS5hcHBlbmQoc2VsZiwgY2hpbGQp
CisgICAgICAgIHNlbGYuY2hpbGRfbWFwW2NoaWxkLm5hbWVdID0gY2hpbGQKKyAgICAgICAgYXNz
ZXJ0IGxlbihzZWxmLmNoaWxkX21hcCkgPT0gbGVuKHNlbGYuY2hpbGRyZW4pCisKKyAgICBkZWYg
aW5jbHVkZShzZWxmLCB0ZXN0KToKKyAgICAgICAgIiIiUmV0dXJuIGEgYm9vbGVhbiBpbmRpY2F0
aW5nIHdoZXRoZXIgYSBwYXJ0aWN1bGFyIHRlc3Qgc2hvdWxkIGJlCisgICAgICAgIGluY2x1ZGVk
IGluIGEgdGVzdCBydW4sIGJhc2VkIG9uIHRoZSBJbmNsdWRlTWFuaWZlc3QgdHJlZSByb290ZWQg
b24KKyAgICAgICAgdGhpcyBvYmplY3QuCisKKyAgICAgICAgOnBhcmFtIHRlc3Q6IFRoZSB0ZXN0
IG9iamVjdCIiIgorICAgICAgICBwYXRoX2NvbXBvbmVudHMgPSBzZWxmLl9nZXRfY29tcG9uZW50
cyh0ZXN0LnVybCkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2luY2x1ZGUodGVzdCwgcGF0aF9jb21w
b25lbnRzKQorCisgICAgZGVmIF9pbmNsdWRlKHNlbGYsIHRlc3QsIHBhdGhfY29tcG9uZW50cyk6
CisgICAgICAgIGlmIHBhdGhfY29tcG9uZW50czoKKyAgICAgICAgICAgIG5leHRfcGF0aF9wYXJ0
ID0gcGF0aF9jb21wb25lbnRzLnBvcCgpCisgICAgICAgICAgICBpZiBuZXh0X3BhdGhfcGFydCBp
biBzZWxmLmNoaWxkX21hcDoKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5jaGlsZF9tYXBb
bmV4dF9wYXRoX3BhcnRdLl9pbmNsdWRlKHRlc3QsIHBhdGhfY29tcG9uZW50cykKKworICAgICAg
ICBub2RlID0gc2VsZgorICAgICAgICB3aGlsZSBub2RlOgorICAgICAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgICAgIHNraXBfdmFsdWUgPSBzZWxmLmdldCgic2tpcCIsIHsidGVzdF90eXBlIjog
dGVzdC5pdGVtX3R5cGV9KS5sb3dlcigpCisgICAgICAgICAgICAgICAgYXNzZXJ0IHNraXBfdmFs
dWUgaW4gKCJ0cnVlIiwgImZhbHNlIikKKyAgICAgICAgICAgICAgICByZXR1cm4gc2tpcF92YWx1
ZSAhPSAidHJ1ZSIKKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAg
ICBpZiBub2RlLnBhcmVudCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgbm9kZSA9
IG5vZGUucGFyZW50CisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAg
IyBJbmNsdWRlIGJ5IGRlZmF1bHQKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKwor
ICAgIGRlZiBfZ2V0X2NvbXBvbmVudHMoc2VsZiwgdXJsKToKKyAgICAgICAgcnYgPSBbXQorICAg
ICAgICB1cmxfcGFydHMgPSB1cmxwYXJzZS51cmxzcGxpdCh1cmwpCisgICAgICAgIHZhcmlhbnQg
PSAiIgorICAgICAgICBpZiB1cmxfcGFydHMucXVlcnk6CisgICAgICAgICAgICB2YXJpYW50ICs9
ICI/IiArIHVybF9wYXJ0cy5xdWVyeQorICAgICAgICBpZiB1cmxfcGFydHMuZnJhZ21lbnQ6Cisg
ICAgICAgICAgICB2YXJpYW50ICs9ICIjIiArIHVybF9wYXJ0cy5mcmFnbWVudAorICAgICAgICBp
ZiB2YXJpYW50OgorICAgICAgICAgICAgcnYuYXBwZW5kKHZhcmlhbnQpCisgICAgICAgIHJ2LmV4
dGVuZChbaXRlbSBmb3IgaXRlbSBpbiByZXZlcnNlZCh1cmxfcGFydHMucGF0aC5zcGxpdCgiLyIp
KSBpZiBpdGVtXSkKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgX2FkZF9ydWxlKHNlbGYs
IHRlc3RfbWFuaWZlc3RzLCB1cmwsIGRpcmVjdGlvbik6CisgICAgICAgIG1heWJlX3BhdGggPSBv
cy5wYXRoLmpvaW4ob3MucGF0aC5hYnNwYXRoKG9zLmN1cmRpciksIHVybCkKKyAgICAgICAgcmVz
dCwgbGFzdCA9IG9zLnBhdGguc3BsaXQobWF5YmVfcGF0aCkKKyAgICAgICAgZnJhZ21lbnQgPSBx
dWVyeSA9IE5vbmUKKyAgICAgICAgaWYgIiMiIGluIGxhc3Q6CisgICAgICAgICAgICBsYXN0LCBm
cmFnbWVudCA9IGxhc3QucnNwbGl0KCIjIiwgMSkKKyAgICAgICAgaWYgIj8iIGluIGxhc3Q6Cisg
ICAgICAgICAgICBsYXN0LCBxdWVyeSA9IGxhc3QucnNwbGl0KCI/IiwgMSkKKworICAgICAgICBt
YXliZV9wYXRoID0gb3MucGF0aC5qb2luKHJlc3QsIGxhc3QpCisgICAgICAgIHBhdGhzID0gZ2xv
Yi5nbG9iKG1heWJlX3BhdGgpCisKKyAgICAgICAgaWYgcGF0aHM6CisgICAgICAgICAgICB1cmxz
ID0gW10KKyAgICAgICAgICAgIGZvciBwYXRoIGluIHBhdGhzOgorICAgICAgICAgICAgICAgIGZv
ciBtYW5pZmVzdCwgZGF0YSBpbiB0ZXN0X21hbmlmZXN0cy5pdGVyaXRlbXMoKToKKyAgICAgICAg
ICAgICAgICAgICAgZm91bmQgPSBGYWxzZQorICAgICAgICAgICAgICAgICAgICByZWxfcGF0aCA9
IG9zLnBhdGgucmVscGF0aChwYXRoLCBkYXRhWyJ0ZXN0c19wYXRoIl0pCisgICAgICAgICAgICAg
ICAgICAgIGZvciB0ZXN0IGluIG1hbmlmZXN0Lml0ZXJwYXRoKHJlbF9wYXRoKToKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHRlc3QsICJ1cmwiKToKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0g
dGVzdC51cmwKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHF1ZXJ5IG9yIGZyYWdtZW50Ogor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlZCA9IHVybHBhcnNlLnVybHBhcnNlKHVy
bCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHF1ZXJ5IGFuZCBxdWVyeSAhPSBw
YXJzZWQucXVlcnkpIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmcmFnbWVu
dCBhbmQgZnJhZ21lbnQgIT0gcGFyc2VkLmZyYWdtZW50KSk6CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgICAgICB1cmxzLmFwcGVu
ZCh1cmwpCisgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IFRydWUKKyAgICAgICAgICAg
ICAgICAgICAgaWYgZm91bmQ6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgdXJscyA9IFt1cmxdCisKKyAgICAgICAgYXNzZXJ0IGRpcmVj
dGlvbiBpbiAoImluY2x1ZGUiLCAiZXhjbHVkZSIpCisKKyAgICAgICAgZm9yIHVybCBpbiB1cmxz
OgorICAgICAgICAgICAgY29tcG9uZW50cyA9IHNlbGYuX2dldF9jb21wb25lbnRzKHVybCkKKwor
ICAgICAgICAgICAgbm9kZSA9IHNlbGYKKyAgICAgICAgICAgIHdoaWxlIGNvbXBvbmVudHM6Cisg
ICAgICAgICAgICAgICAgY29tcG9uZW50ID0gY29tcG9uZW50cy5wb3AoKQorICAgICAgICAgICAg
ICAgIGlmIGNvbXBvbmVudCBub3QgaW4gbm9kZS5jaGlsZF9tYXA6CisgICAgICAgICAgICAgICAg
ICAgIG5ld19ub2RlID0gSW5jbHVkZU1hbmlmZXN0KERhdGFOb2RlKGNvbXBvbmVudCkpCisgICAg
ICAgICAgICAgICAgICAgIG5vZGUuYXBwZW5kKG5ld19ub2RlKQorICAgICAgICAgICAgICAgICAg
ICBuZXdfbm9kZS5zZXQoInNraXAiLCBub2RlLmdldCgic2tpcCIsIHt9KSkKKworICAgICAgICAg
ICAgICAgIG5vZGUgPSBub2RlLmNoaWxkX21hcFtjb21wb25lbnRdCisKKyAgICAgICAgICAgIHNr
aXAgPSBGYWxzZSBpZiBkaXJlY3Rpb24gPT0gImluY2x1ZGUiIGVsc2UgVHJ1ZQorICAgICAgICAg
ICAgbm9kZS5zZXQoInNraXAiLCBzdHIoc2tpcCkpCisKKyAgICBkZWYgYWRkX2luY2x1ZGUoc2Vs
ZiwgdGVzdF9tYW5pZmVzdHMsIHVybF9wcmVmaXgpOgorICAgICAgICAiIiJBZGQgYSBydWxlIGlu
ZGljYXRpbmcgdGhhdCB0ZXN0cyB1bmRlciBhIHVybCBwYXRoCisgICAgICAgIHNob3VsZCBiZSBp
bmNsdWRlZCBpbiB0ZXN0IHJ1bnMKKworICAgICAgICA6cGFyYW0gdXJsX3ByZWZpeDogVGhlIHVy
bCBwcmVmaXggdG8gaW5jbHVkZQorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX2Fk
ZF9ydWxlKHRlc3RfbWFuaWZlc3RzLCB1cmxfcHJlZml4LCAiaW5jbHVkZSIpCisKKyAgICBkZWYg
YWRkX2V4Y2x1ZGUoc2VsZiwgdGVzdF9tYW5pZmVzdHMsIHVybF9wcmVmaXgpOgorICAgICAgICAi
IiJBZGQgYSBydWxlIGluZGljYXRpbmcgdGhhdCB0ZXN0cyB1bmRlciBhIHVybCBwYXRoCisgICAg
ICAgIHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIHRlc3QgcnVucworCisgICAgICAgIDpwYXJhbSB1
cmxfcHJlZml4OiBUaGUgdXJsIHByZWZpeCB0byBleGNsdWRlCisgICAgICAgICIiIgorICAgICAg
ICByZXR1cm4gc2VsZi5fYWRkX3J1bGUodGVzdF9tYW5pZmVzdHMsIHVybF9wcmVmaXgsICJleGNs
dWRlIikKKworCitkZWYgZ2V0X21hbmlmZXN0KG1hbmlmZXN0X3BhdGgpOgorICAgIHdpdGggb3Bl
bihtYW5pZmVzdF9wYXRoKSBhcyBmOgorICAgICAgICByZXR1cm4gY29uZGl0aW9uYWwuY29tcGls
ZShmLCBkYXRhX2Nsc19nZXR0ZXI9bGFtYmRhIHgsIHk6IEluY2x1ZGVNYW5pZmVzdCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9tYW5pZmVzdHVwZGF0ZS5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tYW5p
ZmVzdHVwZGF0ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wN2U2MjNjNWQxYmJhYTAyNTEwNTZiYzAwM2MyYjVi
NjIzODQzN2YyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0dXBkYXRl
LnB5CkBAIC0wLDAgKzEsNDYwIEBACitpbXBvcnQgb3MKK2ltcG9ydCB1cmxwYXJzZQorZnJvbSBj
b2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZSwgZGVmYXVsdGRpY3QKKworZnJvbSB3cHRtYW5p
ZmVzdC5ub2RlIGltcG9ydCAoRGF0YU5vZGUsIENvbmRpdGlvbmFsTm9kZSwgQmluYXJ5RXhwcmVz
c2lvbk5vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaW5hcnlPcGVyYXRvck5v
ZGUsIFZhcmlhYmxlTm9kZSwgU3RyaW5nTm9kZSwgTnVtYmVyTm9kZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFVuYXJ5RXhwcmVzc2lvbk5vZGUsIFVuYXJ5T3BlcmF0b3JOb2RlLCBL
ZXlWYWx1ZU5vZGUpCitmcm9tIHdwdG1hbmlmZXN0LmJhY2tlbmRzIGltcG9ydCBjb25kaXRpb25h
bAorZnJvbSB3cHRtYW5pZmVzdC5iYWNrZW5kcy5jb25kaXRpb25hbCBpbXBvcnQgTWFuaWZlc3RJ
dGVtCisKK2ltcG9ydCBleHBlY3RlZAorCisiIiJNYW5pZmVzdCBzdHJ1Y3R1cmUgdXNlZCB0byB1
cGRhdGUgdGhlIGV4cGVjdGVkIHJlc3VsdHMgb2YgYSB0ZXN0CisKK0VhY2ggbWFuaWZlc3QgZmls
ZSBpcyByZXByZXNlbnRlZCBieSBhbiBFeHBlY3RlZE1hbmlmZXN0IHRoYXQgaGFzIG9uZQorb3Ig
bW9yZSBUZXN0Tm9kZSBjaGlsZHJlbiwgb25lIHBlciB0ZXN0IGluIHRoZSBtYW5pZmVzdC4gIEVh
Y2gKK1Rlc3ROb2RlIGhhcyB6ZXJvIG9yIG1vcmUgU3VidGVzdE5vZGUgY2hpbGRyZW4sIG9uZSBm
b3IgZWFjaCBrbm93bgorc3VidGVzdCBvZiB0aGUgdGVzdC4KKworSW4gdGhlc2UgcmVwcmVzZW50
YXRpb25zLCBjb25kaXRpb25hbHMgZXhwcmVzc2lvbnMgaW4gdGhlIG1hbmlmZXN0IGFyZQorbm90
IGV2YWx1YXRlZCB1cGZyb250IGJ1dCBzdG9yZWQgYXMgcHl0aG9uIGZ1bmN0aW9ucyB0byBiZSBl
dmFsdWF0ZWQKK2F0IHJ1bnRpbWUuCisKK1doZW4gYSByZXN1bHQgZm9yIGEgdGVzdCBpcyB0byBi
ZSB1cGRhdGVkIHNldF9yZXN1bHQgb24gdGhlCitbU3ViXVRlc3ROb2RlIGlzIGNhbGxlZCB0byBz
dG9yZSB0aGUgbmV3IHJlc3VsdCwgYWxvbmdzaWRlIHRoZQorZXhpc3RpbmcgY29uZGl0aW9uYWwg
dGhhdCByZXN1bHQncyBydW4gaW5mbyBtYXRjaGVkLCBpZiBhbnkuIE9uY2UgYWxsCituZXcgcmVz
dWx0cyBhcmUga25vd24sIGNvYWxlc2NlX2V4cGVjdGVkIGlzIGNhbGxlZCB0byBjb21wdXRlIHRo
ZSBuZXcKK3NldCBvZiByZXN1bHRzIGFuZCBjb25kaXRpb25hbHMuIFRoZSBBU1Qgb2YgdGhlIHVu
ZGVybHlpbmcgcGFyc2VkIG1hbmlmZXN0CitpcyB1cGRhdGVkIHdpdGggdGhlIGNoYW5nZXMsIGFu
ZCB0aGUgcmVzdWx0IGlzIHNlcmlhbGlzZWQgdG8gYSBmaWxlLgorIiIiCisKK2NsYXNzIENvbmRp
dGlvbkVycm9yKEV4Y2VwdGlvbik6CisgICAgcGFzcworCitSZXN1bHQgPSBuYW1lZHR1cGxlKCJS
ZXN1bHQiLCBbInJ1bl9pbmZvIiwgInN0YXR1cyJdKQorCisKK2RlZiBkYXRhX2Nsc19nZXR0ZXIo
b3V0cHV0X25vZGUsIHZpc2l0ZWRfbm9kZSk6CisgICAgIyB2aXNpdGVkX25vZGUgaXMgaW50ZW50
aW9uYWxseSB1bnVzZWQKKyAgICBpZiBvdXRwdXRfbm9kZSBpcyBOb25lOgorICAgICAgICByZXR1
cm4gRXhwZWN0ZWRNYW5pZmVzdAorICAgIGVsaWYgaXNpbnN0YW5jZShvdXRwdXRfbm9kZSwgRXhw
ZWN0ZWRNYW5pZmVzdCk6CisgICAgICAgIHJldHVybiBUZXN0Tm9kZQorICAgIGVsaWYgaXNpbnN0
YW5jZShvdXRwdXRfbm9kZSwgVGVzdE5vZGUpOgorICAgICAgICByZXR1cm4gU3VidGVzdE5vZGUK
KyAgICBlbHNlOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yCisKKworY2xhc3MgRXhwZWN0ZWRN
YW5pZmVzdChNYW5pZmVzdEl0ZW0pOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBub2RlLCB0ZXN0
X3BhdGg9Tm9uZSwgdXJsX2Jhc2U9Tm9uZSwgcHJvcGVydHlfb3JkZXI9Tm9uZSwKKyAgICAgICAg
ICAgICAgICAgYm9vbGVhbl9wcm9wZXJ0aWVzPU5vbmUpOgorICAgICAgICAiIiJPYmplY3QgcmVw
cmVzZW50aW5nIGFsbCB0aGUgdGVzdHMgaW4gYSBwYXJ0aWN1bGFyIG1hbmlmZXN0CisKKyAgICAg
ICAgOnBhcmFtIG5vZGU6IEFTVCBOb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG9iamVjdC4gSWYg
dGhpcyBpcyBOb25lLAorICAgICAgICAgICAgICAgICAgICAgYSBuZXcgQVNUIGlzIGNyZWF0ZWQg
dG8gYXNzb2NpYXRlIHdpdGggdGhpcyBtYW5pZmVzdC4KKyAgICAgICAgOnBhcmFtIHRlc3RfcGF0
aDogUGF0aCBvZiB0aGUgdGVzdCBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1hbmlmZXN0Lgor
ICAgICAgICA6cGFyYW0gdXJsX2Jhc2U6IEJhc2UgdXJsIGZvciBzZXJ2aW5nIHRoZSB0ZXN0cyBp
biB0aGlzIG1hbmlmZXN0LgorICAgICAgICA6cGFyYW0gcHJvcGVydHlfb3JkZXI6IExpc3Qgb2Yg
cHJvcGVydGllcyB0byB1c2UgaW4gZXhwZWN0YXRpb24gbWV0YWRhdGEKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmcm9tIG1vc3QgdG8gbGVhc3Qgc2lnbmlmaWNhbnQuCisgICAgICAg
IDpwYXJhbSBib29sZWFuX3Byb3BlcnRpZXM6IFNldCBvZiBwcm9wZXJ0aWVzIGluIHByb3BlcnR5
X29yZGVyIHRoYXQgc2hvdWxkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJl
IHRyZWF0ZWQgYXMgYm9vbGVhbi4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5vZGUgaXMgTm9u
ZToKKyAgICAgICAgICAgIG5vZGUgPSBEYXRhTm9kZShOb25lKQorICAgICAgICBNYW5pZmVzdEl0
ZW0uX19pbml0X18oc2VsZiwgbm9kZSkKKyAgICAgICAgc2VsZi5jaGlsZF9tYXAgPSB7fQorICAg
ICAgICBzZWxmLnRlc3RfcGF0aCA9IHRlc3RfcGF0aAorICAgICAgICBzZWxmLnVybF9iYXNlID0g
dXJsX2Jhc2UKKyAgICAgICAgYXNzZXJ0IHNlbGYudXJsX2Jhc2UgaXMgbm90IE5vbmUKKyAgICAg
ICAgc2VsZi5tb2RpZmllZCA9IEZhbHNlCisgICAgICAgIHNlbGYuYm9vbGVhbl9wcm9wZXJ0aWVz
ID0gYm9vbGVhbl9wcm9wZXJ0aWVzCisgICAgICAgIHNlbGYucHJvcGVydHlfb3JkZXIgPSBwcm9w
ZXJ0eV9vcmRlcgorCisgICAgZGVmIGFwcGVuZChzZWxmLCBjaGlsZCk6CisgICAgICAgIE1hbmlm
ZXN0SXRlbS5hcHBlbmQoc2VsZiwgY2hpbGQpCisgICAgICAgIGlmIGNoaWxkLmlkIGluIHNlbGYu
Y2hpbGRfbWFwOgorICAgICAgICAgICAgcHJpbnQgIldhcm5pbmc6IER1cGxpY2F0ZSBoZWFkaW5n
ICVzIiAlIGNoaWxkLmlkCisgICAgICAgIHNlbGYuY2hpbGRfbWFwW2NoaWxkLmlkXSA9IGNoaWxk
CisKKyAgICBkZWYgX3JlbW92ZV9jaGlsZChzZWxmLCBjaGlsZCk6CisgICAgICAgIGRlbCBzZWxm
LmNoaWxkX21hcFtjaGlsZC5pZF0KKyAgICAgICAgTWFuaWZlc3RJdGVtLl9yZW1vdmVfY2hpbGQo
c2VsZiwgY2hpbGQpCisKKyAgICBkZWYgZ2V0X3Rlc3Qoc2VsZiwgdGVzdF9pZCk6CisgICAgICAg
ICIiIlJldHVybiBhIFRlc3ROb2RlIGJ5IHRlc3QgaWQsIG9yIE5vbmUgaWYgbm8gdGVzdCBtYXRj
aGVzCisKKyAgICAgICAgOnBhcmFtIHRlc3RfaWQ6IFRoZSBpZCBvZiB0aGUgdGVzdCB0byBsb29r
IHVwIiIiCisKKyAgICAgICAgcmV0dXJuIHNlbGYuY2hpbGRfbWFwW3Rlc3RfaWRdCisKKyAgICBk
ZWYgaGFzX3Rlc3Qoc2VsZiwgdGVzdF9pZCk6CisgICAgICAgICIiIkJvb2xlYW4gaW5kaWNhdGlu
ZyB3aGV0aGVyIHRoZSBjdXJyZW50IHRlc3QgaGFzIGEga25vd24gY2hpbGQgdGVzdAorICAgICAg
ICB3aXRoIGlkIHRlc3QgaWQKKworICAgICAgICA6cGFyYW0gdGVzdF9pZDogVGhlIGlkIG9mIHRo
ZSB0ZXN0IHRvIGxvb2sgdXAiIiIKKworICAgICAgICByZXR1cm4gdGVzdF9pZCBpbiBzZWxmLmNo
aWxkX21hcAorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHVybChzZWxmKToKKyAgICAgICAgcmV0
dXJuIHVybHBhcnNlLnVybGpvaW4oc2VsZi51cmxfYmFzZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIi8iLmpvaW4oc2VsZi50ZXN0X3BhdGguc3BsaXQob3MucGF0aC5zZXApKSkK
KworY2xhc3MgVGVzdE5vZGUoTWFuaWZlc3RJdGVtKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
bm9kZSk6CisgICAgICAgICIiIlRyZWUgbm9kZSBhc3NvY2lhdGVkIHdpdGggYSBwYXJ0aWN1bGFy
IHRlc3QgaW4gYSBtYW5pZmVzdAorCisgICAgICAgIDpwYXJhbSBub2RlOiBBU1Qgbm9kZSBhc3Nv
Y2lhdGVkIHdpdGggdGhlIHRlc3QiIiIKKworICAgICAgICBNYW5pZmVzdEl0ZW0uX19pbml0X18o
c2VsZiwgbm9kZSkKKyAgICAgICAgc2VsZi51cGRhdGVkX2V4cGVjdGVkID0gW10KKyAgICAgICAg
c2VsZi5uZXdfZXhwZWN0ZWQgPSBbXQorICAgICAgICBzZWxmLnN1YnRlc3RzID0ge30KKyAgICAg
ICAgc2VsZi5kZWZhdWx0X3N0YXR1cyA9IE5vbmUKKyAgICAgICAgc2VsZi5fZnJvbV9maWxlID0g
VHJ1ZQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGNyZWF0ZShjbHMsIHRlc3RfdHlwZSwg
dGVzdF9pZCk6CisgICAgICAgICIiIkNyZWF0ZSBhIFRlc3ROb2RlIGNvcnJlc3BvbmRpbmcgdG8g
YSBnaXZlbiB0ZXN0CisKKyAgICAgICAgOnBhcmFtIHRlc3RfdHlwZTogVGhlIHR5cGUgb2YgdGhl
IHRlc3QKKyAgICAgICAgOnBhcmFtIHRlc3RfaWQ6IFRoZSBpZCBvZiB0aGUgdGVzdCIiIgorCisg
ICAgICAgIHVybCA9IHRlc3RfaWQKKyAgICAgICAgbmFtZSA9IHVybC5zcGxpdCgiLyIpWy0xXQor
ICAgICAgICBub2RlID0gRGF0YU5vZGUobmFtZSkKKyAgICAgICAgc2VsZiA9IGNscyhub2RlKQor
CisgICAgICAgIHNlbGYuc2V0KCJ0eXBlIiwgdGVzdF90eXBlKQorICAgICAgICBzZWxmLl9mcm9t
X2ZpbGUgPSBGYWxzZQorICAgICAgICByZXR1cm4gc2VsZgorCisgICAgQHByb3BlcnR5CisgICAg
ZGVmIGlzX2VtcHR5KHNlbGYpOgorICAgICAgICByZXF1aXJlZF9rZXlzID0gc2V0KFsidHlwZSJd
KQorICAgICAgICBpZiBzZXQoc2VsZi5fZGF0YS5rZXlzKCkpICE9IHJlcXVpcmVkX2tleXM6Cisg
ICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIGFsbChjaGlsZC5pc19lbXB0
eSBmb3IgY2hpbGQgaW4gc2VsZi5jaGlsZHJlbikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiB0
ZXN0X3R5cGUoc2VsZik6CisgICAgICAgICIiIlRoZSB0eXBlIG9mIHRoZSB0ZXN0IHJlcHJlc2Vu
dGVkIGJ5IHRoaXMgVGVzdE5vZGUiIiIKKworICAgICAgICByZXR1cm4gc2VsZi5nZXQoInR5cGUi
LCBOb25lKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGlkKHNlbGYpOgorICAgICAgICAiIiJU
aGUgaWQgb2YgdGhlIHRlc3QgcmVwcmVzZW50ZWQgYnkgdGhpcyBUZXN0Tm9kZSIiIgorICAgICAg
ICByZXR1cm4gdXJscGFyc2UudXJsam9pbihzZWxmLnBhcmVudC51cmwsIHNlbGYubmFtZSkKKwor
ICAgIGRlZiBkaXNhYmxlZChzZWxmLCBydW5faW5mbyk6CisgICAgICAgICIiIkJvb2xlYW4gaW5k
aWNhdGluZyB3aGV0aGVyIHRoaXMgdGVzdCBpcyBkaXNhYmxlZCB3aGVuIHJ1biBpbiBhbgorICAg
ICAgICBlbnZpcm9ubWVudCB3aXRoIHRoZSBnaXZlbiBydW5faW5mbworCisgICAgICAgIDpwYXJh
bSBydW5faW5mbzogRGljdGlvbmFyeSBvZiBydW5faW5mbyBwYXJhbWV0ZXJzIiIiCisKKyAgICAg
ICAgcmV0dXJuIHNlbGYuZ2V0KCJkaXNhYmxlZCIsIHJ1bl9pbmZvKSBpcyBub3QgTm9uZQorCisg
ICAgZGVmIHNldF9yZXN1bHQoc2VsZiwgcnVuX2luZm8sIHJlc3VsdCk6CisgICAgICAgICIiIlNl
dCB0aGUgcmVzdWx0IG9mIHRoZSB0ZXN0IGluIGEgcGFydGljdWxhciBydW4KKworICAgICAgICA6
cGFyYW0gcnVuX2luZm86IERpY3Rpb25hcnkgb2YgcnVuX2luZm8gcGFyYW1ldGVycyBjb3JyZXNw
b25kaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdGhpcyBydW4KKyAgICAgICAgOnBh
cmFtIHJlc3VsdDogU3RhdHVzIG9mIHRoZSB0ZXN0IGluIHRoaXMgcnVuIiIiCisKKyAgICAgICAg
aWYgc2VsZi5kZWZhdWx0X3N0YXR1cyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGFzc2VydCBz
ZWxmLmRlZmF1bHRfc3RhdHVzID09IHJlc3VsdC5kZWZhdWx0X2V4cGVjdGVkCisgICAgICAgIGVs
c2U6CisgICAgICAgICAgICBzZWxmLmRlZmF1bHRfc3RhdHVzID0gcmVzdWx0LmRlZmF1bHRfZXhw
ZWN0ZWQKKworICAgICAgICAjIEFkZCB0aGlzIHJlc3VsdCB0byB0aGUgbGlzdCBvZiByZXN1bHRz
IHNhdGlzZnlpbmcKKyAgICAgICAgIyBhbnkgY29uZGl0aW9uIGluIHRoZSBsaXN0IG9mIHVwZGF0
ZWQgcmVzdWx0cyBpdCBtYXRjaGVzCisgICAgICAgIGZvciAoY29uZCwgdmFsdWVzKSBpbiBzZWxm
LnVwZGF0ZWRfZXhwZWN0ZWQ6CisgICAgICAgICAgICBpZiBjb25kKHJ1bl9pbmZvKToKKyAgICAg
ICAgICAgICAgICB2YWx1ZXMuYXBwZW5kKFJlc3VsdChydW5faW5mbywgcmVzdWx0LnN0YXR1cykp
CisgICAgICAgICAgICAgICAgaWYgcmVzdWx0LnN0YXR1cyAhPSBjb25kLnZhbHVlOgorICAgICAg
ICAgICAgICAgICAgICBzZWxmLnJvb3QubW9kaWZpZWQgPSBUcnVlCisgICAgICAgICAgICAgICAg
YnJlYWsKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgV2UgZGlkbid0IGZpbmQgYSBwcmV2
aW91cyB2YWx1ZSBmb3IgdGhpcworICAgICAgICAgICAgc2VsZi5uZXdfZXhwZWN0ZWQuYXBwZW5k
KFJlc3VsdChydW5faW5mbywgcmVzdWx0LnN0YXR1cykpCisgICAgICAgICAgICBzZWxmLnJvb3Qu
bW9kaWZpZWQgPSBUcnVlCisKKyAgICBkZWYgY29hbGVzY2VfZXhwZWN0ZWQoc2VsZik6CisgICAg
ICAgICIiIlVwZGF0ZSB0aGUgdW5kZXJseWluZyBtYW5pZmVzdCBBU1QgZm9yIHRoaXMgdGVzdCBi
YXNlZCBvbiBhbGwgdGhlCisgICAgICAgIGFkZGVkIHJlc3VsdHMuCisKKyAgICAgICAgVGhpcyB3
aWxsIHVwZGF0ZSBleGlzdGluZyBjb25kaXRpb25hbHMgaWYgdGhleSBnb3QgdGhlIHNhbWUgcmVz
dWx0IGluCisgICAgICAgIGFsbCBtYXRjaGluZyBydW5zIGluIHRoZSB1cGRhdGVkIHJlc3VsdHMs
IHdpbGwgZGVsZXRlIGV4aXN0aW5nIGNvbmRpdGlvbmFscworICAgICAgICB0aGF0IGdldCBtb3Jl
IHRoYW4gb25lIGRpZmZlcmVudCByZXN1bHQgaW4gdGhlIHVwZGF0ZWQgcnVuLCBhbmQgYWRkIG5l
dworICAgICAgICBjb25kaXRpb25hbHMgZm9yIGFueXRoaW5nIHRoYXQgZG9lc24ndCBtYXRjaCBh
biBleGlzdGluZyBjb25kaXRpb25hbC4KKworICAgICAgICBDb25kaXRpb25hbHMgbm90IG1hdGNo
ZWQgYnkgYW55IGFkZGVkIHJlc3VsdCBhcmUgbm90IGNoYW5nZWQuIiIiCisKKyAgICAgICAgZmlu
YWxfY29uZGl0aW9uYWxzID0gW10KKworICAgICAgICB0cnk6CisgICAgICAgICAgICB1bmNvbmRp
dGlvbmFsX3N0YXR1cyA9IHNlbGYuZ2V0KCJleHBlY3RlZCIpCisgICAgICAgIGV4Y2VwdCBLZXlF
cnJvcjoKKyAgICAgICAgICAgIHVuY29uZGl0aW9uYWxfc3RhdHVzID0gc2VsZi5kZWZhdWx0X3N0
YXR1cworCisgICAgICAgIGZvciBjb25kaXRpb25hbF92YWx1ZSwgcmVzdWx0cyBpbiBzZWxmLnVw
ZGF0ZWRfZXhwZWN0ZWQ6CisgICAgICAgICAgICBpZiBub3QgcmVzdWx0czoKKyAgICAgICAgICAg
ICAgICAjIFRoZSBjb25kaXRpb25hbCBkaWRuJ3QgbWF0Y2ggYW55dGhpbmcgaW4gdGhlc2UgcnVu
cyBzbyBsZWF2ZSBpdCBhbG9uZQorICAgICAgICAgICAgICAgIGZpbmFsX2NvbmRpdGlvbmFscy5h
cHBlbmQoY29uZGl0aW9uYWxfdmFsdWUpCisgICAgICAgICAgICBlbGlmIGFsbChyZXN1bHRzWzBd
LnN0YXR1cyA9PSByZXN1bHQuc3RhdHVzIGZvciByZXN1bHQgaW4gcmVzdWx0cyk6CisgICAgICAg
ICAgICAgICAgIyBBbGwgdGhlIG5ldyB2YWx1ZXMgZm9yIHRoaXMgY29uZGl0aW9uYWwgbWF0Y2hl
ZCwgc28gdXBkYXRlIHRoZSBub2RlCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0c1sw
XQorICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09IHVuY29uZGl0aW9uYWxfc3Rh
dHVzIGFuZAorICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbF92YWx1ZS5jb25kaXRpb25f
bm9kZSBpcyBub3QgTm9uZSk6CisgICAgICAgICAgICAgICAgICAgIGlmICJleHBlY3RlZCIgaW4g
c2VsZjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmVtb3ZlX3ZhbHVlKCJleHBlY3Rl
ZCIsIGNvbmRpdGlvbmFsX3ZhbHVlKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICAgICAgICAgIGNvbmRpdGlvbmFsX3ZhbHVlLnZhbHVlID0gcmVzdWx0LnN0YXR1cworICAgICAg
ICAgICAgICAgICAgICBmaW5hbF9jb25kaXRpb25hbHMuYXBwZW5kKGNvbmRpdGlvbmFsX3ZhbHVl
KQorICAgICAgICAgICAgZWxpZiBjb25kaXRpb25hbF92YWx1ZS5jb25kaXRpb25fbm9kZSBpcyBu
b3QgTm9uZToKKyAgICAgICAgICAgICAgICAjIEJsb3cgYXdheSB0aGUgZXhpc3RpbmcgY29uZGl0
aW9uIGFuZCByZWJ1aWxkIGZyb20gc2NyYXRjaAorICAgICAgICAgICAgICAgICMgVGhpcyBpc24n
dCBzdXJlIHRvIHdvcmsgaWYgd2UgaGF2ZSBhIGNvbmRpdGlvbmFsIGxhdGVyIHRoYXQgbWF0Y2hl
cworICAgICAgICAgICAgICAgICMgdGhlc2UgdmFsdWVzIHRvbywgYnV0IHdlIGNhbiBob3BlLCB2
ZXJpZnkgdGhhdCB3ZSBnZXQgdGhlIHJlc3VsdHMKKyAgICAgICAgICAgICAgICAjIHdlIGV4cGVj
dCwgYW5kIGlmIG5vdCBsZXQgYSBodW1hbiBzb3J0IGl0IG91dAorICAgICAgICAgICAgICAgIHNl
bGYucmVtb3ZlX3ZhbHVlKCJleHBlY3RlZCIsIGNvbmRpdGlvbmFsX3ZhbHVlKQorICAgICAgICAg
ICAgICAgIHNlbGYubmV3X2V4cGVjdGVkLmV4dGVuZChyZXN1bHRzKQorICAgICAgICAgICAgZWxp
ZiBjb25kaXRpb25hbF92YWx1ZS5jb25kaXRpb25fbm9kZSBpcyBOb25lOgorICAgICAgICAgICAg
ICAgIHNlbGYubmV3X2V4cGVjdGVkLmV4dGVuZChyZXN1bHQgZm9yIHJlc3VsdCBpbiByZXN1bHRz
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHJlc3VsdC5zdGF0
dXMgIT0gdW5jb25kaXRpb25hbF9zdGF0dXMpCisKKyAgICAgICAgIyBJdCBpcyBhbiBpbnZhcmlh
bnQgdGhhdCBub3RoaW5nIGluIG5ld19leHBlY3RlZCBtYXRjaGVzIGFuIGV4aXN0aW5nCisgICAg
ICAgICMgY29uZGl0aW9uIGV4Y2VwdCBmb3IgdGhlIGRlZmF1bHQgY29uZGl0aW9uCisKKyAgICAg
ICAgaWYgc2VsZi5uZXdfZXhwZWN0ZWQ6CisgICAgICAgICAgICBpZiBhbGwoc2VsZi5uZXdfZXhw
ZWN0ZWRbMF0uc3RhdHVzID09IHJlc3VsdC5zdGF0dXMKKyAgICAgICAgICAgICAgICAgICBmb3Ig
cmVzdWx0IGluIHNlbGYubmV3X2V4cGVjdGVkKSBhbmQgbm90IHNlbGYudXBkYXRlZF9leHBlY3Rl
ZDoKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLm5ld19leHBlY3RlZFswXS5zdGF0dXMK
KyAgICAgICAgICAgICAgICBpZiBzdGF0dXMgIT0gc2VsZi5kZWZhdWx0X3N0YXR1czoKKyAgICAg
ICAgICAgICAgICAgICAgc2VsZi5zZXQoImV4cGVjdGVkIiwgc3RhdHVzLCBjb25kaXRpb249Tm9u
ZSkKKyAgICAgICAgICAgICAgICAgICAgZmluYWxfY29uZGl0aW9uYWxzLmFwcGVuZChzZWxmLl9k
YXRhWyJleHBlY3RlZCJdWy0xXSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg
dHJ5OgorICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbHMgPSBncm91cF9jb25kaXRpb25h
bHMoCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm5ld19leHBlY3RlZCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHByb3BlcnR5X29yZGVyPXNlbGYucm9vdC5wcm9wZXJ0eV9vcmRlciwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcz1zZWxmLnJvb3QuYm9v
bGVhbl9wcm9wZXJ0aWVzKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBDb25kaXRpb25FcnJvcjoK
KyAgICAgICAgICAgICAgICAgICAgcHJpbnQgIkNvbmZsaWN0aW5nIHRlc3QgcmVzdWx0cyBmb3Ig
JXMsIGNhbm5vdCB1cGRhdGUiICUgc2VsZi5yb290LnRlc3RfcGF0aAorICAgICAgICAgICAgICAg
ICAgICByZXR1cm4KKyAgICAgICAgICAgICAgICBmb3IgY29uZGl0aW9uYWxfbm9kZSwgc3RhdHVz
IGluIGNvbmRpdGlvbmFsczoKKyAgICAgICAgICAgICAgICAgICAgaWYgc3RhdHVzICE9IHVuY29u
ZGl0aW9uYWxfc3RhdHVzOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXQoImV4cGVj
dGVkIiwgc3RhdHVzLCBjb25kaXRpb249Y29uZGl0aW9uYWxfbm9kZS5jaGlsZHJlblswXSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGZpbmFsX2NvbmRpdGlvbmFscy5hcHBlbmQoc2VsZi5fZGF0
YVsiZXhwZWN0ZWQiXVstMV0pCisKKyAgICAgICAgaWYgKCJleHBlY3RlZCIgaW4gc2VsZi5fZGF0
YSBhbmQKKyAgICAgICAgICAgIGxlbihzZWxmLl9kYXRhWyJleHBlY3RlZCJdKSA+IDAgYW5kCisg
ICAgICAgICAgICBzZWxmLl9kYXRhWyJleHBlY3RlZCJdWy0xXS5jb25kaXRpb25fbm9kZSBpcyBO
b25lIGFuZAorICAgICAgICAgICAgc2VsZi5fZGF0YVsiZXhwZWN0ZWQiXVstMV0udmFsdWUgPT0g
c2VsZi5kZWZhdWx0X3N0YXR1cyk6CisKKyAgICAgICAgICAgIHNlbGYucmVtb3ZlX3ZhbHVlKCJl
eHBlY3RlZCIsIHNlbGYuX2RhdGFbImV4cGVjdGVkIl1bLTFdKQorCisgICAgICAgIGlmICgiZXhw
ZWN0ZWQiIGluIHNlbGYuX2RhdGEgYW5kCisgICAgICAgICAgICBsZW4oc2VsZi5fZGF0YVsiZXhw
ZWN0ZWQiXSkgPT0gMCk6CisgICAgICAgICAgICBmb3IgY2hpbGQgaW4gc2VsZi5ub2RlLmNoaWxk
cmVuOgorICAgICAgICAgICAgICAgIGlmIChpc2luc3RhbmNlKGNoaWxkLCBLZXlWYWx1ZU5vZGUp
IGFuZAorICAgICAgICAgICAgICAgICAgICBjaGlsZC5kYXRhID09ICJleHBlY3RlZCIpOgorICAg
ICAgICAgICAgICAgICAgICBjaGlsZC5yZW1vdmUoKQorICAgICAgICAgICAgICAgICAgICBicmVh
aworCisgICAgZGVmIF9hZGRfa2V5X3ZhbHVlKHNlbGYsIG5vZGUsIHZhbHVlcyk6CisgICAgICAg
IE1hbmlmZXN0SXRlbS5fYWRkX2tleV92YWx1ZShzZWxmLCBub2RlLCB2YWx1ZXMpCisgICAgICAg
IGlmIG5vZGUuZGF0YSA9PSAiZXhwZWN0ZWQiOgorICAgICAgICAgICAgc2VsZi51cGRhdGVkX2V4
cGVjdGVkID0gW10KKyAgICAgICAgICAgIGZvciB2YWx1ZSBpbiB2YWx1ZXM6CisgICAgICAgICAg
ICAgICAgc2VsZi51cGRhdGVkX2V4cGVjdGVkLmFwcGVuZCgodmFsdWUsIFtdKSkKKworICAgIGRl
ZiBjbGVhcl9leHBlY3RlZChzZWxmKToKKyAgICAgICAgIiIiQ2xlYXIgYWxsIHRoZSBleHBlY3Rl
ZCBkYXRhIGZvciB0aGlzIHRlc3QgYW5kIGFsbCBvZiBpdHMgc3VidGVzdHMiIiIKKworICAgICAg
ICBzZWxmLnVwZGF0ZWRfZXhwZWN0ZWQgPSBbXQorICAgICAgICBpZiAiZXhwZWN0ZWQiIGluIHNl
bGYuX2RhdGE6CisgICAgICAgICAgICBmb3IgY2hpbGQgaW4gc2VsZi5ub2RlLmNoaWxkcmVuOgor
ICAgICAgICAgICAgICAgIGlmIChpc2luc3RhbmNlKGNoaWxkLCBLZXlWYWx1ZU5vZGUpIGFuZAor
ICAgICAgICAgICAgICAgICAgICBjaGlsZC5kYXRhID09ICJleHBlY3RlZCIpOgorICAgICAgICAg
ICAgICAgICAgICBjaGlsZC5yZW1vdmUoKQorICAgICAgICAgICAgICAgICAgICBkZWwgc2VsZi5f
ZGF0YVsiZXhwZWN0ZWQiXQorICAgICAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgIGZv
ciBzdWJ0ZXN0IGluIHNlbGYuc3VidGVzdHMuaXRlcnZhbHVlcygpOgorICAgICAgICAgICAgc3Vi
dGVzdC5jbGVhcl9leHBlY3RlZCgpCisKKyAgICBkZWYgYXBwZW5kKHNlbGYsIG5vZGUpOgorICAg
ICAgICBjaGlsZCA9IE1hbmlmZXN0SXRlbS5hcHBlbmQoc2VsZiwgbm9kZSkKKyAgICAgICAgc2Vs
Zi5zdWJ0ZXN0c1tjaGlsZC5uYW1lXSA9IGNoaWxkCisKKyAgICBkZWYgZ2V0X3N1YnRlc3Qoc2Vs
ZiwgbmFtZSk6CisgICAgICAgICIiIlJldHVybiBhIFN1YnRlc3ROb2RlIGNvcnJlc3BvbmRpbmcg
dG8gYSBwYXJ0aWN1bGFyIHN1YnRlc3Qgb2YKKyAgICAgICAgdGhlIGN1cnJlbnQgdGVzdCwgY3Jl
YXRpbmcgYSBuZXcgb25lIGlmIG5vIHN1YnRlc3Qgd2l0aCB0aGF0IG5hbWUKKyAgICAgICAgYWxy
ZWFkeSBleGlzdHMuCisKKyAgICAgICAgOnBhcmFtIG5hbWU6IE5hbWUgb2YgdGhlIHN1YnRlc3Qi
IiIKKworICAgICAgICBpZiBuYW1lIGluIHNlbGYuc3VidGVzdHM6CisgICAgICAgICAgICByZXR1
cm4gc2VsZi5zdWJ0ZXN0c1tuYW1lXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc3VidGVz
dCA9IFN1YnRlc3ROb2RlLmNyZWF0ZShuYW1lKQorICAgICAgICAgICAgc2VsZi5hcHBlbmQoc3Vi
dGVzdCkKKyAgICAgICAgICAgIHJldHVybiBzdWJ0ZXN0CisKKworY2xhc3MgU3VidGVzdE5vZGUo
VGVzdE5vZGUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBub2RlKToKKyAgICAgICAgYXNzZXJ0
IGlzaW5zdGFuY2Uobm9kZSwgRGF0YU5vZGUpCisgICAgICAgIFRlc3ROb2RlLl9faW5pdF9fKHNl
bGYsIG5vZGUpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgY3JlYXRlKGNscywgbmFtZSk6
CisgICAgICAgIG5vZGUgPSBEYXRhTm9kZShuYW1lKQorICAgICAgICBzZWxmID0gY2xzKG5vZGUp
CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaXNfZW1wdHko
c2VsZik6CisgICAgICAgIGlmIHNlbGYuX2RhdGE6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UK
KyAgICAgICAgcmV0dXJuIFRydWUKKworCitkZWYgZ3JvdXBfY29uZGl0aW9uYWxzKHZhbHVlcywg
cHJvcGVydHlfb3JkZXI9Tm9uZSwgYm9vbGVhbl9wcm9wZXJ0aWVzPU5vbmUpOgorICAgICIiIkdp
dmVuIGEgbGlzdCBvZiBSZXN1bHQgb2JqZWN0cywgcmV0dXJuIGEgbGlzdCBvZgorICAgIChjb25k
aXRpb25hbF9ub2RlLCBzdGF0dXMpIHBhaXJzIHJlcHJlc2VudGluZyB0aGUgY29uZGl0aW9uYWwK
KyAgICBleHByZXNzaW9ucyB0aGF0IGFyZSByZXF1aXJlZCB0byBtYXRjaCBlYWNoIHN0YXR1cwor
CisgICAgOnBhcmFtIHZhbHVlczogTGlzdCBvZiBSZXN1bHRzCisgICAgOnBhcmFtIHByb3BlcnR5
X29yZGVyOiBMaXN0IG9mIHByb3BlcnRpZXMgdG8gdXNlIGluIGV4cGVjdGF0aW9uIG1ldGFkYXRh
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIG1vc3QgdG8gbGVhc3Qgc2lnbmlmaWNh
bnQuCisgICAgOnBhcmFtIGJvb2xlYW5fcHJvcGVydGllczogU2V0IG9mIHByb3BlcnRpZXMgaW4g
cHJvcGVydHlfb3JkZXIgdGhhdCBzaG91bGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBiZSB0cmVhdGVkIGFzIGJvb2xlYW4uIiIiCisKKyAgICBieV9wcm9wZXJ0eSA9IGRlZmF1bHRk
aWN0KHNldCkKKyAgICBmb3IgcnVuX2luZm8sIHN0YXR1cyBpbiB2YWx1ZXM6CisgICAgICAgIGZv
ciBwcm9wX25hbWUsIHByb3BfdmFsdWUgaW4gcnVuX2luZm8uaXRlcml0ZW1zKCk6CisgICAgICAg
ICAgICBieV9wcm9wZXJ0eVsocHJvcF9uYW1lLCBwcm9wX3ZhbHVlKV0uYWRkKHN0YXR1cykKKwor
ICAgIGlmIHByb3BlcnR5X29yZGVyIGlzIE5vbmU6CisgICAgICAgIHByb3BlcnR5X29yZGVyID0g
WyJkZWJ1ZyIsICJvcyIsICJ2ZXJzaW9uIiwgInByb2Nlc3NvciIsICJiaXRzIl0KKworICAgIGlm
IGJvb2xlYW5fcHJvcGVydGllcyBpcyBOb25lOgorICAgICAgICBib29sZWFuX3Byb3BlcnRpZXMg
PSBzZXQoWyJkZWJ1ZyJdKQorICAgIGVsc2U6CisgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcyA9
IHNldChib29sZWFuX3Byb3BlcnRpZXMpCisKKyAgICAjIElmIHdlIGhhdmUgbW9yZSB0aGFuIG9u
ZSB2YWx1ZSwgcmVtb3ZlIGFueSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGNvbW1vbgorICAgICMgZm9y
IGFsbCB0aGUgdmFsdWVzCisgICAgaWYgbGVuKHZhbHVlcykgPiAxOgorICAgICAgICBmb3Iga2V5
LCBzdGF0dXNlcyBpbiBieV9wcm9wZXJ0eS5jb3B5KCkuaXRlcml0ZW1zKCk6CisgICAgICAgICAg
ICBpZiBsZW4oc3RhdHVzZXMpID09IGxlbih2YWx1ZXMpOgorICAgICAgICAgICAgICAgIGRlbCBi
eV9wcm9wZXJ0eVtrZXldCisgICAgICAgIGlmIG5vdCBieV9wcm9wZXJ0eToKKyAgICAgICAgICAg
IHJhaXNlIENvbmRpdGlvbkVycm9yCisKKyAgICBwcm9wZXJ0aWVzID0gc2V0KGl0ZW1bMF0gZm9y
IGl0ZW0gaW4gYnlfcHJvcGVydHkuaXRlcmtleXMoKSkKKyAgICBpbmNsdWRlX3Byb3BzID0gW10K
KworICAgIGZvciBwcm9wIGluIHByb3BlcnR5X29yZGVyOgorICAgICAgICBpZiBwcm9wIGluIHBy
b3BlcnRpZXM6CisgICAgICAgICAgICBpbmNsdWRlX3Byb3BzLmFwcGVuZChwcm9wKQorCisgICAg
Y29uZGl0aW9ucyA9IHt9CisKKyAgICBmb3IgcnVuX2luZm8sIHN0YXR1cyBpbiB2YWx1ZXM6Cisg
ICAgICAgIHByb3Bfc2V0ID0gdHVwbGUoKHByb3AsIHJ1bl9pbmZvW3Byb3BdKSBmb3IgcHJvcCBp
biBpbmNsdWRlX3Byb3BzKQorICAgICAgICBpZiBwcm9wX3NldCBpbiBjb25kaXRpb25zOgorICAg
ICAgICAgICAgY29udGludWUKKworICAgICAgICBleHByID0gbWFrZV9leHByKHByb3Bfc2V0LCBz
dGF0dXMsIGJvb2xlYW5fcHJvcGVydGllcz1ib29sZWFuX3Byb3BlcnRpZXMpCisgICAgICAgIGNv
bmRpdGlvbnNbcHJvcF9zZXRdID0gKGV4cHIsIHN0YXR1cykKKworICAgIHJldHVybiBjb25kaXRp
b25zLnZhbHVlcygpCisKKworZGVmIG1ha2VfZXhwcihwcm9wX3NldCwgc3RhdHVzLCBib29sZWFu
X3Byb3BlcnRpZXM9Tm9uZSk6CisgICAgIiIiQ3JlYXRlIGFuIEFTVCB0aGF0IHJldHVybnMgdGhl
IHZhbHVlIGBgc3RhdHVzYGAgZ2l2ZW4gYWxsIHRoZQorICAgIHByb3BlcnRpZXMgaW4gcHJvcF9z
ZXQgbWF0Y2guCisKKyAgICA6cGFyYW0gcHJvcF9zZXQ6IHR1cGxlIG9mIChwcm9wZXJ0eSBuYW1l
LCB2YWx1ZSkgcGFpcnMgZm9yIGVhY2gKKyAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5IGlu
IHRoaXMgZXhwcmVzc2lvbiBhbmQgdGhlIHZhbHVlIGl0IG11c3QgbWF0Y2gKKyAgICA6cGFyYW0g
c3RhdHVzOiBTdGF0dXMgb24gUkhTIHdoZW4gYWxsIHRoZSBnaXZlbiBwcm9wZXJ0aWVzIG1hdGNo
CisgICAgOnBhcmFtIGJvb2xlYW5fcHJvcGVydGllczogU2V0IG9mIHByb3BlcnRpZXMgaW4gcHJv
cGVydHlfb3JkZXIgdGhhdCBzaG91bGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
ZSB0cmVhdGVkIGFzIGJvb2xlYW4uCisgICAgIiIiCisgICAgcm9vdCA9IENvbmRpdGlvbmFsTm9k
ZSgpCisKKyAgICBhc3NlcnQgbGVuKHByb3Bfc2V0KSA+IDAKKworICAgIGV4cHJlc3Npb25zID0g
W10KKyAgICBmb3IgcHJvcCwgdmFsdWUgaW4gcHJvcF9zZXQ6CisgICAgICAgIG51bWJlcl90eXBl
cyA9IChpbnQsIGZsb2F0LCBsb25nKQorICAgICAgICB2YWx1ZV9jbHMgPSAoTnVtYmVyTm9kZQor
ICAgICAgICAgICAgICAgICAgICAgaWYgdHlwZSh2YWx1ZSkgaW4gbnVtYmVyX3R5cGVzCisgICAg
ICAgICAgICAgICAgICAgICBlbHNlIFN0cmluZ05vZGUpCisgICAgICAgIGlmIHByb3Agbm90IGlu
IGJvb2xlYW5fcHJvcGVydGllczoKKyAgICAgICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZCgKKyAg
ICAgICAgICAgICAgICBCaW5hcnlFeHByZXNzaW9uTm9kZSgKKyAgICAgICAgICAgICAgICAgICAg
QmluYXJ5T3BlcmF0b3JOb2RlKCI9PSIpLAorICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZU5v
ZGUocHJvcCksCisgICAgICAgICAgICAgICAgICAgIHZhbHVlX2Nscyh1bmljb2RlKHZhbHVlKSkK
KyAgICAgICAgICAgICAgICApKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgdmFsdWU6
CisgICAgICAgICAgICAgICAgZXhwcmVzc2lvbnMuYXBwZW5kKFZhcmlhYmxlTm9kZShwcm9wKSkK
KyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZXhwcmVzc2lvbnMuYXBwZW5kKAor
ICAgICAgICAgICAgICAgICAgICBVbmFyeUV4cHJlc3Npb25Ob2RlKAorICAgICAgICAgICAgICAg
ICAgICAgICAgVW5hcnlPcGVyYXRvck5vZGUoIm5vdCIpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgVmFyaWFibGVOb2RlKHByb3ApCisgICAgICAgICAgICAgICAgICAgICkpCisgICAgaWYgbGVu
KGV4cHJlc3Npb25zKSA+IDE6CisgICAgICAgIHByZXYgPSBleHByZXNzaW9uc1stMV0KKyAgICAg
ICAgZm9yIGN1cnIgaW4gcmV2ZXJzZWQoZXhwcmVzc2lvbnNbOi0xXSk6CisgICAgICAgICAgICBu
b2RlID0gQmluYXJ5RXhwcmVzc2lvbk5vZGUoCisgICAgICAgICAgICAgICAgQmluYXJ5T3BlcmF0
b3JOb2RlKCJhbmQiKSwKKyAgICAgICAgICAgICAgICBjdXJyLAorICAgICAgICAgICAgICAgIHBy
ZXYpCisgICAgICAgICAgICBwcmV2ID0gbm9kZQorICAgIGVsc2U6CisgICAgICAgIG5vZGUgPSBl
eHByZXNzaW9uc1swXQorCisgICAgcm9vdC5hcHBlbmQobm9kZSkKKyAgICByb290LmFwcGVuZChT
dHJpbmdOb2RlKHN0YXR1cykpCisKKyAgICByZXR1cm4gcm9vdAorCisKK2RlZiBnZXRfbWFuaWZl
c3QobWV0YWRhdGFfcm9vdCwgdGVzdF9wYXRoLCB1cmxfYmFzZSwgcHJvcGVydHlfb3JkZXI9Tm9u
ZSwKKyAgICAgICAgICAgICAgICAgYm9vbGVhbl9wcm9wZXJ0aWVzPU5vbmUpOgorICAgICIiIkdl
dCB0aGUgRXhwZWN0ZWRNYW5pZmVzdCBmb3IgYSBwYXJ0aWN1bGFyIHRlc3QgcGF0aCwgb3IgTm9u
ZSBpZiB0aGVyZSBpcyBubworICAgIG1ldGFkYXRhIHN0b3JlZCBmb3IgdGhhdCB0ZXN0IHBhdGgu
CisKKyAgICA6cGFyYW0gbWV0YWRhdGFfcm9vdDogQWJzb2x1dGUgcGF0aCB0byB0aGUgcm9vdCBv
ZiB0aGUgbWV0YWRhdGEgZGlyZWN0b3J5CisgICAgOnBhcmFtIHRlc3RfcGF0aDogUGF0aCB0byB0
aGUgdGVzdChzKSByZWxhdGl2ZSB0byB0aGUgdGVzdCByb290CisgICAgOnBhcmFtIHVybF9iYXNl
OiBCYXNlIHVybCBmb3Igc2VydmluZyB0aGUgdGVzdHMgaW4gdGhpcyBtYW5pZmVzdAorICAgIDpw
YXJhbSBwcm9wZXJ0eV9vcmRlcjogTGlzdCBvZiBwcm9wZXJ0aWVzIHRvIHVzZSBpbiBleHBlY3Rh
dGlvbiBtZXRhZGF0YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBtb3N0IHRvIGxl
YXN0IHNpZ25pZmljYW50LgorICAgIDpwYXJhbSBib29sZWFuX3Byb3BlcnRpZXM6IFNldCBvZiBw
cm9wZXJ0aWVzIGluIHByb3BlcnR5X29yZGVyIHRoYXQgc2hvdWxkCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYmUgdHJlYXRlZCBhcyBib29sZWFuLiIiIgorICAgIG1hbmlmZXN0X3Bh
dGggPSBleHBlY3RlZC5leHBlY3RlZF9wYXRoKG1ldGFkYXRhX3Jvb3QsIHRlc3RfcGF0aCkKKyAg
ICB0cnk6CisgICAgICAgIHdpdGggb3BlbihtYW5pZmVzdF9wYXRoKSBhcyBmOgorICAgICAgICAg
ICAgcmV0dXJuIGNvbXBpbGUoZiwgdGVzdF9wYXRoLCB1cmxfYmFzZSwgcHJvcGVydHlfb3JkZXI9
cHJvcGVydHlfb3JkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFuX3Byb3Bl
cnRpZXM9Ym9vbGVhbl9wcm9wZXJ0aWVzKQorICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBy
ZXR1cm4gTm9uZQorCisKK2RlZiBjb21waWxlKG1hbmlmZXN0X2ZpbGUsIHRlc3RfcGF0aCwgdXJs
X2Jhc2UsIHByb3BlcnR5X29yZGVyPU5vbmUsCisgICAgICAgICAgICBib29sZWFuX3Byb3BlcnRp
ZXM9Tm9uZSk6CisgICAgcmV0dXJuIGNvbmRpdGlvbmFsLmNvbXBpbGUobWFuaWZlc3RfZmlsZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhX2Nsc19nZXR0ZXI9ZGF0YV9jbHNf
Z2V0dGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcGF0aD10ZXN0X3Bh
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsX2Jhc2U9dXJsX2Jhc2UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlfb3JkZXI9cHJvcGVydHlfb3Jk
ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbl9wcm9wZXJ0aWVzPWJv
b2xlYW5fcHJvcGVydGllcykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tZXRhZGF0YS5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9tZXRhZGF0YS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjBlMjliMjE5MGMxMWM1YTM5
MmFkNDA4ZjU3ZWJhZDZmMTk5OTQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21l
dGFkYXRhLnB5CkBAIC0wLDAgKzEsMzUxIEBACitpbXBvcnQgb3MKK2ltcG9ydCBzaHV0aWwKK2lt
cG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHR5cGVzCitpbXBvcnQgdXVpZAorZnJv
bSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3QKKworZnJvbSBtb3psb2cgaW1wb3J0IHJl
YWRlcgorZnJvbSBtb3psb2cgaW1wb3J0IHN0cnVjdHVyZWRsb2cKKworaW1wb3J0IGV4cGVjdGVk
CitpbXBvcnQgbWFuaWZlc3R1cGRhdGUKK2ltcG9ydCB0ZXN0bG9hZGVyCitpbXBvcnQgd3B0bWFu
aWZlc3QKK2ltcG9ydCB3cHR0ZXN0Citmcm9tIHZjcyBpbXBvcnQgZ2l0CittYW5pZmVzdCA9IE5v
bmUgICMgTW9kdWxlIHRoYXQgd2lsbCBiZSBpbXBvcnRlZCByZWxhdGl2ZSB0byB0ZXN0X3Jvb3QK
K21hbmlmZXN0aXRlbSA9IE5vbmUKKworbG9nZ2VyID0gc3RydWN0dXJlZGxvZy5TdHJ1Y3R1cmVk
TG9nZ2VyKCJ3ZWItcGxhdGZvcm0tdGVzdHMiKQorCisKK2RlZiBsb2FkX3Rlc3RfbWFuaWZlc3Rz
KHNlcnZlX3Jvb3QsIHRlc3RfcGF0aHMpOgorICAgIGRvX2RlbGF5ZWRfaW1wb3J0cyhzZXJ2ZV9y
b290KQorICAgIG1hbmlmZXN0X2xvYWRlciA9IHRlc3Rsb2FkZXIuTWFuaWZlc3RMb2FkZXIodGVz
dF9wYXRocywgRmFsc2UpCisgICAgcmV0dXJuIG1hbmlmZXN0X2xvYWRlci5sb2FkKCkKKworCitk
ZWYgdXBkYXRlX2V4cGVjdGVkKHRlc3RfcGF0aHMsIHNlcnZlX3Jvb3QsIGxvZ19maWxlX25hbWVz
LAorICAgICAgICAgICAgICAgICAgICByZXZfb2xkPU5vbmUsIHJldl9uZXc9IkhFQUQiLCBpZ25v
cmVfZXhpc3Rpbmc9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgIHN5bmNfcm9vdD1Ob25lLCBw
cm9wZXJ0eV9vcmRlcj1Ob25lLCBib29sZWFuX3Byb3BlcnRpZXM9Tm9uZSk6CisgICAgIiIiVXBk
YXRlIHRoZSBtZXRhZGF0YSBmaWxlcyBmb3Igd2ViLXBsYXRmb3JtLXRlc3RzIGJhc2VkIG9uCisg
ICAgdGhlIHJlc3VsdHMgb2J0YWluZWQgaW4gYSBwcmV2aW91cyBydW4iIiIKKworICAgIG1hbmlm
ZXN0cyA9IGxvYWRfdGVzdF9tYW5pZmVzdHMoc2VydmVfcm9vdCwgdGVzdF9wYXRocykKKworICAg
IGNoYW5nZV9kYXRhID0ge30KKworICAgIGlmIHN5bmNfcm9vdCBpcyBub3QgTm9uZToKKyAgICAg
ICAgaWYgcmV2X29sZCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJldl9vbGQgPSBnaXQoInJl
di1wYXJzZSIsIHJldl9vbGQsIHJlcG89c3luY19yb290KS5zdHJpcCgpCisgICAgICAgIHJldl9u
ZXcgPSBnaXQoInJldi1wYXJzZSIsIHJldl9uZXcsIHJlcG89c3luY19yb290KS5zdHJpcCgpCisK
KyAgICAgICAgaWYgcmV2X29sZCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGNoYW5nZV9kYXRh
ID0gbG9hZF9jaGFuZ2VfZGF0YShyZXZfb2xkLCByZXZfbmV3LCByZXBvPXN5bmNfcm9vdCkKKwor
CisgICAgZXhwZWN0ZWRfbWFwX2J5X21hbmlmZXN0ID0gdXBkYXRlX2Zyb21fbG9ncyhtYW5pZmVz
dHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbG9n
X2ZpbGVfbmFtZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZ25vcmVfZXhpc3Rpbmc9aWdub3JlX2V4aXN0aW5nLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlfb3JkZXI9cHJvcGVydHlfb3Jk
ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s
ZWFuX3Byb3BlcnRpZXM9Ym9vbGVhbl9wcm9wZXJ0aWVzKQorCisgICAgZm9yIHRlc3RfbWFuaWZl
c3QsIGV4cGVjdGVkX21hcCBpbiBleHBlY3RlZF9tYXBfYnlfbWFuaWZlc3QuaXRlcml0ZW1zKCk6
CisgICAgICAgIHVybF9iYXNlID0gbWFuaWZlc3RzW3Rlc3RfbWFuaWZlc3RdWyJ1cmxfYmFzZSJd
CisgICAgICAgIG1ldGFkYXRhX3BhdGggPSB0ZXN0X3BhdGhzW3VybF9iYXNlXVsibWV0YWRhdGFf
cGF0aCJdCisgICAgICAgIHdyaXRlX2NoYW5nZXMobWV0YWRhdGFfcGF0aCwgZXhwZWN0ZWRfbWFw
KQorCisgICAgcmVzdWx0c19jaGFuZ2VkID0gW2l0ZW0udGVzdF9wYXRoIGZvciBpdGVtIGluIGV4
cGVjdGVkX21hcC5pdGVydmFsdWVzKCkgaWYgaXRlbS5tb2RpZmllZF0KKworICAgIHJldHVybiB1
bmV4cGVjdGVkX2NoYW5nZXMobWFuaWZlc3RzLCBjaGFuZ2VfZGF0YSwgcmVzdWx0c19jaGFuZ2Vk
KQorCisKK2RlZiBkb19kZWxheWVkX2ltcG9ydHMoc2VydmVfcm9vdCk6CisgICAgZ2xvYmFsIG1h
bmlmZXN0LCBtYW5pZmVzdGl0ZW0KKyAgICBmcm9tIG1hbmlmZXN0IGltcG9ydCBtYW5pZmVzdCwg
aXRlbSBhcyBtYW5pZmVzdGl0ZW0KKworCitkZWYgZmlsZXNfaW5fcmVwbyhyZXBvX3Jvb3QpOgor
ICAgIHJldHVybiBnaXQoImxzLXRyZWUiLCAiLXIiLCAiLS1uYW1lLW9ubHkiLCAiSEVBRCIpLnNw
bGl0KCJcbiIpCisKKworZGVmIHJldl9yYW5nZShyZXZfb2xkLCByZXZfbmV3LCBzeW1tZXRyaWM9
RmFsc2UpOgorICAgIGpvaW5lciA9ICIuLiIgaWYgbm90IHN5bW1ldHJpYyBlbHNlICIuLi4iCisg
ICAgcmV0dXJuICIiLmpvaW4oW3Jldl9vbGQsIGpvaW5lciwgcmV2X25ld10pCisKKworZGVmIHBh
dGhzX2NoYW5nZWQocmV2X29sZCwgcmV2X25ldywgcmVwbyk6CisgICAgZGF0YSA9IGdpdCgiZGlm
ZiIsICItLW5hbWUtc3RhdHVzIiwgcmV2X3JhbmdlKHJldl9vbGQsIHJldl9uZXcpLCByZXBvPXJl
cG8pCisgICAgbGluZXMgPSBbdHVwbGUoaXRlbS5zdHJpcCgpIGZvciBpdGVtIGluIGxpbmUuc3Ry
aXAoKS5zcGxpdCgiXHQiLCAxKSkKKyAgICAgICAgICAgICBmb3IgbGluZSBpbiBkYXRhLnNwbGl0
KCJcbiIpIGlmIGxpbmUuc3RyaXAoKV0KKyAgICBvdXRwdXQgPSBzZXQobGluZXMpCisgICAgcmV0
dXJuIG91dHB1dAorCisKK2RlZiBsb2FkX2NoYW5nZV9kYXRhKHJldl9vbGQsIHJldl9uZXcsIHJl
cG8pOgorICAgIGNoYW5nZXMgPSBwYXRoc19jaGFuZ2VkKHJldl9vbGQsIHJldl9uZXcsIHJlcG8p
CisgICAgcnYgPSB7fQorICAgIHN0YXR1c19rZXlzID0geyJNIjogIm1vZGlmaWVkIiwKKyAgICAg
ICAgICAgICAgICAgICAiQSI6ICJuZXciLAorICAgICAgICAgICAgICAgICAgICJEIjogImRlbGV0
ZWQifQorICAgICMgVE9ETzogZGVhbCB3aXRoIHJlbmFtZXMKKyAgICBmb3IgaXRlbSBpbiBjaGFu
Z2VzOgorICAgICAgICBydltpdGVtWzFdXSA9IHN0YXR1c19rZXlzW2l0ZW1bMF1dCisgICAgcmV0
dXJuIHJ2CisKKworZGVmIHVuZXhwZWN0ZWRfY2hhbmdlcyhtYW5pZmVzdHMsIGNoYW5nZV9kYXRh
LCBmaWxlc19jaGFuZ2VkKToKKyAgICBmaWxlc19jaGFuZ2VkID0gc2V0KGZpbGVzX2NoYW5nZWQp
CisKKyAgICByb290X21hbmlmZXN0ID0gTm9uZQorICAgIGZvciBtYW5pZmVzdCwgcGF0aHMgaW4g
bWFuaWZlc3RzLml0ZXJpdGVtcygpOgorICAgICAgICBpZiBwYXRoc1sidXJsX2Jhc2UiXSA9PSAi
LyI6CisgICAgICAgICAgICByb290X21hbmlmZXN0ID0gbWFuaWZlc3QKKyAgICAgICAgICAgIGJy
ZWFrCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIFtdCisKKyAgICBydiA9IFtdCisKKyAgICBy
ZXR1cm4gW2ZuIGZvciBfLCBmbiwgXyBpbiByb290X21hbmlmZXN0IGlmIGZuIGluIGZpbGVzX2No
YW5nZWQgYW5kIGNoYW5nZV9kYXRhLmdldChmbikgIT0gIk0iXQorCisjIEZvciBlYWNoIHRlc3Ry
dW4KKyMgTG9hZCBhbGwgZmlsZXMgYW5kIHNjYW4gZm9yIHRoZSBzdWl0ZV9zdGFydCBlbnRyeQor
IyBCdWlsZCBhIGhhc2ggb2YgZmlsZW5hbWU6IHByb3BlcnRpZXMKKyMgRm9yIGVhY2ggZGlmZmVy
ZW50IHNldCBvZiBwcm9wZXJ0aWVzLCBnYXRoZXIgYWxsIGNodW5rcworIyBGb3IgZWFjaCBjaHVu
ayBpbiB0aGUgc2V0IG9mIGNodW5rcywgZ28gdGhyb3VnaCBhbGwgdGVzdHMKKyMgZm9yIGVhY2gg
dGVzdCwgbWFrZSBhIG1hcCBvZiB7Y29uZGl0aW9uYWxzOiBbKHBsYXRmb3JtLCBuZXdfdmFsdWUp
XX0KKyMgUmVwZWF0IGZvciBlYWNoIHBsYXRmb3JtCisjIEZvciBlYWNoIHRlc3QgaW4gdGhlIGxp
c3Qgb2YgdGVzdHM6CisjICAgZm9yIGVhY2ggY29uZGl0aW9uYWw6CisjICAgICAgSWYgYWxsIHRo
ZSBuZXcgdmFsdWVzIG1hdGNoIChvciB0aGVyZSBhcmVuJ3QgYW55KSByZXRhaW4gdGhhdCBjb25k
aXRpb25hbAorIyAgICAgIElmIGFueSBuZXcgdmFsdWVzIG1pc21hdGNoIG1hcmsgdGhlIHRlc3Qg
YXMgbmVlZGluZyBodW1hbiBhdHRlbnRpb24KKyMgICBDaGVjayBpZiBhbGwgdGhlIFJIUyB2YWx1
ZXMgYXJlIHRoZSBzYW1lOyBpZiBzbyBjb2xsYXBzZSB0aGUgY29uZGl0aW9uYWxzCisKKworZGVm
IHVwZGF0ZV9mcm9tX2xvZ3MobWFuaWZlc3RzLCAqbG9nX2ZpbGVuYW1lcywgKiprd2FyZ3MpOgor
ICAgIGlnbm9yZV9leGlzdGluZyA9IGt3YXJncy5nZXQoImlnbm9yZV9leGlzdGluZyIsIEZhbHNl
KQorICAgIHByb3BlcnR5X29yZGVyID0ga3dhcmdzLmdldCgicHJvcGVydHlfb3JkZXIiKQorICAg
IGJvb2xlYW5fcHJvcGVydGllcyA9IGt3YXJncy5nZXQoImJvb2xlYW5fcHJvcGVydGllcyIpCisK
KyAgICBleHBlY3RlZF9tYXAgPSB7fQorICAgIGlkX3Rlc3RfbWFwID0ge30KKworICAgIGZvciB0
ZXN0X21hbmlmZXN0LCBwYXRocyBpbiBtYW5pZmVzdHMuaXRlcml0ZW1zKCk6CisgICAgICAgIGV4
cGVjdGVkX21hcF9tYW5pZmVzdCwgaWRfcGF0aF9tYXBfbWFuaWZlc3QgPSBjcmVhdGVfdGVzdF90
cmVlKAorICAgICAgICAgICAgcGF0aHNbIm1ldGFkYXRhX3BhdGgiXSwKKyAgICAgICAgICAgIHRl
c3RfbWFuaWZlc3QsCisgICAgICAgICAgICBwcm9wZXJ0eV9vcmRlcj1wcm9wZXJ0eV9vcmRlciwK
KyAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcz1ib29sZWFuX3Byb3BlcnRpZXMpCisgICAg
ICAgIGV4cGVjdGVkX21hcFt0ZXN0X21hbmlmZXN0XSA9IGV4cGVjdGVkX21hcF9tYW5pZmVzdAor
ICAgICAgICBpZF90ZXN0X21hcC51cGRhdGUoaWRfcGF0aF9tYXBfbWFuaWZlc3QpCisKKyAgICB1
cGRhdGVyID0gRXhwZWN0ZWRVcGRhdGVyKG1hbmlmZXN0cywgZXhwZWN0ZWRfbWFwLCBpZF90ZXN0
X21hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZV9leGlzdGluZz1pZ25v
cmVfZXhpc3RpbmcpCisgICAgZm9yIGxvZ19maWxlbmFtZSBpbiBsb2dfZmlsZW5hbWVzOgorICAg
ICAgICB3aXRoIG9wZW4obG9nX2ZpbGVuYW1lKSBhcyBmOgorICAgICAgICAgICAgdXBkYXRlci51
cGRhdGVfZnJvbV9sb2coZikKKworICAgIGZvciBtYW5pZmVzdF9leHBlY3RlZCBpbiBleHBlY3Rl
ZF9tYXAuaXRlcnZhbHVlcygpOgorICAgICAgICBmb3IgdHJlZSBpbiBtYW5pZmVzdF9leHBlY3Rl
ZC5pdGVydmFsdWVzKCk6CisgICAgICAgICAgICBmb3IgdGVzdCBpbiB0cmVlLml0ZXJjaGlsZHJl
bigpOgorICAgICAgICAgICAgICAgIGZvciBzdWJ0ZXN0IGluIHRlc3QuaXRlcmNoaWxkcmVuKCk6
CisgICAgICAgICAgICAgICAgICAgIHN1YnRlc3QuY29hbGVzY2VfZXhwZWN0ZWQoKQorICAgICAg
ICAgICAgICAgIHRlc3QuY29hbGVzY2VfZXhwZWN0ZWQoKQorCisgICAgcmV0dXJuIGV4cGVjdGVk
X21hcAorCitkZWYgZGlyZWN0b3J5X21hbmlmZXN0cyhtZXRhZGF0YV9wYXRoKToKKyAgICBydiA9
IFtdCisgICAgZm9yIGRpcnBhdGgsIGRpcm5hbWUsIGZpbGVuYW1lcyBpbiBvcy53YWxrKG1ldGFk
YXRhX3BhdGgpOgorICAgICAgICBpZiAiX19kaXJfXy5pbmkiIGluIGZpbGVuYW1lczoKKyAgICAg
ICAgICAgIHJlbF9wYXRoID0gb3MucGF0aC5yZWxwYXRoKGRpcnBhdGgsIG1ldGFkYXRhX3BhdGgp
CisgICAgICAgICAgICBydi5hcHBlbmQob3MucGF0aC5qb2luKHJlbF9wYXRoLCAiX19kaXJfXy5p
bmkiKSkKKyAgICByZXR1cm4gcnYKKworZGVmIHdyaXRlX2NoYW5nZXMobWV0YWRhdGFfcGF0aCwg
ZXhwZWN0ZWRfbWFwKToKKyAgICAjIEZpcnN0IHdyaXRlIHRoZSBuZXcgbWFuaWZlc3QgZmlsZXMg
dG8gYSB0ZW1wb3JhcnkgZGlyZWN0b3J5CisgICAgdGVtcF9wYXRoID0gdGVtcGZpbGUubWtkdGVt
cChkaXI9b3MucGF0aC5zcGxpdChtZXRhZGF0YV9wYXRoKVswXSkKKyAgICB3cml0ZV9uZXdfZXhw
ZWN0ZWQodGVtcF9wYXRoLCBleHBlY3RlZF9tYXApCisKKyAgICAjIEtlZXAgYWxsIF9fZGlyX18u
aW5pIGZpbGVzICh0aGVzZSBhcmUgbm90IGluIGV4cGVjdGVkX21hcCBiZWNhdXNlIHRoZXkKKyAg
ICAjIGFyZW4ndCBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyB0ZXN0KQorICAgIGtlZXBfZmls
ZXMgPSBkaXJlY3RvcnlfbWFuaWZlc3RzKG1ldGFkYXRhX3BhdGgpCisKKyAgICAjIENvcHkgYWxs
IGZpbGVzIGluIHRoZSByb290IHRvIHRoZSB0ZW1wb3JhcnkgbG9jYXRpb24gc2luY2UKKyAgICAj
IHRoZXNlIGNhbm5vdCBiZSBpbmkgZmlsZXMKKyAgICBrZWVwX2ZpbGVzLmV4dGVuZChpdGVtIGZv
ciBpdGVtIGluIG9zLmxpc3RkaXIobWV0YWRhdGFfcGF0aCkgaWYKKyAgICAgICAgICAgICAgICAg
ICAgICBub3Qgb3MucGF0aC5pc2Rpcihvcy5wYXRoLmpvaW4obWV0YWRhdGFfcGF0aCwgaXRlbSkp
KQorCisgICAgZm9yIGl0ZW0gaW4ga2VlcF9maWxlczoKKyAgICAgICAgZGVzdF9kaXIgPSBvcy5w
YXRoLmRpcm5hbWUob3MucGF0aC5qb2luKHRlbXBfcGF0aCwgaXRlbSkpCisgICAgICAgIGlmIG5v
dCBvcy5wYXRoLmV4aXN0cyhkZXN0X2Rpcik6CisgICAgICAgICAgICBvcy5tYWtlZGlycyhkZXN0
X2RpcikKKyAgICAgICAgc2h1dGlsLmNvcHlmaWxlKG9zLnBhdGguam9pbihtZXRhZGF0YV9wYXRo
LCBpdGVtKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbih0ZW1wX3BhdGgs
IGl0ZW0pKQorCisgICAgIyBUaGVuIG1vdmUgdGhlIG9sZCBtYW5pZmVzdCBmaWxlcyB0byBhIG5l
dyBsb2NhdGlvbgorICAgIHRlbXBfcGF0aF8yID0gbWV0YWRhdGFfcGF0aCArIHN0cih1dWlkLnV1
aWQ0KCkpCisgICAgb3MucmVuYW1lKG1ldGFkYXRhX3BhdGgsIHRlbXBfcGF0aF8yKQorICAgICMg
TW92ZSB0aGUgbmV3IGZpbGVzIHRvIHRoZSBkZXN0aW5hdGlvbiBsb2NhdGlvbiBhbmQgcmVtb3Zl
IHRoZSBvbGQgZmlsZXMKKyAgICBvcy5yZW5hbWUodGVtcF9wYXRoLCBtZXRhZGF0YV9wYXRoKQor
ICAgIHNodXRpbC5ybXRyZWUodGVtcF9wYXRoXzIpCisKKworZGVmIHdyaXRlX25ld19leHBlY3Rl
ZChtZXRhZGF0YV9wYXRoLCBleHBlY3RlZF9tYXApOgorICAgICMgU2VyaWFsaXplIHRoZSBkYXRh
IGJhY2sgdG8gYSBmaWxlCisgICAgZm9yIHRyZWUgaW4gZXhwZWN0ZWRfbWFwLml0ZXJ2YWx1ZXMo
KToKKyAgICAgICAgaWYgbm90IHRyZWUuaXNfZW1wdHk6CisgICAgICAgICAgICBtYW5pZmVzdF9z
dHIgPSB3cHRtYW5pZmVzdC5zZXJpYWxpemUodHJlZS5ub2RlLCBza2lwX2VtcHR5X2RhdGE9VHJ1
ZSkKKyAgICAgICAgICAgIGFzc2VydCBtYW5pZmVzdF9zdHIgIT0gIiIKKyAgICAgICAgICAgIHBh
dGggPSBleHBlY3RlZC5leHBlY3RlZF9wYXRoKG1ldGFkYXRhX3BhdGgsIHRyZWUudGVzdF9wYXRo
KQorICAgICAgICAgICAgZGlyID0gb3MucGF0aC5zcGxpdChwYXRoKVswXQorICAgICAgICAgICAg
aWYgbm90IG9zLnBhdGguZXhpc3RzKGRpcik6CisgICAgICAgICAgICAgICAgb3MubWFrZWRpcnMo
ZGlyKQorICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICJ3IikgYXMgZjoKKyAgICAgICAgICAg
ICAgICBmLndyaXRlKG1hbmlmZXN0X3N0cikKKworCitjbGFzcyBFeHBlY3RlZFVwZGF0ZXIob2Jq
ZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdF9tYW5pZmVzdHMsIGV4cGVjdGVkX3Ry
ZWUsIGlkX3BhdGhfbWFwLCBpZ25vcmVfZXhpc3Rpbmc9RmFsc2UpOgorICAgICAgICBzZWxmLnRl
c3RfbWFuaWZlc3RzID0gdGVzdF9tYW5pZmVzdHMKKyAgICAgICAgc2VsZi5leHBlY3RlZF90cmVl
ID0gZXhwZWN0ZWRfdHJlZQorICAgICAgICBzZWxmLmlkX3BhdGhfbWFwID0gaWRfcGF0aF9tYXAK
KyAgICAgICAgc2VsZi5pZ25vcmVfZXhpc3RpbmcgPSBpZ25vcmVfZXhpc3RpbmcKKyAgICAgICAg
c2VsZi5ydW5faW5mbyA9IE5vbmUKKyAgICAgICAgc2VsZi5hY3Rpb25fbWFwID0geyJzdWl0ZV9z
dGFydCI6IHNlbGYuc3VpdGVfc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVz
dF9zdGFydCI6IHNlbGYudGVzdF9zdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
ZXN0X3N0YXR1cyI6IHNlbGYudGVzdF9zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidGVzdF9lbmQiOiBzZWxmLnRlc3RfZW5kfQorICAgICAgICBzZWxmLnRlc3RzX3Zpc2l0ZWQg
PSB7fQorCisgICAgICAgIHNlbGYudGVzdF9jYWNoZSA9IHt9CisKKyAgICBkZWYgdXBkYXRlX2Zy
b21fbG9nKHNlbGYsIGxvZ19maWxlKToKKyAgICAgICAgc2VsZi5ydW5faW5mbyA9IE5vbmUKKyAg
ICAgICAgbG9nX3JlYWRlciA9IHJlYWRlci5yZWFkKGxvZ19maWxlKQorICAgICAgICByZWFkZXIu
ZWFjaF9sb2cobG9nX3JlYWRlciwgc2VsZi5hY3Rpb25fbWFwKQorCisgICAgZGVmIHN1aXRlX3N0
YXJ0KHNlbGYsIGRhdGEpOgorICAgICAgICBzZWxmLnJ1bl9pbmZvID0gZGF0YVsicnVuX2luZm8i
XQorCisgICAgZGVmIHRlc3RfaWQoc2VsZiwgaWQpOgorICAgICAgICBpZiB0eXBlKGlkKSBpbiB0
eXBlcy5TdHJpbmdUeXBlczoKKyAgICAgICAgICAgIHJldHVybiBpZAorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgcmV0dXJuIHR1cGxlKGlkKQorCisgICAgZGVmIHRlc3Rfc3RhcnQoc2VsZiwg
ZGF0YSk6CisgICAgICAgIHRlc3RfaWQgPSBzZWxmLnRlc3RfaWQoZGF0YVsidGVzdCJdKQorICAg
ICAgICB0cnk6CisgICAgICAgICAgICB0ZXN0X21hbmlmZXN0LCB0ZXN0ID0gc2VsZi5pZF9wYXRo
X21hcFt0ZXN0X2lkXQorICAgICAgICAgICAgZXhwZWN0ZWRfbm9kZSA9IHNlbGYuZXhwZWN0ZWRf
dHJlZVt0ZXN0X21hbmlmZXN0XVt0ZXN0XS5nZXRfdGVzdCh0ZXN0X2lkKQorICAgICAgICBleGNl
cHQgS2V5RXJyb3I6CisgICAgICAgICAgICBwcmludCAiVGVzdCBub3QgZm91bmQgJXMsIHNraXBw
aW5nIiAlIHRlc3RfaWQKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBzZWxmLnRlc3RfY2Fj
aGVbdGVzdF9pZF0gPSBleHBlY3RlZF9ub2RlCisKKyAgICAgICAgaWYgdGVzdF9pZCBub3QgaW4g
c2VsZi50ZXN0c192aXNpdGVkOgorICAgICAgICAgICAgaWYgc2VsZi5pZ25vcmVfZXhpc3Rpbmc6
CisgICAgICAgICAgICAgICAgZXhwZWN0ZWRfbm9kZS5jbGVhcl9leHBlY3RlZCgpCisgICAgICAg
ICAgICBzZWxmLnRlc3RzX3Zpc2l0ZWRbdGVzdF9pZF0gPSBzZXQoKQorCisgICAgZGVmIHRlc3Rf
c3RhdHVzKHNlbGYsIGRhdGEpOgorICAgICAgICB0ZXN0X2lkID0gc2VsZi50ZXN0X2lkKGRhdGFb
InRlc3QiXSkKKyAgICAgICAgdGVzdCA9IHNlbGYudGVzdF9jYWNoZS5nZXQodGVzdF9pZCkKKyAg
ICAgICAgaWYgdGVzdCBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHRlc3Rf
Y2xzID0gd3B0dGVzdC5tYW5pZmVzdF90ZXN0X2Nsc1t0ZXN0LnRlc3RfdHlwZV0KKworICAgICAg
ICBzdWJ0ZXN0ID0gdGVzdC5nZXRfc3VidGVzdChkYXRhWyJzdWJ0ZXN0Il0pCisKKyAgICAgICAg
c2VsZi50ZXN0c192aXNpdGVkW3Rlc3QuaWRdLmFkZChkYXRhWyJzdWJ0ZXN0Il0pCisKKyAgICAg
ICAgcmVzdWx0ID0gdGVzdF9jbHMuc3VidGVzdF9yZXN1bHRfY2xzKAorICAgICAgICAgICAgZGF0
YVsic3VidGVzdCJdLAorICAgICAgICAgICAgZGF0YVsic3RhdHVzIl0sCisgICAgICAgICAgICBk
YXRhLmdldCgibWVzc2FnZSIpKQorCisgICAgICAgIHN1YnRlc3Quc2V0X3Jlc3VsdChzZWxmLnJ1
bl9pbmZvLCByZXN1bHQpCisKKyAgICBkZWYgdGVzdF9lbmQoc2VsZiwgZGF0YSk6CisgICAgICAg
IHRlc3RfaWQgPSBzZWxmLnRlc3RfaWQoZGF0YVsidGVzdCJdKQorICAgICAgICB0ZXN0ID0gc2Vs
Zi50ZXN0X2NhY2hlLmdldCh0ZXN0X2lkKQorICAgICAgICBpZiB0ZXN0IGlzIE5vbmU6CisgICAg
ICAgICAgICByZXR1cm4KKyAgICAgICAgdGVzdF9jbHMgPSB3cHR0ZXN0Lm1hbmlmZXN0X3Rlc3Rf
Y2xzW3Rlc3QudGVzdF90eXBlXQorCisgICAgICAgIGlmIGRhdGFbInN0YXR1cyJdID09ICJTS0lQ
IjoKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHJlc3VsdCA9IHRlc3RfY2xzLnJlc3Vs
dF9jbHMoCisgICAgICAgICAgICBkYXRhWyJzdGF0dXMiXSwKKyAgICAgICAgICAgIGRhdGEuZ2V0
KCJtZXNzYWdlIikpCisKKyAgICAgICAgdGVzdC5zZXRfcmVzdWx0KHNlbGYucnVuX2luZm8sIHJl
c3VsdCkKKyAgICAgICAgZGVsIHNlbGYudGVzdF9jYWNoZVt0ZXN0X2lkXQorCisKK2RlZiBjcmVh
dGVfdGVzdF90cmVlKG1ldGFkYXRhX3BhdGgsIHRlc3RfbWFuaWZlc3QsIHByb3BlcnR5X29yZGVy
PU5vbmUsCisgICAgICAgICAgICAgICAgICAgICBib29sZWFuX3Byb3BlcnRpZXM9Tm9uZSk6Cisg
ICAgZXhwZWN0ZWRfbWFwID0ge30KKyAgICBpZF90ZXN0X21hcCA9IHt9CisgICAgZXhjbHVkZV90
eXBlcyA9IGZyb3plbnNldChbInN0dWIiLCAiaGVscGVyIiwgIm1hbnVhbCIsICJzdXBwb3J0Iiwg
ImNvbmZvcm1hbmNlY2hlY2tlciJdKQorICAgIGFsbF90eXBlcyA9IFtpdGVtLml0ZW1fdHlwZSBm
b3IgaXRlbSBpbiBtYW5pZmVzdGl0ZW0uX19kaWN0X18uaXRlcnZhbHVlcygpCisgICAgICAgICAg
ICAgICAgIGlmIHR5cGUoaXRlbSkgPT0gdHlwZSBhbmQKKyAgICAgICAgICAgICAgICAgaXNzdWJj
bGFzcyhpdGVtLCBtYW5pZmVzdGl0ZW0uTWFuaWZlc3RJdGVtKSBhbmQKKyAgICAgICAgICAgICAg
ICAgaXRlbS5pdGVtX3R5cGUgaXMgbm90IE5vbmVdCisgICAgaW5jbHVkZV90eXBlcyA9IHNldChh
bGxfdHlwZXMpIC0gZXhjbHVkZV90eXBlcworICAgIGZvciBfLCB0ZXN0X3BhdGgsIHRlc3RzIGlu
IHRlc3RfbWFuaWZlc3QuaXRlcnR5cGVzKCppbmNsdWRlX3R5cGVzKToKKyAgICAgICAgZXhwZWN0
ZWRfZGF0YSA9IGxvYWRfZXhwZWN0ZWQodGVzdF9tYW5pZmVzdCwgbWV0YWRhdGFfcGF0aCwgdGVz
dF9wYXRoLCB0ZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJv
cGVydHlfb3JkZXI9cHJvcGVydHlfb3JkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcz1ib29sZWFuX3Byb3BlcnRpZXMpCisgICAgICAg
IGlmIGV4cGVjdGVkX2RhdGEgaXMgTm9uZToKKyAgICAgICAgICAgIGV4cGVjdGVkX2RhdGEgPSBj
cmVhdGVfZXhwZWN0ZWQodGVzdF9tYW5pZmVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdF9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHJvcGVydHlfb3JkZXI9cHJvcGVydHlfb3JkZXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcz1ib29sZWFu
X3Byb3BlcnRpZXMpCisKKyAgICAgICAgZm9yIHRlc3QgaW4gdGVzdHM6CisgICAgICAgICAgICBp
ZF90ZXN0X21hcFt0ZXN0LmlkXSA9ICh0ZXN0X21hbmlmZXN0LCB0ZXN0KQorICAgICAgICAgICAg
ZXhwZWN0ZWRfbWFwW3Rlc3RdID0gZXhwZWN0ZWRfZGF0YQorCisgICAgcmV0dXJuIGV4cGVjdGVk
X21hcCwgaWRfdGVzdF9tYXAKKworCitkZWYgY3JlYXRlX2V4cGVjdGVkKHRlc3RfbWFuaWZlc3Qs
IHRlc3RfcGF0aCwgdGVzdHMsIHByb3BlcnR5X29yZGVyPU5vbmUsCisgICAgICAgICAgICAgICAg
ICAgIGJvb2xlYW5fcHJvcGVydGllcz1Ob25lKToKKyAgICBleHBlY3RlZCA9IG1hbmlmZXN0dXBk
YXRlLkV4cGVjdGVkTWFuaWZlc3QoTm9uZSwgdGVzdF9wYXRoLCB0ZXN0X21hbmlmZXN0LnVybF9i
YXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9w
ZXJ0eV9vcmRlcj1wcm9wZXJ0eV9vcmRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbGVhbl9wcm9wZXJ0aWVzPWJvb2xlYW5fcHJvcGVydGllcykK
KyAgICBmb3IgdGVzdCBpbiB0ZXN0czoKKyAgICAgICAgZXhwZWN0ZWQuYXBwZW5kKG1hbmlmZXN0
dXBkYXRlLlRlc3ROb2RlLmNyZWF0ZSh0ZXN0Lml0ZW1fdHlwZSwgdGVzdC5pZCkpCisgICAgcmV0
dXJuIGV4cGVjdGVkCisKKworZGVmIGxvYWRfZXhwZWN0ZWQodGVzdF9tYW5pZmVzdCwgbWV0YWRh
dGFfcGF0aCwgdGVzdF9wYXRoLCB0ZXN0cywgcHJvcGVydHlfb3JkZXI9Tm9uZSwKKyAgICAgICAg
ICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcz1Ob25lKToKKyAgICBleHBlY3RlZF9tYW5pZmVz
dCA9IG1hbmlmZXN0dXBkYXRlLmdldF9tYW5pZmVzdChtZXRhZGF0YV9wYXRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcGF0aCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X21h
bmlmZXN0LnVybF9iYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHByb3BlcnR5X29yZGVyPXByb3BlcnR5X29yZGVyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGll
cz1ib29sZWFuX3Byb3BlcnRpZXMpCisgICAgaWYgZXhwZWN0ZWRfbWFuaWZlc3QgaXMgTm9uZToK
KyAgICAgICAgcmV0dXJuCisKKyAgICB0ZXN0c19ieV9pZCA9IHtpdGVtLmlkOiBpdGVtIGZvciBp
dGVtIGluIHRlc3RzfQorCisgICAgIyBSZW1vdmUgZXhwZWN0ZWQgZGF0YSBmb3IgdGVzdHMgdGhh
dCBubyBsb25nZXIgZXhpc3QKKyAgICBmb3IgdGVzdCBpbiBleHBlY3RlZF9tYW5pZmVzdC5pdGVy
Y2hpbGRyZW4oKToKKyAgICAgICAgaWYgbm90IHRlc3QuaWQgaW4gdGVzdHNfYnlfaWQ6CisgICAg
ICAgICAgICB0ZXN0LnJlbW92ZSgpCisKKyAgICAjIEFkZCB0ZXN0cyB0aGF0IGRvbid0IGhhdmUg
ZXhwZWN0ZWQgZGF0YQorICAgIGZvciB0ZXN0IGluIHRlc3RzOgorICAgICAgICBpZiBub3QgZXhw
ZWN0ZWRfbWFuaWZlc3QuaGFzX3Rlc3QodGVzdC5pZCk6CisgICAgICAgICAgICBleHBlY3RlZF9t
YW5pZmVzdC5hcHBlbmQobWFuaWZlc3R1cGRhdGUuVGVzdE5vZGUuY3JlYXRlKHRlc3QuaXRlbV90
eXBlLCB0ZXN0LmlkKSkKKworICAgIHJldHVybiBleHBlY3RlZF9tYW5pZmVzdApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3Byb2R1Y3RzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Byb2R1Y3RzLnB5Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmMwNzdmOTVkZmQ5NTZiODlmMzdjNDVmZTdkYTYyOTlmNWE1ZmI4NTgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvcHJvZHVjdHMucHkKQEAgLTAsMCArMSw2OSBAQAor
aW1wb3J0IG9zCitpbXBvcnQgaW1wb3J0bGliCitpbXBvcnQgaW1wCisKK2Zyb20gLmJyb3dzZXJz
IGltcG9ydCBwcm9kdWN0X2xpc3QKKworZGVmIHByb2R1Y3RzX2VuYWJsZWQoY29uZmlnKToKKyAg
ICBuYW1lcyA9IGNvbmZpZy5nZXQoInByb2R1Y3RzIiwge30pLmtleXMoKQorICAgIGlmIG5vdCBu
YW1lczoKKyAgICAgICAgcmV0dXJuIHByb2R1Y3RfbGlzdAorICAgIGVsc2U6CisgICAgICAgIHJl
dHVybiBuYW1lcworCitkZWYgcHJvZHVjdF9tb2R1bGUoY29uZmlnLCBwcm9kdWN0KToKKyAgICBo
ZXJlID0gb3MucGF0aC5qb2luKG9zLnBhdGguc3BsaXQoX19maWxlX18pWzBdKQorICAgIHByb2R1
Y3RfZGlyID0gb3MucGF0aC5qb2luKGhlcmUsICJicm93c2VycyIpCisKKyAgICBpZiBwcm9kdWN0
IG5vdCBpbiBwcm9kdWN0c19lbmFibGVkKGNvbmZpZyk6CisgICAgICAgIHJhaXNlIFZhbHVlRXJy
b3IoIlVua25vd24gcHJvZHVjdCAlcyIgJSBwcm9kdWN0KQorCisgICAgcGF0aCA9IGNvbmZpZy5n
ZXQoInByb2R1Y3RzIiwge30pLmdldChwcm9kdWN0LCBOb25lKQorICAgIGlmIHBhdGg6CisgICAg
ICAgIG1vZHVsZSA9IGltcC5sb2FkX3NvdXJjZSgnd3B0cnVubmVyLmJyb3dzZXJzLicgKyBwcm9k
dWN0LCBwYXRoKQorICAgIGVsc2U6CisgICAgICAgIG1vZHVsZSA9IGltcG9ydGxpYi5pbXBvcnRf
bW9kdWxlKCJ3cHRydW5uZXIuYnJvd3NlcnMuIiArIHByb2R1Y3QpCisKKyAgICBpZiBub3QgaGFz
YXR0cihtb2R1bGUsICJfX3dwdHJ1bm5lcl9fIik6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3Io
IlByb2R1Y3QgbW9kdWxlIGRvZXMgbm90IGRlZmluZSBfX3dwdHJ1bm5lcl9fIHZhcmlhYmxlIikK
KworICAgIHJldHVybiBtb2R1bGUKKworCitkZWYgbG9hZF9wcm9kdWN0KGNvbmZpZywgcHJvZHVj
dCk6CisgICAgbW9kdWxlID0gcHJvZHVjdF9tb2R1bGUoY29uZmlnLCBwcm9kdWN0KQorICAgIGRh
dGEgPSBtb2R1bGUuX193cHRydW5uZXJfXworCisgICAgY2hlY2tfYXJncyA9IGdldGF0dHIobW9k
dWxlLCBkYXRhWyJjaGVja19hcmdzIl0pCisgICAgYnJvd3Nlcl9jbHMgPSBnZXRhdHRyKG1vZHVs
ZSwgZGF0YVsiYnJvd3NlciJdKQorICAgIGJyb3dzZXJfa3dhcmdzID0gZ2V0YXR0cihtb2R1bGUs
IGRhdGFbImJyb3dzZXJfa3dhcmdzIl0pCisgICAgZXhlY3V0b3Jfa3dhcmdzID0gZ2V0YXR0ciht
b2R1bGUsIGRhdGFbImV4ZWN1dG9yX2t3YXJncyJdKQorICAgIGVudl9vcHRpb25zID0gZ2V0YXR0
cihtb2R1bGUsIGRhdGFbImVudl9vcHRpb25zIl0pKCkKKyAgICBlbnZfZXh0cmFzID0gZ2V0YXR0
cihtb2R1bGUsIGRhdGFbImVudl9leHRyYXMiXSkKKyAgICBydW5faW5mb19leHRyYXMgPSAoZ2V0
YXR0cihtb2R1bGUsIGRhdGFbInJ1bl9pbmZvX2V4dHJhcyJdKQorICAgICAgICAgICAgICAgICAg
ICAgICBpZiAicnVuX2luZm9fZXh0cmFzIiBpbiBkYXRhIGVsc2UgbGFtYmRhICoqa3dhcmdzOnt9
KQorCisgICAgZXhlY3V0b3JfY2xhc3NlcyA9IHt9CisgICAgZm9yIHRlc3RfdHlwZSwgY2xzX25h
bWUgaW4gZGF0YVsiZXhlY3V0b3IiXS5pdGVyaXRlbXMoKToKKyAgICAgICAgY2xzID0gZ2V0YXR0
cihtb2R1bGUsIGNsc19uYW1lKQorICAgICAgICBleGVjdXRvcl9jbGFzc2VzW3Rlc3RfdHlwZV0g
PSBjbHMKKworICAgIHJldHVybiAoY2hlY2tfYXJncywKKyAgICAgICAgICAgIGJyb3dzZXJfY2xz
LCBicm93c2VyX2t3YXJncywKKyAgICAgICAgICAgIGV4ZWN1dG9yX2NsYXNzZXMsIGV4ZWN1dG9y
X2t3YXJncywKKyAgICAgICAgICAgIGVudl9vcHRpb25zLCBlbnZfZXh0cmFzLCBydW5faW5mb19l
eHRyYXMpCisKKworZGVmIGxvYWRfcHJvZHVjdF91cGRhdGUoY29uZmlnLCBwcm9kdWN0KToKKyAg
ICAiIiJSZXR1cm4gdHVwbGUgb2YgKHByb3BlcnR5X29yZGVyLCBib29sZWFuX3Byb3BlcnRpZXMp
IGluZGljYXRpbmcgdGhlCisgICAgcnVuX2luZm8gcHJvcGVydGllcyB0byB1c2Ugd2hlbiBjb25z
dHJ1Y3RpbmcgdGhlIGV4cGVjdGF0aW9uIGRhdGEgZm9yCisgICAgdGhpcyBwcm9kdWN0LiBOb25l
IGZvciBlaXRoZXIga2V5IGluZGljYXRlcyB0aGF0IHRoZSBkZWZhdWx0IGtleXMKKyAgICBhcHBy
b3ByaWF0ZSBmb3IgZGlzdGluZ3Vpc2hpbmcgYmFzZWQgb24gcGxhdGZvcm0gd2lsbCBiZSB1c2Vk
LiIiIgorCisgICAgbW9kdWxlID0gcHJvZHVjdF9tb2R1bGUoY29uZmlnLCBwcm9kdWN0KQorICAg
IGRhdGEgPSBtb2R1bGUuX193cHRydW5uZXJfXworCisgICAgdXBkYXRlX3Byb3BlcnRpZXMgPSAo
Z2V0YXR0cihtb2R1bGUsIGRhdGFbInVwZGF0ZV9wcm9wZXJ0aWVzIl0pKCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAidXBkYXRlX3Byb3BlcnRpZXMiIGluIGRhdGEgZWxzZSAoTm9uZSwg
Tm9uZSkpCisKKyAgICByZXR1cm4gdXBkYXRlX3Byb3BlcnRpZXMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci9yZWR1Y2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvcmVkdWNlLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQy
NDVlZTM2MDJiOTdlMTQ0NjNhNTdjODRmMTMyZmI0ZDY0NGY4ZjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvcmVkdWNlLnB5CkBAIC0wLDAgKzEsMTkzIEBACitpbXBvcnQgc3lzCitp
bXBvcnQgdGVtcGZpbGUKK2Zyb20gY1N0cmluZ0lPIGltcG9ydCBTdHJpbmdJTworZnJvbSBjb2xs
ZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3QKKworaW1wb3J0IHdwdHJ1bm5lcgoraW1wb3J0IHdw
dHRlc3QKKworZnJvbSBtb3psb2cgaW1wb3J0IGNvbW1hbmRsaW5lLCByZWFkZXIKKworbG9nZ2Vy
ID0gTm9uZQorCisKK2RlZiBzZXR1cF9sb2dnaW5nKGFyZ3MsIGRlZmF1bHRzKToKKyAgICBnbG9i
YWwgbG9nZ2VyCisgICAgbG9nZ2VyID0gY29tbWFuZGxpbmUuc2V0dXBfbG9nZ2luZygid2ViLXBs
YXRmb3JtLXRlc3RzLXVuc3RhYmxlIiwgYXJncywgZGVmYXVsdHMpCisgICAgd3B0cnVubmVyLnNl
dHVwX3N0ZGxpYl9sb2dnZXIoKQorCisgICAgZm9yIG5hbWUgaW4gYXJncy5rZXlzKCk6CisgICAg
ICAgIGlmIG5hbWUuc3RhcnRzd2l0aCgibG9nXyIpOgorICAgICAgICAgICAgYXJncy5wb3AobmFt
ZSkKKworICAgIHJldHVybiBsb2dnZXIKKworCitkZWYgZ3JvdXAoaXRlbXMsIHNpemUpOgorICAg
IHJ2ID0gW10KKyAgICBpID0gMAorICAgIHdoaWxlIGkgPCBsZW4oaXRlbXMpOgorICAgICAgICBy
di5hcHBlbmQoaXRlbXNbaTppICsgc2l6ZV0pCisgICAgICAgIGkgKz0gc2l6ZQorCisgICAgcmV0
dXJuIHJ2CisKKworZGVmIG5leHRfcG93ZXJfb2ZfdHdvKG51bSk6CisgICAgcnYgPSAxCisgICAg
d2hpbGUgcnYgPCBudW06CisgICAgICAgIHJ2ID0gcnYgPDwgMQorICAgIHJldHVybiBydgorCisK
K2NsYXNzIFJlZHVjZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGFyZ2V0LCAq
Kmt3YXJncyk6CisgICAgICAgIHNlbGYudGFyZ2V0ID0gdGFyZ2V0CisKKyAgICAgICAgc2VsZi50
ZXN0X3R5cGUgPSBrd2FyZ3NbInRlc3RfdHlwZXMiXVswXQorICAgICAgICBydW5faW5mbyA9IHdw
dHRlc3QuZ2V0X3J1bl9pbmZvKGt3YXJnc1sibWV0YWRhdGFfcm9vdCJdLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnc1sicHJvZHVjdCJdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnPUZhbHNlKQorICAgICAgICB0ZXN0
X2ZpbHRlciA9IHdwdHJ1bm5lci5UZXN0RmlsdGVyKGluY2x1ZGU9a3dhcmdzWyJpbmNsdWRlIl0p
CisgICAgICAgIHNlbGYudGVzdF9sb2FkZXIgPSB3cHRydW5uZXIuVGVzdExvYWRlcihrd2FyZ3Nb
InRlc3RzX3Jvb3QiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGt3YXJnc1sibWV0YWRhdGFfcm9vdCJdLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGYudGVzdF90eXBlXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuaWZlc3RfZmlsZXI9dGVzdF9m
aWx0ZXIpCisgICAgICAgIGlmIGt3YXJnc1sicmVwZWF0Il0gPT0gMToKKyAgICAgICAgICAgIGxv
Z2dlci5jcml0aWNhbCgiTmVlZCB0byBzcGVjaWZ5IC0tcmVwZWF0IHdpdGggbW9yZSB0aGFuIG9u
ZSByZXBldGl0aW9uIikKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgIHNlbGYua3dh
cmdzID0ga3dhcmdzCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICBhbGxfdGVzdHMgPSBz
ZWxmLmdldF9pbml0aWFsX3Rlc3RzKCkKKworICAgICAgICB0ZXN0cyA9IGFsbF90ZXN0c1s6LTFd
CisgICAgICAgIHRhcmdldF90ZXN0ID0gW2FsbF90ZXN0c1stMV1dCisKKyAgICAgICAgaWYgc2Vs
Zi51bnN0YWJsZSh0YXJnZXRfdGVzdCk6CisgICAgICAgICAgICByZXR1cm4gdGFyZ2V0X3Rlc3QK
KworICAgICAgICBpZiBub3Qgc2VsZi51bnN0YWJsZShhbGxfdGVzdHMpOgorICAgICAgICAgICAg
cmV0dXJuIFtdCisKKyAgICAgICAgY2h1bmtfc2l6ZSA9IG5leHRfcG93ZXJfb2ZfdHdvKGludChs
ZW4odGVzdHMpIC8gMikpCisgICAgICAgIGxvZ2dlci5kZWJ1ZygiVXNpbmcgY2h1bmsgc2l6ZSAl
aSIgJSBjaHVua19zaXplKQorCisgICAgICAgIHdoaWxlIGNodW5rX3NpemUgPj0gMToKKyAgICAg
ICAgICAgIGxvZ2dlci5kZWJ1ZygiJWkgdGVzdHMgcmVtYWluIiAlIGxlbih0ZXN0cykpCisgICAg
ICAgICAgICBjaHVua3MgPSBncm91cCh0ZXN0cywgY2h1bmtfc2l6ZSkKKyAgICAgICAgICAgIGNo
dW5rX3Jlc3VsdHMgPSBbTm9uZV0gKiBsZW4oY2h1bmtzKQorCisgICAgICAgICAgICBmb3IgaSwg
Y2h1bmsgaW4gZW51bWVyYXRlKGNodW5rcyk6CisgICAgICAgICAgICAgICAgbG9nZ2VyLmRlYnVn
KCJSdW5uaW5nIGNodW5rICVpLyVpIG9mIHNpemUgJWkiICUgKGkgKyAxLCBsZW4oY2h1bmtzKSwg
Y2h1bmtfc2l6ZSkpCisgICAgICAgICAgICAgICAgdHJpYWxfdGVzdHMgPSBbXQorICAgICAgICAg
ICAgICAgIGNodW5rX3N0ciA9ICIiCisgICAgICAgICAgICAgICAgZm9yIGosIGluY19jaHVuayBp
biBlbnVtZXJhdGUoY2h1bmtzKToKKyAgICAgICAgICAgICAgICAgICAgaWYgaSAhPSBqIGFuZCBj
aHVua19yZXN1bHRzW2pdIGluIChOb25lLCBGYWxzZSk6CisgICAgICAgICAgICAgICAgICAgICAg
ICBjaHVua19zdHIgKz0gIisiCisgICAgICAgICAgICAgICAgICAgICAgICB0cmlhbF90ZXN0cy5l
eHRlbmQoaW5jX2NodW5rKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAg
ICAgICAgICAgICAgY2h1bmtfc3RyICs9ICItIgorICAgICAgICAgICAgICAgIGxvZ2dlci5kZWJ1
ZygiVXNpbmcgY2h1bmtzICVzIiAlIGNodW5rX3N0cikKKyAgICAgICAgICAgICAgICB0cmlhbF90
ZXN0cy5leHRlbmQodGFyZ2V0X3Rlc3QpCisKKyAgICAgICAgICAgICAgICBjaHVua19yZXN1bHRz
W2ldID0gc2VsZi51bnN0YWJsZSh0cmlhbF90ZXN0cykKKworICAgICAgICAgICAgICAgICMgaWYg
aSA9PSBsZW4oY2h1bmtzKSAtIDIgYW5kIGFsbChpdGVtIGlzIEZhbHNlIGZvciBpdGVtIGluIGNo
dW5rX3Jlc3VsdHNbOi0xXSk6CisgICAgICAgICAgICAgICAgIyBEYW5nZXJvdXM/IG9wdGltaXNh
dGlvbiB0aGF0IGlmIHlvdSBnb3Qgc3RhYmlsaXR5IGZvciAwLi5OLTEgY2h1bmtzCisgICAgICAg
ICAgICAgICAgIyBpdCBtdXN0IGJlIHVuc3RhYmxlIHdpdGggdGhlIE50aCBjaHVuaworICAgICAg
ICAgICAgICAgICMgICAgIGNodW5rX3Jlc3VsdHNbaSsxXSA9IFRydWUKKyAgICAgICAgICAgICAg
ICAjICAgICBjb250aW51ZQorCisgICAgICAgICAgICBuZXdfdGVzdHMgPSBbXQorICAgICAgICAg
ICAga2VlcF9zdHIgPSAiIgorICAgICAgICAgICAgZm9yIHJlc3VsdCwgY2h1bmsgaW4gemlwKGNo
dW5rX3Jlc3VsdHMsIGNodW5rcyk6CisgICAgICAgICAgICAgICAgaWYgbm90IHJlc3VsdDoKKyAg
ICAgICAgICAgICAgICAgICAga2VlcF9zdHIgKz0gIisiCisgICAgICAgICAgICAgICAgICAgIG5l
d190ZXN0cy5leHRlbmQoY2h1bmspCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICAgICAga2VlcF9zdHIgKz0gIi0iCisKKyAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygiS2Vl
cGluZyBjaHVua3MgJXMiICUga2VlcF9zdHIpCisKKyAgICAgICAgICAgIHRlc3RzID0gbmV3X3Rl
c3RzCisKKyAgICAgICAgICAgIGNodW5rX3NpemUgPSBpbnQoY2h1bmtfc2l6ZSAvIDIpCisKKyAg
ICAgICAgcmV0dXJuIHRlc3RzICsgdGFyZ2V0X3Rlc3QKKworICAgIGRlZiB1bnN0YWJsZShzZWxm
LCB0ZXN0cyk6CisgICAgICAgIGxvZ2dlci5kZWJ1ZygiUnVubmluZyB3aXRoICVpIHRlc3RzIiAl
IGxlbih0ZXN0cykpCisKKyAgICAgICAgc2VsZi50ZXN0X2xvYWRlci50ZXN0cyA9IHtzZWxmLnRl
c3RfdHlwZTogdGVzdHN9CisKKyAgICAgICAgc3Rkb3V0LCBzdGRlcnIgPSBzeXMuc3Rkb3V0LCBz
eXMuc3RkZXJyCisgICAgICAgIHN5cy5zdGRvdXQgPSBTdHJpbmdJTygpCisgICAgICAgIHN5cy5z
dGRlcnIgPSBTdHJpbmdJTygpCisKKyAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFy
eUZpbGUoKSBhcyBmOgorICAgICAgICAgICAgYXJncyA9IHNlbGYua3dhcmdzLmNvcHkoKQorICAg
ICAgICAgICAgYXJnc1sibG9nX3JhdyJdID0gW2ZdCisgICAgICAgICAgICBhcmdzWyJjYXB0dXJl
X3N0ZGlvIl0gPSBGYWxzZQorICAgICAgICAgICAgd3B0cnVubmVyLnNldHVwX2xvZ2dpbmcoYXJn
cywge30pCisgICAgICAgICAgICB3cHRydW5uZXIucnVuX3Rlc3RzKHRlc3RfbG9hZGVyPXNlbGYu
dGVzdF9sb2FkZXIsICoqYXJncykKKyAgICAgICAgICAgIHdwdHJ1bm5lci5sb2dnZXIucmVtb3Zl
X2hhbmRsZXIod3B0cnVubmVyLmxvZ2dlci5oYW5kbGVyc1swXSkKKyAgICAgICAgICAgIGlzX3Vu
c3RhYmxlID0gc2VsZi5sb2dfaXNfdW5zdGFibGUoZikKKworICAgICAgICAgICAgc3lzLnN0ZG91
dCwgc3lzLnN0ZGVyciA9IHN0ZG91dCwgc3RkZXJyCisKKyAgICAgICAgbG9nZ2VyLmRlYnVnKCJS
ZXN1bHQgd2FzIHVuc3RhYmxlIHdpdGggY2h1bmsgcmVtb3ZlZCIKKyAgICAgICAgICAgICAgICAg
ICAgIGlmIGlzX3Vuc3RhYmxlIGVsc2UgInN0YWJsZSIpCisKKyAgICAgICAgcmV0dXJuIGlzX3Vu
c3RhYmxlCisKKyAgICBkZWYgbG9nX2lzX3Vuc3RhYmxlKHNlbGYsIGxvZ19mKToKKyAgICAgICAg
bG9nX2Yuc2VlaygwKQorCisgICAgICAgIHN0YXR1c2VzID0gZGVmYXVsdGRpY3Qoc2V0KQorCisg
ICAgICAgIGRlZiBoYW5kbGVfc3RhdHVzKGl0ZW0pOgorICAgICAgICAgICAgaWYgaXRlbVsidGVz
dCJdID09IHNlbGYudGFyZ2V0OgorICAgICAgICAgICAgICAgIHN0YXR1c2VzW2l0ZW1bInN1YnRl
c3QiXV0uYWRkKGl0ZW1bInN0YXR1cyJdKQorCisgICAgICAgIGRlZiBoYW5kbGVfZW5kKGl0ZW0p
OgorICAgICAgICAgICAgaWYgaXRlbVsidGVzdCJdID09IHNlbGYudGFyZ2V0OgorICAgICAgICAg
ICAgICAgIHN0YXR1c2VzW05vbmVdLmFkZChpdGVtWyJzdGF0dXMiXSkKKworICAgICAgICByZWFk
ZXIuZWFjaF9sb2cocmVhZGVyLnJlYWQobG9nX2YpLAorICAgICAgICAgICAgICAgICAgICAgICAg
eyJ0ZXN0X3N0YXR1cyI6IGhhbmRsZV9zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
InRlc3RfZW5kIjogaGFuZGxlX2VuZH0pCisKKyAgICAgICAgbG9nZ2VyLmRlYnVnKHN0cihzdGF0
dXNlcykpCisKKyAgICAgICAgaWYgbm90IHN0YXR1c2VzOgorICAgICAgICAgICAgbG9nZ2VyLmVy
cm9yKCJEaWRuJ3QgZ2V0IGFueSB1c2VmdWwgb3V0cHV0IGZyb20gd3B0cnVubmVyIikKKyAgICAg
ICAgICAgIGxvZ19mLnNlZWsoMCkKKyAgICAgICAgICAgIGZvciBpdGVtIGluIHJlYWRlci5yZWFk
KGxvZ19mKToKKyAgICAgICAgICAgICAgICBsb2dnZXIuZGVidWcoaXRlbSkKKyAgICAgICAgICAg
IHJldHVybiBOb25lCisKKyAgICAgICAgcmV0dXJuIGFueShsZW4oaXRlbSkgPiAxIGZvciBpdGVt
IGluIHN0YXR1c2VzLml0ZXJ2YWx1ZXMoKSkKKworICAgIGRlZiBnZXRfaW5pdGlhbF90ZXN0cyhz
ZWxmKToKKyAgICAgICAgIyBOZWVkIHRvIHBhc3MgaW4gYXJndW1lbnRzCisKKyAgICAgICAgYWxs
X3Rlc3RzID0gc2VsZi50ZXN0X2xvYWRlci50ZXN0c1tzZWxmLnRlc3RfdHlwZV0KKyAgICAgICAg
dGVzdHMgPSBbXQorICAgICAgICBmb3IgaXRlbSBpbiBhbGxfdGVzdHM6CisgICAgICAgICAgICB0
ZXN0cy5hcHBlbmQoaXRlbSkKKyAgICAgICAgICAgIGlmIGl0ZW0udXJsID09IHNlbGYudGFyZ2V0
OgorICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgbG9nZ2VyLmRlYnVnKCJTdGFydGlu
ZyB3aXRoIHRlc3RzOiAlcyIgJSAoIlxuIi5qb2luKGl0ZW0uaWQgZm9yIGl0ZW0gaW4gdGVzdHMp
KSkKKworICAgICAgICByZXR1cm4gdGVzdHMKKworCitkZWYgZG9fcmVkdWNlKCoqa3dhcmdzKToK
KyAgICB0YXJnZXQgPSBrd2FyZ3MucG9wKCJ0YXJnZXQiKQorICAgIHJlZHVjZXIgPSBSZWR1Y2Vy
KHRhcmdldCwgKiprd2FyZ3MpCisKKyAgICB1bnN0YWJsZV9zZXQgPSByZWR1Y2VyLnJ1bigpCisg
ICAgcmV0dXJuIHVuc3RhYmxlX3NldApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJu
ZXNzX3J1bm5lci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzX3J1bm5lci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFjYzgwYTI3MGUyYzFlOGYwYmNiOGRjNDg3OGE3NWQ5Y2UwMTcxN2EKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdGhhcm5lc3NfcnVubmVyLmh0bWwKQEAgLTAs
MCArMSw2IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT48L3RpdGxlPgorPHNjcmlwdD4KK3Zh
ciB0aW1lb3V0X211bHRpcGxpZXIgPSAxOwordmFyIHdpbiA9IG51bGw7Cis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2by5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2by5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjcyYWVhOWEy
NTQwYmYxNDQ2YTIzZGRiMjg4YzkzMDA5YmIyNmJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL3Rlc3RoYXJuZXNzcmVwb3J0LXNlcnZvLmpzCkBAIC0wLDAgKzEsMTcgQEAKK3ZhciBw
cm9wcyA9IHtvdXRwdXQ6JShvdXRwdXQpZH07Cit2YXIgc3RhcnRfbG9jID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnYScpOworc3RhcnRfbG9jLmhyZWYgPSBsb2NhdGlvbi5ocmVmOworc2V0dXAo
cHJvcHMpOworCithZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbiAodGVzdHMsIGhhcm5l
c3Nfc3RhdHVzKSB7CisgICAgdmFyIGlkID0gc3RhcnRfbG9jLnBhdGhuYW1lICsgc3RhcnRfbG9j
LnNlYXJjaCArIHN0YXJ0X2xvYy5oYXNoOworICAgIGNvbnNvbGUubG9nKCJBTEVSVDogUkVTVUxU
OiAiICsgSlNPTi5zdHJpbmdpZnkoWworICAgICAgICBpZCwKKyAgICAgICAgaGFybmVzc19zdGF0
dXMuc3RhdHVzLAorICAgICAgICBoYXJuZXNzX3N0YXR1cy5tZXNzYWdlLAorICAgICAgICBoYXJu
ZXNzX3N0YXR1cy5zdGFjaywKKyAgICAgICAgdGVzdHMubWFwKGZ1bmN0aW9uKHQpIHsKKyAgICAg
ICAgICAgIHJldHVybiBbdC5uYW1lLCB0LnN0YXR1cywgdC5tZXNzYWdlLCB0LnN0YWNrXQorICAg
ICAgICB9KSwKKyAgICBdKSk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFy
bmVzc3JlcG9ydC1zZXJ2b2RyaXZlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFybmVzc3JlcG9y
dC1zZXJ2b2RyaXZlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODg4NDEzNjA0NzBmOGRkM2FlYzIyMjQ0OTI5
ZGRhNDlmYWRhZjMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNz
cmVwb3J0LXNlcnZvZHJpdmVyLmpzCkBAIC0wLDAgKzEsMjMgQEAKK3NldHVwKHtvdXRwdXQ6JShv
dXRwdXQpZH0pOworCithZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbigpIHsKKyAgICBh
ZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbiAodGVzdHMsIHN0YXR1cykgeworICAgICAg
ICB2YXIgc3VidGVzdF9yZXN1bHRzID0gdGVzdHMubWFwKGZ1bmN0aW9uKHgpIHsKKyAgICAgICAg
ICAgIHJldHVybiBbeC5uYW1lLCB4LnN0YXR1cywgeC5tZXNzYWdlLCB4LnN0YWNrXQorICAgICAg
ICB9KTsKKyAgICAgICAgdmFyIGlkID0gbG9jYXRpb24ucGF0aG5hbWUgKyBsb2NhdGlvbi5zZWFy
Y2ggKyBsb2NhdGlvbi5oYXNoOworICAgICAgICB2YXIgcmVzdWx0cyA9IEpTT04uc3RyaW5naWZ5
KFtpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzLnN0YXR1
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzLm1lc3NhZ2Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cy5zdGFjaywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VidGVzdF9yZXN1bHRzXSk7Cisg
ICAgICAgIChmdW5jdGlvbiBkb25lKCkgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5fX3dkX3Jl
c3VsdHNfY2FsbGJhY2tfXykgeworICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dChfX3dkX3Jl
c3VsdHNfdGltZXJfXyk7CisgICAgICAgICAgICAgICAgX193ZF9yZXN1bHRzX2NhbGxiYWNrX18o
cmVzdWx0cykKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgc2V0VGltZW91
dChkb25lLCAyMCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0pKCkKKyAgICB9KQorfSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvdGVzdGhhcm5lc3NyZXBvcnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjJkZGFmZmI0NDNjOTQ1MDUzODMw
ODM5MjNkYzEzZmNiMWNmNTY2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0
aGFybmVzc3JlcG9ydC5qcwpAQCAtMCwwICsxLDEzIEBACit2YXIgcHJvcHMgPSB7b3V0cHV0OiUo
b3V0cHV0KWQsCisgICAgICAgICAgICAgZXhwbGljaXRfdGltZW91dDogdHJ1ZSwKKyAgICAgICAg
ICAgICBtZXNzYWdlX2V2ZW50czogWyJjb21wbGV0aW9uIl19OworCitpZiAod2luZG93Lm9wZW5l
ciAmJiAidGltZW91dF9tdWx0aXBsaWVyIiBpbiB3aW5kb3cub3BlbmVyKSB7CisgICAgcHJvcHNb
InRpbWVvdXRfbXVsdGlwbGllciJdID0gd2luZG93Lm9wZW5lci50aW1lb3V0X211bHRpcGxpZXI7
Cit9CisKK2lmICh3aW5kb3cub3BlbmVyICYmIHdpbmRvdy5vcGVuZXIuZXhwbGljaXRfdGltZW91
dCkgeworICAgIHByb3BzWyJleHBsaWNpdF90aW1lb3V0Il0gPSB3aW5kb3cub3BlbmVyLmV4cGxp
Y2l0X3RpbWVvdXQ7Cit9CisKK3NldHVwKHByb3BzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci90ZXN0bG9hZGVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3Rsb2FkZXIucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzRkY2U0YWFmZTMzMTVmNGY4M2E2MzIwMWEzMTBiNjYxMzFiNGY5NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci90ZXN0bG9hZGVyLnB5CkBAIC0wLDAgKzEsNjM4IEBACitpbXBvcnQg
aGFzaGxpYgoraW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHVybHBhcnNlCitmcm9tIGFi
YyBpbXBvcnQgQUJDTWV0YSwgYWJzdHJhY3RtZXRob2QKK2Zyb20gUXVldWUgaW1wb3J0IEVtcHR5
Citmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdCwgT3JkZXJlZERpY3QsIGRlcXVl
Citmcm9tIG11bHRpcHJvY2Vzc2luZyBpbXBvcnQgUXVldWUKKworaW1wb3J0IG1hbmlmZXN0aW5j
bHVkZQoraW1wb3J0IG1hbmlmZXN0ZXhwZWN0ZWQKK2ltcG9ydCB3cHR0ZXN0Citmcm9tIG1vemxv
ZyBpbXBvcnQgc3RydWN0dXJlZAorCittYW5pZmVzdCA9IE5vbmUKK21hbmlmZXN0X3VwZGF0ZSA9
IE5vbmUKKworZGVmIGRvX2RlbGF5ZWRfaW1wb3J0cygpOgorICAgICMgVGhpcyByZWxpZXMgb24g
YW4gYWxyZWFkeSBsb2FkZWQgbW9kdWxlIGhhdmluZyBzZXQgdGhlIHN5cy5wYXRoIGNvcnJlY3Rs
eSA6KAorICAgIGdsb2JhbCBtYW5pZmVzdCwgbWFuaWZlc3RfdXBkYXRlCisgICAgZnJvbSBtYW5p
ZmVzdCBpbXBvcnQgbWFuaWZlc3QKKyAgICBmcm9tIG1hbmlmZXN0IGltcG9ydCB1cGRhdGUgYXMg
bWFuaWZlc3RfdXBkYXRlCisKK2NsYXNzIFRlc3RDaHVua2VyKG9iamVjdCk6CisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHRvdGFsX2NodW5rcywgY2h1bmtfbnVtYmVyKToKKyAgICAgICAgc2VsZi50
b3RhbF9jaHVua3MgPSB0b3RhbF9jaHVua3MKKyAgICAgICAgc2VsZi5jaHVua19udW1iZXIgPSBj
aHVua19udW1iZXIKKyAgICAgICAgYXNzZXJ0IHNlbGYuY2h1bmtfbnVtYmVyIDw9IHNlbGYudG90
YWxfY2h1bmtzCisgICAgICAgIHNlbGYubG9nZ2VyID0gc3RydWN0dXJlZC5nZXRfZGVmYXVsdF9s
b2dnZXIoKQorICAgICAgICBhc3NlcnQgc2VsZi5sb2dnZXIKKworICAgIGRlZiBfX2NhbGxfXyhz
ZWxmLCBtYW5pZmVzdCk6CisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKworCitj
bGFzcyBVbmNodW5rZWQoVGVzdENodW5rZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJn
cywgKiprd2FyZ3MpOgorICAgICAgICBUZXN0Q2h1bmtlci5fX2luaXRfXyhzZWxmLCAqYXJncywg
Kiprd2FyZ3MpCisgICAgICAgIGFzc2VydCBzZWxmLnRvdGFsX2NodW5rcyA9PSAxCisKKyAgICBk
ZWYgX19jYWxsX18oc2VsZiwgbWFuaWZlc3QpOgorICAgICAgICBmb3IgaXRlbSBpbiBtYW5pZmVz
dDoKKyAgICAgICAgICAgIHlpZWxkIGl0ZW0KKworCitjbGFzcyBIYXNoQ2h1bmtlcihUZXN0Q2h1
bmtlcik6CisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIG1hbmlmZXN0KToKKyAgICAgICAgY2h1bmtf
aW5kZXggPSBzZWxmLmNodW5rX251bWJlciAtIDEKKyAgICAgICAgZm9yIHRlc3RfdHlwZSwgdGVz
dF9wYXRoLCB0ZXN0cyBpbiBtYW5pZmVzdDoKKyAgICAgICAgICAgIGggPSBpbnQoaGFzaGxpYi5t
ZDUodGVzdF9wYXRoKS5oZXhkaWdlc3QoKSwgMTYpCisgICAgICAgICAgICBpZiBoICUgc2VsZi50
b3RhbF9jaHVua3MgPT0gY2h1bmtfaW5kZXg6CisgICAgICAgICAgICAgICAgeWllbGQgdGVzdF90
eXBlLCB0ZXN0X3BhdGgsIHRlc3RzCisKKworY2xhc3MgRGlyZWN0b3J5SGFzaENodW5rZXIoVGVz
dENodW5rZXIpOgorICAgICIiIkxpa2UgSGFzaENodW5rZXIgZXhjZXB0IHRoZSBkaXJlY3Rvcnkg
aXMgaGFzaGVkLgorCisgICAgVGhpcyBlbnN1cmVzIHRoYXQgYWxsIHRlc3RzIGluIHRoZSBzYW1l
IGRpcmVjdG9yeSBlbmQgdXAgaW4gdGhlIHNhbWUKKyAgICBjaHVuay4KKyAgICAiIiIKKyAgICBk
ZWYgX19jYWxsX18oc2VsZiwgbWFuaWZlc3QpOgorICAgICAgICBjaHVua19pbmRleCA9IHNlbGYu
Y2h1bmtfbnVtYmVyIC0gMQorICAgICAgICBmb3IgdGVzdF90eXBlLCB0ZXN0X3BhdGgsIHRlc3Rz
IGluIG1hbmlmZXN0OgorICAgICAgICAgICAgaCA9IGludChoYXNobGliLm1kNShvcy5wYXRoLmRp
cm5hbWUodGVzdF9wYXRoKSkuaGV4ZGlnZXN0KCksIDE2KQorICAgICAgICAgICAgaWYgaCAlIHNl
bGYudG90YWxfY2h1bmtzID09IGNodW5rX2luZGV4OgorICAgICAgICAgICAgICAgIHlpZWxkIHRl
c3RfdHlwZSwgdGVzdF9wYXRoLCB0ZXN0cworCisKK2NsYXNzIEVxdWFsVGltZUNodW5rZXIoVGVz
dENodW5rZXIpOgorICAgIGRlZiBfZ3JvdXBfYnlfZGlyZWN0b3J5KHNlbGYsIG1hbmlmZXN0X2l0
ZW1zKToKKyAgICAgICAgIiIiU3BsaXQgdGhlIGxpc3Qgb2YgbWFuaWZlc3QgaXRlbXMgaW50byBh
IG9yZGVyZWQgZGljdCB0aGF0IGdyb3VwcyB0ZXN0cyBpbgorICAgICAgICBzbyB0aGF0IGFueXRo
aW5nIGluIHRoZSBzYW1lIHN1YmRpcmVjdG9yeSBiZXlvbmQgYSBkZXB0aCBvZiAzIGlzIGluIHRo
ZSBzYW1lCisgICAgICAgIGdyb3VwLiBTbyBhbGwgdGVzdHMgaW4gYS9iL2MsIGEvYi9jL2QgYW5k
IGEvYi9jL2Ugd2lsbCBiZSBncm91cGVkIHRvZ2V0aGVyCisgICAgICAgIGFuZCBzZXBhcmF0ZSB0
byB0ZXN0cyBpbiBhL2IvZgorCisgICAgICAgIFJldHVybnM6IHR1cGxlIChvcmRlcmVkIGRpY3Qg
b2Yge3Rlc3RfZGlyOiBQYXRoRGF0YX0sIHRvdGFsIGVzdGltYXRlZCBydW50aW1lKQorICAgICAg
ICAiIiIKKworICAgICAgICBjbGFzcyBQYXRoRGF0YShvYmplY3QpOgorICAgICAgICAgICAgZGVm
IF9faW5pdF9fKHNlbGYsIHBhdGgpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aCA9IHBhdGgK
KyAgICAgICAgICAgICAgICBzZWxmLnRpbWUgPSAwCisgICAgICAgICAgICAgICAgc2VsZi50ZXN0
cyA9IFtdCisKKyAgICAgICAgYnlfZGlyID0gT3JkZXJlZERpY3QoKQorICAgICAgICB0b3RhbF90
aW1lID0gMAorCisgICAgICAgIGZvciBpLCAodGVzdF90eXBlLCB0ZXN0X3BhdGgsIHRlc3RzKSBp
biBlbnVtZXJhdGUobWFuaWZlc3RfaXRlbXMpOgorICAgICAgICAgICAgdGVzdF9kaXIgPSB0dXBs
ZShvcy5wYXRoLnNwbGl0KHRlc3RfcGF0aClbMF0uc3BsaXQob3MucGF0aC5zZXApWzozXSkKKwor
ICAgICAgICAgICAgaWYgbm90IHRlc3RfZGlyIGluIGJ5X2RpcjoKKyAgICAgICAgICAgICAgICBi
eV9kaXJbdGVzdF9kaXJdID0gUGF0aERhdGEodGVzdF9kaXIpCisKKyAgICAgICAgICAgIGRhdGEg
PSBieV9kaXJbdGVzdF9kaXJdCisgICAgICAgICAgICB0aW1lID0gc3VtKHdwdHRlc3QuREVGQVVM
VF9USU1FT1VUIGlmIHRlc3QudGltZW91dCAhPQorICAgICAgICAgICAgICAgICAgICAgICAibG9u
ZyIgZWxzZSB3cHR0ZXN0LkxPTkdfVElNRU9VVCBmb3IgdGVzdCBpbiB0ZXN0cykKKyAgICAgICAg
ICAgIGRhdGEudGltZSArPSB0aW1lCisgICAgICAgICAgICB0b3RhbF90aW1lICs9IHRpbWUKKyAg
ICAgICAgICAgIGRhdGEudGVzdHMuYXBwZW5kKCh0ZXN0X3R5cGUsIHRlc3RfcGF0aCwgdGVzdHMp
KQorCisgICAgICAgIHJldHVybiBieV9kaXIsIHRvdGFsX3RpbWUKKworICAgIGRlZiBfbWF5YmVf
cmVtb3ZlKHNlbGYsIGNodW5rcywgaSwgZGlyZWN0aW9uKToKKyAgICAgICAgIiIiVHJpYWwgcmVt
b3ZpbmcgYSBjaHVuayBmcm9tIG9uZSBjaHVuayB0byBhbiBhZGphY2VudCBvbmUuCisKKyAgICAg
ICAgOnBhcmFtIGNodW5rczogLSB0aGUgbGlzdCBvZiBhbGwgY2h1bmtzCisgICAgICAgIDpwYXJh
bSBpOiAtIHRoZSBjaHVuayBpbmRleCBpbiB0aGUgbGlzdCBvZiBjaHVua3MgdG8gdHJ5IHJlbW92
aW5nIGZyb20KKyAgICAgICAgOnBhcmFtIGRpcmVjdGlvbjogZWl0aGVyICJuZXh0IiBpZiB3ZSBh
cmUgZ29pbmcgdG8gbW92ZSBmcm9tIHRoZSBlbmQgdG8KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGhlIHN1YnNlcXVlbnQgY2h1bmssIG9yICJwcmV2IiBpZiB3ZSBhcmUgZ29pbmcgdG8gbW92
ZQorICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHRoZSBzdGFydCBpbnRvIHRoZSBwcmV2
aW91cyBjaHVuay4KKworICAgICAgICA6cmV0dXJucyBib29sOiBEaWQgYSBjaHVuayBnZXQgbW92
ZWQ/IiIiCisgICAgICAgIHNvdXJjZV9jaHVuayA9IGNodW5rc1tpXQorICAgICAgICBpZiBkaXJl
Y3Rpb24gPT0gIm5leHQiOgorICAgICAgICAgICAgdGFyZ2V0X2NodW5rID0gY2h1bmtzW2krMV0K
KyAgICAgICAgICAgIHBhdGhfaW5kZXggPSAtMQorICAgICAgICAgICAgbW92ZV9mdW5jID0gbGFt
YmRhOiB0YXJnZXRfY2h1bmsuYXBwZW5kbGVmdChzb3VyY2VfY2h1bmsucG9wKCkpCisgICAgICAg
IGVsaWYgZGlyZWN0aW9uID09ICJwcmV2IjoKKyAgICAgICAgICAgIHRhcmdldF9jaHVuayA9IGNo
dW5rc1tpLTFdCisgICAgICAgICAgICBwYXRoX2luZGV4ID0gMAorICAgICAgICAgICAgbW92ZV9m
dW5jID0gbGFtYmRhOiB0YXJnZXRfY2h1bmsuYXBwZW5kKHNvdXJjZV9jaHVuay5wb3BsZWZ0KCkp
CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJVbmV4cGVjdGVk
IG1vdmUgZGlyZWN0aW9uICVzIiAlIGRpcmVjdGlvbikKKworICAgICAgICByZXR1cm4gc2VsZi5f
bWF5YmVfbW92ZShzb3VyY2VfY2h1bmssIHRhcmdldF9jaHVuaywgcGF0aF9pbmRleCwgbW92ZV9m
dW5jKQorCisgICAgZGVmIF9tYXliZV9hZGQoc2VsZiwgY2h1bmtzLCBpLCBkaXJlY3Rpb24pOgor
ICAgICAgICAiIiJUcmlhbCBhZGRpbmcgYSBjaHVuayBmcm9tIG9uZSBjaHVuayB0byBhbiBhZGph
Y2VudCBvbmUuCisKKyAgICAgICAgOnBhcmFtIGNodW5rczogLSB0aGUgbGlzdCBvZiBhbGwgY2h1
bmtzCisgICAgICAgIDpwYXJhbSBpOiAtIHRoZSBjaHVuayBpbmRleCBpbiB0aGUgbGlzdCBvZiBj
aHVua3MgdG8gdHJ5IGFkZGluZyB0bworICAgICAgICA6cGFyYW0gZGlyZWN0aW9uOiBlaXRoZXIg
Im5leHQiIGlmIHdlIGFyZSBnb2luZyB0byByZW1vdmUgZnJvbSB0aGUKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGhlIHN1YnNlcXVlbnQgY2h1bmssIG9yICJwcmV2IiBpZiB3ZSBhcmUgZ29p
bmcgdG8gcmVtb3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGhlIHRoZSBwcmV2
aW91cyBjaHVuay4KKworICAgICAgICA6cmV0dXJucyBib29sOiBEaWQgYSBjaHVuayBnZXQgbW92
ZWQ/IiIiCisgICAgICAgIHRhcmdldF9jaHVuayA9IGNodW5rc1tpXQorICAgICAgICBpZiBkaXJl
Y3Rpb24gPT0gIm5leHQiOgorICAgICAgICAgICAgc291cmNlX2NodW5rID0gY2h1bmtzW2krMV0K
KyAgICAgICAgICAgIHBhdGhfaW5kZXggPSAwCisgICAgICAgICAgICBtb3ZlX2Z1bmMgPSBsYW1i
ZGE6IHRhcmdldF9jaHVuay5hcHBlbmQoc291cmNlX2NodW5rLnBvcGxlZnQoKSkKKyAgICAgICAg
ZWxpZiBkaXJlY3Rpb24gPT0gInByZXYiOgorICAgICAgICAgICAgc291cmNlX2NodW5rID0gY2h1
bmtzW2ktMV0KKyAgICAgICAgICAgIHBhdGhfaW5kZXggPSAtMQorICAgICAgICAgICAgbW92ZV9m
dW5jID0gbGFtYmRhOiB0YXJnZXRfY2h1bmsuYXBwZW5kbGVmdChzb3VyY2VfY2h1bmsucG9wKCkp
CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJVbmV4cGVjdGVk
IG1vdmUgZGlyZWN0aW9uICVzIiAlIGRpcmVjdGlvbikKKworICAgICAgICByZXR1cm4gc2VsZi5f
bWF5YmVfbW92ZShzb3VyY2VfY2h1bmssIHRhcmdldF9jaHVuaywgcGF0aF9pbmRleCwgbW92ZV9m
dW5jKQorCisgICAgZGVmIF9tYXliZV9tb3ZlKHNlbGYsIHNvdXJjZV9jaHVuaywgdGFyZ2V0X2No
dW5rLCBwYXRoX2luZGV4LCBtb3ZlX2Z1bmMpOgorICAgICAgICAiIiJNb3ZlIGZyb20gb25lIGNo
dW5rIHRvIGFub3RoZXIsIGFzc2VzcyB0aGUgY2hhbmdlIGluIGJhZG5lc3MsCisgICAgICAgIGFu
ZCBrZWVwIHRoZSBtb3ZlIGlmZiBpdCBkZWNyZWFzZXMgdGhlIGJhZG5lc3Mgc2NvcmUuCisKKyAg
ICAgICAgOnBhcmFtIHNvdXJjZV9jaHVuazogY2h1bmsgdG8gbW92ZSBmcm9tCisgICAgICAgIDpw
YXJhbSB0YXJnZXRfY2h1bms6IGNodW5rIHRvIG1vdmUgdG8KKyAgICAgICAgOnBhcmFtIHBhdGhf
aW5kZXg6IDAgaWYgd2UgYXJlIG1vdmluZyBmcm9tIHRoZSBzdGFydCBvciAtMSBpZiB3ZSBhcmUg
bW92aW5nIGZyb20gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAg
OnBhcmFtIG1vdmVfZnVuYzogRnVuY3Rpb24gdGhhdCBhY3R1YWxseSBtb3ZlcyBiZXR3ZWVuIGNo
dW5rcyIiIgorICAgICAgICBpZiBsZW4oc291cmNlX2NodW5rLnBhdGhzKSA8PSAxOgorICAgICAg
ICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAgbW92ZV90aW1lID0gc291cmNlX2NodW5rLnBh
dGhzW3BhdGhfaW5kZXhdLnRpbWUKKworICAgICAgICBuZXdfc291cmNlX2JhZG5lc3MgPSBzZWxm
Ll9iYWRuZXNzKHNvdXJjZV9jaHVuay50aW1lIC0gbW92ZV90aW1lKQorICAgICAgICBuZXdfdGFy
Z2V0X2JhZG5lc3MgPSBzZWxmLl9iYWRuZXNzKHRhcmdldF9jaHVuay50aW1lICsgbW92ZV90aW1l
KQorCisgICAgICAgIGRlbHRhX2JhZG5lc3MgPSAoKG5ld19zb3VyY2VfYmFkbmVzcyArIG5ld190
YXJnZXRfYmFkbmVzcykgLQorICAgICAgICAgICAgICAgICAgICAgICAgIChzb3VyY2VfY2h1bmsu
YmFkbmVzcyArIHRhcmdldF9jaHVuay5iYWRuZXNzKSkKKyAgICAgICAgaWYgZGVsdGFfYmFkbmVz
cyA8IDA6CisgICAgICAgICAgICBtb3ZlX2Z1bmMoKQorICAgICAgICAgICAgcmV0dXJuIFRydWUK
KworICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRlZiBfYmFkbmVzcyhzZWxmLCB0aW1lKToK
KyAgICAgICAgIiIiTWV0cmljIG9mIGJhZG5lc3MgZm9yIGEgc3BlY2lmaWMgY2h1bmsKKworICAg
ICAgICA6cGFyYW0gdGltZTogdGhlIHRpbWUgZm9yIGEgc3BlY2lmaWMgY2h1bmsiIiIKKyAgICAg
ICAgcmV0dXJuICh0aW1lIC0gc2VsZi5leHBlY3RlZF90aW1lKSoqMgorCisgICAgZGVmIF9nZXRf
Y2h1bmsoc2VsZiwgbWFuaWZlc3RfaXRlbXMpOgorICAgICAgICBieV9kaXIsIHRvdGFsX3RpbWUg
PSBzZWxmLl9ncm91cF9ieV9kaXJlY3RvcnkobWFuaWZlc3RfaXRlbXMpCisKKyAgICAgICAgaWYg
bGVuKGJ5X2RpcikgPCBzZWxmLnRvdGFsX2NodW5rczoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVl
RXJyb3IoIlRyaWVkIHRvIHNwbGl0IGludG8gJWkgY2h1bmtzLCBidXQgb25seSAlaSBzdWJkaXJl
Y3RvcmllcyBpbmNsdWRlZCIgJSAoCisgICAgICAgICAgICAgICAgc2VsZi50b3RhbF9jaHVua3Ms
IGxlbihieV9kaXIpKSkKKworICAgICAgICBzZWxmLmV4cGVjdGVkX3RpbWUgPSBmbG9hdCh0b3Rh
bF90aW1lKSAvIHNlbGYudG90YWxfY2h1bmtzCisKKyAgICAgICAgY2h1bmtzID0gc2VsZi5fY3Jl
YXRlX2luaXRpYWxfY2h1bmtzKGJ5X2RpcikKKworICAgICAgICB3aGlsZSBUcnVlOgorICAgICAg
ICAgICAgIyBNb3ZlIGEgdGVzdCBmcm9tIG9uZSBjaHVuayB0byB0aGUgbmV4dCB1bnRpbCBkb2lu
ZyBzbyBubyBsb25nZXIKKyAgICAgICAgICAgICMgcmVkdWNlcyB0aGUgYmFkbmVzcworICAgICAg
ICAgICAgZ290X2ltcHJvdmVtZW50ID0gc2VsZi5fdXBkYXRlX2NodW5rcyhjaHVua3MpCisgICAg
ICAgICAgICBpZiBub3QgZ290X2ltcHJvdmVtZW50OgorICAgICAgICAgICAgICAgIGJyZWFrCisK
KyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoc2VsZi5leHBlY3RlZF90aW1lKQorICAgICAgICBm
b3IgaSwgY2h1bmsgaW4gY2h1bmtzLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgc2VsZi5sb2dn
ZXIuZGVidWcoIiVpOiAlaSwgJWkiICUgKGkgKyAxLCBjaHVuay50aW1lLCBjaHVuay5iYWRuZXNz
KSkKKworICAgICAgICBhc3NlcnQgc2VsZi5fYWxsX3Rlc3RzKGJ5X2RpcikgPT0gc2VsZi5fY2h1
bmtlZF90ZXN0cyhjaHVua3MpCisKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF90ZXN0cyhjaHVu
a3MpCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIF9hbGxfdGVzdHMoYnlfZGlyKToKKyAg
ICAgICAgIiIiUmV0dXJuIGEgc2V0IG9mIGFsbCB0ZXN0cyBpbiB0aGUgbWFuaWZlc3QgZnJvbSBh
IGdyb3VwaW5nIGJ5IGRpcmVjdG9yeSIiIgorICAgICAgICByZXR1cm4gc2V0KHhbMF0gZm9yIGl0
ZW0gaW4gYnlfZGlyLml0ZXJ2YWx1ZXMoKQorICAgICAgICAgICAgICAgICAgIGZvciB4IGluIGl0
ZW0udGVzdHMpCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIF9jaHVua2VkX3Rlc3RzKGNo
dW5rcyk6CisgICAgICAgICIiIlJldHVybiBhIHNldCBvZiBhbGwgdGVzdHMgaW4gdGhlIG1hbmlm
ZXN0IGZyb20gdGhlIGNodW5rIGxpc3QiIiIKKyAgICAgICAgcmV0dXJuIHNldCh4WzBdIGZvciBj
aHVuayBpbiBjaHVua3MuaXRlcnZhbHVlcygpCisgICAgICAgICAgICAgICAgICAgZm9yIHBhdGgg
aW4gY2h1bmsucGF0aHMKKyAgICAgICAgICAgICAgICAgICBmb3IgeCBpbiBwYXRoLnRlc3RzKQor
CisKKyAgICBkZWYgX2NyZWF0ZV9pbml0aWFsX2NodW5rcyhzZWxmLCBieV9kaXIpOgorICAgICAg
ICAiIiJDcmVhdGUgYW4gaW5pdGlhbCB1bmJhbGFuY2VkIGxpc3Qgb2YgY2h1bmtzLgorCisgICAg
ICAgIDpwYXJhbSBieV9kaXI6IEFsbCB0ZXN0cyBpbiB0aGUgbWFuaWZlc3QgZ3JvdXBlZCBieSBz
dWJkaXJlY3RvcnkKKyAgICAgICAgOnJldHVybnMgbGlzdDogQSBsaXN0IG9mIENodW5rIG9iamVj
dHMiIiIKKworICAgICAgICBjbGFzcyBDaHVuayhvYmplY3QpOgorICAgICAgICAgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBhdGhzLCBpbmRleCk6CisgICAgICAgICAgICAgICAgIiIiTGlzdCBvZiBQ
YXRoRGF0YSBvYmplY3RzIHRoYXQgdG9nZXRoZXIgZm9ybSBhIHNpbmdsZSBjaHVuayBvZgorICAg
ICAgICAgICAgICAgIHRlc3RzIiIiCisgICAgICAgICAgICAgICAgc2VsZi5wYXRocyA9IGRlcXVl
KHBhdGhzKQorICAgICAgICAgICAgICAgIHNlbGYudGltZSA9IHN1bShpdGVtLnRpbWUgZm9yIGl0
ZW0gaW4gcGF0aHMpCisgICAgICAgICAgICAgICAgc2VsZi5pbmRleCA9IGluZGV4CisKKyAgICAg
ICAgICAgIGRlZiBhcHBlbmRsZWZ0KHNlbGYsIHBhdGgpOgorICAgICAgICAgICAgICAgICIiIkFk
ZCBhIFBhdGhEYXRhIG9iamVjdCB0byB0aGUgc3RhcnQgb2YgdGhlIGNodW5rIiIiCisgICAgICAg
ICAgICAgICAgc2VsZi5wYXRocy5hcHBlbmRsZWZ0KHBhdGgpCisgICAgICAgICAgICAgICAgc2Vs
Zi50aW1lICs9IHBhdGgudGltZQorCisgICAgICAgICAgICBkZWYgYXBwZW5kKHNlbGYsIHBhdGgp
OgorICAgICAgICAgICAgICAgICIiIkFkZCBhIFBhdGhEYXRhIG9iamVjdCB0byB0aGUgZW5kIG9m
IHRoZSBjaHVuayIiIgorICAgICAgICAgICAgICAgIHNlbGYucGF0aHMuYXBwZW5kKHBhdGgpCisg
ICAgICAgICAgICAgICAgc2VsZi50aW1lICs9IHBhdGgudGltZQorCisgICAgICAgICAgICBkZWYg
cG9wKHNlbGYpOgorICAgICAgICAgICAgICAgICIiIlJlbW92ZSBQYXRoRGF0YSBvYmplY3QgZnJv
bSB0aGUgZW5kIG9mIHRoZSBjaHVuayIiIgorICAgICAgICAgICAgICAgIGFzc2VydCBsZW4oc2Vs
Zi5wYXRocykgPiAxCisgICAgICAgICAgICAgICAgc2VsZi50aW1lIC09IHNlbGYucGF0aHNbLTFd
LnRpbWUKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRocy5wb3AoKQorCisgICAgICAg
ICAgICBkZWYgcG9wbGVmdChzZWxmKToKKyAgICAgICAgICAgICAgICAiIiJSZW1vdmUgUGF0aERh
dGEgb2JqZWN0IGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBjaHVuayIiIgorICAgICAgICAgICAgICAg
IGFzc2VydCBsZW4oc2VsZi5wYXRocykgPiAxCisgICAgICAgICAgICAgICAgc2VsZi50aW1lIC09
IHNlbGYucGF0aHNbMF0udGltZQorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnBhdGhzLnBv
cGxlZnQoKQorCisgICAgICAgICAgICBAcHJvcGVydHkKKyAgICAgICAgICAgIGRlZiBiYWRuZXNz
KHNlbGZfKToKKyAgICAgICAgICAgICAgICAiIiJCYWRuZXNzIG1ldHJpYyBmb3IgdGhpcyBjaHVu
ayIiIgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9iYWRuZXNzKHNlbGZfLnRpbWUpCisK
KyAgICAgICAgaW5pdGlhbF9zaXplID0gbGVuKGJ5X2RpcikgLyBzZWxmLnRvdGFsX2NodW5rcwor
ICAgICAgICBjaHVua19ib3VuZGFyaWVzID0gW2luaXRpYWxfc2l6ZSAqIGkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmb3IgaSBpbiB4cmFuZ2Uoc2VsZi50b3RhbF9jaHVua3MpXSArIFts
ZW4oYnlfZGlyKV0KKworICAgICAgICBjaHVua3MgPSBPcmRlcmVkRGljdCgpCisgICAgICAgIGZv
ciBpLCBsb3dlciBpbiBlbnVtZXJhdGUoY2h1bmtfYm91bmRhcmllc1s6LTFdKToKKyAgICAgICAg
ICAgIHVwcGVyID0gY2h1bmtfYm91bmRhcmllc1tpICsgMV0KKyAgICAgICAgICAgIHBhdGhzID0g
YnlfZGlyLnZhbHVlcygpW2xvd2VyOnVwcGVyXQorICAgICAgICAgICAgY2h1bmtzW2ldID0gQ2h1
bmsocGF0aHMsIGkpCisKKyAgICAgICAgYXNzZXJ0IHNlbGYuX2FsbF90ZXN0cyhieV9kaXIpID09
IHNlbGYuX2NodW5rZWRfdGVzdHMoY2h1bmtzKQorCisgICAgICAgIHJldHVybiBjaHVua3MKKwor
ICAgIGRlZiBfdXBkYXRlX2NodW5rcyhzZWxmLCBjaHVua3MpOgorICAgICAgICAiIiJSdW4gYSBz
aW5nbGUgaXRlcmF0aW9uIG9mIHRoZSBjaHVuayB1cGRhdGUgYWxnb3JpdGhtLgorCisgICAgICAg
IDpwYXJhbSBjaHVua3M6IC0gTGlzdCBvZiBjaHVua3MKKyAgICAgICAgIiIiCisgICAgICAgICNU
T0RPOiBjb25zaWRlciByZXBsYWNpbmcgdGhpcyB3aXRoIGEgaGVhcAorICAgICAgICBzb3J0ZWRf
Y2h1bmtzID0gc29ydGVkKGNodW5rcy52YWx1ZXMoKSwga2V5PWxhbWJkYSB4Oi14LmJhZG5lc3Mp
CisgICAgICAgIGdvdF9pbXByb3ZlbWVudCA9IEZhbHNlCisgICAgICAgIGZvciBjaHVuayBpbiBz
b3J0ZWRfY2h1bmtzOgorICAgICAgICAgICAgaWYgY2h1bmsudGltZSA8IHNlbGYuZXhwZWN0ZWRf
dGltZToKKyAgICAgICAgICAgICAgICBmID0gc2VsZi5fbWF5YmVfYWRkCisgICAgICAgICAgICBl
bHNlOgorICAgICAgICAgICAgICAgIGYgPSBzZWxmLl9tYXliZV9yZW1vdmUKKworICAgICAgICAg
ICAgaWYgY2h1bmsuaW5kZXggPT0gMDoKKyAgICAgICAgICAgICAgICBvcmRlciA9IFsibmV4dCJd
CisgICAgICAgICAgICBlbGlmIGNodW5rLmluZGV4ID09IHNlbGYudG90YWxfY2h1bmtzIC0gMToK
KyAgICAgICAgICAgICAgICBvcmRlciA9IFsicHJldiJdCisgICAgICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgICAgIGlmIGNodW5rLnRpbWUgPCBzZWxmLmV4cGVjdGVkX3RpbWU6CisgICAgICAg
ICAgICAgICAgICAgICMgRmlyc3QgdHJ5IHRvIGFkZCBhIHRlc3QgZnJvbSB0aGUgbmVpZ2hib3Jp
bmcgY2h1bmsgd2l0aCB0aGUKKyAgICAgICAgICAgICAgICAgICAgIyBncmVhdGVzdCB0b3RhbCB0
aW1lCisgICAgICAgICAgICAgICAgICAgIGlmIGNodW5rc1tjaHVuay5pbmRleCArIDFdLnRpbWUg
PiBjaHVua3NbY2h1bmsuaW5kZXggLSAxXS50aW1lOgorICAgICAgICAgICAgICAgICAgICAgICAg
b3JkZXIgPSBbIm5leHQiLCAicHJldiJdCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICAgICAgICAgICAgICBvcmRlciA9IFsicHJldiIsICJuZXh0Il0KKyAgICAgICAgICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAjIEZpcnN0IHRyeSB0byByZW1vdmUgYSB0
ZXN0IGFuZCBhZGQgdG8gdGhlIG5laWdoYm9yaW5nIGNodW5rIHdpdGggdGhlCisgICAgICAgICAg
ICAgICAgICAgICMgbG93ZXN0IHRvdGFsIHRpbWUKKyAgICAgICAgICAgICAgICAgICAgaWYgY2h1
bmtzW2NodW5rLmluZGV4ICsgMV0udGltZSA+IGNodW5rc1tjaHVuay5pbmRleCAtIDFdLnRpbWU6
CisgICAgICAgICAgICAgICAgICAgICAgICBvcmRlciA9IFsicHJldiIsICJuZXh0Il0KKyAgICAg
ICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyID0gWyJu
ZXh0IiwgInByZXYiXQorCisgICAgICAgICAgICBmb3IgZGlyZWN0aW9uIGluIG9yZGVyOgorICAg
ICAgICAgICAgICAgIGlmIGYoY2h1bmtzLCBjaHVuay5pbmRleCwgZGlyZWN0aW9uKToKKyAgICAg
ICAgICAgICAgICAgICAgZ290X2ltcHJvdmVtZW50ID0gVHJ1ZQorICAgICAgICAgICAgICAgICAg
ICBicmVhaworCisgICAgICAgICAgICBpZiBnb3RfaW1wcm92ZW1lbnQ6CisgICAgICAgICAgICAg
ICAgYnJlYWsKKworICAgICAgICByZXR1cm4gZ290X2ltcHJvdmVtZW50CisKKyAgICBkZWYgX2dl
dF90ZXN0cyhzZWxmLCBjaHVua3MpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGxpc3Qgb2YgdGVz
dHMgY29ycmVzcG9uZGluZyB0byB0aGUgY2h1bmsgbnVtYmVyIHdlIGFyZSBydW5uaW5nLgorCisg
ICAgICAgIDpwYXJhbSBjaHVua3M6IExpc3Qgb2YgY2h1bmtzIiIiCisgICAgICAgIHRlc3RzID0g
W10KKyAgICAgICAgZm9yIHBhdGggaW4gY2h1bmtzW3NlbGYuY2h1bmtfbnVtYmVyIC0gMV0ucGF0
aHM6CisgICAgICAgICAgICB0ZXN0cy5leHRlbmQocGF0aC50ZXN0cykKKworICAgICAgICByZXR1
cm4gdGVzdHMKKworICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBtYW5pZmVzdF9pdGVyKToKKyAgICAg
ICAgbWFuaWZlc3QgPSBsaXN0KG1hbmlmZXN0X2l0ZXIpCisgICAgICAgIHRlc3RzID0gc2VsZi5f
Z2V0X2NodW5rKG1hbmlmZXN0KQorICAgICAgICBmb3IgaXRlbSBpbiB0ZXN0czoKKyAgICAgICAg
ICAgIHlpZWxkIGl0ZW0KKworCitjbGFzcyBUZXN0RmlsdGVyKG9iamVjdCk6CisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHRlc3RfbWFuaWZlc3RzLCBpbmNsdWRlPU5vbmUsIGV4Y2x1ZGU9Tm9uZSwg
bWFuaWZlc3RfcGF0aD1Ob25lKToKKyAgICAgICAgaWYgbWFuaWZlc3RfcGF0aCBpcyBub3QgTm9u
ZSBhbmQgaW5jbHVkZSBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5tYW5pZmVzdCA9IG1hbmlm
ZXN0aW5jbHVkZS5nZXRfbWFuaWZlc3QobWFuaWZlc3RfcGF0aCkKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIHNlbGYubWFuaWZlc3QgPSBtYW5pZmVzdGluY2x1ZGUuSW5jbHVkZU1hbmlmZXN0
LmNyZWF0ZSgpCisKKyAgICAgICAgaWYgaW5jbHVkZToKKyAgICAgICAgICAgIHNlbGYubWFuaWZl
c3Quc2V0KCJza2lwIiwgInRydWUiKQorICAgICAgICAgICAgZm9yIGl0ZW0gaW4gaW5jbHVkZToK
KyAgICAgICAgICAgICAgICBzZWxmLm1hbmlmZXN0LmFkZF9pbmNsdWRlKHRlc3RfbWFuaWZlc3Rz
LCBpdGVtKQorCisgICAgICAgIGlmIGV4Y2x1ZGU6CisgICAgICAgICAgICBmb3IgaXRlbSBpbiBl
eGNsdWRlOgorICAgICAgICAgICAgICAgIHNlbGYubWFuaWZlc3QuYWRkX2V4Y2x1ZGUodGVzdF9t
YW5pZmVzdHMsIGl0ZW0pCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgbWFuaWZlc3RfaXRlcik6
CisgICAgICAgIGZvciB0ZXN0X3R5cGUsIHRlc3RfcGF0aCwgdGVzdHMgaW4gbWFuaWZlc3RfaXRl
cjoKKyAgICAgICAgICAgIGluY2x1ZGVfdGVzdHMgPSBzZXQoKQorICAgICAgICAgICAgZm9yIHRl
c3QgaW4gdGVzdHM6CisgICAgICAgICAgICAgICAgaWYgc2VsZi5tYW5pZmVzdC5pbmNsdWRlKHRl
c3QpOgorICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX3Rlc3RzLmFkZCh0ZXN0KQorCisgICAg
ICAgICAgICBpZiBpbmNsdWRlX3Rlc3RzOgorICAgICAgICAgICAgICAgIHlpZWxkIHRlc3RfdHlw
ZSwgdGVzdF9wYXRoLCBpbmNsdWRlX3Rlc3RzCisKK2NsYXNzIFRhZ0ZpbHRlcihvYmplY3QpOgor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0YWdzKToKKyAgICAgICAgc2VsZi50YWdzID0gc2V0KHRh
Z3MpCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgdGVzdF9pdGVyKToKKyAgICAgICAgZm9yIHRl
c3QgaW4gdGVzdF9pdGVyOgorICAgICAgICAgICAgaWYgdGVzdC50YWdzICYgc2VsZi50YWdzOgor
ICAgICAgICAgICAgICAgIHlpZWxkIHRlc3QKKworY2xhc3MgTWFuaWZlc3RMb2FkZXIob2JqZWN0
KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdF9wYXRocywgZm9yY2VfbWFuaWZlc3RfdXBk
YXRlPUZhbHNlKToKKyAgICAgICAgZG9fZGVsYXllZF9pbXBvcnRzKCkKKyAgICAgICAgc2VsZi50
ZXN0X3BhdGhzID0gdGVzdF9wYXRocworICAgICAgICBzZWxmLmZvcmNlX21hbmlmZXN0X3VwZGF0
ZSA9IGZvcmNlX21hbmlmZXN0X3VwZGF0ZQorICAgICAgICBzZWxmLmxvZ2dlciA9IHN0cnVjdHVy
ZWQuZ2V0X2RlZmF1bHRfbG9nZ2VyKCkKKyAgICAgICAgaWYgc2VsZi5sb2dnZXIgaXMgTm9uZToK
KyAgICAgICAgICAgIHNlbGYubG9nZ2VyID0gc3RydWN0dXJlZC5zdHJ1Y3R1cmVkbG9nLlN0cnVj
dHVyZWRMb2dnZXIoIk1hbmlmZXN0TG9hZGVyIikKKworICAgIGRlZiBsb2FkKHNlbGYpOgorICAg
ICAgICBydiA9IHt9CisgICAgICAgIGZvciB1cmxfYmFzZSwgcGF0aHMgaW4gc2VsZi50ZXN0X3Bh
dGhzLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgbWFuaWZlc3RfZmlsZSA9IHNlbGYubG9hZF9t
YW5pZmVzdCh1cmxfYmFzZT11cmxfYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKipwYXRocykKKyAgICAgICAgICAgIHBhdGhfZGF0YSA9IHsidXJs
X2Jhc2UiOiB1cmxfYmFzZX0KKyAgICAgICAgICAgIHBhdGhfZGF0YS51cGRhdGUocGF0aHMpCisg
ICAgICAgICAgICBydlttYW5pZmVzdF9maWxlXSA9IHBhdGhfZGF0YQorICAgICAgICByZXR1cm4g
cnYKKworICAgIGRlZiBjcmVhdGVfbWFuaWZlc3Qoc2VsZiwgbWFuaWZlc3RfcGF0aCwgdGVzdHNf
cGF0aCwgdXJsX2Jhc2U9Ii8iKToKKyAgICAgICAgc2VsZi51cGRhdGVfbWFuaWZlc3QobWFuaWZl
c3RfcGF0aCwgdGVzdHNfcGF0aCwgdXJsX2Jhc2UsIHJlY3JlYXRlPVRydWUpCisKKyAgICBkZWYg
dXBkYXRlX21hbmlmZXN0KHNlbGYsIG1hbmlmZXN0X3BhdGgsIHRlc3RzX3BhdGgsIHVybF9iYXNl
PSIvIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlY3JlYXRlPUZhbHNlKToKKyAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygiVXBkYXRpbmcgdGVzdCBtYW5pZmVzdCAlcyIgJSBtYW5pZmVzdF9w
YXRoKQorCisgICAgICAgIGpzb25fZGF0YSA9IE5vbmUKKyAgICAgICAgaWYgbm90IHJlY3JlYXRl
OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHdpdGggb3BlbihtYW5pZmVzdF9w
YXRoKSBhcyBmOgorICAgICAgICAgICAgICAgICAgICBqc29uX2RhdGEgPSBqc29uLmxvYWQoZikK
KyAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgICAgICNJZiB0aGUgZXhp
c3RpbmcgZmlsZSBkb2Vzbid0IGV4aXN0IGp1c3QgY3JlYXRlIG9uZSBmcm9tIHNjcmF0Y2gKKyAg
ICAgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgaWYgbm90IGpzb25fZGF0YToKKyAgICAgICAg
ICAgIG1hbmlmZXN0X2ZpbGUgPSBtYW5pZmVzdC5NYW5pZmVzdCh1cmxfYmFzZSkKKyAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBtYW5pZmVzdF9maWxlID0g
bWFuaWZlc3QuTWFuaWZlc3QuZnJvbV9qc29uKHRlc3RzX3BhdGgsIGpzb25fZGF0YSkKKyAgICAg
ICAgICAgIGV4Y2VwdCBtYW5pZmVzdC5NYW5pZmVzdFZlcnNpb25NaXNtYXRjaDoKKyAgICAgICAg
ICAgICAgICBtYW5pZmVzdF9maWxlID0gbWFuaWZlc3QuTWFuaWZlc3QodXJsX2Jhc2UpCisKKyAg
ICAgICAgICAgIG1hbmlmZXN0X3VwZGF0ZS51cGRhdGUodGVzdHNfcGF0aCwgbWFuaWZlc3RfZmls
ZSwgVHJ1ZSkKKworICAgICAgICBtYW5pZmVzdC53cml0ZShtYW5pZmVzdF9maWxlLCBtYW5pZmVz
dF9wYXRoKQorCisgICAgZGVmIGxvYWRfbWFuaWZlc3Qoc2VsZiwgdGVzdHNfcGF0aCwgbWV0YWRh
dGFfcGF0aCwgdXJsX2Jhc2U9Ii8iKToKKyAgICAgICAgbWFuaWZlc3RfcGF0aCA9IG9zLnBhdGgu
am9pbihtZXRhZGF0YV9wYXRoLCAiTUFOSUZFU1QuanNvbiIpCisgICAgICAgIGlmIChub3Qgb3Mu
cGF0aC5leGlzdHMobWFuaWZlc3RfcGF0aCkgb3IKKyAgICAgICAgICAgIHNlbGYuZm9yY2VfbWFu
aWZlc3RfdXBkYXRlKToKKyAgICAgICAgICAgIHNlbGYudXBkYXRlX21hbmlmZXN0KG1hbmlmZXN0
X3BhdGgsIHRlc3RzX3BhdGgsIHVybF9iYXNlKQorICAgICAgICBtYW5pZmVzdF9maWxlID0gbWFu
aWZlc3QubG9hZCh0ZXN0c19wYXRoLCBtYW5pZmVzdF9wYXRoKQorICAgICAgICBpZiBtYW5pZmVz
dF9maWxlLnVybF9iYXNlICE9IHVybF9iYXNlOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuaW5m
bygiVXBkYXRpbmcgdXJsX2Jhc2UgaW4gbWFuaWZlc3QgZnJvbSAlcyB0byAlcyIgJSAobWFuaWZl
c3RfZmlsZS51cmxfYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybF9iYXNlKSkKKyAgICAg
ICAgICAgIG1hbmlmZXN0X2ZpbGUudXJsX2Jhc2UgPSB1cmxfYmFzZQorICAgICAgICAgICAgbWFu
aWZlc3Qud3JpdGUobWFuaWZlc3RfZmlsZSwgbWFuaWZlc3RfcGF0aCkKKworICAgICAgICByZXR1
cm4gbWFuaWZlc3RfZmlsZQorCitkZWYgaXRlcmZpbHRlcihmaWx0ZXJzLCBpdGVyKToKKyAgICBm
b3IgZiBpbiBmaWx0ZXJzOgorICAgICAgICBpdGVyID0gZihpdGVyKQorICAgIGZvciBpdGVtIGlu
IGl0ZXI6CisgICAgICAgIHlpZWxkIGl0ZW0KKworY2xhc3MgVGVzdExvYWRlcihvYmplY3QpOgor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLAorICAgICAgICAgICAgICAgICB0ZXN0X21hbmlmZXN0cywK
KyAgICAgICAgICAgICAgICAgdGVzdF90eXBlcywKKyAgICAgICAgICAgICAgICAgcnVuX2luZm8s
CisgICAgICAgICAgICAgICAgIG1hbmlmZXN0X2ZpbHRlcnM9Tm9uZSwKKyAgICAgICAgICAgICAg
ICAgbWV0YV9maWx0ZXJzPU5vbmUsCisgICAgICAgICAgICAgICAgIGNodW5rX3R5cGU9Im5vbmUi
LAorICAgICAgICAgICAgICAgICB0b3RhbF9jaHVua3M9MSwKKyAgICAgICAgICAgICAgICAgY2h1
bmtfbnVtYmVyPTEsCisgICAgICAgICAgICAgICAgIGluY2x1ZGVfaHR0cHM9VHJ1ZSk6CisKKyAg
ICAgICAgc2VsZi50ZXN0X3R5cGVzID0gdGVzdF90eXBlcworICAgICAgICBzZWxmLnJ1bl9pbmZv
ID0gcnVuX2luZm8KKworICAgICAgICBzZWxmLm1hbmlmZXN0X2ZpbHRlcnMgPSBtYW5pZmVzdF9m
aWx0ZXJzIGlmIG1hbmlmZXN0X2ZpbHRlcnMgaXMgbm90IE5vbmUgZWxzZSBbXQorICAgICAgICBz
ZWxmLm1ldGFfZmlsdGVycyA9IG1ldGFfZmlsdGVycyBpZiBtZXRhX2ZpbHRlcnMgaXMgbm90IE5v
bmUgZWxzZSBbXQorCisgICAgICAgIHNlbGYubWFuaWZlc3RzID0gdGVzdF9tYW5pZmVzdHMKKyAg
ICAgICAgc2VsZi50ZXN0cyA9IE5vbmUKKyAgICAgICAgc2VsZi5kaXNhYmxlZF90ZXN0cyA9IE5v
bmUKKyAgICAgICAgc2VsZi5pbmNsdWRlX2h0dHBzID0gaW5jbHVkZV9odHRwcworCisgICAgICAg
IHNlbGYuY2h1bmtfdHlwZSA9IGNodW5rX3R5cGUKKyAgICAgICAgc2VsZi50b3RhbF9jaHVua3Mg
PSB0b3RhbF9jaHVua3MKKyAgICAgICAgc2VsZi5jaHVua19udW1iZXIgPSBjaHVua19udW1iZXIK
KworICAgICAgICBzZWxmLmNodW5rZXIgPSB7Im5vbmUiOiBVbmNodW5rZWQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAiaGFzaCI6IEhhc2hDaHVua2VyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgImRpcl9oYXNoIjogRGlyZWN0b3J5SGFzaENodW5rZXIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAiZXF1YWxfdGltZSI6IEVxdWFsVGltZUNodW5rZXJ9W2NodW5rX3R5cGVdKHRvdGFsX2No
dW5rcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2h1bmtfbnVtYmVyKQorCisgICAgICAgIHNlbGYuX3Rlc3RfaWRz
ID0gTm9uZQorCisgICAgICAgIHNlbGYuZGlyZWN0b3J5X21hbmlmZXN0cyA9IHt9CisKKyAgICAg
ICAgc2VsZi5fbG9hZF90ZXN0cygpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgdGVzdF9pZHMo
c2VsZik6CisgICAgICAgIGlmIHNlbGYuX3Rlc3RfaWRzIGlzIE5vbmU6CisgICAgICAgICAgICBz
ZWxmLl90ZXN0X2lkcyA9IFtdCisgICAgICAgICAgICBmb3IgdGVzdF9kaWN0IGluIFtzZWxmLmRp
c2FibGVkX3Rlc3RzLCBzZWxmLnRlc3RzXToKKyAgICAgICAgICAgICAgICBmb3IgdGVzdF90eXBl
IGluIHNlbGYudGVzdF90eXBlczoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fdGVzdF9pZHMg
Kz0gW2l0ZW0uaWQgZm9yIGl0ZW0gaW4gdGVzdF9kaWN0W3Rlc3RfdHlwZV1dCisgICAgICAgIHJl
dHVybiBzZWxmLl90ZXN0X2lkcworCisgICAgZGVmIGdldF90ZXN0KHNlbGYsIG1hbmlmZXN0X3Rl
c3QsIGluaGVyaXRfbWV0YWRhdGEsIHRlc3RfbWV0YWRhdGEpOgorICAgICAgICBpZiB0ZXN0X21l
dGFkYXRhIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgaW5oZXJpdF9tZXRhZGF0YS5hcHBlbmQo
dGVzdF9tZXRhZGF0YSkKKyAgICAgICAgICAgIHRlc3RfbWV0YWRhdGEgPSB0ZXN0X21ldGFkYXRh
LmdldF90ZXN0KG1hbmlmZXN0X3Rlc3QuaWQpCisKKyAgICAgICAgcmV0dXJuIHdwdHRlc3QuZnJv
bV9tYW5pZmVzdChtYW5pZmVzdF90ZXN0LCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRh
KQorCisgICAgZGVmIGxvYWRfZGlyX21ldGFkYXRhKHNlbGYsIHRlc3RfbWFuaWZlc3QsIG1ldGFk
YXRhX3BhdGgsIHRlc3RfcGF0aCk6CisgICAgICAgIHJ2ID0gW10KKyAgICAgICAgcGF0aF9wYXJ0
cyA9IG9zLnBhdGguZGlybmFtZSh0ZXN0X3BhdGgpLnNwbGl0KG9zLnBhdGguc2VwKQorICAgICAg
ICBmb3IgaSBpbiB4cmFuZ2UoMSxsZW4ocGF0aF9wYXJ0cykgKyAxKToKKyAgICAgICAgICAgIHBh
dGggPSBvcy5wYXRoLmpvaW4obWV0YWRhdGFfcGF0aCwgb3MucGF0aC5zZXAuam9pbihwYXRoX3Bh
cnRzWzppXSksICJfX2Rpcl9fLmluaSIpCisgICAgICAgICAgICBpZiBwYXRoIG5vdCBpbiBzZWxm
LmRpcmVjdG9yeV9tYW5pZmVzdHM6CisgICAgICAgICAgICAgICAgc2VsZi5kaXJlY3RvcnlfbWFu
aWZlc3RzW3BhdGhdID0gbWFuaWZlc3RleHBlY3RlZC5nZXRfZGlyX21hbmlmZXN0KHBhdGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucnVuX2luZm8pCisgICAgICAgICAgICBtYW5p
ZmVzdCA9IHNlbGYuZGlyZWN0b3J5X21hbmlmZXN0c1twYXRoXQorICAgICAgICAgICAgaWYgbWFu
aWZlc3QgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgcnYuYXBwZW5kKG1hbmlmZXN0KQor
ICAgICAgICByZXR1cm4gcnYKKworICAgIGRlZiBsb2FkX21ldGFkYXRhKHNlbGYsIHRlc3RfbWFu
aWZlc3QsIG1ldGFkYXRhX3BhdGgsIHRlc3RfcGF0aCk6CisgICAgICAgIGluaGVyaXRfbWV0YWRh
dGEgPSBzZWxmLmxvYWRfZGlyX21ldGFkYXRhKHRlc3RfbWFuaWZlc3QsIG1ldGFkYXRhX3BhdGgs
IHRlc3RfcGF0aCkKKyAgICAgICAgdGVzdF9tZXRhZGF0YSA9IG1hbmlmZXN0ZXhwZWN0ZWQuZ2V0
X21hbmlmZXN0KAorICAgICAgICAgICAgbWV0YWRhdGFfcGF0aCwgdGVzdF9wYXRoLCB0ZXN0X21h
bmlmZXN0LnVybF9iYXNlLCBzZWxmLnJ1bl9pbmZvKQorICAgICAgICByZXR1cm4gaW5oZXJpdF9t
ZXRhZGF0YSwgdGVzdF9tZXRhZGF0YQorCisgICAgZGVmIGl0ZXJfdGVzdHMoc2VsZik6CisgICAg
ICAgIG1hbmlmZXN0X2l0ZW1zID0gW10KKworICAgICAgICBmb3IgbWFuaWZlc3QgaW4gc29ydGVk
KHNlbGYubWFuaWZlc3RzLmtleXMoKSwga2V5PWxhbWJkYSB4OngudXJsX2Jhc2UpOgorICAgICAg
ICAgICAgbWFuaWZlc3RfaXRlciA9IGl0ZXJmaWx0ZXIoc2VsZi5tYW5pZmVzdF9maWx0ZXJzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuaWZlc3QuaXRlcnR5cGVz
KCpzZWxmLnRlc3RfdHlwZXMpKQorICAgICAgICAgICAgbWFuaWZlc3RfaXRlbXMuZXh0ZW5kKG1h
bmlmZXN0X2l0ZXIpCisKKyAgICAgICAgaWYgc2VsZi5jaHVua2VyIGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgbWFuaWZlc3RfaXRlbXMgPSBzZWxmLmNodW5rZXIobWFuaWZlc3RfaXRlbXMpCisK
KyAgICAgICAgZm9yIHRlc3RfdHlwZSwgdGVzdF9wYXRoLCB0ZXN0cyBpbiBtYW5pZmVzdF9pdGVt
czoKKyAgICAgICAgICAgIG1hbmlmZXN0X2ZpbGUgPSBpdGVyKHRlc3RzKS5uZXh0KCkubWFuaWZl
c3QKKyAgICAgICAgICAgIG1ldGFkYXRhX3BhdGggPSBzZWxmLm1hbmlmZXN0c1ttYW5pZmVzdF9m
aWxlXVsibWV0YWRhdGFfcGF0aCJdCisgICAgICAgICAgICBpbmhlcml0X21ldGFkYXRhLCB0ZXN0
X21ldGFkYXRhID0gc2VsZi5sb2FkX21ldGFkYXRhKG1hbmlmZXN0X2ZpbGUsIG1ldGFkYXRhX3Bh
dGgsIHRlc3RfcGF0aCkKKworICAgICAgICAgICAgZm9yIHRlc3QgaW4gaXRlcmZpbHRlcihzZWxm
Lm1ldGFfZmlsdGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5p
dGVyX3dwdHRlc3QoaW5oZXJpdF9tZXRhZGF0YSwgdGVzdF9tZXRhZGF0YSwgdGVzdHMpKToKKyAg
ICAgICAgICAgICAgICB5aWVsZCB0ZXN0X3BhdGgsIHRlc3RfdHlwZSwgdGVzdAorCisgICAgZGVm
IGl0ZXJfd3B0dGVzdChzZWxmLCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRhLCB0ZXN0
cyk6CisgICAgICAgIGZvciBtYW5pZmVzdF90ZXN0IGluIHRlc3RzOgorICAgICAgICAgICAgeWll
bGQgc2VsZi5nZXRfdGVzdChtYW5pZmVzdF90ZXN0LCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21l
dGFkYXRhKQorCisgICAgZGVmIF9sb2FkX3Rlc3RzKHNlbGYpOgorICAgICAgICAiIiJSZWFkIGlu
IHRoZSB0ZXN0cyBmcm9tIHRoZSBtYW5pZmVzdCBmaWxlIGFuZCBhZGQgdGhlbSB0byBhIHF1ZXVl
IiIiCisgICAgICAgIHRlc3RzID0geyJlbmFibGVkIjpkZWZhdWx0ZGljdChsaXN0KSwKKyAgICAg
ICAgICAgICAgICAgImRpc2FibGVkIjpkZWZhdWx0ZGljdChsaXN0KX0KKworICAgICAgICBmb3Ig
dGVzdF9wYXRoLCB0ZXN0X3R5cGUsIHRlc3QgaW4gc2VsZi5pdGVyX3Rlc3RzKCk6CisgICAgICAg
ICAgICBlbmFibGVkID0gbm90IHRlc3QuZGlzYWJsZWQoKQorICAgICAgICAgICAgaWYgbm90IHNl
bGYuaW5jbHVkZV9odHRwcyBhbmQgdGVzdC5lbnZpcm9ubWVudFsicHJvdG9jb2wiXSA9PSAiaHR0
cHMiOgorICAgICAgICAgICAgICAgIGVuYWJsZWQgPSBGYWxzZQorICAgICAgICAgICAga2V5ID0g
ImVuYWJsZWQiIGlmIGVuYWJsZWQgZWxzZSAiZGlzYWJsZWQiCisgICAgICAgICAgICB0ZXN0c1tr
ZXldW3Rlc3RfdHlwZV0uYXBwZW5kKHRlc3QpCisKKyAgICAgICAgc2VsZi50ZXN0cyA9IHRlc3Rz
WyJlbmFibGVkIl0KKyAgICAgICAgc2VsZi5kaXNhYmxlZF90ZXN0cyA9IHRlc3RzWyJkaXNhYmxl
ZCJdCisKKyAgICBkZWYgZ3JvdXBzKHNlbGYsIHRlc3RfdHlwZXMsIGNodW5rX3R5cGU9Im5vbmUi
LCB0b3RhbF9jaHVua3M9MSwgY2h1bmtfbnVtYmVyPTEpOgorICAgICAgICBncm91cHMgPSBzZXQo
KQorCisgICAgICAgIGZvciB0ZXN0X3R5cGUgaW4gdGVzdF90eXBlczoKKyAgICAgICAgICAgIGZv
ciB0ZXN0IGluIHNlbGYudGVzdHNbdGVzdF90eXBlXToKKyAgICAgICAgICAgICAgICBncm91cCA9
IHRlc3QudXJsLnNwbGl0KCIvIilbMV0KKyAgICAgICAgICAgICAgICBncm91cHMuYWRkKGdyb3Vw
KQorCisgICAgICAgIHJldHVybiBncm91cHMKKworCitjbGFzcyBUZXN0U291cmNlKG9iamVjdCk6
CisgICAgX19tZXRhY2xhc3NfXyA9IEFCQ01ldGEKKworICAgIEBhYnN0cmFjdG1ldGhvZAorICAg
IGRlZiBxdWV1ZV90ZXN0cyhzZWxmLCB0ZXN0X3F1ZXVlKToKKyAgICAgICAgcGFzcworCisgICAg
QGFic3RyYWN0bWV0aG9kCisgICAgZGVmIHJlcXVldWVfdGVzdChzZWxmLCB0ZXN0KToKKyAgICAg
ICAgcGFzcworCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYK
KworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBwYXNz
CisKKworY2xhc3MgU2luZ2xlVGVzdFNvdXJjZShUZXN0U291cmNlKToKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgdGVzdF9xdWV1ZSk6CisgICAgICAgIHNlbGYudGVzdF9xdWV1ZSA9IHRlc3RfcXVl
dWUKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBxdWV1ZV90ZXN0cyhjbHMsIHRlc3RfcXVl
dWUsIHRlc3RfdHlwZSwgdGVzdHMpOgorICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0c1t0ZXN0X3R5
cGVdOgorICAgICAgICAgICAgdGVzdF9xdWV1ZS5wdXQodGVzdCkKKworICAgIGRlZiBnZXRfcXVl
dWUoc2VsZik6CisgICAgICAgIGlmIHNlbGYudGVzdF9xdWV1ZS5lbXB0eSgpOgorICAgICAgICAg
ICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHNlbGYudGVzdF9xdWV1ZQorCisgICAgZGVm
IHJlcXVldWVfdGVzdChzZWxmLCB0ZXN0KToKKyAgICAgICAgc2VsZi50ZXN0X3F1ZXVlLnB1dCh0
ZXN0KQorCitjbGFzcyBQYXRoR3JvdXBlZFNvdXJjZShUZXN0U291cmNlKToKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgdGVzdF9xdWV1ZSk6CisgICAgICAgIHNlbGYudGVzdF9xdWV1ZSA9IHRlc3Rf
cXVldWUKKyAgICAgICAgc2VsZi5jdXJyZW50X3F1ZXVlID0gTm9uZQorCisgICAgQGNsYXNzbWV0
aG9kCisgICAgZGVmIHF1ZXVlX3Rlc3RzKGNscywgdGVzdF9xdWV1ZSwgdGVzdF90eXBlLCB0ZXN0
cywgZGVwdGg9Tm9uZSk6CisgICAgICAgIGlmIGRlcHRoIGlzIFRydWU6CisgICAgICAgICAgICBk
ZXB0aCA9IE5vbmUKKworICAgICAgICBwcmV2X3BhdGggPSBOb25lCisgICAgICAgIGdyb3VwID0g
Tm9uZQorCisgICAgICAgIGZvciB0ZXN0IGluIHRlc3RzW3Rlc3RfdHlwZV06CisgICAgICAgICAg
ICBwYXRoID0gdXJscGFyc2UudXJsc3BsaXQodGVzdC51cmwpLnBhdGguc3BsaXQoIi8iKVsxOi0x
XVs6ZGVwdGhdCisgICAgICAgICAgICBpZiBwYXRoICE9IHByZXZfcGF0aDoKKyAgICAgICAgICAg
ICAgICBncm91cCA9IFtdCisgICAgICAgICAgICAgICAgdGVzdF9xdWV1ZS5wdXQoZ3JvdXApCisg
ICAgICAgICAgICAgICAgcHJldl9wYXRoID0gcGF0aAorCisgICAgICAgICAgICBncm91cC5hcHBl
bmQodGVzdCkKKworICAgIGRlZiBnZXRfcXVldWUoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxm
LmN1cnJlbnRfcXVldWUgb3Igc2VsZi5jdXJyZW50X3F1ZXVlLmVtcHR5KCk6CisgICAgICAgICAg
ICB0cnk6CisgICAgICAgICAgICAgICAgZGF0YSA9IHNlbGYudGVzdF9xdWV1ZS5nZXQoYmxvY2s9
VHJ1ZSwgdGltZW91dD0xKQorICAgICAgICAgICAgICAgIHNlbGYuY3VycmVudF9xdWV1ZSA9IFF1
ZXVlKCkKKyAgICAgICAgICAgICAgICBmb3IgaXRlbSBpbiBkYXRhOgorICAgICAgICAgICAgICAg
ICAgICBzZWxmLmN1cnJlbnRfcXVldWUucHV0KGl0ZW0pCisgICAgICAgICAgICBleGNlcHQgRW1w
dHk6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICByZXR1cm4gc2VsZi5j
dXJyZW50X3F1ZXVlCisKKyAgICBkZWYgcmVxdWV1ZV90ZXN0KHNlbGYsIHRlc3QpOgorICAgICAg
ICBzZWxmLmN1cnJlbnRfcXVldWUucHV0KHRlc3QpCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwg
KmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgaWYgc2VsZi5jdXJyZW50X3F1ZXVlOgorICAgICAg
ICAgICAgc2VsZi5jdXJyZW50X3F1ZXVlLmNsb3NlKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci90ZXN0cnVubmVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RydW5uZXIucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTQyMmNmZWZlYzYxOGFkNjJhMGE1MmY0OWM0NDk1MDI5MWExZDVkNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci90ZXN0cnVubmVyLnB5CkBAIC0wLDAgKzEsNzY2IEBACitmcm9tIF9f
ZnV0dXJlX18gaW1wb3J0IHVuaWNvZGVfbGl0ZXJhbHMKKworaW1wb3J0IG11bHRpcHJvY2Vzc2lu
ZworaW1wb3J0IHN5cworaW1wb3J0IHRocmVhZGluZworaW1wb3J0IHRyYWNlYmFjaworZnJvbSBR
dWV1ZSBpbXBvcnQgRW1wdHkKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IG5hbWVkdHVwbGUKK2Zy
b20gbXVsdGlwcm9jZXNzaW5nIGltcG9ydCBQcm9jZXNzLCBjdXJyZW50X3Byb2Nlc3MsIFF1ZXVl
CisKK2Zyb20gbW96bG9nIGltcG9ydCBzdHJ1Y3R1cmVkbG9nCisKKyMgU3BlY2lhbCB2YWx1ZSB1
c2VkIGFzIGEgc2VudGluYWwgaW4gdmFyaW91cyBjb21tYW5kcworU3RvcCA9IG9iamVjdCgpCisK
KworY2xhc3MgTWVzc2FnZUxvZ2dlcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBt
ZXNzYWdlX2Z1bmMpOgorICAgICAgICBzZWxmLnNlbmRfbWVzc2FnZSA9IG1lc3NhZ2VfZnVuYwor
CisgICAgZGVmIF9sb2dfZGF0YShzZWxmLCBhY3Rpb24sICoqa3dhcmdzKToKKyAgICAgICAgc2Vs
Zi5zZW5kX21lc3NhZ2UoImxvZyIsIGFjdGlvbiwga3dhcmdzKQorCisgICAgZGVmIHByb2Nlc3Nf
b3V0cHV0KHNlbGYsIHByb2Nlc3MsIGRhdGEsIGNvbW1hbmQpOgorICAgICAgICBzZWxmLl9sb2df
ZGF0YSgicHJvY2Vzc19vdXRwdXQiLCBwcm9jZXNzPXByb2Nlc3MsIGRhdGE9ZGF0YSwgY29tbWFu
ZD1jb21tYW5kKQorCisKK2RlZiBfbG9nX2Z1bmMobGV2ZWxfbmFtZSk6CisgICAgZGVmIGxvZyhz
ZWxmLCBtZXNzYWdlKToKKyAgICAgICAgc2VsZi5fbG9nX2RhdGEobGV2ZWxfbmFtZS5sb3dlcigp
LCBtZXNzYWdlPW1lc3NhZ2UpCisgICAgbG9nLl9fZG9jX18gPSAiIiJMb2cgYSBtZXNzYWdlIHdp
dGggbGV2ZWwgJXMKKworOnBhcmFtIG1lc3NhZ2U6IFRoZSBzdHJpbmcgbWVzc2FnZSB0byBsb2cK
KyIiIiAlIGxldmVsX25hbWUKKyAgICBsb2cuX19uYW1lX18gPSBzdHIobGV2ZWxfbmFtZSkubG93
ZXIoKQorICAgIHJldHVybiBsb2cKKworIyBDcmVhdGUgYWxsIHRoZSBtZXRob2RzIG9uIFN0cnVj
dHVyZWRMb2cgZm9yIGRlYnVnIGxldmVscworZm9yIGxldmVsX25hbWUgaW4gc3RydWN0dXJlZGxv
Zy5sb2dfbGV2ZWxzOgorICAgIHNldGF0dHIoTWVzc2FnZUxvZ2dlciwgbGV2ZWxfbmFtZS5sb3dl
cigpLCBfbG9nX2Z1bmMobGV2ZWxfbmFtZSkpCisKKworY2xhc3MgVGVzdFJ1bm5lcihvYmplY3Qp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb21tYW5kX3F1ZXVlLCByZXN1bHRfcXVldWUsIGV4
ZWN1dG9yKToKKyAgICAgICAgIiIiQ2xhc3MgaW1wbGVtZW50aW5nIHRoZSBtYWluIGxvb3AgZm9y
IHJ1bm5pbmcgdGVzdHMuCisKKyAgICAgICAgVGhpcyBjbGFzcyBkZWxlZ2F0ZXMgdGhlIGpvYiBv
ZiBhY3R1YWxseSBydW5uaW5nIGEgdGVzdCB0byB0aGUgZXhlY3V0b3IKKyAgICAgICAgdGhhdCBp
cyBwYXNzZWQgaW4uCisKKyAgICAgICAgOnBhcmFtIGNvbW1hbmRfcXVldWU6IHN1YnByb2Nlc3Mu
UXVldWUgdXNlZCB0byBzZW5kIGNvbW1hbmRzIHRvIHRoZQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHJvY2VzcworICAgICAgICA6cGFyYW0gcmVzdWx0X3F1ZXVlOiBzdWJwcm9jZXNz
LlF1ZXVlIHVzZWQgdG8gc2VuZCByZXN1bHRzIHRvIHRoZQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwYXJlbnQgVGVzdE1hbmFnZXIgcHJvY2VzcworICAgICAgICA6cGFyYW0gZXhlY3V0
b3I6IFRlc3RFeGVjdXRvciBvYmplY3QgdGhhdCB3aWxsIGFjdHVhbGx5IHJ1biBhIHRlc3QuCisg
ICAgICAgICIiIgorICAgICAgICBzZWxmLmNvbW1hbmRfcXVldWUgPSBjb21tYW5kX3F1ZXVlCisg
ICAgICAgIHNlbGYucmVzdWx0X3F1ZXVlID0gcmVzdWx0X3F1ZXVlCisKKyAgICAgICAgc2VsZi5l
eGVjdXRvciA9IGV4ZWN1dG9yCisgICAgICAgIHNlbGYubmFtZSA9IGN1cnJlbnRfcHJvY2Vzcygp
Lm5hbWUKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBNZXNzYWdlTG9nZ2VyKHNlbGYuc2VuZF9tZXNz
YWdlKQorCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYKKwor
ICAgIGRlZiBfX2V4aXRfXyhzZWxmLCBleGNfdHlwZSwgZXhjX3ZhbHVlLCB0cmFjZWJhY2spOgor
ICAgICAgICBzZWxmLnRlYXJkb3duKCkKKworICAgIGRlZiBzZXR1cChzZWxmKToKKyAgICAgICAg
c2VsZi5sb2dnZXIuZGVidWcoIkV4ZWN1dG9yIHNldHVwIikKKyAgICAgICAgc2VsZi5leGVjdXRv
ci5zZXR1cChzZWxmKQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiRXhlY3V0b3Igc2V0dXAg
ZG9uZSIpCisKKyAgICBkZWYgdGVhcmRvd24oc2VsZik6CisgICAgICAgIHNlbGYuZXhlY3V0b3Iu
dGVhcmRvd24oKQorICAgICAgICBzZWxmLnNlbmRfbWVzc2FnZSgicnVubmVyX3RlYXJkb3duIikK
KyAgICAgICAgc2VsZi5yZXN1bHRfcXVldWUgPSBOb25lCisgICAgICAgIHNlbGYuY29tbWFuZF9x
dWV1ZSA9IE5vbmUKKyAgICAgICAgc2VsZi5icm93c2VyID0gTm9uZQorCisgICAgZGVmIHJ1bihz
ZWxmKToKKyAgICAgICAgIiIiTWFpbiBsb29wIGFjY2VwdGluZyBjb21tYW5kcyBvdmVyIHRoZSBw
aXBlIGFuZCB0cmlnZ2VyaW5nCisgICAgICAgIHRoZSBhc3NvY2lhdGVkIG1ldGhvZHMiIiIKKyAg
ICAgICAgc2VsZi5zZXR1cCgpCisgICAgICAgIGNvbW1hbmRzID0geyJydW5fdGVzdCI6IHNlbGYu
cnVuX3Rlc3QsCisgICAgICAgICAgICAgICAgICAgICJzdG9wIjogc2VsZi5zdG9wLAorICAgICAg
ICAgICAgICAgICAgICAid2FpdCI6IHNlbGYud2FpdH0KKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAg
ICAgICAgICAgIGNvbW1hbmQsIGFyZ3MgPSBzZWxmLmNvbW1hbmRfcXVldWUuZ2V0KCkKKyAgICAg
ICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBydiA9IGNvbW1hbmRzW2NvbW1hbmRdKCphcmdz
KQorICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICBzZWxmLnNl
bmRfbWVzc2FnZSgiZXJyb3IiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJF
cnJvciBydW5uaW5nIGNvbW1hbmQgJXMgd2l0aCBhcmd1bWVudHMgJXI6XG4lcyIgJQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb21tYW5kLCBhcmdzLCB0cmFjZWJhY2suZm9y
bWF0X2V4YygpKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaWYgcnYgaXMg
U3RvcDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKworICAgIGRlZiBzdG9wKHNlbGYpOgor
ICAgICAgICByZXR1cm4gU3RvcAorCisgICAgZGVmIHJ1bl90ZXN0KHNlbGYsIHRlc3QpOgorICAg
ICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5leGVjdXRvci5ydW5fdGVzdCh0ZXN0
KQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuY3Jp
dGljYWwodHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICAgICAgICAgIHJhaXNlCisKKyAgICBk
ZWYgd2FpdChzZWxmKToKKyAgICAgICAgc2VsZi5leGVjdXRvci5wcm90b2NvbC53YWl0KCkKKyAg
ICAgICAgc2VsZi5zZW5kX21lc3NhZ2UoIndhaXRfZmluaXNoZWQiKQorCisgICAgZGVmIHNlbmRf
bWVzc2FnZShzZWxmLCBjb21tYW5kLCAqYXJncyk6CisgICAgICAgIHNlbGYucmVzdWx0X3F1ZXVl
LnB1dCgoY29tbWFuZCwgYXJncykpCisKKworZGVmIHN0YXJ0X3J1bm5lcihydW5uZXJfY29tbWFu
ZF9xdWV1ZSwgcnVubmVyX3Jlc3VsdF9xdWV1ZSwKKyAgICAgICAgICAgICAgICAgZXhlY3V0b3Jf
Y2xzLCBleGVjdXRvcl9rd2FyZ3MsCisgICAgICAgICAgICAgICAgIGV4ZWN1dG9yX2Jyb3dzZXJf
Y2xzLCBleGVjdXRvcl9icm93c2VyX2t3YXJncywKKyAgICAgICAgICAgICAgICAgc3RvcF9mbGFn
KToKKyAgICAiIiJMYXVuY2ggYSBUZXN0UnVubmVyIGluIGEgbmV3IHByb2Nlc3MiIiIKKyAgICB0
cnk6CisgICAgICAgIGJyb3dzZXIgPSBleGVjdXRvcl9icm93c2VyX2NscygqKmV4ZWN1dG9yX2Jy
b3dzZXJfa3dhcmdzKQorICAgICAgICBleGVjdXRvciA9IGV4ZWN1dG9yX2Nscyhicm93c2VyLCAq
KmV4ZWN1dG9yX2t3YXJncykKKyAgICAgICAgd2l0aCBUZXN0UnVubmVyKHJ1bm5lcl9jb21tYW5k
X3F1ZXVlLCBydW5uZXJfcmVzdWx0X3F1ZXVlLCBleGVjdXRvcikgYXMgcnVubmVyOgorICAgICAg
ICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJ1bm5lci5ydW4oKQorICAgICAgICAgICAgZXhj
ZXB0IEtleWJvYXJkSW50ZXJydXB0OgorICAgICAgICAgICAgICAgIHN0b3BfZmxhZy5zZXQoKQor
ICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgIHJ1bm5lcl9yZXN1bHRfcXVldWUucHV0KCgi
bG9nIiwgKCJjcml0aWNhbCIsIHsibWVzc2FnZSI6IHRyYWNlYmFjay5mb3JtYXRfZXhjKCl9KSkp
CisgICAgICAgIHByaW50ID4+IHN5cy5zdGRlcnIsIHRyYWNlYmFjay5mb3JtYXRfZXhjKCkKKyAg
ICAgICAgc3RvcF9mbGFnLnNldCgpCisgICAgZmluYWxseToKKyAgICAgICAgcnVubmVyX2NvbW1h
bmRfcXVldWUgPSBOb25lCisgICAgICAgIHJ1bm5lcl9yZXN1bHRfcXVldWUgPSBOb25lCisKKwor
bWFuYWdlcl9jb3VudCA9IDAKKworCitkZWYgbmV4dF9tYW5hZ2VyX251bWJlcigpOgorICAgIGds
b2JhbCBtYW5hZ2VyX2NvdW50CisgICAgbG9jYWwgPSBtYW5hZ2VyX2NvdW50ID0gbWFuYWdlcl9j
b3VudCArIDEKKyAgICByZXR1cm4gbG9jYWwKKworCitjbGFzcyBCcm93c2VyTWFuYWdlcihvYmpl
Y3QpOgorICAgIGluaXRfbG9jayA9IHRocmVhZGluZy5Mb2NrKCkKKworICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBsb2dnZXIsIGJyb3dzZXIsIGNvbW1hbmRfcXVldWUsIG5vX3RpbWVvdXQ9RmFsc2Up
OgorICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgorICAgICAgICBzZWxmLmJyb3dzZXIgPSBi
cm93c2VyCisgICAgICAgIHNlbGYubm9fdGltZW91dCA9IG5vX3RpbWVvdXQKKworICAgICAgICBz
ZWxmLnN0YXJ0ZWQgPSBGYWxzZQorCisgICAgICAgIHNlbGYuaW5pdF90aW1lciA9IE5vbmUKKwor
ICAgIGRlZiBpbml0KHNlbGYpOgorICAgICAgICAiIiJMYXVuY2ggdGhlIGJyb3dzZXIgdGhhdCBp
cyBiZWluZyB0ZXN0ZWQsCisgICAgICAgIGFuZCB0aGUgVGVzdFJ1bm5lciBwcm9jZXNzIHRoYXQg
d2lsbCBydW4gdGhlIHRlc3RzLiIiIgorICAgICAgICAjIEl0IHNlZW1zIHRoYXQgdGhpcyBsb2Nr
IGlzIGhlbHBmdWwgdG8gcHJldmVudCBzb21lIHJhY2UgdGhhdCBvdGhlcndpc2UKKyAgICAgICAg
IyBzb21ldGltZXMgc3RvcHMgdGhlIHNwYXduZWQgcHJvY2Vzc2VzIGluaXRhbGlzaW5nIGNvcnJl
Y3RseSwgYW5kCisgICAgICAgICMgbGVhdmVzIHRoaXMgdGhyZWFkIGh1bmcKKyAgICAgICAgaWYg
c2VsZi5pbml0X3RpbWVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5pbml0X3RpbWVy
LmNhbmNlbCgpCisKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIkluaXQgY2FsbGVkLCBzdGFy
dGluZyBicm93c2VyIGFuZCBydW5uZXIiKQorCisgICAgICAgIHdpdGggc2VsZi5pbml0X2xvY2s6
CisgICAgICAgICAgICAjIEd1YXJkIGFnYWluc3QgcHJvYmxlbXMgaW5pdGlhbGlzaW5nIHRoZSBi
cm93c2VyIG9yIHRoZSBicm93c2VyCisgICAgICAgICAgICAjIHJlbW90ZSBjb250cm9sIG1ldGhv
ZAorICAgICAgICAgICAgaWYgbm90IHNlbGYubm9fdGltZW91dDoKKyAgICAgICAgICAgICAgICBz
ZWxmLmluaXRfdGltZXIgPSB0aHJlYWRpbmcuVGltZXIoc2VsZi5icm93c2VyLmluaXRfdGltZW91
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5pbml0X3RpbWVvdXQpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaWYgc2Vs
Zi5pbml0X3RpbWVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmluaXRf
dGltZXIuc3RhcnQoKQorICAgICAgICAgICAgICAgIHNlbGYuYnJvd3Nlci5zdGFydCgpCisgICAg
ICAgICAgICAgICAgc2VsZi5icm93c2VyX3BpZCA9IHNlbGYuYnJvd3Nlci5waWQoKQorICAgICAg
ICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLndhcm5pbmcoIkZhaWx1
cmUgZHVyaW5nIGluaXQgJXMiICUgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICAgICAgICAg
ICAgICBpZiBzZWxmLmluaXRfdGltZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAg
IHNlbGYuaW5pdF90aW1lci5jYW5jZWwoKQorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVy
cm9yKHRyYWNlYmFjay5mb3JtYXRfZXhjKCkpCisgICAgICAgICAgICAgICAgc3VjY2VlZGVkID0g
RmFsc2UKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc3VjY2VlZGVkID0gVHJ1
ZQorICAgICAgICAgICAgICAgIHNlbGYuc3RhcnRlZCA9IFRydWUKKworICAgICAgICByZXR1cm4g
c3VjY2VlZGVkCisKKyAgICBkZWYgc2VuZF9tZXNzYWdlKHNlbGYsIGNvbW1hbmQsICphcmdzKToK
KyAgICAgICAgc2VsZi5jb21tYW5kX3F1ZXVlLnB1dCgoY29tbWFuZCwgYXJncykpCisKKyAgICBk
ZWYgaW5pdF90aW1lb3V0KHNlbGYpOgorICAgICAgICAjIFRoaXMgaXMgY2FsbGVkIGZyb20gYSBz
ZXBlcmF0ZSB0aHJlYWQsIHNvIHdlIHNlbmQgYSBtZXNzYWdlIHRvIHRoZQorICAgICAgICAjIG1h
aW4gbG9vcCBzbyB3ZSBnZXQgYmFjayBvbnRvIHRoZSBtYW5hZ2VyIHRocmVhZAorICAgICAgICBz
ZWxmLmxvZ2dlci5kZWJ1ZygiaW5pdF9mYWlsZWQgY2FsbGVkIGZyb20gdGltZXIiKQorICAgICAg
ICBzZWxmLnNlbmRfbWVzc2FnZSgiaW5pdF9mYWlsZWQiKQorCisgICAgZGVmIGFmdGVyX2luaXQo
c2VsZik6CisgICAgICAgICIiIkNhbGxiYWNrIHdoZW4gd2UgaGF2ZSBzdGFydGVkIHRoZSBicm93
c2VyLCBzdGFydGVkIHRoZSByZW1vdGUKKyAgICAgICAgY29udHJvbCBjb25uZWN0aW9uLCBhbmQg
d2UgYXJlIHJlYWR5IHRvIHN0YXJ0IHRlc3RpbmcuIiIiCisgICAgICAgIGlmIHNlbGYuaW5pdF90
aW1lciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuaW5pdF90aW1lci5jYW5jZWwoKQor
CisgICAgZGVmIHN0b3Aoc2VsZiwgZm9yY2U9RmFsc2UpOgorICAgICAgICBzZWxmLmJyb3dzZXIu
c3RvcChmb3JjZT1mb3JjZSkKKyAgICAgICAgc2VsZi5zdGFydGVkID0gRmFsc2UKKworICAgIGRl
ZiBjbGVhbnVwKHNlbGYpOgorICAgICAgICBpZiBzZWxmLmluaXRfdGltZXIgaXMgbm90IE5vbmU6
CisgICAgICAgICAgICBzZWxmLmluaXRfdGltZXIuY2FuY2VsKCkKKyAgICAgICAgc2VsZi5icm93
c2VyLmNsZWFudXAoKQorCisgICAgZGVmIGxvZ19jcmFzaChzZWxmLCB0ZXN0X2lkKToKKyAgICAg
ICAgc2VsZi5icm93c2VyLmxvZ19jcmFzaChwcm9jZXNzPXNlbGYuYnJvd3Nlcl9waWQsIHRlc3Q9
dGVzdF9pZCkKKworICAgIGRlZiBpc19hbGl2ZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYu
YnJvd3Nlci5pc19hbGl2ZSgpCisKKworY2xhc3MgX1J1bm5lck1hbmFnZXJTdGF0ZShvYmplY3Qp
OgorICAgIGJlZm9yZV9pbml0ID0gbmFtZWR0dXBsZSgiYmVmb3JlX2luaXQiLCBbXSkKKyAgICBp
bml0YWxpemluZyA9IG5hbWVkdHVwbGUoImluaXRhbGl6aW5nX2Jyb3dzZXIiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbInRlc3QiLCAidGVzdF9xdWV1ZSIsICJmYWlsdXJlX2NvdW50
Il0pCisgICAgcnVubmluZyA9IG5hbWVkdHVwbGUoInJ1bm5pbmciLCBbInRlc3QiLCAidGVzdF9x
dWV1ZSJdKQorICAgIHJlc3RhcnRpbmcgPSBuYW1lZHR1cGxlKCJyZXN0YXJ0aW5nIiwgWyJ0ZXN0
IiwgInRlc3RfcXVldWUiXSkKKyAgICBlcnJvciA9IG5hbWVkdHVwbGUoImVycm9yIiwgW10pCisg
ICAgc3RvcCA9IG5hbWVkdHVwbGUoInN0b3AiLCBbXSkKKworCitSdW5uZXJNYW5hZ2VyU3RhdGUg
PSBfUnVubmVyTWFuYWdlclN0YXRlKCkKKworCitjbGFzcyBUZXN0UnVubmVyTWFuYWdlcih0aHJl
YWRpbmcuVGhyZWFkKToKKyAgICBpbml0X2xvY2sgPSB0aHJlYWRpbmcuTG9jaygpCisKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgc3VpdGVfbmFtZSwgdGVzdHMsIHRlc3Rfc291cmNlX2NscywgYnJv
d3Nlcl9jbHMsIGJyb3dzZXJfa3dhcmdzLAorICAgICAgICAgICAgICAgICBleGVjdXRvcl9jbHMs
IGV4ZWN1dG9yX2t3YXJncywgc3RvcF9mbGFnLCBwYXVzZV9hZnRlcl90ZXN0PUZhbHNlLAorICAg
ICAgICAgICAgICAgICBwYXVzZV9vbl91bmV4cGVjdGVkPUZhbHNlLCByZXN0YXJ0X29uX3VuZXhw
ZWN0ZWQ9VHJ1ZSwgZGVidWdfaW5mbz1Ob25lKToKKyAgICAgICAgIiIiVGhyZWFkIHRoYXQgb3du
cyBhIHNpbmdsZSBUZXN0UnVubmVyIHByb2Nlc3MgYW5kIGFueSBwcm9jZXNzZXMgcmVxdWlyZWQK
KyAgICAgICAgYnkgdGhlIFRlc3RSdW5uZXIgKGUuZy4gdGhlIEZpcmVmb3ggYmluYXJ5KS4KKwor
ICAgICAgICBUZXN0UnVubmVyTWFuYWdlcnMgYXJlIHJlc3BvbnNpYmxlIGZvciBsYXVuY2hpbmcg
dGhlIGJyb3dzZXIgcHJvY2VzcyBhbmQgdGhlCisgICAgICAgIHJ1bm5lciBwcm9jZXNzLCBhbmQg
Zm9yIGxvZ2dpbmcgdGhlIHRlc3QgcHJvZ3Jlc3MuIFRoZSBhY3R1YWwgdGVzdCBydW5uaW5nCisg
ICAgICAgIGlzIGRvbmUgYnkgdGhlIFRlc3RSdW5uZXIuIEluIHBhcnRpY3VsYXIgdGhleToKKwor
ICAgICAgICAqIFN0YXJ0IHRoZSBiaW5hcnkgb2YgdGhlIHByb2dyYW0gdW5kZXIgdGVzdAorICAg
ICAgICAqIFN0YXJ0IHRoZSBUZXN0UnVubmVyCisgICAgICAgICogVGVsbCB0aGUgVGVzdFJ1bm5l
ciB0byBzdGFydCBhIHRlc3QsIGlmIGFueQorICAgICAgICAqIExvZyB0aGF0IHRoZSB0ZXN0IHN0
YXJ0ZWQKKyAgICAgICAgKiBMb2cgdGhlIHRlc3QgcmVzdWx0cworICAgICAgICAqIFRha2UgYW55
IHJlbWVkaWFsIGFjdGlvbiByZXF1aXJlZCBlLmcuIHJlc3RhcnQgY3Jhc2hlZCBvciBodW5nCisg
ICAgICAgICAgcHJvY2Vzc2VzCisgICAgICAgICIiIgorICAgICAgICBzZWxmLnN1aXRlX25hbWUg
PSBzdWl0ZV9uYW1lCisKKyAgICAgICAgc2VsZi50ZXN0cyA9IHRlc3RzCisgICAgICAgIHNlbGYu
dGVzdF9zb3VyY2VfY2xzID0gdGVzdF9zb3VyY2VfY2xzCisgICAgICAgIHNlbGYudGVzdF9xdWV1
ZSA9IE5vbmUKKworICAgICAgICBzZWxmLmJyb3dzZXJfY2xzID0gYnJvd3Nlcl9jbHMKKyAgICAg
ICAgc2VsZi5icm93c2VyX2t3YXJncyA9IGJyb3dzZXJfa3dhcmdzCisKKyAgICAgICAgc2VsZi5l
eGVjdXRvcl9jbHMgPSBleGVjdXRvcl9jbHMKKyAgICAgICAgc2VsZi5leGVjdXRvcl9rd2FyZ3Mg
PSBleGVjdXRvcl9rd2FyZ3MKKworICAgICAgICBzZWxmLnRlc3Rfc291cmNlID0gTm9uZQorCisg
ICAgICAgICMgRmxhZ3MgdXNlZCB0byBzaHV0IGRvd24gdGhpcyB0aHJlYWQgaWYgd2UgZ2V0IGEg
c2lnaW50CisgICAgICAgIHNlbGYucGFyZW50X3N0b3BfZmxhZyA9IHN0b3BfZmxhZworICAgICAg
ICBzZWxmLmNoaWxkX3N0b3BfZmxhZyA9IG11bHRpcHJvY2Vzc2luZy5FdmVudCgpCisKKyAgICAg
ICAgc2VsZi5wYXVzZV9hZnRlcl90ZXN0ID0gcGF1c2VfYWZ0ZXJfdGVzdAorICAgICAgICBzZWxm
LnBhdXNlX29uX3VuZXhwZWN0ZWQgPSBwYXVzZV9vbl91bmV4cGVjdGVkCisgICAgICAgIHNlbGYu
cmVzdGFydF9vbl91bmV4cGVjdGVkID0gcmVzdGFydF9vbl91bmV4cGVjdGVkCisgICAgICAgIHNl
bGYuZGVidWdfaW5mbyA9IGRlYnVnX2luZm8KKworICAgICAgICBzZWxmLm1hbmFnZXJfbnVtYmVy
ID0gbmV4dF9tYW5hZ2VyX251bWJlcigpCisKKyAgICAgICAgc2VsZi5jb21tYW5kX3F1ZXVlID0g
UXVldWUoKQorICAgICAgICBzZWxmLnJlbW90ZV9xdWV1ZSA9IFF1ZXVlKCkKKworICAgICAgICBz
ZWxmLnRlc3RfcnVubmVyX3Byb2MgPSBOb25lCisKKyAgICAgICAgdGhyZWFkaW5nLlRocmVhZC5f
X2luaXRfXyhzZWxmLCBuYW1lPSJUaHJlYWQtVGVzdHJ1bm5lck1hbmFnZXItJWkiICUgc2VsZi5t
YW5hZ2VyX251bWJlcikKKyAgICAgICAgIyBUaGlzIGlzIHN0YXJ0ZWQgaW4gdGhlIGFjdHVhbCBu
ZXcgdGhyZWFkCisgICAgICAgIHNlbGYubG9nZ2VyID0gTm9uZQorCisgICAgICAgIHNlbGYudW5l
eHBlY3RlZF9jb3VudCA9IDAKKworICAgICAgICAjIFRoaXMgbWF5IG5vdCByZWFsbHkgYmUgd2hh
dCB3ZSB3YW50CisgICAgICAgIHNlbGYuZGFlbW9uID0gVHJ1ZQorCisgICAgICAgIHNlbGYubWF4
X3Jlc3RhcnRzID0gNQorCisgICAgICAgIHNlbGYuYnJvd3NlciA9IE5vbmUKKworICAgIGRlZiBy
dW4oc2VsZik6CisgICAgICAgICIiIk1haW4gbG9vcCBmb3IgdGhlIFRlc3RNYW5hZ2VyLgorCisg
ICAgICAgIFRlc3RNYW5hZ2VycyBnZW5lcmFsbHkgcmVjZWl2ZSBjb21tYW5kcyBmcm9tIHRoZWly
CisgICAgICAgIFRlc3RSdW5uZXIgdXBkYXRpbmcgdGhlbSBvbiB0aGUgc3RhdHVzIG9mIGEgdGVz
dC4gVGhleQorICAgICAgICBtYXkgYWxzbyBoYXZlIGEgc3RvcCBmbGFnIHNldCBieSB0aGUgbWFp
biB0aHJlYWQgaW5kaWNhdGluZworICAgICAgICB0aGF0IHRoZSBtYW5hZ2VyIHNob3VsZCBzaHV0
IGRvd24gdGhlIG5leHQgdGltZSB0aGUgZXZlbnQgbG9vcAorICAgICAgICBzcGlucy4iIiIKKyAg
ICAgICAgc2VsZi5sb2dnZXIgPSBzdHJ1Y3R1cmVkbG9nLlN0cnVjdHVyZWRMb2dnZXIoc2VsZi5z
dWl0ZV9uYW1lKQorICAgICAgICB3aXRoIHNlbGYuYnJvd3Nlcl9jbHMoc2VsZi5sb2dnZXIsICoq
c2VsZi5icm93c2VyX2t3YXJncykgYXMgYnJvd3Nlciwgc2VsZi50ZXN0X3NvdXJjZV9jbHMoc2Vs
Zi50ZXN0cykgYXMgdGVzdF9zb3VyY2U6CisgICAgICAgICAgICBzZWxmLmJyb3dzZXIgPSBCcm93
c2VyTWFuYWdlcihzZWxmLmxvZ2dlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJyb3dzZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxmLmNvbW1hbmRfcXVldWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBub190aW1lb3V0PXNlbGYuZGVidWdfaW5mbyBpcyBub3QgTm9uZSkKKyAgICAg
ICAgICAgIHNlbGYudGVzdF9zb3VyY2UgPSB0ZXN0X3NvdXJjZQorICAgICAgICAgICAgZGlzcGF0
Y2ggPSB7CisgICAgICAgICAgICAgICAgUnVubmVyTWFuYWdlclN0YXRlLmJlZm9yZV9pbml0OiBz
ZWxmLnN0YXJ0X2luaXQsCisgICAgICAgICAgICAgICAgUnVubmVyTWFuYWdlclN0YXRlLmluaXRh
bGl6aW5nOiBzZWxmLmluaXQsCisgICAgICAgICAgICAgICAgUnVubmVyTWFuYWdlclN0YXRlLnJ1
bm5pbmc6IHNlbGYucnVuX3Rlc3QsCisgICAgICAgICAgICAgICAgUnVubmVyTWFuYWdlclN0YXRl
LnJlc3RhcnRpbmc6IHNlbGYucmVzdGFydF9ydW5uZXIKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgc2VsZi5zdGF0ZSA9IFJ1bm5lck1hbmFnZXJTdGF0ZS5iZWZvcmVfaW5pdCgpCisgICAg
ICAgICAgICBlbmRfc3RhdGVzID0gKFJ1bm5lck1hbmFnZXJTdGF0ZS5zdG9wLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBSdW5uZXJNYW5hZ2VyU3RhdGUuZXJyb3IpCisKKyAgICAgICAgICAg
IHRyeToKKyAgICAgICAgICAgICAgICB3aGlsZSBub3QgaXNpbnN0YW5jZShzZWxmLnN0YXRlLCBl
bmRfc3RhdGVzKToKKyAgICAgICAgICAgICAgICAgICAgZiA9IGRpc3BhdGNoLmdldChzZWxmLnN0
YXRlLl9fY2xhc3NfXykKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgZjoKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJEaXNwYXRjaCAlcyIgJSBmLl9fbmFtZV9f
KQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5zaG91bGRfc3RvcCgpOgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgICAgICAgICAgICAgbmV3
X3N0YXRlID0gZigpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBuZXdfc3RhdGUgaXMgTm9u
ZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5zdGF0ZSA9IG5ld19zdGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5sb2dnZXIuZGVidWcoIm5ldyBzdGF0ZTogJXMiICUgc2VsZi5zdGF0ZS5fX2NsYXNzX18uX19u
YW1lX18pCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYuc3RhdGUs
IGVuZF9zdGF0ZXMpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgorICAgICAg
ICAgICAgICAgICAgICAgICAgZiA9IGRpc3BhdGNoLmdldChzZWxmLnN0YXRlLl9fY2xhc3NfXykK
KworICAgICAgICAgICAgICAgICAgICBuZXdfc3RhdGUgPSBOb25lCisgICAgICAgICAgICAgICAg
ICAgIHdoaWxlIG5ld19zdGF0ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgbmV3
X3N0YXRlID0gc2VsZi53YWl0X2V2ZW50KCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNl
bGYuc2hvdWxkX3N0b3AoKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAg
ICAgICAgICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IG5ld19zdGF0ZQorICAgICAgICAgICAgICAg
ICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygibmV3IHN0YXRlOiAlcyIgJSBzZWxmLnN0YXRlLl9fY2xh
c3NfXy5fX25hbWVfXykKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAg
ICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcih0cmFjZWJhY2suZm9ybWF0X2V4YyhlKSkKKyAg
ICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAg
ICBzZWxmLmxvZ2dlci5kZWJ1ZygiVGVzdFJ1bm5lck1hbmFnZXIgbWFpbiBsb29wIHRlcm1pbmF0
aW5nLCBzdGFydGluZyBjbGVhbnVwIikKKyAgICAgICAgICAgICAgICBjbGVhbiA9IGlzaW5zdGFu
Y2Uoc2VsZi5zdGF0ZSwgUnVubmVyTWFuYWdlclN0YXRlLnN0b3ApCisgICAgICAgICAgICAgICAg
c2VsZi5zdG9wX3J1bm5lcihmb3JjZT1ub3QgY2xlYW4pCisgICAgICAgICAgICAgICAgc2VsZi50
ZWFyZG93bigpCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJUZXN0UnVubmVyTWFuYWdlciBt
YWluIGxvb3AgdGVybWluYXRlZCIpCisKKyAgICBkZWYgd2FpdF9ldmVudChzZWxmKToKKyAgICAg
ICAgZGlzcGF0Y2ggPSB7CisgICAgICAgICAgICBSdW5uZXJNYW5hZ2VyU3RhdGUuYmVmb3JlX2lu
aXQ6IHt9LAorICAgICAgICAgICAgUnVubmVyTWFuYWdlclN0YXRlLmluaXRhbGl6aW5nOgorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICJpbml0X3N1Y2NlZWRlZCI6IHNlbGYuaW5pdF9z
dWNjZWVkZWQsCisgICAgICAgICAgICAgICAgImluaXRfZmFpbGVkIjogc2VsZi5pbml0X2ZhaWxl
ZCwKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBSdW5uZXJNYW5hZ2VyU3RhdGUucnVubmlu
ZzoKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAidGVzdF9lbmRlZCI6IHNlbGYudGVz
dF9lbmRlZCwKKyAgICAgICAgICAgICAgICAid2FpdF9maW5pc2hlZCI6IHNlbGYud2FpdF9maW5p
c2hlZCwKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICBSdW5uZXJNYW5hZ2VyU3RhdGUucmVz
dGFydGluZzoge30sCisgICAgICAgICAgICBSdW5uZXJNYW5hZ2VyU3RhdGUuZXJyb3I6IHt9LAor
ICAgICAgICAgICAgUnVubmVyTWFuYWdlclN0YXRlLnN0b3A6IHt9LAorICAgICAgICAgICAgTm9u
ZTogeworICAgICAgICAgICAgICAgICJydW5uZXJfdGVhcmRvd24iOiBzZWxmLnJ1bm5lcl90ZWFy
ZG93biwKKyAgICAgICAgICAgICAgICAibG9nIjogc2VsZi5sb2csCisgICAgICAgICAgICAgICAg
ImVycm9yIjogc2VsZi5lcnJvcgorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRy
eToKKyAgICAgICAgICAgIGNvbW1hbmQsIGRhdGEgPSBzZWxmLmNvbW1hbmRfcXVldWUuZ2V0KFRy
dWUsIDEpCisgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIu
ZXJyb3IoIkdvdCBJT0Vycm9yIGZyb20gcG9sbCIpCisgICAgICAgICAgICByZXR1cm4gUnVubmVy
TWFuYWdlclN0YXRlLnJlc3RhcnRpbmcoMCkKKyAgICAgICAgZXhjZXB0IEVtcHR5OgorICAgICAg
ICAgICAgaWYgKHNlbGYuZGVidWdfaW5mbyBhbmQgc2VsZi5kZWJ1Z19pbmZvLmludGVyYWN0aXZl
IGFuZAorICAgICAgICAgICAgICAgIHNlbGYuYnJvd3Nlci5zdGFydGVkIGFuZCBub3Qgc2VsZi5i
cm93c2VyLmlzX2FsaXZlKCkpOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJE
ZWJ1Z2dlciBleGl0ZWQiKQorICAgICAgICAgICAgICAgIHJldHVybiBSdW5uZXJNYW5hZ2VyU3Rh
dGUuc3RvcCgpCisKKyAgICAgICAgICAgIGlmIChpc2luc3RhbmNlKHNlbGYuc3RhdGUsIFJ1bm5l
ck1hbmFnZXJTdGF0ZS5ydW5uaW5nKSBhbmQKKyAgICAgICAgICAgICAgICBub3Qgc2VsZi50ZXN0
X3J1bm5lcl9wcm9jLmlzX2FsaXZlKCkpOgorICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmNv
bW1hbmRfcXVldWUuZW1wdHkoKToKKyAgICAgICAgICAgICAgICAgICAgIyBXZSBnb3QgYSBuZXcg
bWVzc2FnZSBzbyBwcm9jZXNzIHRoYXQKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAg
ICAgICAgICAgICAgICAjIElmIHdlIGdvdCB0byBoZXJlIHRoZSBydW5uZXIgcHJlc3VtYWJseSBz
aHV0IGRvd24KKyAgICAgICAgICAgICAgICAjIHVuZXhwZWN0ZWRseQorICAgICAgICAgICAgICAg
IHNlbGYubG9nZ2VyLmluZm8oIlRlc3QgcnVubmVyIHByb2Nlc3Mgc2h1dCBkb3duIikKKworICAg
ICAgICAgICAgICAgIGlmIHNlbGYuc3RhdGUudGVzdCBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
ICAgICAgICAgIyBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgdGVzdCBydW5uZXIgY3Jhc2hlZCBm
b3Igc29tZSBvdGhlcgorICAgICAgICAgICAgICAgICAgICAjIHJlYXNvbgorICAgICAgICAgICAg
ICAgICAgICAjIE5lZWQgdG8gY29uc2lkZXIgdGhlIHVubGlrZWx5IGNhc2Ugd2hlcmUgb25lIHRl
c3QgY2F1c2VzIHRoZQorICAgICAgICAgICAgICAgICAgICAjIHJ1bm5lciBwcm9jZXNzIHRvIHJl
cGVhdGVkbHkgZGllCisgICAgICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmNyaXRpY2FsKCJM
YXN0IHRlc3QgZGlkIG5vdCBjb21wbGV0ZSIpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBS
dW5uZXJNYW5hZ2VyU3RhdGUuZXJyb3IoKQorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLndh
cm5pbmcoIk1vcmUgdGVzdHMgZm91bmQsIGJ1dCBydW5uZXIgcHJvY2VzcyBkaWVkLCByZXN0YXJ0
aW5nIikKKyAgICAgICAgICAgICAgICByZXR1cm4gUnVubmVyTWFuYWdlclN0YXRlLnJlc3RhcnRp
bmcoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGYgPSAoZGlzcGF0Y2guZ2V0KHNlbGYu
c3RhdGUuX19jbGFzc19fLCB7fSkuZ2V0KGNvbW1hbmQpIG9yCisgICAgICAgICAgICAgICAgIGRp
c3BhdGNoLmdldChOb25lLCB7fSkuZ2V0KGNvbW1hbmQpKQorICAgICAgICAgICAgaWYgbm90IGY6
CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIud2FybmluZygiR290IGNvbW1hbmQgJXMgaW4g
c3RhdGUgJXMiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb21tYW5k
LCBzZWxmLnN0YXRlLl9fY2xhc3NfXy5fX25hbWVfXykpCisgICAgICAgICAgICAgICAgcmV0dXJu
CisgICAgICAgICAgICByZXR1cm4gZigqZGF0YSkKKworCisgICAgZGVmIHNob3VsZF9zdG9wKHNl
bGYpOgorICAgICAgICByZXR1cm4gc2VsZi5jaGlsZF9zdG9wX2ZsYWcuaXNfc2V0KCkgb3Igc2Vs
Zi5wYXJlbnRfc3RvcF9mbGFnLmlzX3NldCgpCisKKyAgICBkZWYgc3RhcnRfaW5pdChzZWxmKToK
KyAgICAgICAgdGVzdCwgdGVzdF9xdWV1ZSA9IHNlbGYuZ2V0X25leHRfdGVzdCgpCisgICAgICAg
IGlmIHRlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBSdW5uZXJNYW5hZ2VyU3RhdGUu
c3RvcCgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gUnVubmVyTWFuYWdlclN0
YXRlLmluaXRhbGl6aW5nKHRlc3QsIHRlc3RfcXVldWUsIDApCisKKyAgICBkZWYgaW5pdChzZWxm
KToKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uoc2VsZi5zdGF0ZSwgUnVubmVyTWFuYWdlclN0
YXRlLmluaXRhbGl6aW5nKQorICAgICAgICBpZiBzZWxmLnN0YXRlLmZhaWx1cmVfY291bnQgPiBz
ZWxmLm1heF9yZXN0YXJ0czoKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKCJNYXggcmVz
dGFydHMgZXhjZWVkZWQiKQorICAgICAgICAgICAgcmV0dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5l
cnJvcigpCisKKyAgICAgICAgcmVzdWx0ID0gc2VsZi5icm93c2VyLmluaXQoKQorICAgICAgICBp
ZiByZXN1bHQgaXMgU3RvcDoKKyAgICAgICAgICAgIHJldHVybiBSdW5uZXJNYW5hZ2VyU3RhdGUu
ZXJyb3IoKQorICAgICAgICBlbGlmIG5vdCByZXN1bHQ6CisgICAgICAgICAgICByZXR1cm4gUnVu
bmVyTWFuYWdlclN0YXRlLmluaXRhbGl6aW5nKHNlbGYuc3RhdGUudGVzdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGF0ZS50ZXN0X3F1
ZXVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLnN0YXRlLmZhaWx1cmVfY291bnQgKyAxKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAg
c2VsZi5zdGFydF90ZXN0X3J1bm5lcigpCisKKyAgICBkZWYgc3RhcnRfdGVzdF9ydW5uZXIoc2Vs
Zik6CisgICAgICAgICMgTm90ZSB0aGF0IHdlIG5lZWQgdG8gYmUgY2FyZWZ1bCB0byBzdGFydCB0
aGUgYnJvd3NlciBiZWZvcmUgdGhlCisgICAgICAgICMgdGVzdCBydW5uZXIgdG8gZW5zdXJlIHRo
YXQgYW55IHN0YXRlIHNldCB3aGVuIHRoZSBicm93c2VyIGlzIHN0YXJ0ZWQKKyAgICAgICAgIyBj
YW4gYmUgcGFzc2VkIGluIHRvIHRoZSB0ZXN0IHJ1bm5lci4KKyAgICAgICAgYXNzZXJ0IGlzaW5z
dGFuY2Uoc2VsZi5zdGF0ZSwgUnVubmVyTWFuYWdlclN0YXRlLmluaXRhbGl6aW5nKQorICAgICAg
ICBhc3NlcnQgc2VsZi5jb21tYW5kX3F1ZXVlIGlzIG5vdCBOb25lCisgICAgICAgIGFzc2VydCBz
ZWxmLnJlbW90ZV9xdWV1ZSBpcyBub3QgTm9uZQorICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJT
dGFydGluZyBydW5uZXIiKQorICAgICAgICBleGVjdXRvcl9icm93c2VyX2NscywgZXhlY3V0b3Jf
YnJvd3Nlcl9rd2FyZ3MgPSBzZWxmLmJyb3dzZXIuYnJvd3Nlci5leGVjdXRvcl9icm93c2VyKCkK
KworICAgICAgICBhcmdzID0gKHNlbGYucmVtb3RlX3F1ZXVlLAorICAgICAgICAgICAgICAgIHNl
bGYuY29tbWFuZF9xdWV1ZSwKKyAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yX2NscywKKyAg
ICAgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yX2t3YXJncywKKyAgICAgICAgICAgICAgICBleGVj
dXRvcl9icm93c2VyX2NscywKKyAgICAgICAgICAgICAgICBleGVjdXRvcl9icm93c2VyX2t3YXJn
cywKKyAgICAgICAgICAgICAgICBzZWxmLmNoaWxkX3N0b3BfZmxhZykKKyAgICAgICAgc2VsZi50
ZXN0X3J1bm5lcl9wcm9jID0gUHJvY2Vzcyh0YXJnZXQ9c3RhcnRfcnVubmVyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M9YXJncywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPSJUaHJlYWQtVGVzdFJ1bm5lci0laSIgJSBz
ZWxmLm1hbmFnZXJfbnVtYmVyKQorICAgICAgICBzZWxmLnRlc3RfcnVubmVyX3Byb2Muc3RhcnQo
KQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiVGVzdCBydW5uZXIgc3RhcnRlZCIpCisgICAg
ICAgICMgTm93IHdlIHdhaXQgZm9yIGVpdGhlciBhbiBpbml0X3N1Y2NlZWRlZCBldmVudCBvciBh
biBpbml0X2ZhaWxlZCBldmVudAorCisgICAgZGVmIGluaXRfc3VjY2VlZGVkKHNlbGYpOgorICAg
ICAgICBhc3NlcnQgaXNpbnN0YW5jZShzZWxmLnN0YXRlLCBSdW5uZXJNYW5hZ2VyU3RhdGUuaW5p
dGFsaXppbmcpCisgICAgICAgIHNlbGYuYnJvd3Nlci5hZnRlcl9pbml0KCkKKyAgICAgICAgcmV0
dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5ydW5uaW5nKHNlbGYuc3RhdGUudGVzdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUudGVzdF9xdWV1ZSkK
KworICAgIGRlZiBpbml0X2ZhaWxlZChzZWxmKToKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uo
c2VsZi5zdGF0ZSwgUnVubmVyTWFuYWdlclN0YXRlLmluaXRhbGl6aW5nKQorICAgICAgICBzZWxm
LmJyb3dzZXIuYWZ0ZXJfaW5pdCgpCisgICAgICAgIHNlbGYuc3RvcF9ydW5uZXIoZm9yY2U9VHJ1
ZSkKKyAgICAgICAgcmV0dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5pbml0YWxpemluZyhzZWxmLnN0
YXRlLnRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5zdGF0ZS50ZXN0X3F1ZXVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuc3RhdGUuZmFpbHVyZV9jb3VudCArIDEpCisKKyAgICBkZWYgZ2V0
X25leHRfdGVzdChzZWxmLCB0ZXN0X3F1ZXVlPU5vbmUpOgorICAgICAgICB0ZXN0ID0gTm9uZQor
ICAgICAgICB3aGlsZSB0ZXN0IGlzIE5vbmU6CisgICAgICAgICAgICBpZiB0ZXN0X3F1ZXVlIGlz
IE5vbmU6CisgICAgICAgICAgICAgICAgdGVzdF9xdWV1ZSA9IHNlbGYudGVzdF9zb3VyY2UuZ2V0
X3F1ZXVlKCkKKyAgICAgICAgICAgICAgICBpZiB0ZXN0X3F1ZXVlIGlzIE5vbmU6CisgICAgICAg
ICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oIk5vIG1vcmUgdGVzdHMiKQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gTm9uZSwgTm9uZQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAg
ICAgICAgICMgTmVlZCB0byBibG9jayBoZXJlIGp1c3QgdG8gYWxsb3cgZm9yIGNvbnRlbnRpb24g
d2l0aCBvdGhlciBwcm9jZXNzZXMKKyAgICAgICAgICAgICAgICB0ZXN0ID0gdGVzdF9xdWV1ZS5n
ZXQoYmxvY2s9VHJ1ZSwgdGltZW91dD0xKQorICAgICAgICAgICAgZXhjZXB0IEVtcHR5OgorICAg
ICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgcmV0dXJuIHRlc3QsIHRlc3RfcXVldWUKKworICAg
IGRlZiBydW5fdGVzdChzZWxmKToKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uoc2VsZi5zdGF0
ZSwgUnVubmVyTWFuYWdlclN0YXRlLnJ1bm5pbmcpCisgICAgICAgIGFzc2VydCBzZWxmLnN0YXRl
LnRlc3QgaXMgbm90IE5vbmUKKworICAgICAgICBzZWxmLmxvZ2dlci50ZXN0X3N0YXJ0KHNlbGYu
c3RhdGUudGVzdC5pZCkKKyAgICAgICAgc2VsZi5zZW5kX21lc3NhZ2UoInJ1bl90ZXN0Iiwgc2Vs
Zi5zdGF0ZS50ZXN0KQorCisgICAgZGVmIHRlc3RfZW5kZWQoc2VsZiwgdGVzdCwgcmVzdWx0cyk6
CisgICAgICAgICIiIkhhbmRsZSB0aGUgZW5kIG9mIGEgdGVzdC4KKworICAgICAgICBPdXRwdXQg
dGhlIHJlc3VsdCBvZiBlYWNoIHN1YnRlc3QsIGFuZCB0aGUgcmVzdWx0IG9mIHRoZSBvdmVyYWxs
CisgICAgICAgIGhhcm5lc3MgdG8gdGhlIGxvZ3MuCisgICAgICAgICIiIgorICAgICAgICBhc3Nl
cnQgaXNpbnN0YW5jZShzZWxmLnN0YXRlLCBSdW5uZXJNYW5hZ2VyU3RhdGUucnVubmluZykKKyAg
ICAgICAgYXNzZXJ0IHRlc3QgPT0gc2VsZi5zdGF0ZS50ZXN0CisgICAgICAgICMgV3JpdGUgdGhl
IHJlc3VsdCBvZiBlYWNoIHN1YnRlc3QKKyAgICAgICAgZmlsZV9yZXN1bHQsIHRlc3RfcmVzdWx0
cyA9IHJlc3VsdHMKKyAgICAgICAgc3VidGVzdF91bmV4cGVjdGVkID0gRmFsc2UKKyAgICAgICAg
Zm9yIHJlc3VsdCBpbiB0ZXN0X3Jlc3VsdHM6CisgICAgICAgICAgICBpZiB0ZXN0LmRpc2FibGVk
KHJlc3VsdC5uYW1lKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgZXhw
ZWN0ZWQgPSB0ZXN0LmV4cGVjdGVkKHJlc3VsdC5uYW1lKQorICAgICAgICAgICAgaXNfdW5leHBl
Y3RlZCA9IGV4cGVjdGVkICE9IHJlc3VsdC5zdGF0dXMKKworICAgICAgICAgICAgaWYgaXNfdW5l
eHBlY3RlZDoKKyAgICAgICAgICAgICAgICBzZWxmLnVuZXhwZWN0ZWRfY291bnQgKz0gMQorICAg
ICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJVbmV4cGVjdGVkIGNvdW50IGluIHRoaXMg
dGhyZWFkICVpIiAlIHNlbGYudW5leHBlY3RlZF9jb3VudCkKKyAgICAgICAgICAgICAgICBzdWJ0
ZXN0X3VuZXhwZWN0ZWQgPSBUcnVlCisgICAgICAgICAgICBzZWxmLmxvZ2dlci50ZXN0X3N0YXR1
cyh0ZXN0LmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lm5h
bWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuc3RhdHVzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT1yZXN1bHQubWVzc2Fn
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkPWV4cGVjdGVk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2s9cmVzdWx0LnN0YWNr
KQorCisgICAgICAgICMgVE9ETzogY29uc2lkZXIgY2hhbmdpbmcgcmVzdWx0IGlmIHRoZXJlIGlz
IGEgY3Jhc2ggZHVtcCBmaWxlCisKKyAgICAgICAgIyBXcml0ZSB0aGUgcmVzdWx0IG9mIHRoZSB0
ZXN0IGhhcm5lc3MKKyAgICAgICAgZXhwZWN0ZWQgPSB0ZXN0LmV4cGVjdGVkKCkKKyAgICAgICAg
c3RhdHVzID0gZmlsZV9yZXN1bHQuc3RhdHVzIGlmIGZpbGVfcmVzdWx0LnN0YXR1cyAhPSAiRVhU
RVJOQUwtVElNRU9VVCIgZWxzZSAiVElNRU9VVCIKKyAgICAgICAgaXNfdW5leHBlY3RlZCA9IGV4
cGVjdGVkICE9IHN0YXR1cworICAgICAgICBpZiBpc191bmV4cGVjdGVkOgorICAgICAgICAgICAg
c2VsZi51bmV4cGVjdGVkX2NvdW50ICs9IDEKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVn
KCJVbmV4cGVjdGVkIGNvdW50IGluIHRoaXMgdGhyZWFkICVpIiAlIHNlbGYudW5leHBlY3RlZF9j
b3VudCkKKyAgICAgICAgaWYgc3RhdHVzID09ICJDUkFTSCI6CisgICAgICAgICAgICBzZWxmLmJy
b3dzZXIubG9nX2NyYXNoKHRlc3QuaWQpCisKKyAgICAgICAgc2VsZi5sb2dnZXIudGVzdF9lbmQo
dGVzdC5pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPWZpbGVfcmVzdWx0Lm1lc3NhZ2UsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkPWV4cGVjdGVkLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBleHRyYT1maWxlX3Jlc3VsdC5leHRyYSkKKworICAgICAgICByZXN0YXJ0
X2JlZm9yZV9uZXh0ID0gKHRlc3QucmVzdGFydF9hZnRlciBvcgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZpbGVfcmVzdWx0LnN0YXR1cyBpbiAoIkNSQVNIIiwgIkVYVEVSTkFMLVRJ
TUVPVVQiKSBvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoc3VidGVzdF91bmV4
cGVjdGVkIG9yIGlzX3VuZXhwZWN0ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGFuZCBzZWxmLnJlc3RhcnRfb25fdW5leHBlY3RlZCkpCisKKyAgICAgICAgaWYgKHNlbGYucGF1
c2VfYWZ0ZXJfdGVzdCBvcgorICAgICAgICAgICAgKHNlbGYucGF1c2Vfb25fdW5leHBlY3RlZCBh
bmQgKHN1YnRlc3RfdW5leHBlY3RlZCBvciBpc191bmV4cGVjdGVkKSkpOgorICAgICAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygiUGF1c2luZyB1bnRpbCB0aGUgYnJvd3NlciBleGl0cyIpCisgICAg
ICAgICAgICBzZWxmLnNlbmRfbWVzc2FnZSgid2FpdCIpCisgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICByZXR1cm4gc2VsZi5hZnRlcl90ZXN0X2VuZChyZXN0YXJ0X2JlZm9yZV9uZXh0KQorCisg
ICAgZGVmIHdhaXRfZmluaXNoZWQoc2VsZik6CisgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNl
bGYuc3RhdGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5ydW5uaW5nKQorICAgICAgICAjIFRoZSBicm93
c2VyIHNob3VsZCBiZSBzdG9wcGVkIGFscmVhZHksIGJ1dCB0aGlzIGVuc3VyZXMgd2UgZG8gYW55
IHBvc3Qtc3RvcAorICAgICAgICAjIHByb2Nlc3NpbmcKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVi
dWcoIldhaXQgZmluaXNoZWQiKQorCisgICAgICAgIHJldHVybiBzZWxmLmFmdGVyX3Rlc3RfZW5k
KFRydWUpCisKKyAgICBkZWYgYWZ0ZXJfdGVzdF9lbmQoc2VsZiwgcmVzdGFydCk6CisgICAgICAg
IGFzc2VydCBpc2luc3RhbmNlKHNlbGYuc3RhdGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5ydW5uaW5n
KQorICAgICAgICB0ZXN0LCB0ZXN0X3F1ZXVlID0gc2VsZi5nZXRfbmV4dF90ZXN0KCkKKyAgICAg
ICAgaWYgdGVzdCBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIFJ1bm5lck1hbmFnZXJTdGF0
ZS5zdG9wKCkKKyAgICAgICAgaWYgdGVzdF9xdWV1ZSAhPSBzZWxmLnN0YXRlLnRlc3RfcXVldWU6
CisgICAgICAgICAgICAjIFdlIGFyZSBzdGFydGluZyBhIG5ldyBncm91cCBvZiB0ZXN0cywgc28g
Zm9yY2UgYSByZXN0YXJ0CisgICAgICAgICAgICByZXN0YXJ0ID0gVHJ1ZQorICAgICAgICBpZiBy
ZXN0YXJ0OgorICAgICAgICAgICAgcmV0dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5yZXN0YXJ0aW5n
KHRlc3QsIHRlc3RfcXVldWUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gUnVu
bmVyTWFuYWdlclN0YXRlLnJ1bm5pbmcodGVzdCwgdGVzdF9xdWV1ZSkKKworICAgIGRlZiByZXN0
YXJ0X3J1bm5lcihzZWxmKToKKyAgICAgICAgIiIiU3RvcCBhbmQgcmVzdGFydCB0aGUgVGVzdFJ1
bm5lciIiIgorICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzZWxmLnN0YXRlLCBSdW5uZXJNYW5h
Z2VyU3RhdGUucmVzdGFydGluZykKKyAgICAgICAgc2VsZi5zdG9wX3J1bm5lcigpCisgICAgICAg
IHJldHVybiBSdW5uZXJNYW5hZ2VyU3RhdGUuaW5pdGFsaXppbmcoc2VsZi5zdGF0ZS50ZXN0LCBz
ZWxmLnN0YXRlLnRlc3RfcXVldWUsIDApCisKKyAgICBkZWYgbG9nKHNlbGYsIGFjdGlvbiwga3dh
cmdzKToKKyAgICAgICAgZ2V0YXR0cihzZWxmLmxvZ2dlciwgYWN0aW9uKSgqKmt3YXJncykKKwor
ICAgIGRlZiBlcnJvcihzZWxmLCBtZXNzYWdlKToKKyAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3Io
bWVzc2FnZSkKKyAgICAgICAgc2VsZi5yZXN0YXJ0X3J1bm5lcigpCisKKyAgICBkZWYgc3RvcF9y
dW5uZXIoc2VsZiwgZm9yY2U9RmFsc2UpOgorICAgICAgICAiIiJTdG9wIHRoZSBUZXN0UnVubmVy
IGFuZCB0aGUgYnJvd3NlciBiaW5hcnkuIiIiCisgICAgICAgIGlmIHNlbGYudGVzdF9ydW5uZXJf
cHJvYyBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgaWYgc2VsZi50ZXN0
X3J1bm5lcl9wcm9jLmlzX2FsaXZlKCk6CisgICAgICAgICAgICBzZWxmLnNlbmRfbWVzc2FnZSgi
c3RvcCIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYnJvd3Nlci5zdG9wKGZvcmNl
PWZvcmNlKQorICAgICAgICAgICAgc2VsZi5lbnN1cmVfcnVubmVyX3N0b3BwZWQoKQorICAgICAg
ICBmaW5hbGx5OgorICAgICAgICAgICAgc2VsZi5jbGVhbnVwKCkKKworICAgIGRlZiB0ZWFyZG93
bihzZWxmKToKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoInRlYXJkb3duIGluIHRlc3RydW5u
ZXJtYW5hZ2VyIikKKyAgICAgICAgc2VsZi50ZXN0X3J1bm5lcl9wcm9jID0gTm9uZQorICAgICAg
ICBzZWxmLmNvbW1hbmRfcXVldWUuY2xvc2UoKQorICAgICAgICBzZWxmLnJlbW90ZV9xdWV1ZS5j
bG9zZSgpCisgICAgICAgIHNlbGYuY29tbWFuZF9xdWV1ZSA9IE5vbmUKKyAgICAgICAgc2VsZi5y
ZW1vdGVfcXVldWUgPSBOb25lCisKKyAgICBkZWYgZW5zdXJlX3J1bm5lcl9zdG9wcGVkKHNlbGYp
OgorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiZW5zdXJlX3J1bm5lcl9zdG9wcGVkIikKKyAg
ICAgICAgaWYgc2VsZi50ZXN0X3J1bm5lcl9wcm9jIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1
cm4KKworICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1Zygid2FpdGluZyBmb3IgcnVubmVyIHByb2Nl
c3MgdG8gZW5kIikKKyAgICAgICAgc2VsZi50ZXN0X3J1bm5lcl9wcm9jLmpvaW4oMTApCisgICAg
ICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJBZnRlciBqb2luIikKKyAgICAgICAgaWYgc2VsZi50ZXN0
X3J1bm5lcl9wcm9jLmlzX2FsaXZlKCk6CisgICAgICAgICAgICAjIFRoaXMgbWlnaHQgbGVhayBh
IGZpbGUgaGFuZGxlIGZyb20gdGhlIHF1ZXVlCisgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJu
aW5nKCJGb3JjaWJseSB0ZXJtaW5hdGluZyBydW5uZXIgcHJvY2VzcyIpCisgICAgICAgICAgICBz
ZWxmLnRlc3RfcnVubmVyX3Byb2MudGVybWluYXRlKCkKKyAgICAgICAgICAgIHNlbGYudGVzdF9y
dW5uZXJfcHJvYy5qb2luKDEwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5sb2dn
ZXIuZGVidWcoIlRlc3RydW5uZXIgZXhpdGVkIHdpdGggY29kZSAlaSIgJSBzZWxmLnRlc3RfcnVu
bmVyX3Byb2MuZXhpdGNvZGUpCisKKyAgICBkZWYgcnVubmVyX3RlYXJkb3duKHNlbGYpOgorICAg
ICAgICBzZWxmLmVuc3VyZV9ydW5uZXJfc3RvcHBlZCgpCisgICAgICAgIHJldHVybiBSdW5uZXJN
YW5hZ2VyU3RhdGUuc3RvcCgpCisKKyAgICBkZWYgc2VuZF9tZXNzYWdlKHNlbGYsIGNvbW1hbmQs
ICphcmdzKToKKyAgICAgICAgc2VsZi5yZW1vdGVfcXVldWUucHV0KChjb21tYW5kLCBhcmdzKSkK
KworICAgIGRlZiBjbGVhbnVwKHNlbGYpOgorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiVGVz
dE1hbmFnZXIgY2xlYW51cCIpCisgICAgICAgIGlmIHNlbGYuYnJvd3NlcjoKKyAgICAgICAgICAg
IHNlbGYuYnJvd3Nlci5jbGVhbnVwKCkKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAg
IHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKCIgIi5qb2luKG1hcChy
ZXByLCBzZWxmLmNvbW1hbmRfcXVldWUuZ2V0X25vd2FpdCgpKSkpCisgICAgICAgICAgICBleGNl
cHQgRW1wdHk6CisgICAgICAgICAgICAgICAgYnJlYWsKKworY2xhc3MgVGVzdFF1ZXVlKG9iamVj
dCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3Rfc291cmNlX2NscywgdGVzdF90eXBlLCB0
ZXN0cywgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnF1ZXVlID0gTm9uZQorICAgICAgICBzZWxm
LnRlc3Rfc291cmNlX2NscyA9IHRlc3Rfc291cmNlX2NscworICAgICAgICBzZWxmLnRlc3RfdHlw
ZSA9IHRlc3RfdHlwZQorICAgICAgICBzZWxmLnRlc3RzID0gdGVzdHMKKyAgICAgICAgc2VsZi5r
d2FyZ3MgPSBrd2FyZ3MKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIGlmIG5v
dCBzZWxmLnRlc3RzW3NlbGYudGVzdF90eXBlXToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisK
KyAgICAgICAgc2VsZi5xdWV1ZSA9IFF1ZXVlKCkKKyAgICAgICAgaGFzX3Rlc3RzID0gc2VsZi50
ZXN0X3NvdXJjZV9jbHMucXVldWVfdGVzdHMoc2VsZi5xdWV1ZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50ZXN0X3R5cGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGVz
dHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICoqc2VsZi5rd2FyZ3MpCisgICAgICAgICMgVGhlcmUgaXMgYSByYWNlIGNvbmRpdGlvbiB0aGF0
IG1lYW5zIHNvbWV0aW1lcyB3ZSBjb250aW51ZQorICAgICAgICAjIGJlZm9yZSB0aGUgdGVzdHMg
aGF2ZSBiZWVuIHdyaXR0ZW4gdG8gdGhlIHVuZGVybHlpbmcgcGlwZS4KKyAgICAgICAgIyBQb2xs
aW5nIHRoZSBwaXBlIGZvciBkYXRhIGhlcmUgYXZvaWRzIHRoYXQKKyAgICAgICAgc2VsZi5xdWV1
ZS5fcmVhZGVyLnBvbGwoMTApCisgICAgICAgIGFzc2VydCBub3Qgc2VsZi5xdWV1ZS5lbXB0eSgp
CisgICAgICAgIHJldHVybiBzZWxmLnF1ZXVlCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFy
Z3MsICoqa3dhcmdzKToKKyAgICAgICAgaWYgc2VsZi5xdWV1ZSBpcyBub3QgTm9uZToKKyAgICAg
ICAgICAgIHNlbGYucXVldWUuY2xvc2UoKQorICAgICAgICAgICAgc2VsZi5xdWV1ZSA9IE5vbmUK
KworCitjbGFzcyBNYW5hZ2VyR3JvdXAob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
c3VpdGVfbmFtZSwgc2l6ZSwgdGVzdF9zb3VyY2VfY2xzLCB0ZXN0X3NvdXJjZV9rd2FyZ3MsCisg
ICAgICAgICAgICAgICAgIGJyb3dzZXJfY2xzLCBicm93c2VyX2t3YXJncywKKyAgICAgICAgICAg
ICAgICAgZXhlY3V0b3JfY2xzLCBleGVjdXRvcl9rd2FyZ3MsCisgICAgICAgICAgICAgICAgIHBh
dXNlX2FmdGVyX3Rlc3Q9RmFsc2UsCisgICAgICAgICAgICAgICAgIHBhdXNlX29uX3VuZXhwZWN0
ZWQ9RmFsc2UsCisgICAgICAgICAgICAgICAgIHJlc3RhcnRfb25fdW5leHBlY3RlZD1UcnVlLAor
ICAgICAgICAgICAgICAgICBkZWJ1Z19pbmZvPU5vbmUpOgorICAgICAgICAiIiJNYWluIHRocmVh
ZCBvYmplY3QgdGhhdCBvd25zIGFsbCB0aGUgVGVzdE1hbmFnZXIgdGhyZWFkcy4iIiIKKyAgICAg
ICAgc2VsZi5zdWl0ZV9uYW1lID0gc3VpdGVfbmFtZQorICAgICAgICBzZWxmLnNpemUgPSBzaXpl
CisgICAgICAgIHNlbGYudGVzdF9zb3VyY2VfY2xzID0gdGVzdF9zb3VyY2VfY2xzCisgICAgICAg
IHNlbGYudGVzdF9zb3VyY2Vfa3dhcmdzID0gdGVzdF9zb3VyY2Vfa3dhcmdzCisgICAgICAgIHNl
bGYuYnJvd3Nlcl9jbHMgPSBicm93c2VyX2NscworICAgICAgICBzZWxmLmJyb3dzZXJfa3dhcmdz
ID0gYnJvd3Nlcl9rd2FyZ3MKKyAgICAgICAgc2VsZi5leGVjdXRvcl9jbHMgPSBleGVjdXRvcl9j
bHMKKyAgICAgICAgc2VsZi5leGVjdXRvcl9rd2FyZ3MgPSBleGVjdXRvcl9rd2FyZ3MKKyAgICAg
ICAgc2VsZi5wYXVzZV9hZnRlcl90ZXN0ID0gcGF1c2VfYWZ0ZXJfdGVzdAorICAgICAgICBzZWxm
LnBhdXNlX29uX3VuZXhwZWN0ZWQgPSBwYXVzZV9vbl91bmV4cGVjdGVkCisgICAgICAgIHNlbGYu
cmVzdGFydF9vbl91bmV4cGVjdGVkID0gcmVzdGFydF9vbl91bmV4cGVjdGVkCisgICAgICAgIHNl
bGYuZGVidWdfaW5mbyA9IGRlYnVnX2luZm8KKworICAgICAgICBzZWxmLnBvb2wgPSBzZXQoKQor
ICAgICAgICAjIEV2ZW50IHRoYXQgaXMgcG9sbGVkIGJ5IHRocmVhZHMgc28gdGhhdCB0aGV5IGNh
biBncmFjZWZ1bGx5IGV4aXQgaW4gdGhlIGZhY2UKKyAgICAgICAgIyBvZiBzaWdpbnQKKyAgICAg
ICAgc2VsZi5zdG9wX2ZsYWcgPSB0aHJlYWRpbmcuRXZlbnQoKQorICAgICAgICBzZWxmLmxvZ2dl
ciA9IHN0cnVjdHVyZWRsb2cuU3RydWN0dXJlZExvZ2dlcihzdWl0ZV9uYW1lKQorICAgICAgICBz
ZWxmLnRlc3RfcXVldWUgPSBOb25lCisKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAg
ICByZXR1cm4gc2VsZgorCisgICAgZGVmIF9fZXhpdF9fKHNlbGYsIGV4Y190eXBlLCBleGNfdmFs
LCBleGNfdGIpOgorICAgICAgICBzZWxmLnN0b3AoKQorCisgICAgZGVmIHJ1bihzZWxmLCB0ZXN0
X3R5cGUsIHRlc3RzKToKKyAgICAgICAgIiIiU3RhcnQgYWxsIG1hbmFnZXJzIGluIHRoZSBncm91
cCIiIgorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiVXNpbmcgJWkgcHJvY2Vzc2VzIiAlIHNl
bGYuc2l6ZSkKKworICAgICAgICBzZWxmLnRlc3RfcXVldWUgPSBUZXN0UXVldWUoc2VsZi50ZXN0
X3NvdXJjZV9jbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3R5
cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0cywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqc2VsZi50ZXN0X3NvdXJjZV9rd2FyZ3MpCisg
ICAgICAgIHdpdGggc2VsZi50ZXN0X3F1ZXVlIGFzIHRlc3RfcXVldWU6CisgICAgICAgICAgICBp
ZiB0ZXN0X3F1ZXVlIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygi
Tm8gJXMgdGVzdHMgdG8gcnVuIiAlIHRlc3RfdHlwZSkKKyAgICAgICAgICAgICAgICByZXR1cm4K
KyAgICAgICAgICAgIGZvciBfIGluIHJhbmdlKHNlbGYuc2l6ZSk6CisgICAgICAgICAgICAgICAg
bWFuYWdlciA9IFRlc3RSdW5uZXJNYW5hZ2VyKHNlbGYuc3VpdGVfbmFtZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9xdWV1ZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50ZXN0X3NvdXJjZV9jbHMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnJvd3Nlcl9j
bHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnJv
d3Nlcl9rd2FyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYuZXhlY3V0b3JfY2xzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxmLmV4ZWN1dG9yX2t3YXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5zdG9wX2ZsYWcsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGF1c2VfYWZ0ZXJfdGVzdCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXVzZV9vbl91bmV4cGVjdGVk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlc3Rh
cnRfb25fdW5leHBlY3RlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5kZWJ1Z19pbmZvKQorICAgICAgICAgICAgICAgIG1hbmFnZXIuc3RhcnQoKQor
ICAgICAgICAgICAgICAgIHNlbGYucG9vbC5hZGQobWFuYWdlcikKKyAgICAgICAgICAgIHNlbGYu
d2FpdCgpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgICIiIkJvb2xlYW4gaW5k
aWNhdGluZyB3aGV0aGVyIGFueSBtYW5hZ2VyIGluIHRoZSBncm91cCBpcyBzdGlsbCBhbGl2ZSIi
IgorICAgICAgICByZXR1cm4gYW55KG1hbmFnZXIuaXNfYWxpdmUoKSBmb3IgbWFuYWdlciBpbiBz
ZWxmLnBvb2wpCisKKyAgICBkZWYgd2FpdChzZWxmKToKKyAgICAgICAgIiIiV2FpdCBmb3IgYWxs
IHRoZSBtYW5hZ2VycyBpbiB0aGUgZ3JvdXAgdG8gZmluaXNoIiIiCisgICAgICAgIGZvciBpdGVt
IGluIHNlbGYucG9vbDoKKyAgICAgICAgICAgIGl0ZW0uam9pbigpCisKKyAgICBkZWYgc3RvcChz
ZWxmKToKKyAgICAgICAgIiIiU2V0IHRoZSBzdG9wIGZsYWcgc28gdGhhdCBhbGwgbWFuYWdlcnMg
aW4gdGhlIGdyb3VwIHN0b3AgYXMgc29vbgorICAgICAgICBhcyBwb3NzaWJsZSIiIgorICAgICAg
ICBzZWxmLnN0b3BfZmxhZy5zZXQoKQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiU3RvcCBm
bGFnIHNldCBpbiBNYW5hZ2VyR3JvdXAiKQorCisgICAgZGVmIHVuZXhwZWN0ZWRfY291bnQoc2Vs
Zik6CisgICAgICAgIHJldHVybiBzdW0oaXRlbS51bmV4cGVjdGVkX2NvdW50IGZvciBpdGVtIGlu
IHNlbGYucG9vbCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy9fX2luaXRfXy5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci90ZXN0cy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjgzNGI4Mjg1YTU2
YmVmMGUxNTQzZmQ5MDFjN2U2ZjJmOGJjMjAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3Rlc3RzL19faW5pdF9fLnB5CkBAIC0wLDAgKzEgQEAKKyMgVGhpcyBmaWxlIGlzIHJlcXVp
cmVkIGZvciBQeXRob24gdG8gc2VhcmNoIHRoaXMgZGlyZWN0b3J5IGZvciBtb2R1bGVzLgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90
ZXN0X2NodW5rZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF9jaHVua2VyLnB5Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ5Njg5NDBmZWI4YjVhYTAzNDRhYTI3NjVhZDVlZmI5MTA0OGE2ZmEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF9jaHVua2VyLnB5CkBAIC0wLDAgKzEs
ODkgQEAKK2ltcG9ydCB1bml0dGVzdAoraW1wb3J0IHN5cworZnJvbSBvcy5wYXRoIGltcG9ydCBq
b2luLCBkaXJuYW1lCitmcm9tIG1vemxvZyBpbXBvcnQgc3RydWN0dXJlZAorCitpbXBvcnQgcHl0
ZXN0CisKK3N5cy5wYXRoLmluc2VydCgwLCBqb2luKGRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAi
Li4iKSkKKworZnJvbSB3cHRydW5uZXIudGVzdGxvYWRlciBpbXBvcnQgRXF1YWxUaW1lQ2h1bmtl
cgorCitzdHJ1Y3R1cmVkLnNldF9kZWZhdWx0X2xvZ2dlcihzdHJ1Y3R1cmVkLnN0cnVjdHVyZWRs
b2cuU3RydWN0dXJlZExvZ2dlcigiVGVzdENodW5rZXIiKSkKKworY2xhc3MgTW9ja1Rlc3Qob2Jq
ZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgaWQsIHRpbWVvdXQ9MTApOgorICAgICAgICBz
ZWxmLmlkID0gaWQKKyAgICAgICAgc2VsZi5pdGVtX3R5cGUgPSAidGVzdGhhcm5lc3MiCisgICAg
ICAgIHNlbGYudGltZW91dCA9IHRpbWVvdXQKKworCitkZWYgbWFrZV9tb2NrX21hbmlmZXN0KCpp
dGVtcyk6CisgICAgcnYgPSBbXQorICAgIGZvciB0ZXN0X3R5cGUsIGRpcl9wYXRoLCBudW1fdGVz
dHMgaW4gaXRlbXM6CisgICAgICAgIGZvciBpIGluIHJhbmdlKG51bV90ZXN0cyk6CisgICAgICAg
ICAgICBydi5hcHBlbmQoKHRlc3RfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgZGlyX3Bh
dGggKyAiLyVpLnRlc3QiICUgaSwKKyAgICAgICAgICAgICAgICAgICAgICAgc2V0KFtNb2NrVGVz
dChpKV0pKSkKKyAgICByZXR1cm4gcnYKKworCitjbGFzcyBUZXN0RXF1YWxUaW1lQ2h1bmtlcih1
bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9pbmNsdWRlX2FsbChzZWxmKToKKyAg
ICAgICAgdGVzdHMgPSBtYWtlX21vY2tfbWFuaWZlc3QoKCJ0ZXN0IiwgImEiLCAxMCksICgidGVz
dCIsICJhL2IiLCAxMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgidGVz
dCIsICJjIiwgMTApKQorCisgICAgICAgIGNodW5rXzEgPSBsaXN0KEVxdWFsVGltZUNodW5rZXIo
MywgMSkodGVzdHMpKQorICAgICAgICBjaHVua18yID0gbGlzdChFcXVhbFRpbWVDaHVua2VyKDMs
IDIpKHRlc3RzKSkKKyAgICAgICAgY2h1bmtfMyA9IGxpc3QoRXF1YWxUaW1lQ2h1bmtlcigzLCAz
KSh0ZXN0cykpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNbOjEwXSwgY2h1bmtf
MSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNbMTA6MjBdLCBjaHVua18yKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscyh0ZXN0c1syMDpdLCBjaHVua18zKQorCisgICAgZGVmIHRl
c3RfaW5jbHVkZV9hbGxfMShzZWxmKToKKyAgICAgICAgdGVzdHMgPSBtYWtlX21vY2tfbWFuaWZl
c3QoKCJ0ZXN0IiwgImEiLCA1KSwgKCJ0ZXN0IiwgImEvYiIsIDUpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoInRlc3QiLCAiYyIsIDEwKSwgKCJ0ZXN0IiwgImQiLCAxMCkp
CisKKyAgICAgICAgY2h1bmtfMSA9IGxpc3QoRXF1YWxUaW1lQ2h1bmtlcigzLCAxKSh0ZXN0cykp
CisgICAgICAgIGNodW5rXzIgPSBsaXN0KEVxdWFsVGltZUNodW5rZXIoMywgMikodGVzdHMpKQor
ICAgICAgICBjaHVua18zID0gbGlzdChFcXVhbFRpbWVDaHVua2VyKDMsIDMpKHRlc3RzKSkKKwor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFscyh0ZXN0c1s6MTBdLCBjaHVua18xKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyh0ZXN0c1sxMDoyMF0sIGNodW5rXzIpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKHRlc3RzWzIwOl0sIGNodW5rXzMpCisKKyAgICBkZWYgdGVzdF9sb25nKHNlbGYp
OgorICAgICAgICB0ZXN0cyA9IG1ha2VfbW9ja19tYW5pZmVzdCgoInRlc3QiLCAiYSIsIDEwMCks
ICgidGVzdCIsICJhL2IiLCAxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KCJ0ZXN0IiwgImMiLCAxKSkKKworICAgICAgICBjaHVua18xID0gbGlzdChFcXVhbFRpbWVDaHVu
a2VyKDMsIDEpKHRlc3RzKSkKKyAgICAgICAgY2h1bmtfMiA9IGxpc3QoRXF1YWxUaW1lQ2h1bmtl
cigzLCAyKSh0ZXN0cykpCisgICAgICAgIGNodW5rXzMgPSBsaXN0KEVxdWFsVGltZUNodW5rZXIo
MywgMykodGVzdHMpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHRlc3RzWzoxMDBdLCBj
aHVua18xKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyh0ZXN0c1sxMDA6MTAxXSwgY2h1bmtf
MikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNbMTAxOjEwMl0sIGNodW5rXzMpCisK
KyAgICBkZWYgdGVzdF9sb25nXzEoc2VsZik6CisgICAgICAgIHRlc3RzID0gbWFrZV9tb2NrX21h
bmlmZXN0KCgidGVzdCIsICJhIiwgMSksICgidGVzdCIsICJhL2IiLCAxMDApLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3QiLCAiYyIsIDEpKQorCisgICAgICAgIGNo
dW5rXzEgPSBsaXN0KEVxdWFsVGltZUNodW5rZXIoMywgMSkodGVzdHMpKQorICAgICAgICBjaHVu
a18yID0gbGlzdChFcXVhbFRpbWVDaHVua2VyKDMsIDIpKHRlc3RzKSkKKyAgICAgICAgY2h1bmtf
MyA9IGxpc3QoRXF1YWxUaW1lQ2h1bmtlcigzLCAzKSh0ZXN0cykpCisKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHModGVzdHNbOjFdLCBjaHVua18xKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
cyh0ZXN0c1sxOjEwMV0sIGNodW5rXzIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHRlc3Rz
WzEwMToxMDJdLCBjaHVua18zKQorCisgICAgZGVmIHRlc3RfdG9vX2Zld19kaXJzKHNlbGYpOgor
ICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAg
dGVzdHMgPSBtYWtlX21vY2tfbWFuaWZlc3QoKCJ0ZXN0IiwgImEiLCAxKSwgKCJ0ZXN0IiwgImEv
YiIsIDEwMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3Qi
LCAiYyIsIDEpKQorICAgICAgICAgICAgbGlzdChFcXVhbFRpbWVDaHVua2VyKDQsIDEpKHRlc3Rz
KSkKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfaG9zdHMucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvdGVzdHMvdGVzdF9ob3N0cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDhiODE2MDZhZWI1MWUwMzU0OTMy
NjBlNWNmNDdlNDY0ODlhNzc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3Rz
L3Rlc3RfaG9zdHMucHkKQEAgLTAsMCArMSw1NiBAQAoraW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQg
c3lzCitmcm9tIG9zLnBhdGggaW1wb3J0IGpvaW4sIGRpcm5hbWUKK2Zyb20gY1N0cmluZ0lPIGlt
cG9ydCBTdHJpbmdJTworCitzeXMucGF0aC5pbnNlcnQoMCwgam9pbihkaXJuYW1lKF9fZmlsZV9f
KSwgIi4uIiwgIi4uIikpCisKK2Zyb20gd3B0cnVubmVyIGltcG9ydCBob3N0cworCisKK2NsYXNz
IEhvc3RzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwgaW5w
dXQsIGV4cGVjdGVkKToKKyAgICAgICAgaG9zdF9maWxlID0gaG9zdHMuSG9zdHNGaWxlLmZyb21f
ZmlsZShTdHJpbmdJTyhpbnB1dCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGhvc3RfZmls
ZS50b19zdHJpbmcoKSwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9zaW1wbGUoc2VsZik6Cisg
ICAgICAgIHNlbGYuZG9fdGVzdCgiIiIxMjcuMC4wLjEgICAgXHRsb2NhbGhvc3QgIGFsaWFzICMg
Y29tbWVudAorIyBBbm90aGVyIGNvbW1lbnQiIiIsCisgICAgICAgICAgICAgICAgICAgICAiIiIx
MjcuMC4wLjEgbG9jYWxob3N0IGFsaWFzICMgY29tbWVudAorIyBBbm90aGVyIGNvbW1lbnQKKyIi
IikKKworICAgIGRlZiB0ZXN0X2JsYW5rX2xpbmVzKHNlbGYpOgorICAgICAgICBzZWxmLmRvX3Rl
c3QoIiIiMTI3LjAuMC4xICAgIFx0bG9jYWxob3N0ICBhbGlhcyAjIGNvbW1lbnQKKworXHIKKyAg
ICBcdAorIyBBbm90aGVyIGNvbW1lbnQiIiIsCisgICAgICAgICAgICAgICAgICAgICAiIiIxMjcu
MC4wLjEgbG9jYWxob3N0IGFsaWFzICMgY29tbWVudAorIyBBbm90aGVyIGNvbW1lbnQKKyIiIikK
KworICAgIGRlZiB0ZXN0X3doaXRlc3BhY2Uoc2VsZik6CisgICAgICAgIHNlbGYuZG9fdGVzdCgi
IiIgICAgXHQxMjcuMC4wLjEgICAgXHRsb2NhbGhvc3QgIGFsaWFzICMgY29tbWVudCAgICAgXHIK
KyAgICBcdCMgQW5vdGhlciBjb21tZW50IiIiLAorICAgICAgICAgICAgICAgICAgICAgIiIiMTI3
LjAuMC4xIGxvY2FsaG9zdCBhbGlhcyAjIGNvbW1lbnQKKyMgQW5vdGhlciBjb21tZW50CisiIiIp
CisKKyAgICBkZWYgdGVzdF9hbGlnbm1lbnQoc2VsZik6CisgICAgICAgIHNlbGYuZG9fdGVzdCgi
IiIxMjcuMC4wLjEgICAgXHRsb2NhbGhvc3QgIGFsaWFzCisxOTIuMTY4LjEuMSBhbm90aGVyX2hv
c3QgICAgYW5vdGhlcl9hbGlhcworIiIiLCIiIjEyNy4wLjAuMSAgIGxvY2FsaG9zdCAgICBhbGlh
cworMTkyLjE2OC4xLjEgYW5vdGhlcl9ob3N0IGFub3RoZXJfYWxpYXMKKyIiIgorKQorCisgICAg
ZGVmIHRlc3RfbXVsdGlwbGVfc2FtZV9uYW1lKHNlbGYpOgorICAgICAgICAjIFRoZSBzZW1hbnRp
Y3MgYXJlIHRoYXQgd2Ugb3ZlcndyaXRlIGVhcmxpZXIgZW50cmllcyB3aXRoIHRoZSBzYW1lIG5h
bWUKKyAgICAgICAgc2VsZi5kb190ZXN0KCIiIjEyNy4wLjAuMSAgICBcdGxvY2FsaG9zdCAgYWxp
YXMKKzE5Mi4xNjguMS4xIGxvY2FsaG9zdCAgICBhbm90aGVyX2FsaWFzIiIiLCIiIjE5Mi4xNjgu
MS4xIGxvY2FsaG9zdCBhbm90aGVyX2FsaWFzCisiIiIKKykKKworaWYgX19uYW1lX18gPT0gIl9f
bWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90
ZXN0cy90ZXN0X3Rlc3Rsb2FkZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF90ZXN0bG9h
ZGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBkOTY3YjA1MWZkYWQ4NjBlZjc5MjE3NmFmYjZjOGRhMDdiY2Ex
M2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF90ZXN0bG9hZGVy
LnB5CkBAIC0wLDAgKzEsMjkgQEAKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgdW5pY29kZV9saXRl
cmFscworCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQorCitzeXMucGF0
aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLiIs
ICIuLiIpKQorCitmcm9tIG1vemxvZyBpbXBvcnQgc3RydWN0dXJlZAorZnJvbSB3cHRydW5uZXIu
dGVzdGxvYWRlciBpbXBvcnQgVGVzdEZpbHRlciBhcyBGaWx0ZXIKK2Zyb20gLnRlc3RfY2h1bmtl
ciBpbXBvcnQgbWFrZV9tb2NrX21hbmlmZXN0CisKK3N0cnVjdHVyZWQuc2V0X2RlZmF1bHRfbG9n
Z2VyKHN0cnVjdHVyZWQuc3RydWN0dXJlZGxvZy5TdHJ1Y3R1cmVkTG9nZ2VyKCJUZXN0TG9hZGVy
IikpCisKK2luY2x1ZGVfaW5pID0gIiIiXAorc2tpcDogdHJ1ZQorW3Rlc3RfXHU1M0YwXQorICBz
a2lwOiBmYWxzZQorIiIiCisKK2RlZiB0ZXN0X2ZpbHRlcl91bmljb2RlKCk6CisgICAgdGVzdHMg
PSBtYWtlX21vY2tfbWFuaWZlc3QoKCJ0ZXN0IiwgImEiLCAxMCksICgidGVzdCIsICJhL2IiLCAx
MCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0IiwgImMiLCAxMCkpCisK
KyAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSgid2IiLCBzdWZmaXg9Ii5pbmki
KSBhcyBmOgorICAgICAgICBmLndyaXRlKGluY2x1ZGVfaW5pLmVuY29kZSgndXRmLTgnKSkKKyAg
ICAgICAgZi5mbHVzaCgpCisKKyAgICAgICAgRmlsdGVyKG1hbmlmZXN0X3BhdGg9Zi5uYW1lLCB0
ZXN0X21hbmlmZXN0cz10ZXN0cykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0
X3VwZGF0ZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X3VwZGF0ZS5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNWViNGNmNDljN2ZhOWMzMWQ2YzQ2ZGMxZDUyMDFkMjFlZWMxMGY5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfdXBkYXRlLnB5CkBAIC0wLDAgKzEsMzI4IEBA
CitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCBTdHJpbmdJTworCitpbXBvcnQgcHl0ZXN0CisKK2Zy
b20gLi4gaW1wb3J0IG1ldGFkYXRhLCBtYW5pZmVzdHVwZGF0ZQorZnJvbSBtb3psb2cgaW1wb3J0
IHN0cnVjdHVyZWRsb2csIGhhbmRsZXJzLCBmb3JtYXR0ZXJzCisKKworY2xhc3MgVGVzdEV4cGVj
dGVkVXBkYXRlcih1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIGNyZWF0ZV9tYW5pZmVzdChz
ZWxmLCBkYXRhLCB0ZXN0X3BhdGg9InBhdGgvdG8vdGVzdC5pbmkiKToKKyAgICAgICAgZiA9IFN0
cmluZ0lPLlN0cmluZ0lPKGRhdGEpCisgICAgICAgIHJldHVybiBtYW5pZmVzdHVwZGF0ZS5jb21w
aWxlKGYsIHRlc3RfcGF0aCkKKworICAgIGRlZiBjcmVhdGVfdXBkYXRlcihzZWxmLCBkYXRhLCAq
Kmt3YXJncyk6CisgICAgICAgIGV4cGVjdGVkX3RyZWUgPSB7fQorICAgICAgICBpZF9wYXRoX21h
cCA9IHt9CisgICAgICAgIGZvciB0ZXN0X3BhdGgsIHRlc3RfaWRzLCBtYW5pZmVzdF9zdHIgaW4g
ZGF0YToKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodGVzdF9pZHMsIChzdHIsIHVuaWNvZGUp
KToKKyAgICAgICAgICAgICAgICB0ZXN0X2lkcyA9IFt0ZXN0X2lkc10KKyAgICAgICAgICAgIGV4
cGVjdGVkX3RyZWVbdGVzdF9wYXRoXSA9IHNlbGYuY3JlYXRlX21hbmlmZXN0KG1hbmlmZXN0X3N0
ciwgdGVzdF9wYXRoKQorICAgICAgICAgICAgZm9yIHRlc3RfaWQgaW4gdGVzdF9pZHM6CisgICAg
ICAgICAgICAgICAgaWRfcGF0aF9tYXBbdGVzdF9pZF0gPSB0ZXN0X3BhdGgKKworICAgICAgICBy
ZXR1cm4gbWV0YWRhdGEuRXhwZWN0ZWRVcGRhdGVyKGV4cGVjdGVkX3RyZWUsIGlkX3BhdGhfbWFw
LCAqKmt3YXJncykKKworICAgIGRlZiBjcmVhdGVfbG9nKHNlbGYsICphcmdzLCAqKmt3YXJncyk6
CisgICAgICAgIGxvZ2dlciA9IHN0cnVjdHVyZWRsb2cuU3RydWN0dXJlZExvZ2dlcigiZXhwZWN0
ZWRfdGVzdCIpCisgICAgICAgIGRhdGEgPSBTdHJpbmdJTy5TdHJpbmdJTygpCisgICAgICAgIGhh
bmRsZXIgPSBoYW5kbGVycy5TdHJlYW1IYW5kbGVyKGRhdGEsIGZvcm1hdHRlcnMuSlNPTkZvcm1h
dHRlcigpKQorICAgICAgICBsb2dnZXIuYWRkX2hhbmRsZXIoaGFuZGxlcikKKworICAgICAgICBs
b2dfZW50cmllcyA9IChbKCJzdWl0ZV9zdGFydCIsIHsidGVzdHMiOiBbXSwgInJ1bl9pbmZvIjog
a3dhcmdzLmdldCgicnVuX2luZm8iLCB7fSl9KV0gKworICAgICAgICAgICAgICAgICAgICAgICBs
aXN0KGFyZ3MpICsKKyAgICAgICAgICAgICAgICAgICAgICAgWygic3VpdGVfZW5kIiwge30pXSkK
KworICAgICAgICBmb3IgaXRlbSBpbiBsb2dfZW50cmllczoKKyAgICAgICAgICAgIGFjdGlvbiwg
a3dhcmdzID0gaXRlbQorICAgICAgICAgICAgZ2V0YXR0cihsb2dnZXIsIGFjdGlvbikoKiprd2Fy
Z3MpCisgICAgICAgIGxvZ2dlci5yZW1vdmVfaGFuZGxlcihoYW5kbGVyKQorICAgICAgICBkYXRh
LnNlZWsoMCkKKyAgICAgICAgcmV0dXJuIGRhdGEKKworCisgICAgZGVmIGNvYWxlc2NlX3Jlc3Vs
dHMoc2VsZiwgdHJlZXMpOgorICAgICAgICBmb3IgdHJlZSBpbiB0cmVlczoKKyAgICAgICAgICAg
IGZvciB0ZXN0IGluIHRyZWUuaXRlcmNoaWxkcmVuKCk6CisgICAgICAgICAgICAgICAgZm9yIHN1
YnRlc3QgaW4gdGVzdC5pdGVyY2hpbGRyZW4oKToKKyAgICAgICAgICAgICAgICAgICAgc3VidGVz
dC5jb2FsZXNjZV9leHBlY3RlZCgpCisgICAgICAgICAgICAgICAgdGVzdC5jb2FsZXNjZV9leHBl
Y3RlZCgpCisKKyAgICBAcHl0ZXN0Lm1hcmsueGZhaWwKKyAgICBkZWYgdGVzdF91cGRhdGVfMChz
ZWxmKToKKyAgICAgICAgcHJldl9kYXRhID0gWygicGF0aC90by90ZXN0Lmh0bS5pbmkiLCBbIi9w
YXRoL3RvL3Rlc3QuaHRtIl0sICIiIlt0ZXN0Lmh0bV0KKyAgdHlwZTogdGVzdGhhcm5lc3MKKyAg
W3Rlc3QxXQorICAgIGV4cGVjdGVkOiBGQUlMIiIiKV0KKworICAgICAgICBuZXdfZGF0YSA9IHNl
bGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiAiL3BhdGgvdG8vdGVzdC5odG0i
fSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgidGVzdF9zdGF0dXMiLCB7
InRlc3QiOiAiL3BhdGgvdG8vdGVzdC5odG0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJ0ZXN0IjogInRlc3QxIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIlBBU1Mi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJl
eHBlY3RlZCI6ICJGQUlMIn0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
InRlc3RfZW5kIiwgeyJ0ZXN0IjogIi9wYXRoL3RvL3Rlc3QuaHRtIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pKQorICAg
ICAgICB1cGRhdGVyID0gc2VsZi5jcmVhdGVfdXBkYXRlcihwcmV2X2RhdGEpCisgICAgICAgIHVw
ZGF0ZXIudXBkYXRlX2Zyb21fbG9nKG5ld19kYXRhKQorCisgICAgICAgIG5ld19tYW5pZmVzdCA9
IHVwZGF0ZXIuZXhwZWN0ZWRfdHJlZVsicGF0aC90by90ZXN0Lmh0bS5pbmkiXQorICAgICAgICBz
ZWxmLmNvYWxlc2NlX3Jlc3VsdHMoW25ld19tYW5pZmVzdF0pCisgICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZShuZXdfbWFuaWZlc3QuaXNfZW1wdHkpCisKKyAgICBAcHl0ZXN0Lm1hcmsueGZhaWwKKyAg
ICBkZWYgdGVzdF91cGRhdGVfMShzZWxmKToKKyAgICAgICAgdGVzdF9pZCA9ICIvcGF0aC90by90
ZXN0Lmh0bSIKKyAgICAgICAgcHJldl9kYXRhID0gWygicGF0aC90by90ZXN0Lmh0bS5pbmkiLCBb
dGVzdF9pZF0sICIiIlt0ZXN0Lmh0bV0KKyAgdHlwZTogdGVzdGhhcm5lc3MKKyAgW3Rlc3QxXQor
ICAgIGV4cGVjdGVkOiBFUlJPUiIiIildCisKKyAgICAgICAgbmV3X2RhdGEgPSBzZWxmLmNyZWF0
ZV9sb2coKCJ0ZXN0X3N0YXJ0IiwgeyJ0ZXN0IjogdGVzdF9pZH0pLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogdGVzdF9pZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3VidGVz
dCI6ICJ0ZXN0MSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInN0YXR1cyI6ICJGQUlMIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiRVJST1IifSksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICgidGVzdF9lbmQiLCB7InRlc3QiOiB0ZXN0X2lkLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdGF0dXMi
OiAiT0sifSkpCisgICAgICAgIHVwZGF0ZXIgPSBzZWxmLmNyZWF0ZV91cGRhdGVyKHByZXZfZGF0
YSkKKyAgICAgICAgdXBkYXRlci51cGRhdGVfZnJvbV9sb2cobmV3X2RhdGEpCisKKyAgICAgICAg
bmV3X21hbmlmZXN0ID0gdXBkYXRlci5leHBlY3RlZF90cmVlWyJwYXRoL3RvL3Rlc3QuaHRtLmlu
aSJdCisgICAgICAgIHNlbGYuY29hbGVzY2VfcmVzdWx0cyhbbmV3X21hbmlmZXN0XSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRGYWxzZShuZXdfbWFuaWZlc3QuaXNfZW1wdHkpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5jaGlsZHJlblswXS5n
ZXQoImV4cGVjdGVkIiksICJGQUlMIikKKworICAgIEBweXRlc3QubWFyay54ZmFpbAorICAgIGRl
ZiB0ZXN0X25ld19zdWJ0ZXN0KHNlbGYpOgorICAgICAgICB0ZXN0X2lkID0gIi9wYXRoL3RvL3Rl
c3QuaHRtIgorICAgICAgICBwcmV2X2RhdGEgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtLmluaSIsIFt0
ZXN0X2lkXSwgIiIiW3Rlc3QuaHRtXQorICB0eXBlOiB0ZXN0aGFybmVzcworICBbdGVzdDFdCisg
ICAgZXhwZWN0ZWQ6IEZBSUwiIiIpXQorCisgICAgICAgIG5ld19kYXRhID0gc2VsZi5jcmVhdGVf
bG9nKCgidGVzdF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9KSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0YXR1cyIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1YnRlc3Qi
OiAidGVzdDEiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJzdGF0dXMiOiAiRkFJTCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIjogIkZBSUwifSksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICgidGVzdF9zdGF0dXMiLCB7InRlc3QiOiB0ZXN0X2lkLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJ0
ZXN0IjogInRlc3QyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAic3RhdHVzIjogIkZBSUwiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCI6ICJQQVNTIn0pLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwgeyJ0ZXN0IjogdGVzdF9pZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVz
IjogIk9LIn0pKQorICAgICAgICB1cGRhdGVyID0gc2VsZi5jcmVhdGVfdXBkYXRlcihwcmV2X2Rh
dGEpCisgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21fbG9nKG5ld19kYXRhKQorCisgICAgICAg
IG5ld19tYW5pZmVzdCA9IHVwZGF0ZXIuZXhwZWN0ZWRfdHJlZVsicGF0aC90by90ZXN0Lmh0bS5p
bmkiXQorICAgICAgICBzZWxmLmNvYWxlc2NlX3Jlc3VsdHMoW25ld19tYW5pZmVzdF0pCisgICAg
ICAgIHNlbGYuYXNzZXJ0RmFsc2UobmV3X21hbmlmZXN0LmlzX2VtcHR5KQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rlc3QodGVzdF9pZCkuY2hpbGRyZW5bMF0u
Z2V0KCJleHBlY3RlZCIpLCAiRkFJTCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG5ld19t
YW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5jaGlsZHJlblsxXS5nZXQoImV4cGVjdGVkIiksICJG
QUlMIikKKworICAgIEBweXRlc3QubWFyay54ZmFpbAorICAgIGRlZiB0ZXN0X3VwZGF0ZV9tdWx0
aXBsZV8wKHNlbGYpOgorICAgICAgICB0ZXN0X2lkID0gIi9wYXRoL3RvL3Rlc3QuaHRtIgorICAg
ICAgICBwcmV2X2RhdGEgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtLmluaSIsIFt0ZXN0X2lkXSwgIiIi
W3Rlc3QuaHRtXQorICB0eXBlOiB0ZXN0aGFybmVzcworICBbdGVzdDFdCisgICAgZXhwZWN0ZWQ6
IEZBSUwiIiIpXQorCisgICAgICAgIG5ld19kYXRhXzAgPSBzZWxmLmNyZWF0ZV9sb2coKCJ0ZXN0
X3N0YXJ0IiwgeyJ0ZXN0IjogdGVzdF9pZH0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICgidGVzdF9zdGF0dXMiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1YnRlc3QiOiAidGVz
dDEiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInN0YXR1cyI6ICJGQUlMIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCI6ICJGQUlMIn0pLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICgidGVzdF9lbmQiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6
ICJPSyJ9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbz17
ImRlYnVnIjogRmFsc2UsICJvcyI6ICJvc3gifSkKKworICAgICAgICBuZXdfZGF0YV8xID0gc2Vs
Zi5jcmVhdGVfbG9nKCgidGVzdF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogdGVz
dF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJzdWJ0ZXN0IjogInRlc3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiVElNRU9VVCIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiRkFJ
TCJ9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwg
eyJ0ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJzdGF0dXMiOiAiT0sifSksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcnVuX2luZm89eyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAibGludXgifSkKKyAg
ICAgICAgdXBkYXRlciA9IHNlbGYuY3JlYXRlX3VwZGF0ZXIocHJldl9kYXRhKQorCisgICAgICAg
IHVwZGF0ZXIudXBkYXRlX2Zyb21fbG9nKG5ld19kYXRhXzApCisgICAgICAgIHVwZGF0ZXIudXBk
YXRlX2Zyb21fbG9nKG5ld19kYXRhXzEpCisKKyAgICAgICAgbmV3X21hbmlmZXN0ID0gdXBkYXRl
ci5leHBlY3RlZF90cmVlWyJwYXRoL3RvL3Rlc3QuaHRtLmluaSJdCisKKyAgICAgICAgc2VsZi5j
b2FsZXNjZV9yZXN1bHRzKFtuZXdfbWFuaWZlc3RdKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFs
c2UobmV3X21hbmlmZXN0LmlzX2VtcHR5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdf
bWFuaWZlc3QuZ2V0X3Rlc3QodGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAg
ImV4cGVjdGVkIiwgeyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAib3N4In0pLCAiRkFJTCIpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5jaGls
ZHJlblswXS5nZXQoCisgICAgICAgICAgICAiZXhwZWN0ZWQiLCB7ImRlYnVnIjogRmFsc2UsICJv
cyI6ICJsaW51eCJ9KSwgIlRJTUVPVVQiKQorCisgICAgQHB5dGVzdC5tYXJrLnhmYWlsCisgICAg
ZGVmIHRlc3RfdXBkYXRlX211bHRpcGxlXzEoc2VsZik6CisgICAgICAgIHRlc3RfaWQgPSAiL3Bh
dGgvdG8vdGVzdC5odG0iCisgICAgICAgIHByZXZfZGF0YSA9IFsoInBhdGgvdG8vdGVzdC5odG0u
aW5pIiwgW3Rlc3RfaWRdLCAiIiJbdGVzdC5odG1dCisgIHR5cGU6IHRlc3RoYXJuZXNzCisgIFt0
ZXN0MV0KKyAgICBleHBlY3RlZDogRkFJTCIiIildCisKKyAgICAgICAgbmV3X2RhdGFfMCA9IHNl
bGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0ZXN0X2lkfSksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0YXR1cyIsIHsidGVzdCI6IHRl
c3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIkZBSUwiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIjogIkZBSUwi
fSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X2VuZCIsIHsi
dGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJ1bl9pbmZvPXsiZGVidWciOiBGYWxzZSwgIm9zIjogIm9zeCJ9KQorCisgICAg
ICAgIG5ld19kYXRhXzEgPSBzZWxmLmNyZWF0ZV9sb2coKCJ0ZXN0X3N0YXJ0IiwgeyJ0ZXN0Ijog
dGVzdF9pZH0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgidGVzdF9z
dGF0dXMiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInN1YnRlc3QiOiAidGVzdDEiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJUSU1F
T1VUIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJleHBlY3RlZCI6ICJGQUlMIn0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICgidGVzdF9lbmQiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJPSyJ9KSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbz17ImRlYnVnIjogRmFsc2Us
ICJvcyI6ICJsaW51eCJ9KQorICAgICAgICB1cGRhdGVyID0gc2VsZi5jcmVhdGVfdXBkYXRlcihw
cmV2X2RhdGEpCisKKyAgICAgICAgdXBkYXRlci51cGRhdGVfZnJvbV9sb2cobmV3X2RhdGFfMCkK
KyAgICAgICAgdXBkYXRlci51cGRhdGVfZnJvbV9sb2cobmV3X2RhdGFfMSkKKworICAgICAgICBu
ZXdfbWFuaWZlc3QgPSB1cGRhdGVyLmV4cGVjdGVkX3RyZWVbInBhdGgvdG8vdGVzdC5odG0uaW5p
Il0KKworICAgICAgICBzZWxmLmNvYWxlc2NlX3Jlc3VsdHMoW25ld19tYW5pZmVzdF0pCisKKyAg
ICAgICAgc2VsZi5hc3NlcnRGYWxzZShuZXdfbWFuaWZlc3QuaXNfZW1wdHkpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5jaGlsZHJlblsw
XS5nZXQoCisgICAgICAgICAgICAiZXhwZWN0ZWQiLCB7ImRlYnVnIjogRmFsc2UsICJvcyI6ICJv
c3gifSksICJGQUlMIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobmV3X21hbmlmZXN0Lmdl
dF90ZXN0KHRlc3RfaWQpLmNoaWxkcmVuWzBdLmdldCgKKyAgICAgICAgICAgICJleHBlY3RlZCIs
IHsiZGVidWciOiBGYWxzZSwgIm9zIjogImxpbnV4In0pLCAiVElNRU9VVCIpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5jaGlsZHJlblsw
XS5nZXQoCisgICAgICAgICAgICAiZXhwZWN0ZWQiLCB7ImRlYnVnIjogRmFsc2UsICJvcyI6ICJ3
aW5kb3dzIn0pLCAiRkFJTCIpCisKKyAgICBAcHl0ZXN0Lm1hcmsueGZhaWwKKyAgICBkZWYgdGVz
dF91cGRhdGVfbXVsdGlwbGVfMihzZWxmKToKKyAgICAgICAgdGVzdF9pZCA9ICIvcGF0aC90by90
ZXN0Lmh0bSIKKyAgICAgICAgcHJldl9kYXRhID0gWygicGF0aC90by90ZXN0Lmh0bS5pbmkiLCBb
dGVzdF9pZF0sICIiIlt0ZXN0Lmh0bV0KKyAgdHlwZTogdGVzdGhhcm5lc3MKKyAgW3Rlc3QxXQor
ICAgIGV4cGVjdGVkOiBGQUlMIiIiKV0KKworICAgICAgICBuZXdfZGF0YV8wID0gc2VsZi5jcmVh
dGVfbG9nKCgidGVzdF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9KSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogdGVzdF9pZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJz
dWJ0ZXN0IjogInRlc3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiRkFJTCIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiRkFJTCJ9KSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwgeyJ0ZXN0Ijog
dGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJzdGF0dXMiOiAiT0sifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcnVuX2luZm89eyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAib3N4In0pCisKKyAgICAgICAgbmV3
X2RhdGFfMSA9IHNlbGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0ZXN0X2lk
fSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0YXR1cyIs
IHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIlRJTUVPVVQiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4
cGVjdGVkIjogIkZBSUwifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KCJ0ZXN0X2VuZCIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvPXsiZGVidWciOiBUcnVlLCAib3MiOiAi
b3N4In0pCisgICAgICAgIHVwZGF0ZXIgPSBzZWxmLmNyZWF0ZV91cGRhdGVyKHByZXZfZGF0YSkK
KworICAgICAgICB1cGRhdGVyLnVwZGF0ZV9mcm9tX2xvZyhuZXdfZGF0YV8wKQorICAgICAgICB1
cGRhdGVyLnVwZGF0ZV9mcm9tX2xvZyhuZXdfZGF0YV8xKQorCisgICAgICAgIG5ld19tYW5pZmVz
dCA9IHVwZGF0ZXIuZXhwZWN0ZWRfdHJlZVsicGF0aC90by90ZXN0Lmh0bS5pbmkiXQorCisgICAg
ICAgIHNlbGYuY29hbGVzY2VfcmVzdWx0cyhbbmV3X21hbmlmZXN0XSkKKworICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKG5ld19tYW5pZmVzdC5pc19lbXB0eSkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMobmV3X21hbmlmZXN0LmdldF90ZXN0KHRlc3RfaWQpLmNoaWxkcmVuWzBdLmdldCgKKyAg
ICAgICAgICAgICJleHBlY3RlZCIsIHsiZGVidWciOiBGYWxzZSwgIm9zIjogIm9zeCJ9KSwgIkZB
SUwiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rlc3QodGVz
dF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVkIiwgeyJkZWJ1ZyI6
IFRydWUsICJvcyI6ICJvc3gifSksICJUSU1FT1VUIikKKworICAgIEBweXRlc3QubWFyay54ZmFp
bAorICAgIGRlZiB0ZXN0X3VwZGF0ZV9tdWx0aXBsZV8zKHNlbGYpOgorICAgICAgICB0ZXN0X2lk
ID0gIi9wYXRoL3RvL3Rlc3QuaHRtIgorICAgICAgICBwcmV2X2RhdGEgPSBbKCJwYXRoL3RvL3Rl
c3QuaHRtLmluaSIsIFt0ZXN0X2lkXSwgIiIiW3Rlc3QuaHRtXQorICB0eXBlOiB0ZXN0aGFybmVz
cworICBbdGVzdDFdCisgICAgZXhwZWN0ZWQ6CisgICAgICBpZiBkZWJ1ZzogRkFJTAorICAgICAg
aWYgbm90IGRlYnVnIGFuZCBvcyA9PSAib3N4IjogVElNRU9VVCIiIildCisKKyAgICAgICAgbmV3
X2RhdGFfMCA9IHNlbGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0ZXN0X2lk
fSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0YXR1cyIs
IHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIkZBSUwiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVj
dGVkIjogIkZBSUwifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0
ZXN0X2VuZCIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvPXsiZGVidWciOiBGYWxzZSwgIm9zIjogIm9z
eCJ9KQorCisgICAgICAgIG5ld19kYXRhXzEgPSBzZWxmLmNyZWF0ZV9sb2coKCJ0ZXN0X3N0YXJ0
IiwgeyJ0ZXN0IjogdGVzdF9pZH0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICgidGVzdF9zdGF0dXMiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1YnRlc3QiOiAidGVzdDEiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0
YXR1cyI6ICJUSU1FT1VUIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJleHBlY3RlZCI6ICJGQUlMIn0pLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICgidGVzdF9lbmQiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJP
SyJ9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbz17ImRl
YnVnIjogVHJ1ZSwgIm9zIjogIm9zeCJ9KQorICAgICAgICB1cGRhdGVyID0gc2VsZi5jcmVhdGVf
dXBkYXRlcihwcmV2X2RhdGEpCisKKyAgICAgICAgdXBkYXRlci51cGRhdGVfZnJvbV9sb2cobmV3
X2RhdGFfMCkKKyAgICAgICAgdXBkYXRlci51cGRhdGVfZnJvbV9sb2cobmV3X2RhdGFfMSkKKwor
ICAgICAgICBuZXdfbWFuaWZlc3QgPSB1cGRhdGVyLmV4cGVjdGVkX3RyZWVbInBhdGgvdG8vdGVz
dC5odG0uaW5pIl0KKworICAgICAgICBzZWxmLmNvYWxlc2NlX3Jlc3VsdHMoW25ld19tYW5pZmVz
dF0pCisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShuZXdfbWFuaWZlc3QuaXNfZW1wdHkpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5j
aGlsZHJlblswXS5nZXQoCisgICAgICAgICAgICAiZXhwZWN0ZWQiLCB7ImRlYnVnIjogRmFsc2Us
ICJvcyI6ICJvc3gifSksICJGQUlMIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobmV3X21h
bmlmZXN0LmdldF90ZXN0KHRlc3RfaWQpLmNoaWxkcmVuWzBdLmdldCgKKyAgICAgICAgICAgICJl
eHBlY3RlZCIsIHsiZGVidWciOiBUcnVlLCAib3MiOiAib3N4In0pLCAiVElNRU9VVCIpCisKKyAg
ICBAcHl0ZXN0Lm1hcmsueGZhaWwKKyAgICBkZWYgdGVzdF91cGRhdGVfaWdub3JlX2V4aXN0aW5n
KHNlbGYpOgorICAgICAgICB0ZXN0X2lkID0gIi9wYXRoL3RvL3Rlc3QuaHRtIgorICAgICAgICBw
cmV2X2RhdGEgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtLmluaSIsIFt0ZXN0X2lkXSwgIiIiW3Rlc3Qu
aHRtXQorICB0eXBlOiB0ZXN0aGFybmVzcworICBbdGVzdDFdCisgICAgZXhwZWN0ZWQ6CisgICAg
ICBpZiBkZWJ1ZzogVElNRU9VVAorICAgICAgaWYgbm90IGRlYnVnIGFuZCBvcyA9PSAib3N4Ijog
Tk9UUlVOIiIiKV0KKworICAgICAgICBuZXdfZGF0YV8wID0gc2VsZi5jcmVhdGVfbG9nKCgidGVz
dF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJ0ZXN0IjogInRl
c3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJzdGF0dXMiOiAiRkFJTCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiUEFTUyJ9KSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwgeyJ0ZXN0IjogdGVzdF9pZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdGF0dXMi
OiAiT0sifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuX2luZm89
eyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAibGludXgifSkKKworICAgICAgICBuZXdfZGF0YV8xID0g
c2VsZi5jcmVhdGVfbG9nKCgidGVzdF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9KSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0Ijog
dGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJzdWJ0ZXN0IjogInRlc3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiRkFJTCIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiUEFT
UyJ9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwg
eyJ0ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJzdGF0dXMiOiAiT0sifSksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcnVuX2luZm89eyJkZWJ1ZyI6IFRydWUsICJvcyI6ICJ3aW5kb3dzIn0pCisg
ICAgICAgIHVwZGF0ZXIgPSBzZWxmLmNyZWF0ZV91cGRhdGVyKHByZXZfZGF0YSwgaWdub3JlX2V4
aXN0aW5nPVRydWUpCisKKyAgICAgICAgdXBkYXRlci51cGRhdGVfZnJvbV9sb2cobmV3X2RhdGFf
MCkKKyAgICAgICAgdXBkYXRlci51cGRhdGVfZnJvbV9sb2cobmV3X2RhdGFfMSkKKworICAgICAg
ICBuZXdfbWFuaWZlc3QgPSB1cGRhdGVyLmV4cGVjdGVkX3RyZWVbInBhdGgvdG8vdGVzdC5odG0u
aW5pIl0KKworICAgICAgICBzZWxmLmNvYWxlc2NlX3Jlc3VsdHMoW25ld19tYW5pZmVzdF0pCisK
KyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShuZXdfbWFuaWZlc3QuaXNfZW1wdHkpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5jaGlsZHJl
blswXS5nZXQoCisgICAgICAgICAgICAiZXhwZWN0ZWQiLCB7ImRlYnVnIjogVHJ1ZSwgIm9zIjog
Im9zeCJ9KSwgIkZBSUwiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3Qu
Z2V0X3Rlc3QodGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVk
IiwgeyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAib3N4In0pLCAiRkFJTCIpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvdGVzdHMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdzNj
LWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JhZWEzNzBiOGY0ZWU1YWJhMzg3ZjU3MzBiZjUxYjQ5
ZWJlZjAzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy93M2MtaW1wb3J0
LmxvZwpAQCAtMCwwICsxLDIxIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKwor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitO
b25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvX19pbml0
X18ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF9jaHVua2VyLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3Rlc3RzL3Rlc3RfaG9zdHMucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF90ZXN0bG9hZGVy
LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfdXBkYXRlLnB5CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvdXBkYXRlL19faW5pdF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9fX2luaXRf
Xy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40OTdjYjM0YWQwY2IyZWNmYTBlZmQ0Y2YwNTkxNThiMGI1Zjg1ZWJk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9fX2luaXRfXy5weQpAQCAt
MCwwICsxLDQ3IEBACitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworZnJvbSBtb3psb2cuc3RydWN0
dXJlZCBpbXBvcnQgc3RydWN0dXJlZGxvZywgY29tbWFuZGxpbmUKKworZnJvbSAuLiBpbXBvcnQg
d3B0Y29tbWFuZGxpbmUKKworZnJvbSB1cGRhdGUgaW1wb3J0IFdQVFVwZGF0ZQorCitkZWYgcmVt
b3ZlX2xvZ2dpbmdfYXJncyhhcmdzKToKKyAgICAiIiJUYWtlIGxvZ2dpbmcgYXJncyBvdXQgb2Yg
dGhlIGRpY3Rpb25hcnkgb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBzbworICAgIHRoZXkgYXJl
IG5vdCBwYXNzZWQgaW4gYXMga3dhcmdzIHRvIHRoZSB1cGRhdGUgY29kZS4gVGhpcyBpcyBwYXJ0
aWN1bGFybHkKKyAgICBuZWNlc3NhcnkgaGVyZSBiZWNhdXNlIHRoZSBhcmd1bWVudHMgYXJlIG9m
dGVuIG9mIHR5cGUgZmlsZSwgd2hpY2ggY2Fubm90CisgICAgYmUgc2VyaWFsaXplZC4KKworICAg
IDpwYXJhbSBhcmdzOiBEaWN0aW9uYXJ5IG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuCisgICAg
IiIiCisgICAgZm9yIG5hbWUgaW4gYXJncy5rZXlzKCk6CisgICAgICAgIGlmIG5hbWUuc3RhcnRz
d2l0aCgibG9nXyIpOgorICAgICAgICAgICAgYXJncy5wb3AobmFtZSkKKworCitkZWYgc2V0dXBf
bG9nZ2luZyhhcmdzLCBkZWZhdWx0cyk6CisgICAgIiIiVXNlIHRoZSBjb21tYW5kIGxpbmUgYXJn
dW1lbnRzIHRvIHNldCB1cCB0aGUgbG9nZ2VyLgorCisgICAgOnBhcmFtIGFyZ3M6IERpY3Rpb25h
cnkgb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4KKyAgICA6cGFyYW0gZGVmYXVsdHM6IERpY3Rp
b25hcnkgb2Yge2Zvcm1hdHRlcl9uYW1lOiBzdHJlYW19IHRvIHVzZSBpZgorICAgICAgICAgICAg
ICAgICAgICAgbm8gY29tbWFuZCBsaW5lIGxvZ2dpbmcgaXMgc3BlY2lmaWVkIiIiCisgICAgbG9n
Z2VyID0gY29tbWFuZGxpbmUuc2V0dXBfbG9nZ2luZygid2ViLXBsYXRmb3JtLXRlc3RzLXVwZGF0
ZSIsIGFyZ3MsIGRlZmF1bHRzKQorCisgICAgcmVtb3ZlX2xvZ2dpbmdfYXJncyhhcmdzKQorCisg
ICAgcmV0dXJuIGxvZ2dlcgorCisKK2RlZiBydW5fdXBkYXRlKGxvZ2dlciwgKiprd2FyZ3MpOgor
ICAgIHVwZGF0ZXIgPSBXUFRVcGRhdGUobG9nZ2VyLCAqKmt3YXJncykKKyAgICByZXR1cm4gdXBk
YXRlci5ydW4oKQorCisKK2RlZiBtYWluKCk6CisgICAgYXJncyA9IHdwdGNvbW1hbmRsaW5lLnBh
cnNlX2FyZ3NfdXBkYXRlKCkKKyAgICBsb2dnZXIgPSBzZXR1cF9sb2dnaW5nKGFyZ3MsIHsibWFj
aCI6IHN5cy5zdGRvdXR9KQorICAgIGFzc2VydCBzdHJ1Y3R1cmVkbG9nLmdldF9kZWZhdWx0X2xv
Z2dlcigpIGlzIG5vdCBOb25lCisgICAgc3VjY2VzcyA9IHJ1bl91cGRhdGUobG9nZ2VyLCAqKmFy
Z3MpCisgICAgc3lzLmV4aXQoMCBpZiBzdWNjZXNzIGVsc2UgMSkKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3VwZGF0ZS9iYXNlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9iYXNlLnB5Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU0NzgwOGU1MjkzMzBlM2MxMGU2MWY1MGU3ZGNiODBhODM4ZjI4OTcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL2Jhc2UucHkKQEAgLTAsMCArMSw2NSBA
QAorZXhpdF91bmNsZWFuID0gb2JqZWN0KCkKK2V4aXRfY2xlYW4gPSBvYmplY3QoKQorCisKK2Ns
YXNzIFN0ZXAob2JqZWN0KToKKyAgICBwcm92aWRlcyA9IFtdCisKKyAgICBkZWYgX19pbml0X18o
c2VsZiwgbG9nZ2VyKToKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIKKworICAgIGRlZiBy
dW4oc2VsZiwgc3RlcF9pbmRleCwgc3RhdGUpOgorICAgICAgICAiIiJCYXNlIGNsYXNzIGZvciBz
dGF0ZS1jcmVhdGluZyBzdGVwcy4KKworICAgICAgICBXaGVuIGEgU3RlcCBpcyBydW4oKSB0aGUg
Y3VycmVudCBzdGF0ZSBpcyBjaGVja2VkIHRvIHNlZQorICAgICAgICBpZiB0aGUgc3RhdGUgZnJv
bSB0aGlzIHN0ZXAgaGFzIGFscmVhZHkgYmVlbiBjcmVhdGVkLiBJZiBpdAorICAgICAgICBoYXMg
dGhlIHJlc3RvcmUoKSBtZXRob2QgaXMgaW52b2tlZC4gT3RoZXJ3aXNlIHRoZSBjcmVhdGUoKQor
ICAgICAgICBtZXRob2QgaXMgaW52b2tlZCB3aXRoIHRoZSBzdGF0ZSBvYmplY3QuIFRoaXMgaXMg
ZXhwZWN0ZWQgdG8KKyAgICAgICAgYWRkIGl0ZW1zIHdpdGggYWxsIHRoZSBrZXlzIGluIF9fY2xh
c3NfXy5wcm92aWRlcyB0byB0aGUgc3RhdGUKKyAgICAgICAgb2JqZWN0LgorICAgICAgICAiIiIK
KworICAgICAgICBuYW1lID0gc2VsZi5fX2NsYXNzX18uX19uYW1lX18KKworICAgICAgICB0cnk6
CisgICAgICAgICAgICBzdG9yZWRfc3RlcCA9IHN0YXRlLnN0ZXBzW3N0ZXBfaW5kZXhdCisgICAg
ICAgIGV4Y2VwdCBJbmRleEVycm9yOgorICAgICAgICAgICAgc3RvcmVkX3N0ZXAgPSBOb25lCisK
KyAgICAgICAgaWYgc3RvcmVkX3N0ZXAgPT0gbmFtZToKKyAgICAgICAgICAgIHNlbGYucmVzdG9y
ZShzdGF0ZSkKKyAgICAgICAgZWxpZiBzdG9yZWRfc3RlcCBpcyBOb25lOgorICAgICAgICAgICAg
c2VsZi5jcmVhdGUoc3RhdGUpCisgICAgICAgICAgICBhc3NlcnQgc2V0KHNlbGYucHJvdmlkZXMp
Lmlzc3Vic2V0KHNldChzdGF0ZS5rZXlzKCkpKQorICAgICAgICAgICAgc3RhdGUuc3RlcHMgPSBz
dGF0ZS5zdGVwcyArIFtuYW1lXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFs
dWVFcnJvcigiRXhwZWN0ZWQgYSAlcyBzdGVwLCBnb3QgYSAlcyBzdGVwIiAlIChuYW1lLCBzdG9y
ZWRfc3RlcCkpCisKKyAgICBkZWYgY3JlYXRlKHNlbGYsIGRhdGEpOgorICAgICAgICByYWlzZSBO
b3RJbXBsZW1lbnRlZEVycm9yCisKKyAgICBkZWYgcmVzdG9yZShzZWxmLCBzdGF0ZSk6CisgICAg
ICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJTdGVwICVzIHVzaW5nIHN0b3JlZCBzdGF0ZSIgJSAoc2Vs
Zi5fX2NsYXNzX18uX19uYW1lX18sKSkKKyAgICAgICAgZm9yIGtleSBpbiBzZWxmLnByb3ZpZGVz
OgorICAgICAgICAgICAgYXNzZXJ0IGtleSBpbiBzdGF0ZQorCisKK2NsYXNzIFN0ZXBSdW5uZXIo
b2JqZWN0KToKKyAgICBzdGVwcyA9IFtdCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2Vy
LCBzdGF0ZSk6CisgICAgICAgICIiIkNsYXNzIHRoYXQgcnVucyBhIHNwZWNpZmllZCBzZXJpZXMg
b2YgU3RlcHMgd2l0aCBhIGNvbW1vbiBTdGF0ZSIiIgorICAgICAgICBzZWxmLnN0YXRlID0gc3Rh
dGUKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIKKyAgICAgICAgaWYgInN0ZXBzIiBub3Qg
aW4gc3RhdGU6CisgICAgICAgICAgICBzdGF0ZS5zdGVwcyA9IFtdCisKKyAgICBkZWYgcnVuKHNl
bGYpOgorICAgICAgICBydiA9IE5vbmUKKyAgICAgICAgZm9yIHN0ZXBfaW5kZXgsIHN0ZXAgaW4g
ZW51bWVyYXRlKHNlbGYuc3RlcHMpOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlN0
YXJ0aW5nIHN0ZXAgJXMiICUgc3RlcC5fX25hbWVfXykKKyAgICAgICAgICAgIHJ2ID0gc3RlcChz
ZWxmLmxvZ2dlcikucnVuKHN0ZXBfaW5kZXgsIHNlbGYuc3RhdGUpCisgICAgICAgICAgICBpZiBy
diBpbiAoZXhpdF9jbGVhbiwgZXhpdF91bmNsZWFuKToKKyAgICAgICAgICAgICAgICBicmVhawor
CisgICAgICAgIHJldHVybiBydgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9tZXRh
ZGF0YS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvbWV0YWRhdGEucHkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU5
Njc2NjU3OGM5YzE4YTY2OTFmMzRhOTJiNGE2MThiZDlkNWQyNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci91cGRhdGUvbWV0YWRhdGEucHkKQEAgLTAsMCArMSw3MSBAQAoraW1wb3J0
IG9zCisKK2Zyb20gLi4gaW1wb3J0IG1ldGFkYXRhLCBwcm9kdWN0cworCitmcm9tIGJhc2UgaW1w
b3J0IFN0ZXAsIFN0ZXBSdW5uZXIKKworY2xhc3MgR2V0VXBkYXRlUHJvcGVydHlMaXN0KFN0ZXAp
OgorICAgIHByb3ZpZGVzID0gWyJwcm9wZXJ0eV9vcmRlciIsICJib29sZWFuX3Byb3BlcnRpZXMi
XQorCisKKyAgICBkZWYgY3JlYXRlKHNlbGYsIHN0YXRlKToKKyAgICAgICAgcHJvcGVydHlfb3Jk
ZXIsIGJvb2xlYW5fcHJvcGVydGllcyA9IHByb2R1Y3RzLmxvYWRfcHJvZHVjdF91cGRhdGUoCisg
ICAgICAgICAgICBzdGF0ZS5jb25maWcsIHN0YXRlLnByb2R1Y3QpCisgICAgICAgIHN0YXRlLnBy
b3BlcnR5X29yZGVyID0gcHJvcGVydHlfb3JkZXIKKyAgICAgICAgc3RhdGUuYm9vbGVhbl9wcm9w
ZXJ0aWVzID0gYm9vbGVhbl9wcm9wZXJ0aWVzCisKKworY2xhc3MgVXBkYXRlRXhwZWN0ZWQoU3Rl
cCk6CisgICAgIiIiRG8gdGhlIG1ldGFkYXRhIHVwZGF0ZSBvbiB0aGUgbG9jYWwgY2hlY2tvdXQi
IiIKKworICAgIHByb3ZpZGVzID0gWyJuZWVkc19odW1hbiJdCisKKyAgICBkZWYgY3JlYXRlKHNl
bGYsIHN0YXRlKToKKyAgICAgICAgaWYgc3RhdGUuc3luY190cmVlIGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgc3luY19yb290ID0gc3RhdGUuc3luY190cmVlLnJvb3QKKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIHN5bmNfcm9vdCA9IE5vbmUKKworICAgICAgICBzdGF0ZS5uZWVkc19odW1h
biA9IG1ldGFkYXRhLnVwZGF0ZV9leHBlY3RlZChzdGF0ZS5wYXRocywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuc2VydmVfcm9vdCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
dGUucnVuX2xvZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV2X29sZD1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZ25vcmVfZXhpc3Rpbmc9c3RhdGUuaWdub3JlX2V4aXN0aW5n
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
eW5jX3Jvb3Q9c3luY19yb290LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwcm9wZXJ0eV9vcmRlcj1zdGF0ZS5wcm9wZXJ0eV9vcmRlciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbGVh
bl9wcm9wZXJ0aWVzPXN0YXRlLmJvb2xlYW5fcHJvcGVydGllcykKKworCitjbGFzcyBDcmVhdGVN
ZXRhZGF0YVBhdGNoKFN0ZXApOgorICAgICIiIkNyZWF0ZSBhIHBhdGNoL2NvbW1pdCBmb3IgdGhl
IG1ldGFkYXRhIGNoZWNrb3V0IiIiCisKKyAgICBkZWYgY3JlYXRlKHNlbGYsIHN0YXRlKToKKyAg
ICAgICAgaWYgc3RhdGUubm9fcGF0Y2g6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBs
b2NhbF90cmVlID0gc3RhdGUubG9jYWxfdHJlZQorICAgICAgICBzeW5jX3RyZWUgPSBzdGF0ZS5z
eW5jX3RyZWUKKworICAgICAgICBpZiBzeW5jX3RyZWUgaXMgbm90IE5vbmU6CisgICAgICAgICAg
ICBuYW1lID0gIndlYi1wbGF0Zm9ybS10ZXN0c191cGRhdGVfJXNfbWV0YWRhdGEiICUgc3luY190
cmVlLnJldgorICAgICAgICAgICAgbWVzc2FnZSA9ICJVcGRhdGUgJXMgZXhwZWN0ZWQgZGF0YSB0
byByZXZpc2lvbiAlcyIgJSAoc3RhdGUuc3VpdGVfbmFtZSwgc3luY190cmVlLnJldikKKyAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgIG5hbWUgPSAid2ViLXBsYXRmb3JtLXRlc3RzX3VwZGF0ZV9t
ZXRhZGF0YSIKKyAgICAgICAgICAgIG1lc3NhZ2UgPSAiVXBkYXRlICVzIGV4cGVjdGVkIGRhdGEi
ICUgc3RhdGUuc3VpdGVfbmFtZQorCisgICAgICAgIGxvY2FsX3RyZWUuY3JlYXRlX3BhdGNoKG5h
bWUsIG1lc3NhZ2UpCisKKyAgICAgICAgaWYgbm90IGxvY2FsX3RyZWUuaXNfY2xlYW46CisgICAg
ICAgICAgICBtZXRhZGF0YV9wYXRocyA9IFttYW5pZmVzdF9wYXRoWyJtZXRhZGF0YV9wYXRoIl0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBtYW5pZmVzdF9wYXRoIGluIHN0YXRl
LnBhdGhzLml0ZXJ2YWx1ZXMoKV0KKyAgICAgICAgICAgIGZvciBwYXRoIGluIG1ldGFkYXRhX3Bh
dGhzOgorICAgICAgICAgICAgICAgIGxvY2FsX3RyZWUuYWRkX25ldyhvcy5wYXRoLnJlbHBhdGgo
cGF0aCwgbG9jYWxfdHJlZS5yb290KSkKKyAgICAgICAgICAgIGxvY2FsX3RyZWUudXBkYXRlX3Bh
dGNoKGluY2x1ZGU9bWV0YWRhdGFfcGF0aHMpCisgICAgICAgICAgICBsb2NhbF90cmVlLmNvbW1p
dF9wYXRjaCgpCisKKworY2xhc3MgTWV0YWRhdGFVcGRhdGVSdW5uZXIoU3RlcFJ1bm5lcik6Cisg
ICAgIiIiKFN1YilSdW5uZXIgZm9yIHVwZGF0aW5nIG1ldGFkYXRhIiIiCisgICAgc3RlcHMgPSBb
R2V0VXBkYXRlUHJvcGVydHlMaXN0LAorICAgICAgICAgICAgIFVwZGF0ZUV4cGVjdGVkLAorICAg
ICAgICAgICAgIENyZWF0ZU1ldGFkYXRhUGF0Y2hdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
dXBkYXRlL3N0YXRlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zdGF0ZS5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45NDU0NDE0ZTY0MGJlYTllMjFhNThhMDRlNzA0N2M1ZDhjOTdjOGMwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zdGF0ZS5weQpAQCAtMCwwICsxLDEzMyBAQAoraW1w
b3J0IG9zCitpbXBvcnQgY1BpY2tsZSBhcyBwaWNrbGUKKworaGVyZSA9IG9zLnBhdGguYWJzcGF0
aChvcy5wYXRoLnNwbGl0KF9fZmlsZV9fKVswXSkKKworY2xhc3MgU3RhdGUob2JqZWN0KToKKyAg
ICBmaWxlbmFtZSA9IG9zLnBhdGguam9pbihoZXJlLCAiLndwdC11cGRhdGUubG9jayIpCisKKyAg
ICBkZWYgX19uZXdfXyhjbHMsIGxvZ2dlcik6CisgICAgICAgIHJ2ID0gY2xzLmxvYWQobG9nZ2Vy
KQorICAgICAgICBpZiBydiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGxvZ2dlci5kZWJ1Zygi
RXhpc3Rpbmcgc3RhdGUgZm91bmQiKQorICAgICAgICAgICAgcmV0dXJuIHJ2CisKKyAgICAgICAg
bG9nZ2VyLmRlYnVnKCJObyBleGlzdGluZyBzdGF0ZSBmb3VuZCIpCisgICAgICAgIHJldHVybiBv
YmplY3QuX19uZXdfXyhjbHMsIGxvZ2dlcikKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dn
ZXIpOgorICAgICAgICAiIiJPYmplY3QgY29udGFpbmluZyBzdGF0ZSB2YXJpYWJsZXMgY3JlYXRl
ZCB3aGVuIHJ1bm5pbmcgU3RlcHMuCisKKyAgICAgICAgT24gd3JpdGUgdGhlIHN0YXRlIGlzIHNl
cmlhbGl6ZWQgdG8gZGlzaywgc3VjaCB0aGF0IGl0IGNhbiBiZSByZXN0b3JlZCBpbgorICAgICAg
ICB0aGUgZXZlbnQgdGhhdCB0aGUgcHJvZ3JhbSBpcyBpbnRlcnJ1cHRlZCBiZWZvcmUgYWxsIHN0
ZXBzIGFyZSBjb21wbGV0ZS4KKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgb25seSB3b3JrcyB3ZWxs
IGlmIHRoZSB2YWx1ZXMgYXJlIGltbXV0YWJsZTsgbXV0YXRpbmcgYW4KKyAgICAgICAgZXhpc3Rp
bmcgdmFsdWUgd2lsbCBub3QgY2F1c2UgdGhlIGRhdGEgdG8gYmUgc2VyaWFsaXplZC4KKworICAg
ICAgICBWYXJpYWJsZXMgYXJlIHNldCBhbmQgZ2V0IGFzIGF0dHJpYnV0ZXMgZS5nLiBzdGF0ZV9v
Ymouc3BhbSA9ICJlZ2dzIi4KKworICAgICAgICA6cGFyYW0gcGFyZW50OiBQYXJlbnQgU3RhdGUg
b2JqZWN0IG9yIE5vbmUgaWYgdGhpcyBpcyB0aGUgcm9vdCBvYmplY3QuCisgICAgICAgICIiIgor
CisgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgIl9kYXRhIik6CisgICAgICAgICAgICByZXR1cm4K
KworICAgICAgICBzZWxmLl9kYXRhID0gW3t9XQorICAgICAgICBzZWxmLl9sb2dnZXIgPSBsb2dn
ZXIKKyAgICAgICAgc2VsZi5faW5kZXggPSAwCisKKyAgICBkZWYgX19nZXRzdGF0ZV9fKHNlbGYp
OgorICAgICAgICBydiA9IHNlbGYuX19kaWN0X18uY29weSgpCisgICAgICAgIGRlbCBydlsiX2xv
Z2dlciJdCisgICAgICAgIHJldHVybiBydgorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGxv
YWQoY2xzLCBsb2dnZXIpOgorICAgICAgICAiIiJMb2FkIHNhdmVkIHN0YXRlIGZyb20gYSBmaWxl
IiIiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggb3BlbihjbHMuZmlsZW5hbWUpIGFz
IGY6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBydiA9IHBpY2ts
ZS5sb2FkKGYpCisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygiTG9hZGluZyBkYXRh
ICVyIiAlIChydi5fZGF0YSwpKQorICAgICAgICAgICAgICAgICAgICBydi5fbG9nZ2VyID0gbG9n
Z2VyCisgICAgICAgICAgICAgICAgICAgIHJ2Ll9pbmRleCA9IDAKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIHJ2CisgICAgICAgICAgICAgICAgZXhjZXB0IEVPRkVycm9yOgorICAgICAgICAg
ICAgICAgICAgICBsb2dnZXIud2FybmluZygiRm91bmQgZW1wdHkgc3RhdGUgZmlsZSIpCisgICAg
ICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCJJT0Vycm9yIGxv
YWRpbmcgc3RvcmVkIHN0YXRlIikKKworICAgIGRlZiBwdXNoKHNlbGYsIGluaXRfdmFsdWVzKToK
KyAgICAgICAgIiIiUHVzaCBhIG5ldyBjbGVhbiBzdGF0ZSBkaWN0aW9uYXJ5CisKKyAgICAgICAg
OnBhcmFtIGluaXRfdmFsdWVzOiBMaXN0IG9mIHZhcmlhYmxlIG5hbWVzIGluIHRoZSBjdXJyZW50
IHN0YXRlIGRpY3QgdG8gY29weQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludG8gdGhl
IG5ldyBzdGF0ZSBkaWN0LiIiIgorCisgICAgICAgIHJldHVybiBTdGF0ZUNvbnRleHQoc2VsZiwg
aW5pdF92YWx1ZXMpCisKKyAgICBkZWYgc2F2ZShzZWxmKToKKyAgICAgICAgIiIiV3JpdGUgdGhl
IHN0YXRlIHRvIGRpc2siIiIKKyAgICAgICAgd2l0aCBvcGVuKHNlbGYuZmlsZW5hbWUsICJ3Iikg
YXMgZjoKKyAgICAgICAgICAgIHBpY2tsZS5kdW1wKHNlbGYsIGYpCisKKyAgICBkZWYgaXNfZW1w
dHkoc2VsZik6CisgICAgICAgIHJldHVybiBsZW4oc2VsZi5fZGF0YSkgPT0gMSBhbmQgc2VsZi5f
ZGF0YVswXSA9PSB7fQorCisgICAgZGVmIGNsZWFyKHNlbGYpOgorICAgICAgICAiIiJSZW1vdmUg
YWxsIHN0YXRlIGFuZCBkZWxldGUgdGhlIHN0b3JlZCBjb3B5LiIiIgorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBvcy51bmxpbmsoc2VsZi5maWxlbmFtZSkKKyAgICAgICAgZXhjZXB0IE9TRXJy
b3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIHNlbGYuX2RhdGEgPSBbe31dCisKKworICAg
IGRlZiBfX3NldGF0dHJfXyhzZWxmLCBrZXksIHZhbHVlKToKKyAgICAgICAgaWYga2V5LnN0YXJ0
c3dpdGgoIl8iKToKKyAgICAgICAgICAgIG9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBrZXksIHZh
bHVlKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5fZGF0YVtzZWxmLl9pbmRleF1b
a2V5XSA9IHZhbHVlCisgICAgICAgICAgICBzZWxmLnNhdmUoKQorCisgICAgZGVmIF9fZ2V0YXR0
cl9fKHNlbGYsIGtleSk6CisgICAgICAgIGlmIGtleS5zdGFydHN3aXRoKCJfIik6CisgICAgICAg
ICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1
cm4gc2VsZi5fZGF0YVtzZWxmLl9pbmRleF1ba2V5XQorICAgICAgICBleGNlcHQgS2V5RXJyb3I6
CisgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcgorCisgICAgZGVmIF9fY29udGFpbnNf
XyhzZWxmLCBrZXkpOgorICAgICAgICByZXR1cm4ga2V5IGluIHNlbGYuX2RhdGFbc2VsZi5faW5k
ZXhdCisKKyAgICBkZWYgdXBkYXRlKHNlbGYsIGl0ZW1zKToKKyAgICAgICAgIiIiQWRkIGEgZGlj
dGlvbmFyeSBvZiB7bmFtZTogdmFsdWV9IHBhaXJzIHRvIHRoZSBzdGF0ZSIiIgorICAgICAgICBz
ZWxmLl9kYXRhW3NlbGYuX2luZGV4XS51cGRhdGUoaXRlbXMpCisgICAgICAgIHNlbGYuc2F2ZSgp
CisKKyAgICBkZWYga2V5cyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2RhdGFbc2VsZi5f
aW5kZXhdLmtleXMoKQorCitjbGFzcyBTdGF0ZUNvbnRleHQob2JqZWN0KToKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgc3RhdGUsIGluaXRfdmFsdWVzKToKKyAgICAgICAgc2VsZi5zdGF0ZSA9IHN0
YXRlCisgICAgICAgIHNlbGYuaW5pdF92YWx1ZXMgPSBpbml0X3ZhbHVlcworCisgICAgZGVmIF9f
ZW50ZXJfXyhzZWxmKToKKyAgICAgICAgaWYgbGVuKHNlbGYuc3RhdGUuX2RhdGEpID09IHNlbGYu
c3RhdGUuX2luZGV4ICsgMToKKyAgICAgICAgICAgICMgVGhpcyBpcyB0aGUgY2FzZSB3aGVyZSB0
aGVyZSBpcyBubyBzdG9yZWQgc3RhdGUKKyAgICAgICAgICAgIG5ld19zdGF0ZSA9IHt9CisgICAg
ICAgICAgICBmb3Iga2V5IGluIHNlbGYuaW5pdF92YWx1ZXM6CisgICAgICAgICAgICAgICAgbmV3
X3N0YXRlW2tleV0gPSBzZWxmLnN0YXRlLl9kYXRhW3NlbGYuc3RhdGUuX2luZGV4XVtrZXldCisg
ICAgICAgICAgICBzZWxmLnN0YXRlLl9kYXRhLmFwcGVuZChuZXdfc3RhdGUpCisgICAgICAgIHNl
bGYuc3RhdGUuX2luZGV4ICs9IDEKKyAgICAgICAgc2VsZi5zdGF0ZS5fbG9nZ2VyLmRlYnVnKCJJ
bmNyZW1lbnRlZCBpbmRleCB0byAlcyIgJSBzZWxmLnN0YXRlLl9pbmRleCkKKworICAgIGRlZiBf
X2V4aXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBpZiBsZW4oc2VsZi5zdGF0
ZS5fZGF0YSkgPiAxOgorICAgICAgICAgICAgYXNzZXJ0IHNlbGYuc3RhdGUuX2luZGV4ID09IGxl
bihzZWxmLnN0YXRlLl9kYXRhKSAtIDEKKyAgICAgICAgICAgIHNlbGYuc3RhdGUuX2RhdGEucG9w
KCkKKyAgICAgICAgICAgIHNlbGYuc3RhdGUuX2luZGV4IC09IDEKKyAgICAgICAgICAgIHNlbGYu
c3RhdGUuX2xvZ2dlci5kZWJ1ZygiRGVjcmVtZW50ZWQgaW5kZXggdG8gJXMiICUgc2VsZi5zdGF0
ZS5faW5kZXgpCisgICAgICAgICAgICBhc3NlcnQgc2VsZi5zdGF0ZS5faW5kZXggPj0gMAorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVHJpZWQgdG8gcG9wIHRo
ZSB0b3Agc3RhdGUiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zeW5jLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3VwZGF0ZS9zeW5jLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmNjA5MmEwNDZhMDVjMWUw
NTU2NWE0YTFmYjc0MjkwZTUzNTk0NTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
dXBkYXRlL3N5bmMucHkKQEAgLTAsMCArMSwxNzcgQEAKK2ltcG9ydCBvcworaW1wb3J0IHNodXRp
bAoraW1wb3J0IHN5cworaW1wb3J0IHV1aWQKKworZnJvbSAuLiBpbXBvcnQgdGVzdGxvYWRlcgor
Citmcm9tIGJhc2UgaW1wb3J0IFN0ZXAsIFN0ZXBSdW5uZXIKK2Zyb20gdHJlZSBpbXBvcnQgQ29t
bWl0CisKK2hlcmUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0p
CisKK2JzZF9saWNlbnNlID0gIiIiVzNDIDMtY2xhdXNlIEJTRCBMaWNlbnNlCisKK1JlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorbWV0OgorCisqIFJlZGlzdHJpYnV0aW9ucyBvZiB3b3JrcyBtdXN0
IHJldGFpbiB0aGUgb3JpZ2luYWwgY29weXJpZ2h0IG5vdGljZSwgdGhpcworICBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKworKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIG9yaWdpbmFsIGNvcHlyaWdodAor
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisKKyogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUg
VzNDIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUKKyAgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgd29yayB3aXRob3V0
CisgIHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworCitUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UworSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKK0lNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCitBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUKK0xJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKK0NPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCitTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKK0lOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCitDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKK1BPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorIiIiCisKKworZGVmIGNvcHlfd3B0X3RyZWUodHJlZSwgZGVzdCk6CisgICAg
IiIiQ29weSB0aGUgd29ya2luZyBjb3B5IG9mIGEgVHJlZSB0byBhIGRlc3RpbmF0aW9uIGRpcmVj
dG9yeS4KKworICAgIDpwYXJhbSB0cmVlOiBUaGUgVHJlZSB0byBjb3B5LgorICAgIDpwYXJhbSBk
ZXN0OiBUaGUgZGVzdGluYXRpb24gZGlyZWN0b3J5IiIiCisgICAgaWYgb3MucGF0aC5leGlzdHMo
ZGVzdCk6CisgICAgICAgIGFzc2VydCBvcy5wYXRoLmlzZGlyKGRlc3QpCisKKyAgICBzaHV0aWwu
cm10cmVlKGRlc3QpCisgICAgb3MubWtkaXIoZGVzdCkKKworICAgIGZvciB0cmVlX3BhdGggaW4g
dHJlZS5wYXRocygpOgorICAgICAgICBzb3VyY2VfcGF0aCA9IG9zLnBhdGguam9pbih0cmVlLnJv
b3QsIHRyZWVfcGF0aCkKKyAgICAgICAgZGVzdF9wYXRoID0gb3MucGF0aC5qb2luKGRlc3QsIHRy
ZWVfcGF0aCkKKworICAgICAgICBkZXN0X2RpciA9IG9zLnBhdGguc3BsaXQoZGVzdF9wYXRoKVsw
XQorICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2Rpcihzb3VyY2VfcGF0aCk6CisgICAgICAgICAg
ICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGVzdF9kaXIpOgorICAgICAgICAgICAgICAgIG9zLm1h
a2VkaXJzKGRlc3RfZGlyKQorICAgICAgICAgICAgc2h1dGlsLmNvcHkyKHNvdXJjZV9wYXRoLCBk
ZXN0X3BhdGgpCisKKyAgICBmb3Igc291cmNlLCBkZXN0aW5hdGlvbiBpbiBbKCJ0ZXN0aGFybmVz
c19ydW5uZXIuaHRtbCIsICIiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0
ZXN0aGFybmVzc3JlcG9ydC5qcyIsICJyZXNvdXJjZXMvIildOgorICAgICAgICBzb3VyY2VfcGF0
aCA9IG9zLnBhdGguam9pbihoZXJlLCBvcy5wYXJkaXIsIHNvdXJjZSkKKyAgICAgICAgZGVzdF9w
YXRoID0gb3MucGF0aC5qb2luKGRlc3QsIGRlc3RpbmF0aW9uLCBvcy5wYXRoLnNwbGl0KHNvdXJj
ZSlbMV0pCisgICAgICAgIHNodXRpbC5jb3B5Mihzb3VyY2VfcGF0aCwgZGVzdF9wYXRoKQorCisg
ICAgYWRkX2xpY2Vuc2UoZGVzdCkKKworCitkZWYgYWRkX2xpY2Vuc2UoZGVzdCk6CisgICAgIiIi
V3JpdGUgdGhlIGJzZCBsaWNlbnNlIHN0cmluZyB0byBhIExJQ0VOU0UgZmlsZS4KKworICAgIDpw
YXJhbSBkZXN0OiBEaXJlY3RvcnkgaW4gd2hpY2ggdG8gcGxhY2UgdGhlIExJQ0VOU0UgZmlsZS4i
IiIKKyAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGRlc3QsICJMSUNFTlNFIiksICJ3IikgYXMg
ZjoKKyAgICAgICAgZi53cml0ZShic2RfbGljZW5zZSkKKworY2xhc3MgVXBkYXRlQ2hlY2tvdXQo
U3RlcCk6CisgICAgIiIiUHVsbCBjaGFuZ2VzIGZyb20gdXBzdHJlYW0gaW50byB0aGUgbG9jYWwg
c3luYyB0cmVlLiIiIgorCisgICAgcHJvdmlkZXMgPSBbImxvY2FsX2JyYW5jaCJdCisKKyAgICBk
ZWYgY3JlYXRlKHNlbGYsIHN0YXRlKToKKyAgICAgICAgc3luY190cmVlID0gc3RhdGUuc3luY190
cmVlCisgICAgICAgIHN0YXRlLmxvY2FsX2JyYW5jaCA9IHV1aWQudXVpZDQoKS5oZXgKKyAgICAg
ICAgc3luY190cmVlLnVwZGF0ZShzdGF0ZS5zeW5jWyJyZW1vdGVfdXJsIl0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RhdGUuc3luY1siYnJhbmNoIl0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RhdGUubG9jYWxfYnJhbmNoKQorICAgICAgICBzeW5jX3BhdGggPSBvcy5wYXRoLmFi
c3BhdGgoc3luY190cmVlLnJvb3QpCisgICAgICAgIGlmIG5vdCBzeW5jX3BhdGggaW4gc3lzLnBh
dGg6CisgICAgICAgICAgICBmcm9tIHVwZGF0ZSBpbXBvcnQgc2V0dXBfcGF0aHMKKyAgICAgICAg
ICAgIHNldHVwX3BhdGhzKHN5bmNfcGF0aCkKKworICAgIGRlZiByZXN0b3JlKHNlbGYsIHN0YXRl
KToKKyAgICAgICAgYXNzZXJ0IG9zLnBhdGguYWJzcGF0aChzdGF0ZS5zeW5jX3RyZWUucm9vdCkg
aW4gc3lzLnBhdGgKKyAgICAgICAgU3RlcC5yZXN0b3JlKHNlbGYsIHN0YXRlKQorCisKK2NsYXNz
IEdldFN5bmNUYXJnZXRDb21taXQoU3RlcCk6CisgICAgIiIiRmluZCB0aGUgY29tbWl0IHRoYXQg
d2Ugd2lsbCBzeW5jIHRvLiIiIgorCisgICAgcHJvdmlkZXMgPSBbInN5bmNfY29tbWl0Il0KKwor
ICAgIGRlZiBjcmVhdGUoc2VsZiwgc3RhdGUpOgorICAgICAgICBpZiBzdGF0ZS50YXJnZXRfcmV2
IGlzIE5vbmU6CisgICAgICAgICAgICAjVXNlIHVwc3RyZWFtIGJyYW5jaCBIRUFEIGFzIHRoZSBi
YXNlIGNvbW1pdAorICAgICAgICAgICAgc3RhdGUuc3luY19jb21taXQgPSBzdGF0ZS5zeW5jX3Ry
ZWUuZ2V0X3JlbW90ZV9zaGExKHN0YXRlLnN5bmNbInJlbW90ZV91cmwiXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0
ZS5zeW5jWyJicmFuY2giXSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHN0YXRlLnN5bmNf
Y29tbWl0ID0gQ29tbWl0KHN0YXRlLnN5bmNfdHJlZSwgc3RhdGUucmV2KQorCisgICAgICAgIHN0
YXRlLnN5bmNfdHJlZS5jaGVja291dChzdGF0ZS5zeW5jX2NvbW1pdC5zaGExLCBzdGF0ZS5sb2Nh
bF9icmFuY2gsIGZvcmNlPVRydWUpCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJOZXcgYmFz
ZSBjb21taXQgaXMgJXMiICUgc3RhdGUuc3luY19jb21taXQuc2hhMSkKKworCitjbGFzcyBMb2Fk
TWFuaWZlc3QoU3RlcCk6CisgICAgIiIiTG9hZCB0aGUgdGVzdCBtYW5pZmVzdCIiIgorCisgICAg
cHJvdmlkZXMgPSBbIm1hbmlmZXN0X3BhdGgiLCAidGVzdF9tYW5pZmVzdCJdCisKKyAgICBkZWYg
Y3JlYXRlKHNlbGYsIHN0YXRlKToKKyAgICAgICAgZnJvbSBtYW5pZmVzdCBpbXBvcnQgbWFuaWZl
c3QKKyAgICAgICAgc3RhdGUubWFuaWZlc3RfcGF0aCA9IG9zLnBhdGguam9pbihzdGF0ZS5tZXRh
ZGF0YV9wYXRoLCAiTUFOSUZFU1QuanNvbiIpCisgICAgICAgIHN0YXRlLnRlc3RfbWFuaWZlc3Qg
PSBtYW5pZmVzdC5NYW5pZmVzdCgiLyIpCisKKworY2xhc3MgVXBkYXRlTWFuaWZlc3QoU3RlcCk6
CisgICAgIiIiVXBkYXRlIHRoZSBtYW5pZmVzdCB0byBtYXRjaCB0aGUgdGVzdHMgaW4gdGhlIHN5
bmMgdHJlZSBjaGVja291dCIiIgorCisgICAgZGVmIGNyZWF0ZShzZWxmLCBzdGF0ZSk6CisgICAg
ICAgIGZyb20gbWFuaWZlc3QgaW1wb3J0IG1hbmlmZXN0LCB1cGRhdGUKKyAgICAgICAgdXBkYXRl
LnVwZGF0ZShzdGF0ZS5zeW5jWyJwYXRoIl0sIHN0YXRlLnRlc3RfbWFuaWZlc3QpCisgICAgICAg
IG1hbmlmZXN0LndyaXRlKHN0YXRlLnRlc3RfbWFuaWZlc3QsIHN0YXRlLm1hbmlmZXN0X3BhdGgp
CisKKworY2xhc3MgQ29weVdvcmtUcmVlKFN0ZXApOgorICAgICIiIkNvcHkgdGhlIHN5bmMgdHJl
ZSBvdmVyIHRvIHRoZSBkZXN0aW5hdGlvbiBpbiB0aGUgbG9jYWwgdHJlZSIiIgorCisgICAgZGVm
IGNyZWF0ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGNvcHlfd3B0X3RyZWUoc3RhdGUuc3luY190
cmVlLAorICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnRlc3RzX3BhdGgpCisKKworY2xhc3Mg
Q3JlYXRlU3luY1BhdGNoKFN0ZXApOgorICAgICIiIkFkZCB0aGUgdXBkYXRlZCB0ZXN0IGZpbGVz
IHRvIGEgY29tbWl0L3BhdGNoIGluIHRoZSBsb2NhbCB0cmVlLiIiIgorCisgICAgZGVmIGNyZWF0
ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGlmIHN0YXRlLm5vX3BhdGNoOgorICAgICAgICAgICAg
cmV0dXJuCisKKyAgICAgICAgbG9jYWxfdHJlZSA9IHN0YXRlLmxvY2FsX3RyZWUKKyAgICAgICAg
c3luY190cmVlID0gc3RhdGUuc3luY190cmVlCisKKyAgICAgICAgbG9jYWxfdHJlZS5jcmVhdGVf
cGF0Y2goIndlYi1wbGF0Zm9ybS10ZXN0c191cGRhdGVfJXMiICUgc3luY190cmVlLnJldiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVwZGF0ZSAlcyB0byByZXZpc2lvbiAlcyIg
JSAoc3RhdGUuc3VpdGVfbmFtZSwgc3luY190cmVlLnJldikpCisgICAgICAgIGxvY2FsX3RyZWUu
YWRkX25ldyhvcy5wYXRoLnJlbHBhdGgoc3RhdGUudGVzdHNfcGF0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbF90cmVlLnJvb3QpKQorICAgICAgICB1
cGRhdGVkID0gbG9jYWxfdHJlZS51cGRhdGVfcGF0Y2goaW5jbHVkZT1bc3RhdGUudGVzdHNfcGF0
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXRlLm1ldGFkYXRhX3BhdGhdKQorICAgICAgICBsb2NhbF90cmVlLmNvbW1pdF9wYXRjaCgpCisK
KyAgICAgICAgaWYgbm90IHVwZGF0ZWQ6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJO
b3RoaW5nIHRvIHN5bmMiKQorCisKK2NsYXNzIFN5bmNGcm9tVXBzdHJlYW1SdW5uZXIoU3RlcFJ1
bm5lcik6CisgICAgIiIiKFN1YilSdW5uZXIgZm9yIGRvaW5nIGFuIHVwc3RyZWFtIHN5bmMiIiIK
KyAgICBzdGVwcyA9IFtVcGRhdGVDaGVja291dCwKKyAgICAgICAgICAgICBHZXRTeW5jVGFyZ2V0
Q29tbWl0LAorICAgICAgICAgICAgIExvYWRNYW5pZmVzdCwKKyAgICAgICAgICAgICBVcGRhdGVN
YW5pZmVzdCwKKyAgICAgICAgICAgICBDb3B5V29ya1RyZWUsCisgICAgICAgICAgICAgQ3JlYXRl
U3luY1BhdGNoXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS90cmVlLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3VwZGF0ZS90cmVlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExNWRmOTA3YWE0MTZlOGE0NWFl
N2Q5Mjk3NDE2ZTdhNWIyNTU1NzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBk
YXRlL3RyZWUucHkKQEAgLTAsMCArMSwzODMgQEAKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBv
cnQgc3VicHJvY2VzcworCitmcm9tIC4uIGltcG9ydCB2Y3MKK2Zyb20gLi52Y3MgaW1wb3J0IGJp
bmRfdG9fcmVwbywgZ2l0LCBoZworCisKK2RlZiBnZXRfdW5pcXVlX25hbWUoZXhpc3RpbmcsIGlu
aXRpYWwpOgorICAgICIiIkdldCBhIG5hbWUgZWl0aGVyIGVxdWFsIHRvIGluaXRpYWwgb3Igb2Yg
dGhlIGZvcm0gaW5pdGlhbF9OLCBmb3Igc29tZQorICAgIGludGVnZXIgTiwgdGhhdCBpcyBub3Qg
aW4gdGhlIHNldCBleGlzdGluZy4KKworCisgICAgOnBhcmFtIGV4aXN0aW5nOiBTZXQgb2YgbmFt
ZXMgdGhhdCBtdXN0IG5vdCBiZSBjaG9zZW4uCisgICAgOnBhcmFtIGluaXRpYWw6IE5hbWUsIG9y
IG5hbWUgcHJlZml4LCB0byB1c2UiIiIKKyAgICBpZiBpbml0aWFsIG5vdCBpbiBleGlzdGluZzoK
KyAgICAgICAgcmV0dXJuIGluaXRpYWwKKyAgICBmb3IgaSBpbiB4cmFuZ2UobGVuKGV4aXN0aW5n
KSArIDEpOgorICAgICAgICB0ZXN0ID0gIiVzXyVzIiAlIChpbml0aWFsLCBpICsgMSkKKyAgICAg
ICAgaWYgdGVzdCBub3QgaW4gZXhpc3Rpbmc6CisgICAgICAgICAgICByZXR1cm4gdGVzdAorICAg
IGFzc2VydCBGYWxzZQorCitjbGFzcyBOb1ZDU1RyZWUob2JqZWN0KToKKyAgICBuYW1lID0gIm5v
bi12Y3MiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcm9vdD1Ob25lKToKKyAgICAgICAgaWYg
cm9vdCBpcyBOb25lOgorICAgICAgICAgICAgcm9vdCA9IG9zLnBhdGguYWJzcGF0aChvcy5jdXJk
aXIpCisgICAgICAgIHNlbGYucm9vdCA9IHJvb3QKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRl
ZiBpc190eXBlKGNscywgcGF0aD1Ob25lKToKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIEBw
cm9wZXJ0eQorICAgIGRlZiBpc19jbGVhbihzZWxmKToKKyAgICAgICAgcmV0dXJuIFRydWUKKwor
ICAgIGRlZiBhZGRfbmV3KHNlbGYsIHByZWZpeD1Ob25lKToKKyAgICAgICAgcGFzcworCisgICAg
ZGVmIGNyZWF0ZV9wYXRjaChzZWxmLCBwYXRjaF9uYW1lLCBtZXNzYWdlKToKKyAgICAgICAgcGFz
cworCisgICAgZGVmIHVwZGF0ZV9wYXRjaChzZWxmLCBpbmNsdWRlPU5vbmUpOgorICAgICAgICBw
YXNzCisKKyAgICBkZWYgY29tbWl0X3BhdGNoKHNlbGYpOgorICAgICAgICBwYXNzCisKKworY2xh
c3MgSGdUcmVlKG9iamVjdCk6CisgICAgbmFtZSA9ICJtZXJjdXJpYWwiCisKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgcm9vdD1Ob25lKToKKyAgICAgICAgaWYgcm9vdCBpcyBOb25lOgorICAgICAg
ICAgICAgcm9vdCA9IGhnKCJyb290Iikuc3RyaXAoKQorICAgICAgICBzZWxmLnJvb3QgPSByb290
CisgICAgICAgIHNlbGYuaGcgPSB2Y3MuYmluZF90b19yZXBvKGhnLCBzZWxmLnJvb3QpCisKKyAg
ICBkZWYgX19nZXRzdGF0ZV9fKHNlbGYpOgorICAgICAgICBydiA9IHNlbGYuX19kaWN0X18uY29w
eSgpCisgICAgICAgIGRlbCBydlsnaGcnXQorICAgICAgICByZXR1cm4gcnYKKworICAgIGRlZiBf
X3NldHN0YXRlX18oc2VsZiwgZGljdCk6CisgICAgICAgIHNlbGYuX19kaWN0X18udXBkYXRlKGRp
Y3QpCisgICAgICAgIHNlbGYuaGcgPSB2Y3MuYmluZF90b19yZXBvKHZjcy5oZywgc2VsZi5yb290
KQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGlzX3R5cGUoY2xzLCBwYXRoPU5vbmUpOgor
ICAgICAgICBrd2FyZ3MgPSB7ImxvZ19lcnJvciI6IEZhbHNlfQorICAgICAgICBpZiBwYXRoIGlz
IG5vdCBOb25lOgorICAgICAgICAgICAga3dhcmdzWyJyZXBvIl0gPSBwYXRoCisgICAgICAgIHRy
eToKKyAgICAgICAgICAgIGhnKCJyb290IiwgKiprd2FyZ3MpCisgICAgICAgIGV4Y2VwdDoKKyAg
ICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgQHByb3Bl
cnR5CisgICAgZGVmIGlzX2NsZWFuKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5oZygic3Rh
dHVzIikuc3RyaXAoKSA9PSAiIgorCisgICAgZGVmIGFkZF9uZXcoc2VsZiwgcHJlZml4PU5vbmUp
OgorICAgICAgICBpZiBwcmVmaXggaXMgbm90IE5vbmU6CisgICAgICAgICAgICBhcmdzID0gKCIt
SSIsIHByZWZpeCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFyZ3MgPSAoKQorICAgICAg
ICBzZWxmLmhnKCJhZGQiLCAqYXJncykKKworICAgIGRlZiBjcmVhdGVfcGF0Y2goc2VsZiwgcGF0
Y2hfbmFtZSwgbWVzc2FnZSk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuaGcoInFp
bml0IiwgbG9nX2Vycm9yPUZhbHNlKQorICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQ
cm9jZXNzRXJyb3I6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgcGF0Y2hfbmFtZXMgPSBb
aXRlbS5zdHJpcCgpIGZvciBpdGVtIGluIHNlbGYuaGcoInFzZXJpZXMiKS5zcGxpdCgiXG4iKSBp
ZiBpdGVtLnN0cmlwKCldCisKKyAgICAgICAgc3VmZml4ID0gMAorICAgICAgICB0ZXN0X25hbWUg
PSBwYXRjaF9uYW1lCisgICAgICAgIHdoaWxlIHRlc3RfbmFtZSBpbiBwYXRjaF9uYW1lczoKKyAg
ICAgICAgICAgIHN1ZmZpeCArPSAxCisgICAgICAgICAgICB0ZXN0X25hbWUgPSAiJXMtJWkiICUg
KHBhdGNoX25hbWUsIHN1ZmZpeCkKKworICAgICAgICBzZWxmLmhnKCJxbmV3IiwgdGVzdF9uYW1l
LCAiLVgiLCBzZWxmLnJvb3QsICItbSIsIG1lc3NhZ2UpCisKKyAgICBkZWYgdXBkYXRlX3BhdGNo
KHNlbGYsIGluY2x1ZGU9Tm9uZSk6CisgICAgICAgIGlmIGluY2x1ZGUgaXMgbm90IE5vbmU6Cisg
ICAgICAgICAgICBhcmdzID0gW10KKyAgICAgICAgICAgIGZvciBpdGVtIGluIGluY2x1ZGU6Cisg
ICAgICAgICAgICAgICAgYXJncy5leHRlbmQoWyItSSIsIGl0ZW1dKQorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgYXJncyA9ICgpCisKKyAgICAgICAgc2VsZi5oZygicXJlZnJlc2giLCAqYXJn
cykKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIGRlZiBjb21taXRfcGF0Y2goc2VsZik6Cisg
ICAgICAgIHNlbGYuaGcoInFmaW5pc2giKQorCisgICAgZGVmIGNvbnRhaW5zX2NvbW1pdChzZWxm
LCBjb21taXQpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmhnKCJpZGVudGlmeSIs
ICItciIsIGNvbW1pdC5zaGExKQorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgZXhj
ZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgorICAgICAgICAgICAgcmV0dXJuIEZh
bHNlCisKKworY2xhc3MgR2l0VHJlZShvYmplY3QpOgorICAgIG5hbWUgPSAiZ2l0IgorCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHJvb3Q9Tm9uZSk6CisgICAgICAgIGlmIHJvb3QgaXMgTm9uZToK
KyAgICAgICAgICAgIHJvb3QgPSBnaXQoInJldi1wYXJzZSIsICItLXNob3ctdG9wbGV2ZWwiKS5z
dHJpcCgpCisgICAgICAgIHNlbGYucm9vdCA9IHJvb3QKKyAgICAgICAgc2VsZi5naXQgPSB2Y3Mu
YmluZF90b19yZXBvKGdpdCwgc2VsZi5yb290KQorICAgICAgICBzZWxmLm1lc3NhZ2UgPSBOb25l
CisgICAgICAgIHNlbGYuY29tbWl0X2NscyA9IENvbW1pdAorCisgICAgZGVmIF9fZ2V0c3RhdGVf
XyhzZWxmKToKKyAgICAgICAgcnYgPSBzZWxmLl9fZGljdF9fLmNvcHkoKQorICAgICAgICBkZWwg
cnZbJ2dpdCddCisgICAgICAgIHJldHVybiBydgorCisgICAgZGVmIF9fc2V0c3RhdGVfXyhzZWxm
LCBkaWN0KToKKyAgICAgICAgc2VsZi5fX2RpY3RfXy51cGRhdGUoZGljdCkKKyAgICAgICAgc2Vs
Zi5naXQgPSB2Y3MuYmluZF90b19yZXBvKHZjcy5naXQsIHNlbGYucm9vdCkKKworICAgIEBjbGFz
c21ldGhvZAorICAgIGRlZiBpc190eXBlKGNscywgcGF0aD1Ob25lKToKKyAgICAgICAga3dhcmdz
ID0geyJsb2dfZXJyb3IiOiBGYWxzZX0KKyAgICAgICAgaWYgcGF0aCBpcyBub3QgTm9uZToKKyAg
ICAgICAgICAgIGt3YXJnc1sicmVwbyJdID0gcGF0aAorICAgICAgICB0cnk6CisgICAgICAgICAg
ICBnaXQoInJldi1wYXJzZSIsICItLXNob3ctdG9wbGV2ZWwiLCAqKmt3YXJncykKKyAgICAgICAg
ZXhjZXB0OgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCisK
KyAgICBAcHJvcGVydHkKKyAgICBkZWYgcmV2KHNlbGYpOgorICAgICAgICAiIiJDdXJyZW50IEhF
QUQgcmV2aXNpb24iIiIKKyAgICAgICAgaWYgdmNzLmlzX2dpdF9yb290KHNlbGYucm9vdCk6Cisg
ICAgICAgICAgICByZXR1cm4gc2VsZi5naXQoInJldi1wYXJzZSIsICJIRUFEIikuc3RyaXAoKQor
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIEBwcm9wZXJ0eQor
ICAgIGRlZiBpc19jbGVhbihzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuZ2l0KCJzdGF0dXMi
KS5zdHJpcCgpID09ICIiCisKKyAgICBkZWYgYWRkX25ldyhzZWxmLCBwcmVmaXg9Tm9uZSk6Cisg
ICAgICAgICIiIkFkZCBmaWxlcyB0byB0aGUgc3RhZ2luZyBhcmVhLgorCisgICAgICAgIDpwYXJh
bSBwcmVmaXg6IE5vbmUgdG8gaW5jbHVkZSBhbGwgZmlsZXMgb3IgYSBwYXRoIHByZWZpeCB0bwor
ICAgICAgICAgICAgICAgICAgICAgICBhZGQgYWxsIGZpbGVzIHVuZGVyIHRoYXQgcGF0aC4KKyAg
ICAgICAgIiIiCisgICAgICAgIGlmIHByZWZpeCBpcyBOb25lOgorICAgICAgICAgICAgYXJncyA9
ICgiLWEiLCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFyZ3MgPSAoIi0tbm8taWdub3Jl
LXJlbW92YWwiLCBwcmVmaXgpCisgICAgICAgIHNlbGYuZ2l0KCJhZGQiLCAqYXJncykKKworICAg
IGRlZiBsaXN0X3JlZnMoc2VsZiwgcmVmX2ZpbHRlcj1Ob25lKToKKyAgICAgICAgIiIiR2V0IGEg
bGlzdCBvZiBzaGExLCBuYW1lIHR1cGxlcyBmb3IgcmVmZXJlbmNlcyBpbiBhIHJlcG9zaXRvcnku
CisKKyAgICAgICAgOnBhcmFtIHJlZl9maWx0ZXI6IFBhdHRlcm4gdGhhdCByZWZlcmVuY2UgbmFt
ZSBtdXN0IG1hdGNoIChmcm9tIHRoZSBlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBt
YXRjaGluZyB3aG9sZSAvLWRlbGltaXRlZCBzZWdtZW50cyBvbmx5CisgICAgICAgICIiIgorICAg
ICAgICBhcmdzID0gW10KKyAgICAgICAgaWYgcmVmX2ZpbHRlciBpcyBub3QgTm9uZToKKyAgICAg
ICAgICAgIGFyZ3MuYXBwZW5kKHJlZl9maWx0ZXIpCisgICAgICAgIGRhdGEgPSBzZWxmLmdpdCgi
c2hvdy1yZWYiLCAqYXJncykKKyAgICAgICAgcnYgPSBbXQorICAgICAgICBmb3IgbGluZSBpbiBk
YXRhLnNwbGl0KCJcbiIpOgorICAgICAgICAgICAgaWYgbm90IGxpbmUuc3RyaXAoKToKKyAgICAg
ICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgc2hhMSwgcmVmID0gbGluZS5zcGxpdCgp
CisgICAgICAgICAgICBydi5hcHBlbmQoKHNoYTEsIHJlZikpCisgICAgICAgIHJldHVybiBydgor
CisgICAgZGVmIGxpc3RfcmVtb3RlKHNlbGYsIHJlbW90ZSwgcmVmX2ZpbHRlcj1Ob25lKToKKyAg
ICAgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiAoc2hhMSwgbmFtZSkgdHVwZXMgZm9yIHJlZmVyZW5j
ZXMgaW4gYSByZW1vdGUuCisKKyAgICAgICAgOnBhcmFtIHJlbW90ZTogVVJMIG9mIHRoZSByZW1v
dGUgdG8gbGlzdC4KKyAgICAgICAgOnBhcmFtIHJlZl9maWx0ZXI6IFBhdHRlcm4gdGhhdCB0aGUg
cmVmZXJlbmNlIG5hbWUgbXVzdCBtYXRjaC4KKyAgICAgICAgIiIiCisgICAgICAgIGFyZ3MgPSBb
XQorICAgICAgICBpZiByZWZfZmlsdGVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgYXJncy5h
cHBlbmQocmVmX2ZpbHRlcikKKyAgICAgICAgZGF0YSA9IHNlbGYuZ2l0KCJscy1yZW1vdGUiLCBy
ZW1vdGUsICphcmdzKQorICAgICAgICBydiA9IFtdCisgICAgICAgIGZvciBsaW5lIGluIGRhdGEu
c3BsaXQoIlxuIik6CisgICAgICAgICAgICBpZiBub3QgbGluZS5zdHJpcCgpOgorICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBzaGExLCByZWYgPSBsaW5lLnNwbGl0KCkKKyAg
ICAgICAgICAgIHJ2LmFwcGVuZCgoc2hhMSwgcmVmKSkKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAg
ICBkZWYgZ2V0X3JlbW90ZV9zaGExKHNlbGYsIHJlbW90ZSwgYnJhbmNoKToKKyAgICAgICAgIiIi
UmV0dXJuIHRoZSBTSEExIG9mIGEgcGFydGljdWxhciBicmFuY2ggaW4gYSByZW1vdGUuCisKKyAg
ICAgICAgOnBhcmFtIHJlbW90ZTogdGhlIHJlbW90ZSBVUkwKKyAgICAgICAgOnBhcmFtIGJyYW5j
aDogdGhlIGJyYW5jaCBuYW1lIiIiCisgICAgICAgIGZvciBzaGExLCByZWYgaW4gc2VsZi5saXN0
X3JlbW90ZShyZW1vdGUsIGJyYW5jaCk6CisgICAgICAgICAgICBpZiByZWYgPT0gInJlZnMvaGVh
ZHMvJXMiICUgYnJhbmNoOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbW1pdF9jbHMo
c2VsZiwgc2hhMSkKKyAgICAgICAgYXNzZXJ0IEZhbHNlCisKKyAgICBkZWYgY3JlYXRlX3BhdGNo
KHNlbGYsIHBhdGNoX25hbWUsIG1lc3NhZ2UpOgorICAgICAgICAjIEluIGdpdCBhIHBhdGNoIGlz
IGFjdHVhbGx5IGEgY29tbWl0CisgICAgICAgIHNlbGYubWVzc2FnZSA9IG1lc3NhZ2UKKworICAg
IGRlZiB1cGRhdGVfcGF0Y2goc2VsZiwgaW5jbHVkZT1Ob25lKToKKyAgICAgICAgIiIiQ29tbWl0
IHRoZSBzdGFnZWQgY2hhbmdlcywgb3IgY2hhbmdlcyB0byBsaXN0ZWQgZmlsZXMuCisKKyAgICAg
ICAgOnBhcmFtIGluY2x1ZGU6IEVpdGhlciBOb25lLCB0byBjb21taXQgc3RhZ2VkIGNoYW5nZXMs
IG9yIGEgbGlzdAorICAgICAgICAgICAgICAgICAgICAgICAgb2YgZmlsZW5hbWVzICh3aGljaCBt
dXN0IGFscmVhZHkgYmUgaW4gdGhlIHJlcG8pCisgICAgICAgICAgICAgICAgICAgICAgICB0byBj
b21taXQKKyAgICAgICAgIiIiCisgICAgICAgIGlmIGluY2x1ZGUgaXMgbm90IE5vbmU6CisgICAg
ICAgICAgICBhcmdzID0gdHVwbGUoaW5jbHVkZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAg
IGFyZ3MgPSAoKQorCisgICAgICAgIGlmIHNlbGYuZ2l0KCJzdGF0dXMiLCAiLXVubyIsICIteiIs
ICphcmdzKS5zdHJpcCgpOgorICAgICAgICAgICAgc2VsZi5naXQoImFkZCIsICphcmdzKQorICAg
ICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBkZWYgY29t
bWl0X3BhdGNoKHNlbGYpOgorICAgICAgICBhc3NlcnQgc2VsZi5tZXNzYWdlIGlzIG5vdCBOb25l
CisKKyAgICAgICAgaWYgc2VsZi5naXQoImRpZmYiLCAiLS1uYW1lLW9ubHkiLCAiLS1zdGFnZWQi
LCAiLXoiKS5zdHJpcCgpOgorICAgICAgICAgICAgc2VsZi5naXQoImNvbW1pdCIsICItbSIsIHNl
bGYubWVzc2FnZSkKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgcmV0dXJuIEZh
bHNlCisKKyAgICBkZWYgaW5pdChzZWxmKToKKyAgICAgICAgc2VsZi5naXQoImluaXQiKQorICAg
ICAgICBhc3NlcnQgdmNzLmlzX2dpdF9yb290KHNlbGYucm9vdCkKKworICAgIGRlZiBjaGVja291
dChzZWxmLCByZXYsIGJyYW5jaD1Ob25lLCBmb3JjZT1GYWxzZSk6CisgICAgICAgICIiIkNoZWNr
b3V0IGEgcGFydGljdWxhciByZXZpc2lvbiwgb3B0aW9uYWxseSBpbnRvIGEgbmFtZWQgYnJhbmNo
LgorCisgICAgICAgIDpwYXJhbSByZXY6IFJldmlzaW9uIGlkZW50aWZpZXIgKGUuZy4gU0hBMSkg
dG8gY2hlY2tvdXQKKyAgICAgICAgOnBhcmFtIGJyYW5jaDogQnJhbmNoIG5hbWUgdG8gdXNlCisg
ICAgICAgIDpwYXJhbSBmb3JjZTogRm9yY2UtY2hlY2tvdXQKKyAgICAgICAgIiIiCisgICAgICAg
IGFzc2VydCByZXYgaXMgbm90IE5vbmUKKworICAgICAgICBhcmdzID0gW10KKyAgICAgICAgaWYg
YnJhbmNoOgorICAgICAgICAgICAgYnJhbmNoZXMgPSBbcmVmW2xlbigicmVmcy9oZWFkcy8iKTpd
IGZvciBzaGExLCByZWYgaW4gc2VsZi5saXN0X3JlZnMoKQorICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgcmVmLnN0YXJ0c3dpdGgoInJlZnMvaGVhZHMvIildCisgICAgICAgICAgICBicmFuY2gg
PSBnZXRfdW5pcXVlX25hbWUoYnJhbmNoZXMsIGJyYW5jaCkKKworICAgICAgICAgICAgYXJncyAr
PSBbIi1iIiwgYnJhbmNoXQorCisgICAgICAgIGlmIGZvcmNlOgorICAgICAgICAgICAgYXJncy5h
cHBlbmQoIi1mIikKKyAgICAgICAgYXJncy5hcHBlbmQocmV2KQorICAgICAgICBzZWxmLmdpdCgi
Y2hlY2tvdXQiLCAqYXJncykKKworICAgIGRlZiB1cGRhdGUoc2VsZiwgcmVtb3RlLCByZW1vdGVf
YnJhbmNoLCBsb2NhbF9icmFuY2gpOgorICAgICAgICAiIiJGZXRjaCBmcm9tIHRoZSByZW1vdGUg
YW5kIGNoZWNrb3V0IGludG8gYSBsb2NhbCBicmFuY2guCisKKyAgICAgICAgOnBhcmFtIHJlbW90
ZTogVVJMIHRvIHRoZSByZW1vdGUgcmVwb3NpdG9yeQorICAgICAgICA6cGFyYW0gcmVtb3RlX2Jy
YW5jaDogQnJhbmNoIG9uIHRoZSByZW1vdGUgcmVwb3NpdG9yeSB0byBjaGVjayBvdXQKKyAgICAg
ICAgOnBhcmFtIGxvY2FsX2JyYW5jaDogTG9jYWwgYnJhbmNoIG5hbWUgdG8gY2hlY2sgb3V0IGlu
dG8KKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5vdCB2Y3MuaXNfZ2l0X3Jvb3Qoc2VsZi5yb290
KToKKyAgICAgICAgICAgIHNlbGYuaW5pdCgpCisgICAgICAgIHNlbGYuZ2l0KCJjbGVhbiIsICIt
eGRmIikKKyAgICAgICAgc2VsZi5naXQoImZldGNoIiwgcmVtb3RlLCAiJXM6JXMiICUgKHJlbW90
ZV9icmFuY2gsIGxvY2FsX2JyYW5jaCkpCisgICAgICAgIHNlbGYuY2hlY2tvdXQobG9jYWxfYnJh
bmNoKQorICAgICAgICBzZWxmLmdpdCgic3VibW9kdWxlIiwgInVwZGF0ZSIsICItLWluaXQiLCAi
LS1yZWN1cnNpdmUiKQorCisgICAgZGVmIGNsZWFuKHNlbGYpOgorICAgICAgICBzZWxmLmdpdCgi
Y2hlY2tvdXQiLCBzZWxmLnJldikKKyAgICAgICAgc2VsZi5naXQoImJyYW5jaCIsICItRCIsIHNl
bGYubG9jYWxfYnJhbmNoKQorCisgICAgZGVmIHBhdGhzKHNlbGYpOgorICAgICAgICAiIiJMaXN0
IHBhdGhzIGluIHRoZSB0cmVlIiIiCisgICAgICAgIHJlcG9fcGF0aHMgPSBbc2VsZi5yb290XSAr
ICBbb3MucGF0aC5qb2luKHNlbGYucm9vdCwgcGF0aCkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLnN1Ym1vZHVsZXMoKV0KKworICAgICAgICBy
diA9IFtdCisKKyAgICAgICAgZm9yIHJlcG9fcGF0aCBpbiByZXBvX3BhdGhzOgorICAgICAgICAg
ICAgcGF0aHMgPSB2Y3MuZ2l0KCJscy10cmVlIiwgIi1yIiwgIi0tbmFtZS1vbmx5IiwgIkhFQUQi
LCByZXBvPXJlcG9fcGF0aCkuc3BsaXQoIlxuIikKKyAgICAgICAgICAgIHJlbF9wYXRoID0gb3Mu
cGF0aC5yZWxwYXRoKHJlcG9fcGF0aCwgc2VsZi5yb290KQorICAgICAgICAgICAgcnYuZXh0ZW5k
KG9zLnBhdGguam9pbihyZWxfcGF0aCwgaXRlbS5zdHJpcCgpKSBmb3IgaXRlbSBpbiBwYXRocyBp
ZiBpdGVtLnN0cmlwKCkpCisKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgc3VibW9kdWxl
cyhzZWxmKToKKyAgICAgICAgIiIiTGlzdCBzdWJtb2R1bGUgZGlyZWN0b3JpZXMiIiIKKyAgICAg
ICAgb3V0cHV0ID0gc2VsZi5naXQoInN1Ym1vZHVsZSIsICJzdGF0dXMiLCAiLS1yZWN1cnNpdmUi
KQorICAgICAgICBydiA9IFtdCisgICAgICAgIGZvciBsaW5lIGluIG91dHB1dC5zcGxpdCgiXG4i
KToKKyAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKKyAgICAgICAgICAgIGlmIG5vdCBs
aW5lOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBwYXJ0cyA9IGxpbmUu
c3BsaXQoIiAiKQorICAgICAgICAgICAgcnYuYXBwZW5kKHBhcnRzWzFdKQorICAgICAgICByZXR1
cm4gcnYKKworICAgIGRlZiBjb250YWluc19jb21taXQoc2VsZiwgY29tbWl0KToKKyAgICAgICAg
dHJ5OgorICAgICAgICAgICAgc2VsZi5naXQoInJldi1wYXJzZSIsICItLXZlcmlmeSIsIGNvbW1p
dC5zaGExKQorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nl
c3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKworY2xh
c3MgQ29tbWl0TWVzc2FnZShvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXh0KToK
KyAgICAgICAgc2VsZi50ZXh0ID0gdGV4dAorICAgICAgICBzZWxmLl9wYXJzZV9tZXNzYWdlKCkK
KworICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi50ZXh0CisKKyAg
ICBkZWYgX3BhcnNlX21lc3NhZ2Uoc2VsZik6CisgICAgICAgIGxpbmVzID0gc2VsZi50ZXh0LnNw
bGl0bGluZXMoKQorICAgICAgICBzZWxmLmZ1bGxfc3VtbWFyeSA9IGxpbmVzWzBdCisgICAgICAg
IHNlbGYuYm9keSA9ICJcbiIuam9pbihsaW5lc1sxOl0pCisKKworY2xhc3MgQ29tbWl0KG9iamVj
dCk6CisgICAgbXNnX2NscyA9IENvbW1pdE1lc3NhZ2UKKworICAgIF9zaGExX3JlID0gcmUuY29t
cGlsZSgiXlswLTlhLWZdezQwfSQiKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRyZWUsIHNo
YTEpOgorICAgICAgICAiIiJPYmplY3QgcmVwcmVzZW50aW5nIGEgY29tbWl0IGluIGEgc3BlY2lm
aWMgR2l0VHJlZS4KKworICAgICAgICA6cGFyYW0gdHJlZTogR2l0VHJlZSB0byB3aGljaCB0aGlz
IGNvbW1pdCBiZWxvbmdzLgorICAgICAgICA6cGFyYW0gc2hhMTogRnVsbCBzaGExIHN0cmluZyBm
b3IgdGhlIGNvbW1pdAorICAgICAgICAiIiIKKyAgICAgICAgYXNzZXJ0IHNlbGYuX3NoYTFfcmUu
bWF0Y2goc2hhMSkKKworICAgICAgICBzZWxmLnRyZWUgPSB0cmVlCisgICAgICAgIHNlbGYuZ2l0
ID0gdHJlZS5naXQKKyAgICAgICAgc2VsZi5zaGExID0gc2hhMQorICAgICAgICBzZWxmLmF1dGhv
ciwgc2VsZi5lbWFpbCwgc2VsZi5tZXNzYWdlID0gc2VsZi5fZ2V0X21ldGEoKQorCisgICAgZGVm
IF9fZ2V0c3RhdGVfXyhzZWxmKToKKyAgICAgICAgcnYgPSBzZWxmLl9fZGljdF9fLmNvcHkoKQor
ICAgICAgICBkZWwgcnZbJ2dpdCddCisgICAgICAgIHJldHVybiBydgorCisgICAgZGVmIF9fc2V0
c3RhdGVfXyhzZWxmLCBkaWN0KToKKyAgICAgICAgc2VsZi5fX2RpY3RfXy51cGRhdGUoZGljdCkK
KyAgICAgICAgc2VsZi5naXQgPSBzZWxmLnRyZWUuZ2l0CisKKyAgICBkZWYgX2dldF9tZXRhKHNl
bGYpOgorICAgICAgICBhdXRob3IsIGVtYWlsLCBtZXNzYWdlID0gc2VsZi5naXQoInNob3ciLCAi
LXMiLCAiLS1mb3JtYXQ9Zm9ybWF0OiVhblxuJWFlXG4lQiIsIHNlbGYuc2hhMSkuc3BsaXQoIlxu
IiwgMikKKyAgICAgICAgcmV0dXJuIGF1dGhvciwgZW1haWwsIHNlbGYubXNnX2NscyhtZXNzYWdl
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS91cGRhdGUucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvdXBkYXRlL3VwZGF0ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTVlN2FiNzNkNGJmMTMyMzA1NGFhOTIw
NTlhYjhkYTZhMWJjYjgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS91
cGRhdGUucHkKQEAgLTAsMCArMSwxNTcgQEAKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmcm9t
IG1ldGFkYXRhIGltcG9ydCBNZXRhZGF0YVVwZGF0ZVJ1bm5lcgorZnJvbSBzeW5jIGltcG9ydCBT
eW5jRnJvbVVwc3RyZWFtUnVubmVyCitmcm9tIHRyZWUgaW1wb3J0IEdpdFRyZWUsIEhnVHJlZSwg
Tm9WQ1NUcmVlCisKK2Zyb20gLi4gaW1wb3J0IGVudmlyb25tZW50IGFzIGVudgorZnJvbSBiYXNl
IGltcG9ydCBTdGVwLCBTdGVwUnVubmVyLCBleGl0X2NsZWFuLCBleGl0X3VuY2xlYW4KK2Zyb20g
c3RhdGUgaW1wb3J0IFN0YXRlCisKK2RlZiBzZXR1cF9wYXRocyhzeW5jX3BhdGgpOgorICAgIHN5
cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmFic3BhdGgoc3luY19wYXRoKSkKKyAgICB0cnk6Cisg
ICAgICAgIGZyb20gdG9vbHMgaW1wb3J0IGxvY2FscGF0aHMKKyAgICBleGNlcHQgSW1wb3J0RXJy
b3I6CisgICAgICAgIGZyb20gd3B0X3Rvb2xzIGltcG9ydCBsb2NhbHBhdGhzCisKK2NsYXNzIExv
YWRDb25maWcoU3RlcCk6CisgICAgIiIiU3RlcCBmb3IgbG9hZGluZyBjb25maWd1cmF0aW9uIGZy
b20gdGhlIGluaSBmaWxlIGFuZCBrd2FyZ3MuIiIiCisKKyAgICBwcm92aWRlcyA9IFsic3luYyIs
ICJwYXRocyIsICJtZXRhZGF0YV9wYXRoIiwgInRlc3RzX3BhdGgiXQorCisgICAgZGVmIGNyZWF0
ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIHN0YXRlLnN5bmMgPSB7InJlbW90ZV91cmwiOiBzdGF0
ZS5rd2FyZ3NbInJlbW90ZV91cmwiXSwKKyAgICAgICAgICAgICAgICAgICAgICAiYnJhbmNoIjog
c3RhdGUua3dhcmdzWyJicmFuY2giXSwKKyAgICAgICAgICAgICAgICAgICAgICAicGF0aCI6IHN0
YXRlLmt3YXJnc1sic3luY19wYXRoIl19CisKKyAgICAgICAgc3RhdGUucGF0aHMgPSBzdGF0ZS5r
d2FyZ3NbInRlc3RfcGF0aHMiXQorICAgICAgICBzdGF0ZS50ZXN0c19wYXRoID0gc3RhdGUucGF0
aHNbIi8iXVsidGVzdHNfcGF0aCJdCisgICAgICAgIHN0YXRlLm1ldGFkYXRhX3BhdGggPSBzdGF0
ZS5wYXRoc1siLyJdWyJtZXRhZGF0YV9wYXRoIl0KKworICAgICAgICBhc3NlcnQgc3RhdGUudGVz
dHNfcGF0aC5zdGFydHN3aXRoKCIvIikKKworCitjbGFzcyBMb2FkVHJlZXMoU3RlcCk6CisgICAg
IiIiU3RlcCBmb3IgY3JlYXRpbmcgYSBUcmVlIGZvciB0aGUgbG9jYWwgY29weSBhbmQgYSBHaXRU
cmVlIGZvciB0aGUKKyAgICB1cHN0cmVhbSBzeW5jLiIiIgorCisgICAgcHJvdmlkZXMgPSBbImxv
Y2FsX3RyZWUiLCAic3luY190cmVlIl0KKworICAgIGRlZiBjcmVhdGUoc2VsZiwgc3RhdGUpOgor
ICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzdGF0ZS5zeW5jWyJwYXRoIl0pOgorICAgICAgICAg
ICAgc3luY190cmVlID0gR2l0VHJlZShyb290PXN0YXRlLnN5bmNbInBhdGgiXSkKKyAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgIHN5bmNfdHJlZSA9IE5vbmUKKworICAgICAgICBpZiBHaXRUcmVl
LmlzX3R5cGUoKToKKyAgICAgICAgICAgIGxvY2FsX3RyZWUgPSBHaXRUcmVlKCkKKyAgICAgICAg
ZWxpZiBIZ1RyZWUuaXNfdHlwZSgpOgorICAgICAgICAgICAgbG9jYWxfdHJlZSA9IEhnVHJlZSgp
CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBsb2NhbF90cmVlID0gTm9WQ1NUcmVlKCkKKwor
ICAgICAgICBzdGF0ZS51cGRhdGUoeyJsb2NhbF90cmVlIjogbG9jYWxfdHJlZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAic3luY190cmVlIjogc3luY190cmVlfSkKKworCitjbGFzcyBTeW5jRnJv
bVVwc3RyZWFtKFN0ZXApOgorICAgICIiIlN0ZXAgdGhhdCBzeW5jaHJvbmlzZXMgYSBsb2NhbCBj
b3B5IG9mIHRoZSBjb2RlIHdpdGggdXBzdHJlYW0uIiIiCisKKyAgICBkZWYgY3JlYXRlKHNlbGYs
IHN0YXRlKToKKyAgICAgICAgaWYgbm90IHN0YXRlLmt3YXJnc1sic3luYyJdOgorICAgICAgICAg
ICAgcmV0dXJuCisKKyAgICAgICAgaWYgbm90IHN0YXRlLnN5bmNfdHJlZToKKyAgICAgICAgICAg
IG9zLm1rZGlyKHN0YXRlLnN5bmNbInBhdGgiXSkKKyAgICAgICAgICAgIHN0YXRlLnN5bmNfdHJl
ZSA9IEdpdFRyZWUocm9vdD1zdGF0ZS5zeW5jWyJwYXRoIl0pCisKKyAgICAgICAga3dhcmdzID0g
c3RhdGUua3dhcmdzCisgICAgICAgIHdpdGggc3RhdGUucHVzaChbInN5bmMiLCAicGF0aHMiLCAi
bWV0YWRhdGFfcGF0aCIsICJ0ZXN0c19wYXRoIiwgImxvY2FsX3RyZWUiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICJzeW5jX3RyZWUiXSk6CisgICAgICAgICAgICBzdGF0ZS50YXJnZXRfcmV2
ID0ga3dhcmdzWyJyZXYiXQorICAgICAgICAgICAgc3RhdGUubm9fcGF0Y2ggPSBrd2FyZ3NbIm5v
X3BhdGNoIl0KKyAgICAgICAgICAgIHN0YXRlLnN1aXRlX25hbWUgPSBrd2FyZ3NbInN1aXRlX25h
bWUiXQorICAgICAgICAgICAgcnVubmVyID0gU3luY0Zyb21VcHN0cmVhbVJ1bm5lcihzZWxmLmxv
Z2dlciwgc3RhdGUpCisgICAgICAgICAgICBydW5uZXIucnVuKCkKKworCitjbGFzcyBVcGRhdGVN
ZXRhZGF0YShTdGVwKToKKyAgICAiIiJVcGRhdGUgdGhlIGV4cGVjdGF0aW9uIG1ldGFkYXRhIGZy
b20gYSBzZXQgb2YgcnVuIGxvZ3MiIiIKKworICAgIGRlZiBjcmVhdGUoc2VsZiwgc3RhdGUpOgor
ICAgICAgICBpZiBub3Qgc3RhdGUua3dhcmdzWyJydW5fbG9nIl06CisgICAgICAgICAgICByZXR1
cm4KKworICAgICAgICBrd2FyZ3MgPSBzdGF0ZS5rd2FyZ3MKKyAgICAgICAgd2l0aCBzdGF0ZS5w
dXNoKFsibG9jYWxfdHJlZSIsICJzeW5jX3RyZWUiLCAicGF0aHMiLCAic2VydmVfcm9vdCJdKToK
KyAgICAgICAgICAgIHN0YXRlLnJ1bl9sb2cgPSBrd2FyZ3NbInJ1bl9sb2ciXQorICAgICAgICAg
ICAgc3RhdGUuaWdub3JlX2V4aXN0aW5nID0ga3dhcmdzWyJpZ25vcmVfZXhpc3RpbmciXQorICAg
ICAgICAgICAgc3RhdGUubm9fcGF0Y2ggPSBrd2FyZ3NbIm5vX3BhdGNoIl0KKyAgICAgICAgICAg
IHN0YXRlLnN1aXRlX25hbWUgPSBrd2FyZ3NbInN1aXRlX25hbWUiXQorICAgICAgICAgICAgc3Rh
dGUucHJvZHVjdCA9IGt3YXJnc1sicHJvZHVjdCJdCisgICAgICAgICAgICBzdGF0ZS5jb25maWcg
PSBrd2FyZ3NbImNvbmZpZyJdCisgICAgICAgICAgICBydW5uZXIgPSBNZXRhZGF0YVVwZGF0ZVJ1
bm5lcihzZWxmLmxvZ2dlciwgc3RhdGUpCisgICAgICAgICAgICBydW5uZXIucnVuKCkKKworCitj
bGFzcyBVcGRhdGVSdW5uZXIoU3RlcFJ1bm5lcik6CisgICAgIiIiUnVubmVyIGZvciBkb2luZyBh
biBvdmVyYWxsIHVwZGF0ZS4iIiIKKyAgICBzdGVwcyA9IFtMb2FkQ29uZmlnLAorICAgICAgICAg
ICAgIExvYWRUcmVlcywKKyAgICAgICAgICAgICBTeW5jRnJvbVVwc3RyZWFtLAorICAgICAgICAg
ICAgIFVwZGF0ZU1ldGFkYXRhXQorCisKK2NsYXNzIFdQVFVwZGF0ZShvYmplY3QpOgorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIHJ1bm5lcl9jbHM9VXBkYXRlUnVubmVyLCAqKmt3YXJn
cyk6CisgICAgICAgICIiIk9iamVjdCB0aGF0IGNvbnRyb2xzIHRoZSBydW5uaW5nIG9mIGEgd2hv
bGUgd3B0dXBkYXRlLgorCisgICAgICAgIDpwYXJhbSBydW5uZXJfY2xzOiBSdW5uZXIgc3ViY2xh
c3MgaG9sZGluZyB0aGUgb3ZlcmFsbCBsaXN0IG9mCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdGVwcyB0byBydW4uCisgICAgICAgIDpwYXJhbSBrd2FyZ3M6IENvbW1hbmQgbGluZSBhcmd1
bWVudHMKKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYucnVubmVyX2NscyA9IHJ1bm5lcl9jbHMK
KyAgICAgICAgc2VsZi5zZXJ2ZV9yb290ID0ga3dhcmdzWyJ0ZXN0X3BhdGhzIl1bIi8iXVsidGVz
dHNfcGF0aCJdCisKKyAgICAgICAgaWYgbm90IGt3YXJnc1sic3luYyJdOgorICAgICAgICAgICAg
c2V0dXBfcGF0aHMoc2VsZi5zZXJ2ZV9yb290KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAg
aWYgb3MucGF0aC5leGlzdHMoa3dhcmdzWyJzeW5jX3BhdGgiXSk6CisgICAgICAgICAgICAgICAg
IyBJZiB0aGUgc3luYyBwYXRoIGRvZXNuJ3QgZXhpc3Qgd2UgZGVmZXIgdGhpcyB1bnRpbCBpdCBk
b2VzCisgICAgICAgICAgICAgICAgc2V0dXBfcGF0aHMoa3dhcmdzWyJzeW5jX3BhdGgiXSkKKwor
ICAgICAgICBzZWxmLnN0YXRlID0gU3RhdGUobG9nZ2VyKQorICAgICAgICBzZWxmLmt3YXJncyA9
IGt3YXJncworICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgorCisgICAgZGVmIHJ1bihzZWxm
LCAqKmt3YXJncyk6CisgICAgICAgIGlmIHNlbGYua3dhcmdzWyJhYm9ydCJdOgorICAgICAgICAg
ICAgc2VsZi5hYm9ydCgpCisgICAgICAgICAgICByZXR1cm4gZXhpdF9jbGVhbgorCisgICAgICAg
IGlmIG5vdCBzZWxmLmt3YXJnc1siY29udGludWUiXSBhbmQgbm90IHNlbGYuc3RhdGUuaXNfZW1w
dHkoKToKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKCJGb3VuZCBleGlzdGluZyBzdGF0
ZS4gUnVuIHdpdGggLS1jb250aW51ZSB0byByZXN1bWUgb3IgLS1hYm9ydCB0byBjbGVhciBzdGF0
ZSIpCisgICAgICAgICAgICByZXR1cm4gZXhpdF91bmNsZWFuCisKKyAgICAgICAgaWYgc2VsZi5r
d2FyZ3NbImNvbnRpbnVlIl06CisgICAgICAgICAgICBpZiBzZWxmLnN0YXRlLmlzX2VtcHR5KCk6
CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IoIk5vIHN5bmMgaW4gcHJvZ3Jlc3M/
IikKKyAgICAgICAgICAgICAgICByZXR1cm4gZXhpdF9jbGVhbgorCisgICAgICAgICAgICBzZWxm
Lmt3YXJncyA9IHNlbGYuc3RhdGUua3dhcmdzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBz
ZWxmLnN0YXRlLmt3YXJncyA9IHNlbGYua3dhcmdzCisKKyAgICAgICAgc2VsZi5zdGF0ZS5zZXJ2
ZV9yb290ID0gc2VsZi5zZXJ2ZV9yb290CisKKyAgICAgICAgdXBkYXRlX3J1bm5lciA9IHNlbGYu
cnVubmVyX2NscyhzZWxmLmxvZ2dlciwgc2VsZi5zdGF0ZSkKKyAgICAgICAgcnYgPSB1cGRhdGVf
cnVubmVyLnJ1bigpCisgICAgICAgIGlmIHJ2IGluIChleGl0X2NsZWFuLCBOb25lKToKKyAgICAg
ICAgICAgIHNlbGYuc3RhdGUuY2xlYXIoKQorCisgICAgICAgIHJldHVybiBydgorCisgICAgZGVm
IGFib3J0KHNlbGYpOgorICAgICAgICBzZWxmLnN0YXRlLmNsZWFyKCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci91cGRhdGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3cz
Yy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzZGVmYzg3Mjk0NjkzMjEwYTVmMDk5Yjc3N2YyMmYy
MjU5OTc1N2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3czYy1pbXBv
cnQubG9nCkBAIC0wLDAgKzEsMjMgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgor
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
K05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvX19p
bml0X18ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL2Jhc2UucHkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBk
YXRlL21ldGFkYXRhLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zdGF0ZS5weQorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci91cGRhdGUvc3luYy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvdHJlZS5weQorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci91cGRhdGUvdXBkYXRlLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdmNzLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3Zjcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNmQ1M2FmYzhiZTYyNDk2MWYwNTll
ZWZkNmYyZjQ2YjFkZmMwZTA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Zjcy5w
eQpAQCAtMCwwICsxLDQ5IEBACitpbXBvcnQgc3VicHJvY2VzcworZnJvbSBmdW5jdG9vbHMgaW1w
b3J0IHBhcnRpYWwKKworZnJvbSBtb3psb2cgaW1wb3J0IGdldF9kZWZhdWx0X2xvZ2dlcgorCits
b2dnZXIgPSBOb25lCisKK2RlZiB2Y3MoYmluX25hbWUpOgorICAgIGRlZiBpbm5lcihjb21tYW5k
LCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBnbG9iYWwgbG9nZ2VyCisKKyAgICAgICAgaWYg
bG9nZ2VyIGlzIE5vbmU6CisgICAgICAgICAgICBsb2dnZXIgPSBnZXRfZGVmYXVsdF9sb2dnZXIo
InZjcyIpCisKKyAgICAgICAgcmVwbyA9IGt3YXJncy5wb3AoInJlcG8iLCBOb25lKQorICAgICAg
ICBsb2dfZXJyb3IgPSBrd2FyZ3MucG9wKCJsb2dfZXJyb3IiLCBUcnVlKQorICAgICAgICBpZiBr
d2FyZ3M6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IsIGt3YXJncworCisgICAgICAgIGFy
Z3MgPSBsaXN0KGFyZ3MpCisKKyAgICAgICAgcHJvY19rd2FyZ3MgPSB7fQorICAgICAgICBpZiBy
ZXBvIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcHJvY19rd2FyZ3NbImN3ZCJdID0gcmVwbwor
CisgICAgICAgIGNvbW1hbmRfbGluZSA9IFtiaW5fbmFtZSwgY29tbWFuZF0gKyBhcmdzCisgICAg
ICAgIGxvZ2dlci5kZWJ1ZygiICIuam9pbihjb21tYW5kX2xpbmUpKQorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICByZXR1cm4gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY29tbWFuZF9saW5lLCBz
dGRlcnI9c3VicHJvY2Vzcy5TVERPVVQsICoqcHJvY19rd2FyZ3MpCisgICAgICAgIGV4Y2VwdCBz
dWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAgICAgICAgaWYgbG9nX2Vy
cm9yOgorICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihlLm91dHB1dCkKKyAgICAgICAgICAg
IHJhaXNlCisgICAgcmV0dXJuIGlubmVyCisKK2dpdCA9IHZjcygiZ2l0IikKK2hnID0gdmNzKCJo
ZyIpCisKKworZGVmIGJpbmRfdG9fcmVwbyh2Y3NfZnVuYywgcmVwbyk6CisgICAgcmV0dXJuIHBh
cnRpYWwodmNzX2Z1bmMsIHJlcG89cmVwbykKKworCitkZWYgaXNfZ2l0X3Jvb3QocGF0aCk6Cisg
ICAgdHJ5OgorICAgICAgICBydiA9IGdpdCgicmV2LXBhcnNlIiwgIi0tc2hvdy1jZHVwIiwgcmVw
bz1wYXRoKQorICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKKyAgICAg
ICAgcmV0dXJuIEZhbHNlCisgICAgcmV0dXJuIHJ2ID09ICJcbiIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93M2MtaW1wb3J0LmxvZwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iZTY5ZGJkMWZjMGY3MmZhNTUzNDYyN2ZlZmRhNjI2MWNlOTEyZGNiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsNDAgQEAK
K1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyBy
ZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQu
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8g
Tk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3Bl
cnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9m
IGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9fX2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9jb25maWcu
anNvbgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9jb25maWcucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZW52aXJvbm1lbnQu
cHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvZXhwZWN0ZWQucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvaG9zdHMucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvbWFuaWZlc3RleHBlY3RlZC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tYW5pZmVzdGlu
Y2x1ZGUucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3R1cGRhdGUucHkKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
bWV0YWRhdGEucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvcHJvZHVjdHMucHkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvcmVk
dWNlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzX3J1bm5lci5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3Rlc3RoYXJuZXNzcmVwb3J0LXNlcnZvLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNz
cmVwb3J0LXNlcnZvZHJpdmVyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3Rlc3Rsb2FkZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHJ1bm5lci5w
eQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci92Y3MucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd2ViZHJpdmVyX3NlcnZlci5w
eQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci93cHRjb21tYW5kbGluZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRsb2dn
aW5nLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3dwdHJ1bm5lci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHR0ZXN0
LnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd2ViZHJpdmVyX3NlcnZlci5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci93ZWJkcml2ZXJfc2VydmVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5ZDljNzNiNTJlNWVkMTEz
ZmYxMWY5YTY0NjUwMThiZjBmMWQ2MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
d2ViZHJpdmVyX3NlcnZlci5weQpAQCAtMCwwICsxLDIzMyBAQAoraW1wb3J0IGFiYworaW1wb3J0
IGVycm5vCitpbXBvcnQgb3MKK2ltcG9ydCBwbGF0Zm9ybQoraW1wb3J0IHNvY2tldAoraW1wb3J0
IHRocmVhZGluZworaW1wb3J0IHRpbWUKK2ltcG9ydCB0cmFjZWJhY2sKK2ltcG9ydCB1cmxwYXJz
ZQorCitpbXBvcnQgbW96cHJvY2VzcworCisKK19fYWxsX18gPSBbIlNlbGVuaXVtU2VydmVyIiwg
IkNocm9tZURyaXZlclNlcnZlciIsCisgICAgICAgICAgICJHZWNrb0RyaXZlclNlcnZlciIsICJT
ZXJ2b0RyaXZlclNlcnZlciIsCisgICAgICAgICAgICJXZWJEcml2ZXJTZXJ2ZXIiXQorCisKK2Ns
YXNzIFdlYkRyaXZlclNlcnZlcihvYmplY3QpOgorICAgIF9fbWV0YWNsYXNzX18gPSBhYmMuQUJD
TWV0YQorCisgICAgZGVmYXVsdF9iYXNlX3BhdGggPSAiLyIKKyAgICBfdXNlZF9wb3J0cyA9IHNl
dCgpCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBiaW5hcnksIGhvc3Q9IjEyNy4w
LjAuMSIsIHBvcnQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgYmFzZV9wYXRoPSIiLCBlbnY9Tm9u
ZSwgYXJncz1Ob25lKToKKyAgICAgICAgaWYgYmluYXJ5IGlzIE5vbmU6CisgICAgICAgICAgICBy
YWlzZSBWYWx1ZUVycm9yKCJXZWJEcml2ZXIgc2VydmVyIGJpbmFyeSBtdXN0IGJlIGdpdmVuICIK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvIC0td2ViZHJpdmVyLWJpbmFyeSBhcmd1
bWVudCIpCisKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIKKyAgICAgICAgc2VsZi5iaW5h
cnkgPSBiaW5hcnkKKyAgICAgICAgc2VsZi5ob3N0ID0gaG9zdAorICAgICAgICBpZiBiYXNlX3Bh
dGggPT0gIiI6CisgICAgICAgICAgICBzZWxmLmJhc2VfcGF0aCA9IHNlbGYuZGVmYXVsdF9iYXNl
X3BhdGgKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYmFzZV9wYXRoID0gYmFzZV9w
YXRoCisgICAgICAgIHNlbGYuZW52ID0gb3MuZW52aXJvbi5jb3B5KCkgaWYgZW52IGlzIE5vbmUg
ZWxzZSBlbnYKKworICAgICAgICBzZWxmLl9wb3J0ID0gcG9ydAorICAgICAgICBzZWxmLl9jbWQg
PSBOb25lCisgICAgICAgIHNlbGYuX2FyZ3MgPSBhcmdzIGlmIGFyZ3MgaXMgbm90IE5vbmUgZWxz
ZSBbXQorICAgICAgICBzZWxmLl9wcm9jID0gTm9uZQorCisgICAgQGFiYy5hYnN0cmFjdG1ldGhv
ZAorICAgIGRlZiBtYWtlX2NvbW1hbmQoc2VsZik6CisgICAgICAgICIiIlJldHVybnMgdGhlIGZ1
bGwgY29tbWFuZCBmb3Igc3RhcnRpbmcgdGhlIHNlcnZlciBwcm9jZXNzIGFzIGEgbGlzdC4iIiIK
KworICAgIGRlZiBzdGFydChzZWxmLCBibG9jaz1GYWxzZSk6CisgICAgICAgIHRyeToKKyAgICAg
ICAgICAgIHNlbGYuX3J1bihibG9jaykKKyAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0
OgorICAgICAgICAgICAgc2VsZi5zdG9wKCkKKworICAgIGRlZiBfcnVuKHNlbGYsIGJsb2NrKToK
KyAgICAgICAgc2VsZi5fY21kID0gc2VsZi5tYWtlX2NvbW1hbmQoKQorICAgICAgICBzZWxmLl9w
cm9jID0gbW96cHJvY2Vzcy5Qcm9jZXNzSGFuZGxlcigKKyAgICAgICAgICAgIHNlbGYuX2NtZCwK
KyAgICAgICAgICAgIHByb2Nlc3NPdXRwdXRMaW5lPXNlbGYub25fb3V0cHV0LAorICAgICAgICAg
ICAgZW52PXNlbGYuZW52LAorICAgICAgICAgICAgc3RvcmVPdXRwdXQ9RmFsc2UpCisKKyAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5fcHJvYy5ydW4oKQorICAgICAgICBleGNlcHQgT1NF
cnJvciBhcyBlOgorICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FTk9FTlQ6CisgICAg
ICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigKKyAgICAgICAgICAgICAgICAgICAgIldlYkRyaXZl
ciBIVFRQIHNlcnZlciBleGVjdXRhYmxlIG5vdCBmb3VuZDogJXMiICUgc2VsZi5iaW5hcnkpCisg
ICAgICAgICAgICByYWlzZQorCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKAorICAgICAgICAg
ICAgIldhaXRpbmcgZm9yIHNlcnZlciB0byBiZWNvbWUgYWNjZXNzaWJsZTogJXMiICUgc2VsZi51
cmwpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdhaXRfZm9yX3NlcnZpY2UoKHNlbGYuaG9z
dCwgc2VsZi5wb3J0KSkKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgc2VsZi5sb2dnZXIu
ZXJyb3IoCisgICAgICAgICAgICAgICAgIldlYkRyaXZlciBIVFRQIHNlcnZlciB3YXMgbm90IGFj
Y2Vzc2libGUgIgorICAgICAgICAgICAgICAgICJ3aXRoaW4gdGhlIHRpbWVvdXQ6XG4lcyIgJSB0
cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICAgICAgcmFpc2UKKworICAgICAgICBpZiBi
bG9jazoKKyAgICAgICAgICAgIHNlbGYuX3Byb2Mud2FpdCgpCisKKyAgICBkZWYgc3RvcChzZWxm
LCBmb3JjZT1GYWxzZSk6CisgICAgICAgIGlmIHNlbGYuaXNfYWxpdmU6CisgICAgICAgICAgICBy
ZXR1cm4gc2VsZi5fcHJvYy5raWxsKCkKKyAgICAgICAgcmV0dXJuIG5vdCBzZWxmLmlzX2FsaXZl
CisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgIHJldHVy
biBoYXNhdHRyKHNlbGYuX3Byb2MsICJwcm9jIikgYW5kIHNlbGYuX3Byb2MucG9sbCgpIGlzIE5v
bmUKKworICAgIGRlZiBvbl9vdXRwdXQoc2VsZiwgbGluZSk6CisgICAgICAgIHNlbGYubG9nZ2Vy
LnByb2Nlc3Nfb3V0cHV0KHNlbGYucGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaW5lLmRlY29kZSgidXRmOCIsICJyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbW1hbmQ9IiAiLmpvaW4oc2VsZi5fY21kKSkKKworICAgIEBwcm9w
ZXJ0eQorICAgIGRlZiBwaWQoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX3Byb2MgaXMgbm90IE5v
bmU6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcHJvYy5waWQKKworICAgIEBwcm9wZXJ0eQor
ICAgIGRlZiB1cmwoc2VsZik6CisgICAgICAgIHJldHVybiAiaHR0cDovLyVzOiVpJXMiICUgKHNl
bGYuaG9zdCwgc2VsZi5wb3J0LCBzZWxmLmJhc2VfcGF0aCkKKworICAgIEBwcm9wZXJ0eQorICAg
IGRlZiBwb3J0KHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9wb3J0IGlzIE5vbmU6CisgICAgICAg
ICAgICBzZWxmLl9wb3J0ID0gc2VsZi5fZmluZF9uZXh0X2ZyZWVfcG9ydCgpCisgICAgICAgIHJl
dHVybiBzZWxmLl9wb3J0CisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIF9maW5kX25leHRf
ZnJlZV9wb3J0KCk6CisgICAgICAgIHBvcnQgPSBnZXRfZnJlZV9wb3J0KDQ0NDQsIGV4Y2x1ZGU9
V2ViRHJpdmVyU2VydmVyLl91c2VkX3BvcnRzKQorICAgICAgICBXZWJEcml2ZXJTZXJ2ZXIuX3Vz
ZWRfcG9ydHMuYWRkKHBvcnQpCisgICAgICAgIHJldHVybiBwb3J0CisKKworY2xhc3MgU2VsZW5p
dW1TZXJ2ZXIoV2ViRHJpdmVyU2VydmVyKToKKyAgICBkZWZhdWx0X2Jhc2VfcGF0aCA9ICIvd2Qv
aHViIgorCisgICAgZGVmIG1ha2VfY29tbWFuZChzZWxmKToKKyAgICAgICAgcmV0dXJuIFsiamF2
YSIsICItamFyIiwgc2VsZi5iaW5hcnksICItcG9ydCIsIHN0cihzZWxmLnBvcnQpXSArIHNlbGYu
X2FyZ3MKKworCitjbGFzcyBDaHJvbWVEcml2ZXJTZXJ2ZXIoV2ViRHJpdmVyU2VydmVyKToKKyAg
ICBkZWZhdWx0X2Jhc2VfcGF0aCA9ICIvd2QvaHViIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGxvZ2dlciwgYmluYXJ5PSJjaHJvbWVkcml2ZXIiLCBwb3J0PU5vbmUsCisgICAgICAgICAgICAg
ICAgIGJhc2VfcGF0aD0iIiwgYXJncz1Ob25lKToKKyAgICAgICAgV2ViRHJpdmVyU2VydmVyLl9f
aW5pdF9fKAorICAgICAgICAgICAgc2VsZiwgbG9nZ2VyLCBiaW5hcnksIHBvcnQ9cG9ydCwgYmFz
ZV9wYXRoPWJhc2VfcGF0aCwgYXJncz1hcmdzKQorCisgICAgZGVmIG1ha2VfY29tbWFuZChzZWxm
KToKKyAgICAgICAgcmV0dXJuIFtzZWxmLmJpbmFyeSwKKyAgICAgICAgICAgICAgICBjbWRfYXJn
KCJwb3J0Iiwgc3RyKHNlbGYucG9ydCkpLAorICAgICAgICAgICAgICAgIGNtZF9hcmcoInVybC1i
YXNlIiwgc2VsZi5iYXNlX3BhdGgpIGlmIHNlbGYuYmFzZV9wYXRoIGVsc2UgIiJdICsgc2VsZi5f
YXJncworCisKK2NsYXNzIEVkZ2VEcml2ZXJTZXJ2ZXIoV2ViRHJpdmVyU2VydmVyKToKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBiaW5hcnk9Ik1pY3Jvc29mdFdlYkRyaXZlci5leGUi
LCBwb3J0PU5vbmUsCisgICAgICAgICAgICAgICAgIGJhc2VfcGF0aD0iIiwgaG9zdD0ibG9jYWxo
b3N0IiwgYXJncz1Ob25lKToKKyAgICAgICAgV2ViRHJpdmVyU2VydmVyLl9faW5pdF9fKAorICAg
ICAgICAgICAgc2VsZiwgbG9nZ2VyLCBiaW5hcnksIGhvc3Q9aG9zdCwgcG9ydD1wb3J0LCBhcmdz
PWFyZ3MpCisKKyAgICBkZWYgbWFrZV9jb21tYW5kKHNlbGYpOgorICAgICAgICByZXR1cm4gW3Nl
bGYuYmluYXJ5LAorICAgICAgICAgICAgICAgICItLXBvcnQ9JXMiICUgc3RyKHNlbGYucG9ydCld
ICsgc2VsZi5fYXJncworCisKK2NsYXNzIEdlY2tvRHJpdmVyU2VydmVyKFdlYkRyaXZlclNlcnZl
cik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgbWFyaW9uZXR0ZV9wb3J0PTI4Mjgs
IGJpbmFyeT0iZ2Vja29kcml2ZXIiLAorICAgICAgICAgICAgICAgICBob3N0PSIxMjcuMC4wLjEi
LCBwb3J0PU5vbmUsIGFyZ3M9Tm9uZSk6CisgICAgICAgIGVudiA9IG9zLmVudmlyb24uY29weSgp
CisgICAgICAgIGVudlsiUlVTVF9CQUNLVFJBQ0UiXSA9ICIxIgorICAgICAgICBXZWJEcml2ZXJT
ZXJ2ZXIuX19pbml0X18oc2VsZiwgbG9nZ2VyLCBiaW5hcnksIGhvc3Q9aG9zdCwgcG9ydD1wb3J0
LCBlbnY9ZW52LCBhcmdzPWFyZ3MpCisgICAgICAgIHNlbGYubWFyaW9uZXR0ZV9wb3J0ID0gbWFy
aW9uZXR0ZV9wb3J0CisKKyAgICBkZWYgbWFrZV9jb21tYW5kKHNlbGYpOgorICAgICAgICByZXR1
cm4gW3NlbGYuYmluYXJ5LAorICAgICAgICAgICAgICAgICItLW1hcmlvbmV0dGUtcG9ydCIsIHN0
cihzZWxmLm1hcmlvbmV0dGVfcG9ydCksCisgICAgICAgICAgICAgICAgIi0taG9zdCIsIHNlbGYu
aG9zdCwKKyAgICAgICAgICAgICAgICAiLS1wb3J0Iiwgc3RyKHNlbGYucG9ydCldICsgc2VsZi5f
YXJncworCisKK2NsYXNzIFNlcnZvRHJpdmVyU2VydmVyKFdlYkRyaXZlclNlcnZlcik6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgYmluYXJ5PSJzZXJ2byIsIGJpbmFyeV9hcmdzPU5v
bmUsIGhvc3Q9IjEyNy4wLjAuMSIsIHBvcnQ9Tm9uZSk6CisgICAgICAgIGVudiA9IG9zLmVudmly
b24uY29weSgpCisgICAgICAgIGVudlsiUlVTVF9CQUNLVFJBQ0UiXSA9ICIxIgorICAgICAgICBX
ZWJEcml2ZXJTZXJ2ZXIuX19pbml0X18oc2VsZiwgbG9nZ2VyLCBiaW5hcnksIGhvc3Q9aG9zdCwg
cG9ydD1wb3J0LCBlbnY9ZW52KQorICAgICAgICBzZWxmLmJpbmFyeV9hcmdzID0gYmluYXJ5X2Fy
Z3MKKworICAgIGRlZiBtYWtlX2NvbW1hbmQoc2VsZik6CisgICAgICAgIGNvbW1hbmQgPSBbc2Vs
Zi5iaW5hcnksCisgICAgICAgICAgICAgICAgICAgIi0td2ViZHJpdmVyIiwgc3RyKHNlbGYucG9y
dCksCisgICAgICAgICAgICAgICAgICAgIi0taGFyZC1mYWlsIiwKKyAgICAgICAgICAgICAgICAg
ICAiLS1oZWFkbGVzcyJdICsgc2VsZi5fYXJncworICAgICAgICBpZiBzZWxmLmJpbmFyeV9hcmdz
OgorICAgICAgICAgICAgY29tbWFuZCArPSBzZWxmLmJpbmFyeV9hcmdzCisgICAgICAgIHJldHVy
biBjb21tYW5kCisKKworZGVmIGNtZF9hcmcobmFtZSwgdmFsdWU9Tm9uZSk6CisgICAgcHJlZml4
ID0gIi0iIGlmIHBsYXRmb3JtLnN5c3RlbSgpID09ICJXaW5kb3dzIiBlbHNlICItLSIKKyAgICBy
diA9IHByZWZpeCArIG5hbWUKKyAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKKyAgICAgICAgcnYg
Kz0gIj0iICsgdmFsdWUKKyAgICByZXR1cm4gcnYKKworCitkZWYgZ2V0X2ZyZWVfcG9ydChzdGFy
dF9wb3J0LCBleGNsdWRlPU5vbmUpOgorICAgICIiIkdldCB0aGUgZmlyc3QgcG9ydCBudW1iZXIg
YWZ0ZXIgc3RhcnRfcG9ydCAoaW5jbHVzaXZlKSB0aGF0IGlzCisgICAgbm90IGN1cnJlbnRseSBi
b3VuZC4KKworICAgIDpwYXJhbSBzdGFydF9wb3J0OiBJbnRlZ2VyIHBvcnQgbnVtYmVyIGF0IHdo
aWNoIHRvIHN0YXJ0IHRlc3RpbmcuCisgICAgOnBhcmFtIGV4Y2x1ZGU6IFNldCBvZiBwb3J0IG51
bWJlcnMgdG8gc2tpcCIiIgorICAgIHBvcnQgPSBzdGFydF9wb3J0CisgICAgd2hpbGUgVHJ1ZToK
KyAgICAgICAgaWYgZXhjbHVkZSBhbmQgcG9ydCBpbiBleGNsdWRlOgorICAgICAgICAgICAgcG9y
dCArPSAxCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBzID0gc29ja2V0LnNvY2tldCgp
CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHMuYmluZCgoIjEyNy4wLjAuMSIsIHBvcnQpKQor
ICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICAgICAgcG9ydCArPSAxCisgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gcG9ydAorICAgICAgICBmaW5hbGx5OgorICAg
ICAgICAgICAgcy5jbG9zZSgpCisKKworZGVmIHdhaXRfZm9yX3NlcnZpY2UoYWRkciwgdGltZW91
dD0xNSk6CisgICAgIiIiV2FpdHMgdW50aWwgbmV0d29yayBzZXJ2aWNlIGdpdmVuIGFzIGEgdHVw
bGUgb2YgKGhvc3QsIHBvcnQpIGJlY29tZXMKKyAgICBhdmFpbGFibGUgb3IgdGhlIGB0aW1lb3V0
YCBkdXJhdGlvbiBpcyByZWFjaGVkLCBhdCB3aGljaCBwb2ludAorICAgIGBgc29ja2V0LmVycm9y
YGAgaXMgcmFpc2VkLiIiIgorICAgIGVuZCA9IHRpbWUudGltZSgpICsgdGltZW91dAorICAgIHdo
aWxlIGVuZCA+IHRpbWUudGltZSgpOgorICAgICAgICBzbyA9IHNvY2tldC5zb2NrZXQoKQorICAg
ICAgICB0cnk6CisgICAgICAgICAgICBzby5jb25uZWN0KGFkZHIpCisgICAgICAgIGV4Y2VwdCBz
b2NrZXQudGltZW91dDoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZXhjZXB0IHNvY2tldC5l
cnJvciBhcyBlOgorICAgICAgICAgICAgaWYgZVswXSAhPSBlcnJuby5FQ09OTlJFRlVTRUQ6Cisg
ICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBU
cnVlCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzby5jbG9zZSgpCisgICAgICAgIHRp
bWUuc2xlZXAoMC41KQorICAgIHJhaXNlIHNvY2tldC5lcnJvcigiU2VydmljZSBpcyB1bmF2YWls
YWJsZTogJXM6JWkiICUgYWRkcikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRjb21tYW5k
bGluZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRjb21tYW5kbGluZS5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWQz
YWI5ZmI1MmMzYjE1ZDFmYTgxZjVhNjk0ZjcyMDcxNjA1MWMwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3dwdGNvbW1hbmRsaW5lLnB5CkBAIC0wLDAgKzEsNDU4IEBACitpbXBvcnQg
YXJncGFyc2UKK2ltcG9ydCBhc3QKK2ltcG9ydCBvcworaW1wb3J0IHN5cworZnJvbSBjb2xsZWN0
aW9ucyBpbXBvcnQgT3JkZXJlZERpY3QKK2Zyb20gZGlzdHV0aWxzLnNwYXduIGltcG9ydCBmaW5k
X2V4ZWN1dGFibGUKKworaW1wb3J0IGNvbmZpZworaW1wb3J0IHdwdHRlc3QKKworCitkZWYgYWJz
X3BhdGgocGF0aCk6CisgICAgcmV0dXJuIG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmV4cGFuZHVz
ZXIocGF0aCkpCisKKworZGVmIHVybF9vcl9wYXRoKHBhdGgpOgorICAgIGltcG9ydCB1cmxwYXJz
ZQorCisgICAgcGFyc2VkID0gdXJscGFyc2UudXJscGFyc2UocGF0aCkKKyAgICBpZiBsZW4ocGFy
c2VkLnNjaGVtZSkgPiAyOgorICAgICAgICByZXR1cm4gcGF0aAorICAgIGVsc2U6CisgICAgICAg
IHJldHVybiBhYnNfcGF0aChwYXRoKQorCisKK2RlZiByZXF1aXJlX2FyZyhrd2FyZ3MsIG5hbWUs
IHZhbHVlX2Z1bmM9Tm9uZSk6CisgICAgaWYgdmFsdWVfZnVuYyBpcyBOb25lOgorICAgICAgICB2
YWx1ZV9mdW5jID0gbGFtYmRhIHg6IHggaXMgbm90IE5vbmUKKworICAgIGlmIG5vdCBuYW1lIGlu
IGt3YXJncyBvciBub3QgdmFsdWVfZnVuYyhrd2FyZ3NbbmFtZV0pOgorICAgICAgICBwcmludCA+
PiBzeXMuc3RkZXJyLCAiTWlzc2luZyByZXF1aXJlZCBhcmd1bWVudCAlcyIgJSBuYW1lCisgICAg
ICAgIHN5cy5leGl0KDEpCisKKworZGVmIGNyZWF0ZV9wYXJzZXIocHJvZHVjdF9jaG9pY2VzPU5v
bmUpOgorICAgIGZyb20gbW96bG9nIGltcG9ydCBjb21tYW5kbGluZQorCisgICAgaW1wb3J0IHBy
b2R1Y3RzCisKKyAgICBpZiBwcm9kdWN0X2Nob2ljZXMgaXMgTm9uZToKKyAgICAgICAgY29uZmln
X2RhdGEgPSBjb25maWcubG9hZCgpCisgICAgICAgIHByb2R1Y3RfY2hvaWNlcyA9IHByb2R1Y3Rz
LnByb2R1Y3RzX2VuYWJsZWQoY29uZmlnX2RhdGEpCisKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5B
cmd1bWVudFBhcnNlcihkZXNjcmlwdGlvbj0iIiJSdW5uZXIgZm9yIHdlYi1wbGF0Zm9ybS10ZXN0
cyB0ZXN0cy4iIiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNhZ2U9
IiIiJShwcm9nKXMgW09QVElPTl0uLi4gW1RFU1RdLi4uCisKK1RFU1QgaXMgZWl0aGVyIHRoZSBm
dWxsIHBhdGggdG8gYSB0ZXN0IGZpbGUgdG8gcnVuLCBvciB0aGUgVVJMIG9mIGEgdGVzdCBleGNs
dWRpbmcKK3NjaGVtZSBob3N0IGFuZCBwb3J0LiIiIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50
KCItLW1hbmlmZXN0LXVwZGF0ZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2Us
CisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSZWdlbmVyYXRlIHRoZSB0ZXN0IG1hbmlm
ZXN0LiIpCisKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXRpbWVvdXQtbXVsdGlwbGllciIs
IGFjdGlvbj0ic3RvcmUiLCB0eXBlPWZsb2F0LCBkZWZhdWx0PU5vbmUsCisgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSJNdWx0aXBsaWVyIHJlbGF0aXZlIHRvIHN0YW5kYXJkIHRlc3QgdGlt
ZW91dCB0byB1c2UiKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tcnVuLWJ5LWRpciIsIHR5
cGU9aW50LCBuYXJncz0iPyIsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJTcGxpdCBydW4gaW50byBncm91cHMgYnkgZGlyZWN0b3JpZXMuIFdpdGggYSBwYXJh
bWV0ZXIsIgorICAgICAgICAgICAgICAgICAgICAgICAgImxpbWl0IHRoZSBkZXB0aCBvZiBzcGxp
dHMgZS5nLiAtLXJ1bi1ieS1kaXI9MSB0byBzcGxpdCBieSB0b3AtbGV2ZWwiCisgICAgICAgICAg
ICAgICAgICAgICAgICAiZGlyZWN0b3J5IikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXBy
b2Nlc3NlcyIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPWludCwgZGVmYXVsdD1Ob25lLAorICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iTnVtYmVyIG9mIHNpbXVsdGFuZW91cyBwcm9jZXNzZXMg
dG8gdXNlIikKKworICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tbm8tY2FwdHVyZS1zdGRpbyIs
IGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJEb24ndCBjYXB0dXJlIHN0ZGlvIGFuZCB3cml0ZSB0byBsb2dnaW5nIikKKwor
ICAgIG1vZGVfZ3JvdXAgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJNb2RlIikKKyAgICBt
b2RlX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1saXN0LXRlc3QtZ3JvdXBzIiwgYWN0aW9uPSJzdG9y
ZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9Ikxpc3QgdGhlIHRvcCBsZXZlbCBkaXJlY3Rv
cmllcyBjb250YWluaW5nIHRlc3RzIHRoYXQgd2lsbCBydW4uIikKKyAgICBtb2RlX2dyb3VwLmFk
ZF9hcmd1bWVudCgiLS1saXN0LWRpc2FibGVkIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9Ikxpc3QgdGhlIHRlc3RzIHRoYXQgYXJlIGRpc2FibGVkIG9uIHRoZSBj
dXJyZW50IHBsYXRmb3JtIikKKworICAgIHRlc3Rfc2VsZWN0aW9uX2dyb3VwID0gcGFyc2VyLmFk
ZF9hcmd1bWVudF9ncm91cCgiVGVzdCBTZWxlY3Rpb24iKQorICAgIHRlc3Rfc2VsZWN0aW9uX2dy
b3VwLmFkZF9hcmd1bWVudCgiLS10ZXN0LXR5cGVzIiwgYWN0aW9uPSJzdG9yZSIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hcmdzPSIqIiwgZGVmYXVsdD13cHR0ZXN0
LmVuYWJsZWRfdGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo
b2ljZXM9d3B0dGVzdC5lbmFibGVkX3Rlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSJUZXN0IHR5cGVzIHRvIHJ1biIpCisgICAgdGVzdF9zZWxlY3Rpb25f
Z3JvdXAuYWRkX2FyZ3VtZW50KCItLWluY2x1ZGUiLCBhY3Rpb249ImFwcGVuZCIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlVSTCBwcmVmaXggdG8gaW5jbHVk
ZSIpCisgICAgdGVzdF9zZWxlY3Rpb25fZ3JvdXAuYWRkX2FyZ3VtZW50KCItLWV4Y2x1ZGUiLCBh
Y3Rpb249ImFwcGVuZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9IlVSTCBwcmVmaXggdG8gZXhjbHVkZSIpCisgICAgdGVzdF9zZWxlY3Rpb25fZ3JvdXAuYWRk
X2FyZ3VtZW50KCItLWluY2x1ZGUtbWFuaWZlc3QiLCB0eXBlPWFic19wYXRoLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIG1hbmlmZXN0IGxpc3Rp
bmcgdGVzdHMgdG8gaW5jbHVkZSIpCisgICAgdGVzdF9zZWxlY3Rpb25fZ3JvdXAuYWRkX2FyZ3Vt
ZW50KCItLXRhZyIsIGFjdGlvbj0iYXBwZW5kIiwgZGVzdD0idGFncyIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkxhYmVscyBhcHBsaWVkIHRvIHRlc3RzIHRv
IGluY2x1ZGUgaW4gdGhlIHJ1bi4gTGFiZWxzIHN0YXJ0aW5nIGRpcjogYXJlIGVxdWl2YWxlbnQg
dG8gdG9wLWxldmVsIGRpcmVjdG9yaWVzLiIpCisKKyAgICBkZWJ1Z2dpbmdfZ3JvdXAgPSBwYXJz
ZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJEZWJ1Z2dpbmciKQorICAgIGRlYnVnZ2luZ19ncm91cC5h
ZGRfYXJndW1lbnQoJy0tZGVidWdnZXInLCBjb25zdD0iX19kZWZhdWx0X18iLCBuYXJncz0iPyIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJydW4gdW5kZXIgYSBkZWJ1
Z2dlciwgZS5nLiBnZGIgb3IgdmFsZ3JpbmQiKQorICAgIGRlYnVnZ2luZ19ncm91cC5hZGRfYXJn
dW1lbnQoJy0tZGVidWdnZXItYXJncycsIGhlbHA9ImFyZ3VtZW50cyB0byB0aGUgZGVidWdnZXIi
KQorICAgIGRlYnVnZ2luZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tcmVwZWF0IiwgYWN0aW9uPSJz
dG9yZSIsIHR5cGU9aW50LCBkZWZhdWx0PTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJOdW1iZXIgb2YgdGltZXMgdG8gcnVuIHRoZSB0ZXN0cyIpCisgICAgZGVidWdn
aW5nX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1yZXBlYXQtdW50aWwtdW5leHBlY3RlZCIsIGFjdGlv
bj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9IlJ1biB0ZXN0cyBpbiBhIGxvb3AgdW50aWwgb25lIHJldHVybnMgYW4gdW5l
eHBlY3RlZCByZXN1bHQiKQorICAgIGRlYnVnZ2luZ19ncm91cC5hZGRfYXJndW1lbnQoJy0tcGF1
c2UtYWZ0ZXItdGVzdCcsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9Tm9uZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkhhbHQgdGhlIHRlc3QgcnVubmVyIGFm
dGVyIGVhY2ggdGVzdCAodGhpcyBoYXBwZW5zIGJ5IGRlZmF1bHQgaWYgb25seSBhIHNpbmdsZSB0
ZXN0IGlzIHJ1bikiKQorICAgIGRlYnVnZ2luZ19ncm91cC5hZGRfYXJndW1lbnQoJy0tbm8tcGF1
c2UtYWZ0ZXItdGVzdCcsIGRlc3Q9InBhdXNlX2FmdGVyX3Rlc3QiLCBhY3Rpb249InN0b3JlX2Zh
bHNlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRvbid0IGhhbHQg
dGhlIHRlc3QgcnVubmVyIGlycmVzcGVjdGl2ZSBvZiB0aGUgbnVtYmVyIG9mIHRlc3RzIHJ1biIp
CisKKyAgICBkZWJ1Z2dpbmdfZ3JvdXAuYWRkX2FyZ3VtZW50KCctLXBhdXNlLW9uLXVuZXhwZWN0
ZWQnLCBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iSGFsdCB0aGUgdGVzdCBydW5uZXIgd2hlbiBhbiB1bmV4cGVjdGVkIHJlc3VsdCBp
cyBlbmNvdW50ZXJlZCIpCisgICAgZGVidWdnaW5nX2dyb3VwLmFkZF9hcmd1bWVudCgnLS1uby1y
ZXN0YXJ0LW9uLXVuZXhwZWN0ZWQnLCBkZXN0PSJyZXN0YXJ0X29uX3VuZXhwZWN0ZWQiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1UcnVlLCBhY3Rpb249InN0b3Jl
X2ZhbHNlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRvbid0IHJl
c3RhcnQgb24gYW4gdW5leHBlY3RlZCByZXN1bHQiKQorCisgICAgZGVidWdnaW5nX2dyb3VwLmFk
ZF9hcmd1bWVudCgiLS1zeW1ib2xzLXBhdGgiLCBhY3Rpb249InN0b3JlIiwgdHlwZT11cmxfb3Jf
cGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggb3IgdXJs
IHRvIHN5bWJvbHMgZmlsZSB1c2VkIHRvIGFuYWx5c2UgY3Jhc2ggbWluaWR1bXBzLiIpCisgICAg
ZGVidWdnaW5nX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1zdGFja3dhbGstYmluYXJ5IiwgYWN0aW9u
PSJzdG9yZSIsIHR5cGU9YWJzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJQYXRoIHRvIHN0YWNrd2Fsa2VyIHByb2dyYW0gdXNlZCB0byBhbmFseXNlIG1pbmlk
dW1wcy4iKQorCisgICAgZGVidWdnaW5nX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1wZGIiLCBhY3Rp
b249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i
RHJvcCBpbnRvIHBkYiBvbiBweXRob24gZXhjZXB0aW9uIikKKworICAgIGNvbmZpZ19ncm91cCA9
IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIkNvbmZpZ3VyYXRpb24iKQorICAgIGNvbmZpZ19n
cm91cC5hZGRfYXJndW1lbnQoIi0tYmluYXJ5IiwgYWN0aW9uPSJzdG9yZSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0eXBlPWFic19wYXRoLCBoZWxwPSJCaW5hcnkgdG8gcnVuIHRl
c3RzIGFnYWluc3QiKQorICAgIGNvbmZpZ19ncm91cC5hZGRfYXJndW1lbnQoJy0tYmluYXJ5LWFy
ZycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PVtdLCBhY3Rpb249ImFw
cGVuZCIsIGRlc3Q9ImJpbmFyeV9hcmdzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9IkV4dHJhIGFyZ3VtZW50IGZvciB0aGUgYmluYXJ5IikKKyAgICBjb25maWdfZ3JvdXAu
YWRkX2FyZ3VtZW50KCItLXdlYmRyaXZlci1iaW5hcnkiLCBhY3Rpb249InN0b3JlIiwgbWV0YXZh
cj0iQklOQVJZIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9YWJzX3BhdGgs
IGhlbHA9IldlYkRyaXZlciBzZXJ2ZXIgYmluYXJ5IHRvIHVzZSIpCisgICAgY29uZmlnX2dyb3Vw
LmFkZF9hcmd1bWVudCgnLS13ZWJkcml2ZXItYXJnJywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRlZmF1bHQ9W10sIGFjdGlvbj0iYXBwZW5kIiwgZGVzdD0id2ViZHJpdmVyX2FyZ3Mi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRXh0cmEgYXJndW1lbnQgZm9y
IHRoZSBXZWJEcml2ZXIgYmluYXJ5IikKKworICAgIGNvbmZpZ19ncm91cC5hZGRfYXJndW1lbnQo
Ii0tbWV0YWRhdGEiLCBhY3Rpb249InN0b3JlIiwgdHlwZT1hYnNfcGF0aCwgZGVzdD0ibWV0YWRh
dGFfcm9vdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIHJv
b3QgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGVzdCBtZXRhZGF0YSIpLAorICAgIGNvbmZpZ19ncm91
cC5hZGRfYXJndW1lbnQoIi0tdGVzdHMiLCBhY3Rpb249InN0b3JlIiwgdHlwZT1hYnNfcGF0aCwg
ZGVzdD0idGVzdHNfcm9vdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQ
YXRoIHRvIHJvb3QgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGVzdCBmaWxlcyIpLAorICAgIGNvbmZp
Z19ncm91cC5hZGRfYXJndW1lbnQoIi0tcnVuLWluZm8iLCBhY3Rpb249InN0b3JlIiwgdHlwZT1h
YnNfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8gZGly
ZWN0b3J5IGNvbnRhaW5pbmcgZXh0cmEganNvbiBmaWxlcyB0byBhZGQgdG8gcnVuIGluZm8iKQor
ICAgIGNvbmZpZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tcHJvZHVjdCIsIGFjdGlvbj0ic3RvcmUi
LCBjaG9pY2VzPXByb2R1Y3RfY2hvaWNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRlZmF1bHQ9Tm9uZSwgaGVscD0iQnJvd3NlciBhZ2FpbnN0IHdoaWNoIHRvIHJ1biB0ZXN0cyIp
CisgICAgY29uZmlnX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1jb25maWciLCBhY3Rpb249InN0b3Jl
IiwgdHlwZT1hYnNfcGF0aCwgZGVzdD0iY29uZmlnIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9IlBhdGggdG8gY29uZmlnIGZpbGUiKQorCisgICAgYnVpbGRfdHlwZSA9IHBh
cnNlci5hZGRfbXV0dWFsbHlfZXhjbHVzaXZlX2dyb3VwKCkKKyAgICBidWlsZF90eXBlLmFkZF9h
cmd1bWVudCgiLS1kZWJ1Zy1idWlsZCIsIGRlc3Q9ImRlYnVnIiwgYWN0aW9uPSJzdG9yZV90cnVl
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PU5vbmUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iQnVpbGQgaXMgYSBkZWJ1ZyBidWlsZCAob3ZlcnJpZGVz
IGFueSBtb3ppbmZvIGZpbGUpIikKKyAgICBidWlsZF90eXBlLmFkZF9hcmd1bWVudCgiLS1yZWxl
YXNlLWJ1aWxkIiwgZGVzdD0iZGVidWciLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iQnVpbGQgaXMgYSByZWxlYXNlIChvdmVycmlkZXMgYW55IG1vemluZm8gZmls
ZSkiKQorCisKKyAgICBjaHVua2luZ19ncm91cCA9IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAo
IlRlc3QgQ2h1bmtpbmciKQorICAgIGNodW5raW5nX2dyb3VwLmFkZF9hcmd1bWVudCgiLS10b3Rh
bC1jaHVua3MiLCBhY3Rpb249InN0b3JlIiwgdHlwZT1pbnQsIGRlZmF1bHQ9MSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVG90YWwgbnVtYmVyIG9mIGNodW5rcyB0byB1
c2UiKQorICAgIGNodW5raW5nX2dyb3VwLmFkZF9hcmd1bWVudCgiLS10aGlzLWNodW5rIiwgYWN0
aW9uPSJzdG9yZSIsIHR5cGU9aW50LCBkZWZhdWx0PTEsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IkNodW5rIG51bWJlciB0byBydW4iKQorICAgIGNodW5raW5nX2dyb3Vw
LmFkZF9hcmd1bWVudCgiLS1jaHVuay10eXBlIiwgYWN0aW9uPSJzdG9yZSIsIGNob2ljZXM9WyJu
b25lIiwgImVxdWFsX3RpbWUiLCAiaGFzaCIsICJkaXJfaGFzaCJdLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkZWZhdWx0PU5vbmUsIGhlbHA9IkNodW5raW5nIHR5cGUgdG8gdXNl
IikKKworICAgIHNzbF9ncm91cCA9IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIlNTTC9UTFMi
KQorICAgIHNzbF9ncm91cC5hZGRfYXJndW1lbnQoIi0tc3NsLXR5cGUiLCBhY3Rpb249InN0b3Jl
IiwgZGVmYXVsdD1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgY2hvaWNlcz1bIm9wZW5z
c2wiLCAicHJlZ2VuZXJhdGVkIiwgIm5vbmUiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9IlR5cGUgb2Ygc3NsIHN1cHBvcnQgdG8gZW5hYmxlIChydW5uaW5nIHdpdGhvdXQgc3NsIG1h
eSBsZWFkIHRvIHNwdXJpb3VzIGVycm9ycykiKQorCisgICAgc3NsX2dyb3VwLmFkZF9hcmd1bWVu
dCgiLS1vcGVuc3NsLWJpbmFyeSIsIGFjdGlvbj0ic3RvcmUiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iUGF0aCB0byBvcGVuc3NsIGJpbmFyeSIsIGRlZmF1bHQ9Im9wZW5zc2wiKQor
ICAgIHNzbF9ncm91cC5hZGRfYXJndW1lbnQoIi0tY2VydHV0aWwtYmluYXJ5IiwgYWN0aW9uPSJz
dG9yZSIsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIGNlcnR1dGlsIGJp
bmFyeSBmb3IgdXNlIHdpdGggRmlyZWZveCArIHNzbCIpCisKKyAgICBzc2xfZ3JvdXAuYWRkX2Fy
Z3VtZW50KCItLWNhLWNlcnQtcGF0aCIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPWFic19wYXRoLAor
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUGF0aCB0byBjYSBjZXJ0aWZpY2F0ZSB3aGVu
IHVzaW5nIHByZWdlbmVyYXRlZCBzc2wgY2VydGlmaWNhdGVzIikKKyAgICBzc2xfZ3JvdXAuYWRk
X2FyZ3VtZW50KCItLWhvc3Qta2V5LXBhdGgiLCBhY3Rpb249InN0b3JlIiwgdHlwZT1hYnNfcGF0
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8gaG9zdCBwcml2YXRlIGtl
eSB3aGVuIHVzaW5nIHByZWdlbmVyYXRlZCBzc2wgY2VydGlmaWNhdGVzIikKKyAgICBzc2xfZ3Jv
dXAuYWRkX2FyZ3VtZW50KCItLWhvc3QtY2VydC1wYXRoIiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9
YWJzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIGhvc3QgY2Vy
dGlmaWNhdGUgd2hlbiB1c2luZyBwcmVnZW5lcmF0ZWQgc3NsIGNlcnRpZmljYXRlcyIpCisKKyAg
ICBnZWNrb19ncm91cCA9IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIkdlY2tvLXNwZWNpZmlj
IikKKyAgICBnZWNrb19ncm91cC5hZGRfYXJndW1lbnQoIi0tcHJlZnMtcm9vdCIsIGRlc3Q9InBy
ZWZzX3Jvb3QiLCBhY3Rpb249InN0b3JlIiwgdHlwZT1hYnNfcGF0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iUGF0aCB0byB0aGUgZm9sZGVyIGNvbnRhaW5pbmcgYnJvd3Nl
ciBwcmVmcyIpCisgICAgZ2Vja29fZ3JvdXAuYWRkX2FyZ3VtZW50KCItLWRpc2FibGUtZTEwcyIs
IGRlc3Q9ImdlY2tvX2UxMHMiLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVmYXVsdD1UcnVlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSdW4gdGVzdHMgd2l0aG91dCBlbGVj
dHJvbHlzaXMgcHJlZmVyZW5jZXMiKQorICAgIGdlY2tvX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1z
dGFja2ZpeC1kaXIiLCBkZXN0PSJzdGFja2ZpeF9kaXIiLCBhY3Rpb249InN0b3JlIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUGF0aCB0byBkaXJlY3RvcnkgY29udGFpbmlu
ZyBhc3NlcnRpb24gc3RhY2sgZml4aW5nIHNjcmlwdHMiKQorICAgIGdlY2tvX2dyb3VwLmFkZF9h
cmd1bWVudCgiLS1zZXRwcmVmIiwgZGVzdD0iZXh0cmFfcHJlZnMiLCBhY3Rpb249J2FwcGVuZCcs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9W10sIG1ldGF2YXI9IlBSRUY9
VkFMVUUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEZWZpbmVzIGFuIGV4
dHJhIHVzZXIgcHJlZmVyZW5jZSAob3ZlcnJpZGVzIHRob3NlIGluIHByZWZzX3Jvb3QpIikKKwor
ICAgIHNlcnZvX2dyb3VwID0gcGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiU2Vydm8tc3BlY2lm
aWMiKQorICAgIHNlcnZvX2dyb3VwLmFkZF9hcmd1bWVudCgiLS11c2VyLXN0eWxlc2hlZXQiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PVtdLCBhY3Rpb249ImFwcGVuZCIs
IGRlc3Q9InVzZXJfc3R5bGVzaGVldHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJJbmplY3QgYSB1c2VyIENTUyBzdHlsZXNoZWV0IGludG8gZXZlcnkgdGVzdC4iKQorCisg
ICAgc2F1Y2VfZ3JvdXAgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJTYXVjZSBMYWJzLXNw
ZWNpZmljIikKKyAgICBzYXVjZV9ncm91cC5hZGRfYXJndW1lbnQoIi0tc2F1Y2UtYnJvd3NlciIs
IGRlc3Q9InNhdWNlX2Jyb3dzZXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxw
PSJTYXVjZSBMYWJzIGJyb3dzZXIgbmFtZSIpCisgICAgc2F1Y2VfZ3JvdXAuYWRkX2FyZ3VtZW50
KCItLXNhdWNlLXBsYXRmb3JtIiwgZGVzdD0ic2F1Y2VfcGxhdGZvcm0iLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJTYXVjZSBMYWJzIE9TIHBsYXRmb3JtIikKKyAgICBzYXVj
ZV9ncm91cC5hZGRfYXJndW1lbnQoIi0tc2F1Y2UtdmVyc2lvbiIsIGRlc3Q9InNhdWNlX3ZlcnNp
b24iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJTYXVjZSBMYWJzIGJyb3dz
ZXIgdmVyc2lvbiIpCisgICAgc2F1Y2VfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXNhdWNlLWJ1aWxk
IiwgZGVzdD0ic2F1Y2VfYnVpbGQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxw
PSJTYXVjZSBMYWJzIGJ1aWxkIGlkZW50aWZpZXIiKQorICAgIHNhdWNlX2dyb3VwLmFkZF9hcmd1
bWVudCgiLS1zYXVjZS10YWdzIiwgZGVzdD0ic2F1Y2VfdGFncyIsIG5hcmdzPSIqIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU2F1Y2UgTGFicyBpZGVudGlmeWluZyB0YWci
LCBkZWZhdWx0PVtdKQorICAgIHNhdWNlX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1zYXVjZS10dW5u
ZWwtaWQiLCBkZXN0PSJzYXVjZV90dW5uZWxfaWQiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJTYXVjZSBDb25uZWN0IHR1bm5lbCBpZGVudGlmaWVyIikKKyAgICBzYXVjZV9n
cm91cC5hZGRfYXJndW1lbnQoIi0tc2F1Y2UtdXNlciIsIGRlc3Q9InNhdWNlX3VzZXIiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJTYXVjZSBMYWJzIHVzZXIgbmFtZSIpCisg
ICAgc2F1Y2VfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXNhdWNlLWtleSIsIGRlc3Q9InNhdWNlX2tl
eSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9b3MuZW52aXJvbi5nZXQo
IlNBVUNFX0FDQ0VTU19LRVkiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i
U2F1Y2UgTGFicyBhY2Nlc3Mga2V5IikKKyAgICBzYXVjZV9ncm91cC5hZGRfYXJndW1lbnQoIi0t
c2F1Y2UtY29ubmVjdC1iaW5hcnkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0
PSJzYXVjZV9jb25uZWN0X2JpbmFyeSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9IlBhdGggdG8gU2F1Y2UgQ29ubmVjdCBiaW5hcnkiKQorCisgICAgcGFyc2VyLmFkZF9hcmd1
bWVudCgidGVzdF9saXN0IiwgbmFyZ3M9IioiLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iTGlzdCBvZiBVUkxzIGZvciB0ZXN0cyB0byBydW4sIG9yIHBhdGhzIGluY2x1ZGluZyB0ZXN0
cyB0byBydW4uICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIihlcXVpdmFsZW50IHRv
IC0taW5jbHVkZSkiKQorCisgICAgY29tbWFuZGxpbmUuYWRkX2xvZ2dpbmdfZ3JvdXAocGFyc2Vy
KQorICAgIHJldHVybiBwYXJzZXIKKworCitkZWYgc2V0X2Zyb21fY29uZmlnKGt3YXJncyk6Cisg
ICAgaWYga3dhcmdzWyJjb25maWciXSBpcyBOb25lOgorICAgICAgICBjb25maWdfcGF0aCA9IGNv
bmZpZy5wYXRoKCkKKyAgICBlbHNlOgorICAgICAgICBjb25maWdfcGF0aCA9IGt3YXJnc1siY29u
ZmlnIl0KKworICAgIGt3YXJnc1siY29uZmlnX3BhdGgiXSA9IGNvbmZpZ19wYXRoCisKKyAgICBr
d2FyZ3NbImNvbmZpZyJdID0gY29uZmlnLnJlYWQoa3dhcmdzWyJjb25maWdfcGF0aCJdKQorCisg
ICAga2V5cyA9IHsicGF0aHMiOiBbKCJwcmVmcyIsICJwcmVmc19yb290IiwgVHJ1ZSksCisgICAg
ICAgICAgICAgICAgICAgICAgKCJydW5faW5mbyIsICJydW5faW5mbyIsIFRydWUpXSwKKyAgICAg
ICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMiOiBbKCJyZW1vdGVfdXJsIiwgInJlbW90ZV91cmwi
LCBGYWxzZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgiYnJhbmNoIiwg
ImJyYW5jaCIsIEZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJz
eW5jX3BhdGgiLCAic3luY19wYXRoIiwgVHJ1ZSldLAorICAgICAgICAgICAgIlNTTCI6IFsoIm9w
ZW5zc2xfYmluYXJ5IiwgIm9wZW5zc2xfYmluYXJ5IiwgVHJ1ZSksCisgICAgICAgICAgICAgICAg
ICAgICgiY2VydHV0aWxfYmluYXJ5IiwgImNlcnR1dGlsX2JpbmFyeSIsIFRydWUpLAorICAgICAg
ICAgICAgICAgICAgICAoImNhX2NlcnRfcGF0aCIsICJjYV9jZXJ0X3BhdGgiLCBUcnVlKSwKKyAg
ICAgICAgICAgICAgICAgICAgKCJob3N0X2NlcnRfcGF0aCIsICJob3N0X2NlcnRfcGF0aCIsIFRy
dWUpLAorICAgICAgICAgICAgICAgICAgICAoImhvc3Rfa2V5X3BhdGgiLCAiaG9zdF9rZXlfcGF0
aCIsIFRydWUpXX0KKworICAgIGZvciBzZWN0aW9uLCB2YWx1ZXMgaW4ga2V5cy5pdGVyaXRlbXMo
KToKKyAgICAgICAgZm9yIGNvbmZpZ192YWx1ZSwga3dfdmFsdWUsIGlzX3BhdGggaW4gdmFsdWVz
OgorICAgICAgICAgICAgaWYga3dfdmFsdWUgaW4ga3dhcmdzIGFuZCBrd2FyZ3Nba3dfdmFsdWVd
IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgaWYgbm90IGlzX3BhdGg6CisgICAgICAgICAgICAg
ICAgICAgIG5ld192YWx1ZSA9IGt3YXJnc1siY29uZmlnIl0uZ2V0KHNlY3Rpb24sIGNvbmZpZy5D
b25maWdEaWN0KHt9KSkuZ2V0KGNvbmZpZ192YWx1ZSkKKyAgICAgICAgICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgICAgICAgICBuZXdfdmFsdWUgPSBrd2FyZ3NbImNvbmZpZyJdLmdldChzZWN0
aW9uLCBjb25maWcuQ29uZmlnRGljdCh7fSkpLmdldF9wYXRoKGNvbmZpZ192YWx1ZSkKKyAgICAg
ICAgICAgICAgICBrd2FyZ3Nba3dfdmFsdWVdID0gbmV3X3ZhbHVlCisKKyAgICBrd2FyZ3NbInRl
c3RfcGF0aHMiXSA9IGdldF90ZXN0X3BhdGhzKGt3YXJnc1siY29uZmlnIl0pCisKKyAgICBpZiBr
d2FyZ3NbInRlc3RzX3Jvb3QiXToKKyAgICAgICAgaWYgIi8iIG5vdCBpbiBrd2FyZ3NbInRlc3Rf
cGF0aHMiXToKKyAgICAgICAgICAgIGt3YXJnc1sidGVzdF9wYXRocyJdWyIvIl0gPSB7fQorICAg
ICAgICBrd2FyZ3NbInRlc3RfcGF0aHMiXVsiLyJdWyJ0ZXN0c19wYXRoIl0gPSBrd2FyZ3NbInRl
c3RzX3Jvb3QiXQorCisgICAgaWYga3dhcmdzWyJtZXRhZGF0YV9yb290Il06CisgICAgICAgIGlm
ICIvIiBub3QgaW4ga3dhcmdzWyJ0ZXN0X3BhdGhzIl06CisgICAgICAgICAgICBrd2FyZ3NbInRl
c3RfcGF0aHMiXVsiLyJdID0ge30KKyAgICAgICAga3dhcmdzWyJ0ZXN0X3BhdGhzIl1bIi8iXVsi
bWV0YWRhdGFfcGF0aCJdID0ga3dhcmdzWyJtZXRhZGF0YV9yb290Il0KKworICAgIGt3YXJnc1si
c3VpdGVfbmFtZSJdID0ga3dhcmdzWyJjb25maWciXS5nZXQoIndlYi1wbGF0Zm9ybS10ZXN0cyIs
IHt9KS5nZXQoIm5hbWUiLCAid2ViLXBsYXRmb3JtLXRlc3RzIikKKworCitkZWYgZ2V0X3Rlc3Rf
cGF0aHMoY29uZmlnKToKKyAgICAjIFNldCB1cCB0ZXN0X3BhdGhzCisgICAgdGVzdF9wYXRocyA9
IE9yZGVyZWREaWN0KCkKKworICAgIGZvciBzZWN0aW9uIGluIGNvbmZpZy5pdGVya2V5cygpOgor
ICAgICAgICBpZiBzZWN0aW9uLnN0YXJ0c3dpdGgoIm1hbmlmZXN0OiIpOgorICAgICAgICAgICAg
bWFuaWZlc3Rfb3B0cyA9IGNvbmZpZy5nZXQoc2VjdGlvbikKKyAgICAgICAgICAgIHVybF9iYXNl
ID0gbWFuaWZlc3Rfb3B0cy5nZXQoInVybF9iYXNlIiwgIi8iKQorICAgICAgICAgICAgdGVzdF9w
YXRoc1t1cmxfYmFzZV0gPSB7CisgICAgICAgICAgICAgICAgInRlc3RzX3BhdGgiOiBtYW5pZmVz
dF9vcHRzLmdldF9wYXRoKCJ0ZXN0cyIpLAorICAgICAgICAgICAgICAgICJtZXRhZGF0YV9wYXRo
IjogbWFuaWZlc3Rfb3B0cy5nZXRfcGF0aCgibWV0YWRhdGEiKX0KKworICAgIHJldHVybiB0ZXN0
X3BhdGhzCisKKworZGVmIGV4ZV9wYXRoKG5hbWUpOgorICAgIGlmIG5hbWUgaXMgTm9uZToKKyAg
ICAgICAgcmV0dXJuCisKKyAgICBwYXRoID0gZmluZF9leGVjdXRhYmxlKG5hbWUpCisgICAgaWYg
b3MuYWNjZXNzKHBhdGgsIG9zLlhfT0spOgorICAgICAgICByZXR1cm4gcGF0aAorCisKK2RlZiBj
aGVja19hcmdzKGt3YXJncyk6CisgICAgc2V0X2Zyb21fY29uZmlnKGt3YXJncykKKworICAgIGZv
ciB0ZXN0X3BhdGhzIGluIGt3YXJnc1sidGVzdF9wYXRocyJdLml0ZXJ2YWx1ZXMoKToKKyAgICAg
ICAgaWYgbm90ICgidGVzdHNfcGF0aCIgaW4gdGVzdF9wYXRocyBhbmQKKyAgICAgICAgICAgICAg
ICAibWV0YWRhdGFfcGF0aCIgaW4gdGVzdF9wYXRocyk6CisgICAgICAgICAgICBwcmludCAiRmF0
YWw6IG11c3Qgc3BlY2lmeSBib3RoIGEgdGVzdCBwYXRoIGFuZCBtZXRhZGF0YSBwYXRoIgorICAg
ICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICAgICAgZm9yIGtleSwgcGF0aCBpbiB0ZXN0X3BhdGhz
Lml0ZXJpdGVtcygpOgorICAgICAgICAgICAgbmFtZSA9IGtleS5zcGxpdCgiXyIsIDEpWzBdCisK
KyAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhwYXRoKToKKyAgICAgICAgICAgICAg
ICBwcmludCAiRmF0YWw6ICVzIHBhdGggJXMgZG9lcyBub3QgZXhpc3QiICUgKG5hbWUsIHBhdGgp
CisgICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkKKworICAgICAgICAgICAgaWYgbm90IG9zLnBh
dGguaXNkaXIocGF0aCk6CisgICAgICAgICAgICAgICAgcHJpbnQgIkZhdGFsOiAlcyBwYXRoICVz
IGlzIG5vdCBhIGRpcmVjdG9yeSIgJSAobmFtZSwgcGF0aCkKKyAgICAgICAgICAgICAgICBzeXMu
ZXhpdCgxKQorCisgICAgaWYga3dhcmdzWyJwcm9kdWN0Il0gaXMgTm9uZToKKyAgICAgICAga3dh
cmdzWyJwcm9kdWN0Il0gPSAiZmlyZWZveCIKKworICAgIGlmICJzYXVjZSIgaW4ga3dhcmdzWyJw
cm9kdWN0Il06CisgICAgICAgIGt3YXJnc1sicGF1c2VfYWZ0ZXJfdGVzdCJdID0gRmFsc2UKKwor
ICAgIGlmIGt3YXJnc1sidGVzdF9saXN0Il06CisgICAgICAgIGlmIGt3YXJnc1siaW5jbHVkZSJd
IGlzIG5vdCBOb25lOgorICAgICAgICAgICAga3dhcmdzWyJpbmNsdWRlIl0uZXh0ZW5kKGt3YXJn
c1sidGVzdF9saXN0Il0pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBrd2FyZ3NbImluY2x1
ZGUiXSA9IGt3YXJnc1sidGVzdF9saXN0Il0KKworICAgIGlmIGt3YXJnc1sicnVuX2luZm8iXSBp
cyBOb25lOgorICAgICAgICBrd2FyZ3NbInJ1bl9pbmZvIl0gPSBrd2FyZ3NbImNvbmZpZ19wYXRo
Il0KKworICAgIGlmIGt3YXJnc1sidGhpc19jaHVuayJdID4gMToKKyAgICAgICAgcmVxdWlyZV9h
cmcoa3dhcmdzLCAidG90YWxfY2h1bmtzIiwgbGFtYmRhIHg6IHggPj0ga3dhcmdzWyJ0aGlzX2No
dW5rIl0pCisKKyAgICBpZiBrd2FyZ3NbImNodW5rX3R5cGUiXSBpcyBOb25lOgorICAgICAgICBp
ZiBrd2FyZ3NbInRvdGFsX2NodW5rcyJdID4gMToKKyAgICAgICAgICAgIGt3YXJnc1siY2h1bmtf
dHlwZSJdID0gImRpcl9oYXNoIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAga3dhcmdzWyJj
aHVua190eXBlIl0gPSAibm9uZSIKKworICAgIGlmIGt3YXJnc1sicHJvY2Vzc2VzIl0gaXMgTm9u
ZToKKyAgICAgICAga3dhcmdzWyJwcm9jZXNzZXMiXSA9IDEKKworICAgIGlmIGt3YXJnc1siZGVi
dWdnZXIiXSBpcyBub3QgTm9uZToKKyAgICAgICAgaW1wb3J0IG1vemRlYnVnCisgICAgICAgIGlm
IGt3YXJnc1siZGVidWdnZXIiXSA9PSAiX19kZWZhdWx0X18iOgorICAgICAgICAgICAga3dhcmdz
WyJkZWJ1Z2dlciJdID0gbW96ZGVidWcuZ2V0X2RlZmF1bHRfZGVidWdnZXJfbmFtZSgpCisgICAg
ICAgIGRlYnVnX2luZm8gPSBtb3pkZWJ1Zy5nZXRfZGVidWdnZXJfaW5mbyhrd2FyZ3NbImRlYnVn
Z2VyIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBr
d2FyZ3NbImRlYnVnZ2VyX2FyZ3MiXSkKKyAgICAgICAgaWYgZGVidWdfaW5mbyBhbmQgZGVidWdf
aW5mby5pbnRlcmFjdGl2ZToKKyAgICAgICAgICAgIGlmIGt3YXJnc1sicHJvY2Vzc2VzIl0gIT0g
MToKKyAgICAgICAgICAgICAgICBrd2FyZ3NbInByb2Nlc3NlcyJdID0gMQorICAgICAgICAgICAg
a3dhcmdzWyJub19jYXB0dXJlX3N0ZGlvIl0gPSBUcnVlCisgICAgICAgIGt3YXJnc1siZGVidWdf
aW5mbyJdID0gZGVidWdfaW5mbworICAgIGVsc2U6CisgICAgICAgIGt3YXJnc1siZGVidWdfaW5m
byJdID0gTm9uZQorCisgICAgaWYga3dhcmdzWyJiaW5hcnkiXSBpcyBub3QgTm9uZToKKyAgICAg
ICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGt3YXJnc1siYmluYXJ5Il0pOgorICAgICAgICAgICAg
cHJpbnQgPj4gc3lzLnN0ZGVyciwgIkJpbmFyeSBwYXRoICVzIGRvZXMgbm90IGV4aXN0IiAlIGt3
YXJnc1siYmluYXJ5Il0KKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICBpZiBrd2FyZ3Nb
InNzbF90eXBlIl0gaXMgTm9uZToKKyAgICAgICAgaWYgTm9uZSBub3QgaW4gKGt3YXJnc1siY2Ff
Y2VydF9wYXRoIl0sIGt3YXJnc1siaG9zdF9jZXJ0X3BhdGgiXSwga3dhcmdzWyJob3N0X2tleV9w
YXRoIl0pOgorICAgICAgICAgICAga3dhcmdzWyJzc2xfdHlwZSJdID0gInByZWdlbmVyYXRlZCIK
KyAgICAgICAgZWxpZiBleGVfcGF0aChrd2FyZ3NbIm9wZW5zc2xfYmluYXJ5Il0pIGlzIG5vdCBO
b25lOgorICAgICAgICAgICAga3dhcmdzWyJzc2xfdHlwZSJdID0gIm9wZW5zc2wiCisgICAgICAg
IGVsc2U6CisgICAgICAgICAgICBrd2FyZ3NbInNzbF90eXBlIl0gPSAibm9uZSIKKworICAgIGlm
IGt3YXJnc1sic3NsX3R5cGUiXSA9PSAicHJlZ2VuZXJhdGVkIjoKKyAgICAgICAgcmVxdWlyZV9h
cmcoa3dhcmdzLCAiY2FfY2VydF9wYXRoIiwgbGFtYmRhIHg6b3MucGF0aC5leGlzdHMoeCkpCisg
ICAgICAgIHJlcXVpcmVfYXJnKGt3YXJncywgImhvc3RfY2VydF9wYXRoIiwgbGFtYmRhIHg6b3Mu
cGF0aC5leGlzdHMoeCkpCisgICAgICAgIHJlcXVpcmVfYXJnKGt3YXJncywgImhvc3Rfa2V5X3Bh
dGgiLCBsYW1iZGEgeDpvcy5wYXRoLmV4aXN0cyh4KSkKKworICAgIGVsaWYga3dhcmdzWyJzc2xf
dHlwZSJdID09ICJvcGVuc3NsIjoKKyAgICAgICAgcGF0aCA9IGV4ZV9wYXRoKGt3YXJnc1sib3Bl
bnNzbF9iaW5hcnkiXSkKKyAgICAgICAgaWYgcGF0aCBpcyBOb25lOgorICAgICAgICAgICAgcHJp
bnQgPj4gc3lzLnN0ZGVyciwgIm9wZW5zc2wtYmluYXJ5IGFyZ3VtZW50IG1pc3Npbmcgb3Igbm90
IGEgdmFsaWQgZXhlY3V0YWJsZSIKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgIGt3
YXJnc1sib3BlbnNzbF9iaW5hcnkiXSA9IHBhdGgKKworICAgIGlmIGt3YXJnc1sic3NsX3R5cGUi
XSAhPSAibm9uZSIgYW5kIGt3YXJnc1sicHJvZHVjdCJdID09ICJmaXJlZm94IjoKKyAgICAgICAg
cGF0aCA9IGV4ZV9wYXRoKGt3YXJnc1siY2VydHV0aWxfYmluYXJ5Il0pCisgICAgICAgIGlmIHBh
dGggaXMgTm9uZToKKyAgICAgICAgICAgIHByaW50ID4+IHN5cy5zdGRlcnIsICJjZXJ0dXRpbC1i
aW5hcnkgYXJndW1lbnQgbWlzc2luZyBvciBub3QgYSB2YWxpZCBleGVjdXRhYmxlIgorICAgICAg
ICAgICAgc3lzLmV4aXQoMSkKKyAgICAgICAga3dhcmdzWyJjZXJ0dXRpbF9iaW5hcnkiXSA9IHBh
dGgKKworICAgIGlmIGt3YXJnc1snZXh0cmFfcHJlZnMnXToKKyAgICAgICAgbWlzc2luZyA9IGFu
eSgnPScgbm90IGluIHByZWZhcmcgZm9yIHByZWZhcmcgaW4ga3dhcmdzWydleHRyYV9wcmVmcydd
KQorICAgICAgICBpZiBtaXNzaW5nOgorICAgICAgICAgICAgcHJpbnQgPj4gc3lzLnN0ZGVyciwg
IlByZWZlcmVuY2VzIHZpYSAtLXNldHByZWYgbXVzdCBiZSBpbiBrZXk9dmFsdWUgZm9ybWF0Igor
ICAgICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICAgICAga3dhcmdzWydleHRyYV9wcmVmcyddID0g
W3R1cGxlKHByZWZhcmcuc3BsaXQoJz0nLCAxKSkgZm9yIHByZWZhcmcgaW4KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGt3YXJnc1snZXh0cmFfcHJlZnMnXV0KKworICAgIHJldHVy
biBrd2FyZ3MKKworCitkZWYgY2hlY2tfYXJnc191cGRhdGUoa3dhcmdzKToKKyAgICBzZXRfZnJv
bV9jb25maWcoa3dhcmdzKQorCisgICAgaWYga3dhcmdzWyJwcm9kdWN0Il0gaXMgTm9uZToKKyAg
ICAgICAga3dhcmdzWyJwcm9kdWN0Il0gPSAiZmlyZWZveCIKKworCitkZWYgY3JlYXRlX3BhcnNl
cl91cGRhdGUocHJvZHVjdF9jaG9pY2VzPU5vbmUpOgorICAgIGZyb20gbW96bG9nLnN0cnVjdHVy
ZWQgaW1wb3J0IGNvbW1hbmRsaW5lCisKKyAgICBpbXBvcnQgcHJvZHVjdHMKKworICAgIGlmIHBy
b2R1Y3RfY2hvaWNlcyBpcyBOb25lOgorICAgICAgICBjb25maWdfZGF0YSA9IGNvbmZpZy5sb2Fk
KCkKKyAgICAgICAgcHJvZHVjdF9jaG9pY2VzID0gcHJvZHVjdHMucHJvZHVjdHNfZW5hYmxlZChj
b25maWdfZGF0YSkKKworICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCJ3ZWIt
cGxhdGZvcm0tdGVzdHMtdXBkYXRlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkZXNjcmlwdGlvbj0iVXBkYXRlIHNjcmlwdCBmb3Igd2ViLXBsYXRmb3JtLXRlc3RzIHRl
c3RzLiIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1wcm9kdWN0IiwgYWN0aW9uPSJzdG9y
ZSIsIGNob2ljZXM9cHJvZHVjdF9jaG9pY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgZGVm
YXVsdD1Ob25lLCBoZWxwPSJCcm93c2VyIGZvciB3aGljaCBtZXRhZGF0YSBpcyBiZWluZyB1cGRh
dGVkIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLWNvbmZpZyIsIGFjdGlvbj0ic3RvcmUi
LCB0eXBlPWFic19wYXRoLCBoZWxwPSJQYXRoIHRvIGNvbmZpZyBmaWxlIikKKyAgICBwYXJzZXIu
YWRkX2FyZ3VtZW50KCItLW1ldGFkYXRhIiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9YWJzX3BhdGgs
IGRlc3Q9Im1ldGFkYXRhX3Jvb3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUGF0
aCB0byB0aGUgZm9sZGVyIGNvbnRhaW5pbmcgdGVzdCBtZXRhZGF0YSIpLAorICAgIHBhcnNlci5h
ZGRfYXJndW1lbnQoIi0tdGVzdHMiLCBhY3Rpb249InN0b3JlIiwgdHlwZT1hYnNfcGF0aCwgZGVz
dD0idGVzdHNfcm9vdCIsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIHdl
Yi1wbGF0Zm9ybS10ZXN0cyIpLAorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tc3luYy1wYXRo
IiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9YWJzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJQYXRoIHRvIHN0b3JlIGdpdCBjaGVja291dCBvZiB3ZWItcGxhdGZvcm0tdGVzdHMg
ZHVyaW5nIHVwZGF0ZSIpLAorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tcmVtb3RlX3VybCIs
IGFjdGlvbj0ic3RvcmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVVJMIG9mIHdl
Yi1wbGF0ZnJvbS10ZXN0cyByZXBvc2l0b3J5IHRvIHN5bmMgYWdhaW5zdCIpLAorICAgIHBhcnNl
ci5hZGRfYXJndW1lbnQoIi0tYnJhbmNoIiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9YWJzX3BhdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSZW1vdGUgYnJhbmNoIHRvIHN5bmMgYWdh
aW5zdCIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1yZXYiLCBhY3Rpb249InN0b3JlIiwg
aGVscD0iUmV2aXNpb24gdG8gc3luYyB0byIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1u
by1wYXRjaCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSJEb24ndCBjcmVhdGUgYW4gbXEgcGF0Y2ggb3IgZ2l0IGNvbW1pdCBjb250YWluaW5nIHRo
ZSBjaGFuZ2VzLiIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1zeW5jIiwgZGVzdD0ic3lu
YyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAg
ICAgICAgICBoZWxwPSJTeW5jIHRoZSB0ZXN0cyB3aXRoIHRoZSBsYXRlc3QgZnJvbSB1cHN0cmVh
bSIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1pZ25vcmUtZXhpc3RpbmciLCBhY3Rpb249
InN0b3JlX3RydWUiLCBoZWxwPSJXaGVuIHVwZGF0aW5nIHRlc3QgcmVzdWx0cyBvbmx5IGNvbnNp
ZGVyIHJlc3VsdHMgZnJvbSB0aGUgbG9nZmlsZXMgcHJvdmlkZWQsIG5vdCBleGlzdGluZyBleHBl
Y3RhdGlvbnMuIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLWNvbnRpbnVlIiwgYWN0aW9u
PSJzdG9yZV90cnVlIiwgaGVscD0iQ29udGludWUgYSBwcmV2aW91c2x5IHN0YXJ0ZWQgcnVuIG9m
IHRoZSB1cGRhdGUgc2NyaXB0IikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLWFib3J0Iiwg
YWN0aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iQ2xlYXIgc3RhdGUgZnJvbSBhIHByZXZpb3VzIGlu
Y29tcGxldGUgcnVuIG9mIHRoZSB1cGRhdGUgc2NyaXB0IikKKyAgICAjIFNob3VsZCBtYWtlIHRo
aXMgcmVxdWlyZWQgaWZmIHJ1bj1sb2dmaWxlCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgicnVu
X2xvZyIsIG5hcmdzPSIqIiwgdHlwZT1hYnNfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9IkxvZyBmaWxlIGZyb20gcnVuIG9mIHRlc3RzIikKKyAgICBjb21tYW5kbGluZS5hZGRf
bG9nZ2luZ19ncm91cChwYXJzZXIpCisgICAgcmV0dXJuIHBhcnNlcgorCisKK2RlZiBjcmVhdGVf
cGFyc2VyX3JlZHVjZShwcm9kdWN0X2Nob2ljZXM9Tm9uZSk6CisgICAgcGFyc2VyID0gY3JlYXRl
X3BhcnNlcihwcm9kdWN0X2Nob2ljZXMpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgidGFyZ2V0
IiwgYWN0aW9uPSJzdG9yZSIsIGhlbHA9IlRlc3QgaWQgdGhhdCBpcyB1bnN0YWJsZSIpCisgICAg
cmV0dXJuIHBhcnNlcgorCisKK2RlZiBwYXJzZV9hcmdzKCk6CisgICAgcGFyc2VyID0gY3JlYXRl
X3BhcnNlcigpCisgICAgcnYgPSB2YXJzKHBhcnNlci5wYXJzZV9hcmdzKCkpCisgICAgY2hlY2tf
YXJncyhydikKKyAgICByZXR1cm4gcnYKKworCitkZWYgcGFyc2VfYXJnc191cGRhdGUoKToKKyAg
ICBwYXJzZXIgPSBjcmVhdGVfcGFyc2VyX3VwZGF0ZSgpCisgICAgcnYgPSB2YXJzKHBhcnNlci5w
YXJzZV9hcmdzKCkpCisgICAgY2hlY2tfYXJnc191cGRhdGUocnYpCisgICAgcmV0dXJuIHJ2CisK
KworZGVmIHBhcnNlX2FyZ3NfcmVkdWNlKCk6CisgICAgcGFyc2VyID0gY3JlYXRlX3BhcnNlcl9y
ZWR1Y2UoKQorICAgIHJ2ID0gdmFycyhwYXJzZXIucGFyc2VfYXJncygpKQorICAgIGNoZWNrX2Fy
Z3MocnYpCisgICAgcmV0dXJuIHJ2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bG9nZ2lu
Zy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci93cHRsb2dnaW5nLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhYjY3NTVjNDM1
MjNhY2Q4ZTJmZjgxODIyYzhiYTIwNjhiMmQ5MDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvd3B0bG9nZ2luZy5weQpAQCAtMCwwICsxLDEyMSBAQAoraW1wb3J0IGxvZ2dpbmcKK2lt
cG9ydCBzeXMKK2ltcG9ydCB0aHJlYWRpbmcKK2Zyb20gU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lP
Citmcm9tIG11bHRpcHJvY2Vzc2luZyBpbXBvcnQgUXVldWUKKworZnJvbSBtb3psb2cgaW1wb3J0
IGNvbW1hbmRsaW5lLCBzdGRhZGFwdGVyCisKK2RlZiBzZXR1cChhcmdzLCBkZWZhdWx0cyk6Cisg
ICAgbG9nZ2VyID0gY29tbWFuZGxpbmUuc2V0dXBfbG9nZ2luZygid2ViLXBsYXRmb3JtLXRlc3Rz
IiwgYXJncywgZGVmYXVsdHMpCisgICAgc2V0dXBfc3RkbGliX2xvZ2dlcigpCisKKyAgICBmb3Ig
bmFtZSBpbiBhcmdzLmtleXMoKToKKyAgICAgICAgaWYgbmFtZS5zdGFydHN3aXRoKCJsb2dfIik6
CisgICAgICAgICAgICBhcmdzLnBvcChuYW1lKQorCisgICAgcmV0dXJuIGxvZ2dlcgorCisKK2Rl
ZiBzZXR1cF9zdGRsaWJfbG9nZ2VyKCk6CisgICAgbG9nZ2luZy5yb290LmhhbmRsZXJzID0gW10K
KyAgICBsb2dnaW5nLnJvb3QgPSBzdGRhZGFwdGVyLnN0ZF9sb2dnaW5nX2FkYXB0ZXIobG9nZ2lu
Zy5yb290KQorCisKK2NsYXNzIExvZ0xldmVsUmV3cml0ZXIob2JqZWN0KToKKyAgICAiIiJGaWx0
ZXIgdGhhdCByZXBsYWNlcyBsb2cgbWVzc2FnZXMgYXQgc3BlY2lmaWVkIGxldmVscyB3aXRoIG1l
c3NhZ2VzCisgICAgYXQgYSBkaWZmZXJlbnQgbGV2ZWwuCisKKyAgICBUaGlzIGNhbiBiZSB1c2Vk
IHRvIGUuZy4gZG93bmdyYWRlIGxvZyBtZXNzYWdlcyBmcm9tIEVSUk9SIHRvIFdBUk5JTkcKKyAg
ICBpbiBzb21lIGNvbXBvbmVudCB3aGVyZSBFUlJPUnMgYXJlIG5vdCBjcml0aWNhbC4KKworICAg
IDpwYXJhbSBpbm5lcjogSGFuZGxlciB0byB1c2UgZm9yIG1lc3NhZ2VzIHRoYXQgcGFzcyB0aGlz
IGZpbHRlcgorICAgIDpwYXJhbSBmcm9tX2xldmVsczogTGlzdCBvZiBsZXZlbHMgd2hpY2ggc2hv
dWxkIGJlIGFmZmVjdGVkCisgICAgOnBhcmFtIHRvX2xldmVsOiBMb2cgbGV2ZWwgdG8gc2V0IGZv
ciB0aGUgYWZmZWN0ZWQgbWVzc2FnZXMKKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
aW5uZXIsIGZyb21fbGV2ZWxzLCB0b19sZXZlbCk6CisgICAgICAgIHNlbGYuaW5uZXIgPSBpbm5l
cgorICAgICAgICBzZWxmLmZyb21fbGV2ZWxzID0gW2l0ZW0udXBwZXIoKSBmb3IgaXRlbSBpbiBm
cm9tX2xldmVsc10KKyAgICAgICAgc2VsZi50b19sZXZlbCA9IHRvX2xldmVsLnVwcGVyKCkKKwor
ICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBkYXRhKToKKyAgICAgICAgaWYgZGF0YVsiYWN0aW9uIl0g
PT0gImxvZyIgYW5kIGRhdGFbImxldmVsIl0udXBwZXIoKSBpbiBzZWxmLmZyb21fbGV2ZWxzOgor
ICAgICAgICAgICAgZGF0YSA9IGRhdGEuY29weSgpCisgICAgICAgICAgICBkYXRhWyJsZXZlbCJd
ID0gc2VsZi50b19sZXZlbAorICAgICAgICByZXR1cm4gc2VsZi5pbm5lcihkYXRhKQorCisKKwor
Y2xhc3MgTG9nVGhyZWFkKHRocmVhZGluZy5UaHJlYWQpOgorICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBxdWV1ZSwgbG9nZ2VyLCBsZXZlbCk6CisgICAgICAgIHNlbGYucXVldWUgPSBxdWV1ZQorICAg
ICAgICBzZWxmLmxvZ19mdW5jID0gZ2V0YXR0cihsb2dnZXIsIGxldmVsKQorICAgICAgICB0aHJl
YWRpbmcuVGhyZWFkLl9faW5pdF9fKHNlbGYsIG5hbWU9IlRocmVhZC1Mb2ciKQorICAgICAgICBz
ZWxmLmRhZW1vbiA9IFRydWUKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIHdoaWxlIFRy
dWU6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgbXNnID0gc2VsZi5xdWV1ZS5n
ZXQoKQorICAgICAgICAgICAgZXhjZXB0IChFT0ZFcnJvciwgSU9FcnJvcik6CisgICAgICAgICAg
ICAgICAgYnJlYWsKKyAgICAgICAgICAgIGlmIG1zZyBpcyBOb25lOgorICAgICAgICAgICAgICAg
IGJyZWFrCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYubG9nX2Z1bmMo
bXNnKQorCisKK2NsYXNzIExvZ2dpbmdXcmFwcGVyKFN0cmluZ0lPKToKKyAgICAiIiJXcmFwcGVy
IGZvciBmaWxlIGxpa2Ugb2JqZWN0cyB0byByZWRpcmVjdCBvdXRwdXQgdG8gbG9nZ2VyCisgICAg
aW5zdGVhZCIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHF1ZXVlLCBwcmVmaXg9Tm9uZSk6
CisgICAgICAgIFN0cmluZ0lPLl9faW5pdF9fKHNlbGYpCisgICAgICAgIHNlbGYucXVldWUgPSBx
dWV1ZQorICAgICAgICBzZWxmLnByZWZpeCA9IHByZWZpeAorCisgICAgZGVmIHdyaXRlKHNlbGYs
IGRhdGEpOgorICAgICAgICBpZiBpc2luc3RhbmNlKGRhdGEsIHN0cik6CisgICAgICAgICAgICBk
YXRhID0gZGF0YS5kZWNvZGUoInV0ZjgiKQorCisgICAgICAgIGlmIGRhdGEuZW5kc3dpdGgoIlxu
Iik6CisgICAgICAgICAgICBkYXRhID0gZGF0YVs6LTFdCisgICAgICAgIGlmIGRhdGEuZW5kc3dp
dGgoIlxyIik6CisgICAgICAgICAgICBkYXRhID0gZGF0YVs6LTFdCisgICAgICAgIGlmIG5vdCBk
YXRhOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIHNlbGYucHJlZml4IGlzIG5vdCBO
b25lOgorICAgICAgICAgICAgZGF0YSA9ICIlczogJXMiICUgKHNlbGYucHJlZml4LCBkYXRhKQor
ICAgICAgICBzZWxmLnF1ZXVlLnB1dChkYXRhKQorCisgICAgZGVmIGZsdXNoKHNlbGYpOgorICAg
ICAgICBwYXNzCisKKworY2xhc3MgQ2FwdHVyZUlPKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGxvZ2dlciwgZG9fY2FwdHVyZSk6CisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2Vy
CisgICAgICAgIHNlbGYuZG9fY2FwdHVyZSA9IGRvX2NhcHR1cmUKKyAgICAgICAgc2VsZi5sb2dn
aW5nX3F1ZXVlID0gTm9uZQorICAgICAgICBzZWxmLmxvZ2dpbmdfdGhyZWFkID0gTm9uZQorICAg
ICAgICBzZWxmLm9yaWdpbmFsX3N0ZGlvID0gTm9uZQorCisgICAgZGVmIF9fZW50ZXJfXyhzZWxm
KToKKyAgICAgICAgaWYgc2VsZi5kb19jYXB0dXJlOgorICAgICAgICAgICAgc2VsZi5vcmlnaW5h
bF9zdGRpbyA9IChzeXMuc3Rkb3V0LCBzeXMuc3RkZXJyKQorICAgICAgICAgICAgc2VsZi5sb2dn
aW5nX3F1ZXVlID0gUXVldWUoKQorICAgICAgICAgICAgc2VsZi5sb2dnaW5nX3RocmVhZCA9IExv
Z1RocmVhZChzZWxmLmxvZ2dpbmdfcXVldWUsIHNlbGYubG9nZ2VyLCAiaW5mbyIpCisgICAgICAg
ICAgICBzeXMuc3Rkb3V0ID0gTG9nZ2luZ1dyYXBwZXIoc2VsZi5sb2dnaW5nX3F1ZXVlLCBwcmVm
aXg9IlNURE9VVCIpCisgICAgICAgICAgICBzeXMuc3RkZXJyID0gTG9nZ2luZ1dyYXBwZXIoc2Vs
Zi5sb2dnaW5nX3F1ZXVlLCBwcmVmaXg9IlNUREVSUiIpCisgICAgICAgICAgICBzZWxmLmxvZ2dp
bmdfdGhyZWFkLnN0YXJ0KCkKKworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncywgKiprd2Fy
Z3MpOgorICAgICAgICBpZiBzZWxmLmRvX2NhcHR1cmU6CisgICAgICAgICAgICBzeXMuc3Rkb3V0
LCBzeXMuc3RkZXJyID0gc2VsZi5vcmlnaW5hbF9zdGRpbworICAgICAgICAgICAgaWYgc2VsZi5s
b2dnaW5nX3F1ZXVlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmlu
Zm8oIkNsb3NpbmcgbG9nZ2luZyBxdWV1ZSIpCisgICAgICAgICAgICAgICAgc2VsZi5sb2dnaW5n
X3F1ZXVlLnB1dChOb25lKQorICAgICAgICAgICAgICAgIGlmIHNlbGYubG9nZ2luZ190aHJlYWQg
aXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHNlbGYubG9nZ2luZ190aHJlYWQuam9p
bigxMCkKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dpbmdfcXVldWUuY2xvc2UoKQorICAgICAg
ICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oInF1ZXVlIGNsb3NlZCIpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0bWFuaWZlc3QvX19pbml0X18ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFu
aWZlc3QvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmI2NDc4NGM3ZTY2NzgyNjU4YmNjZWYwMWVj
YzkxMGM3Njg0NWJlZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVz
dC9fX2luaXRfXy5weQpAQCAtMCwwICsxLDQgQEAKK2Zyb20gc2VyaWFsaXplciBpbXBvcnQgc2Vy
aWFsaXplCitmcm9tIHBhcnNlciBpbXBvcnQgcGFyc2UKK2Zyb20gYmFja2VuZHMuc3RhdGljIGlt
cG9ydCBjb21waWxlIGFzIGNvbXBpbGVfc3RhdGljCitmcm9tIGJhY2tlbmRzLmNvbmRpdGlvbmFs
IGltcG9ydCBjb21waWxlIGFzIGNvbXBpbGVfY29uZGl0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvd3B0bWFuaWZlc3QvYmFja2VuZHMvX19pbml0X18ucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0
bWFuaWZlc3QvYmFja2VuZHMvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY4MzRiODI4NWE1NmJl
ZjBlMTU0M2ZkOTAxYzdlNmYyZjhiYzIwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci93cHRtYW5pZmVzdC9iYWNrZW5kcy9fX2luaXRfXy5weQpAQCAtMCwwICsxIEBACisjIFRoaXMg
ZmlsZSBpcyByZXF1aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVjdG9yeSBmb3Ig
bW9kdWxlcy4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvd3B0bWFuaWZlc3QvYmFja2VuZHMvY29uZGl0aW9uYWwucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
d3B0bWFuaWZlc3QvYmFja2VuZHMvY29uZGl0aW9uYWwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjBmNGVjZjMz
NWZmM2M2NjBiYjQzNzQwOTFmY2I2YTNlNzJiZWZmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9jb25kaXRpb25hbC5weQpAQCAtMCwwICsxLDMz
MCBAQAoraW1wb3J0IG9wZXJhdG9yCisKK2Zyb20gLi5ub2RlIGltcG9ydCBOb2RlVmlzaXRvciwg
RGF0YU5vZGUsIENvbmRpdGlvbmFsTm9kZSwgS2V5VmFsdWVOb2RlLCBMaXN0Tm9kZSwgVmFsdWVO
b2RlCitmcm9tIC4ucGFyc2VyIGltcG9ydCBwYXJzZQorCisKK2NsYXNzIENvbmRpdGlvbmFsVmFs
dWUob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbm9kZSwgY29uZGl0aW9uX2Z1bmMp
OgorICAgICAgICBzZWxmLm5vZGUgPSBub2RlCisgICAgICAgIHNlbGYuY29uZGl0aW9uX2Z1bmMg
PSBjb25kaXRpb25fZnVuYworICAgICAgICBpZiBpc2luc3RhbmNlKG5vZGUsIENvbmRpdGlvbmFs
Tm9kZSk6CisgICAgICAgICAgICBhc3NlcnQgbGVuKG5vZGUuY2hpbGRyZW4pID09IDIKKyAgICAg
ICAgICAgIHNlbGYuY29uZGl0aW9uX25vZGUgPSBzZWxmLm5vZGUuY2hpbGRyZW5bMF0KKyAgICAg
ICAgICAgIHNlbGYudmFsdWVfbm9kZSA9IHNlbGYubm9kZS5jaGlsZHJlblsxXQorICAgICAgICBl
bHNlOgorICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uobm9kZSwgKFZhbHVlTm9kZSwgTGlz
dE5vZGUpKQorICAgICAgICAgICAgc2VsZi5jb25kaXRpb25fbm9kZSA9IE5vbmUKKyAgICAgICAg
ICAgIHNlbGYudmFsdWVfbm9kZSA9IHNlbGYubm9kZQorCisgICAgQHByb3BlcnR5CisgICAgZGVm
IHZhbHVlKHNlbGYpOgorICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYudmFsdWVfbm9kZSwgVmFs
dWVOb2RlKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLnZhbHVlX25vZGUuZGF0YQorICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIFtpdGVtLmRhdGEgZm9yIGl0ZW0gaW4gc2VsZi52
YWx1ZV9ub2RlLmNoaWxkcmVuXQorCisgICAgQHZhbHVlLnNldHRlcgorICAgIGRlZiB2YWx1ZShz
ZWxmLCB2YWx1ZSk6CisgICAgICAgIHNlbGYudmFsdWVfbm9kZS5kYXRhID0gdmFsdWUKKworICAg
IGRlZiBfX2NhbGxfXyhzZWxmLCBydW5faW5mbyk6CisgICAgICAgIHJldHVybiBzZWxmLmNvbmRp
dGlvbl9mdW5jKHJ1bl9pbmZvKQorCisgICAgZGVmIHNldF92YWx1ZShzZWxmLCB2YWx1ZSk6Cisg
ICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQorCisgICAgZGVmIHJlbW92ZShzZWxmKToKKyAgICAg
ICAgaWYgbGVuKHNlbGYubm9kZS5wYXJlbnQuY2hpbGRyZW4pID09IDE6CisgICAgICAgICAgICBz
ZWxmLm5vZGUucGFyZW50LnJlbW92ZSgpCisgICAgICAgIHNlbGYubm9kZS5yZW1vdmUoKQorCisK
K2NsYXNzIENvbXBpbGVyKE5vZGVWaXNpdG9yKToKKyAgICBkZWYgY29tcGlsZShzZWxmLCB0cmVl
LCBkYXRhX2Nsc19nZXR0ZXI9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICAiIiJDb21waWxlIGEg
cmF3IEFTVCBpbnRvIGEgZm9ybSB3aGVyZSBjb25kaXRpb25hbCBleHByZXNzaW9ucworICAgICAg
ICBhcmUgcmVwcmVzZW50ZWQgYnkgQ29uZGl0aW9uYWxWYWx1ZSBvYmplY3RzIHRoYXQgY2FuIGJl
IGV2YWx1YXRlZAorICAgICAgICBhdCBydW50aW1lLgorCisgICAgICAgIHRyZWUgLSBUaGUgcm9v
dCBub2RlIG9mIHRoZSB3cHRtYW5pZmVzdCBBU1QgdG8gY29tcGlsZQorCisgICAgICAgIGRhdGFf
Y2xzX2dldHRlciAtIEEgZnVuY3Rpb24gdGFraW5nIHR3byBwYXJhbWV0ZXJzOyB0aGUgcHJldmlv
dXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0IG5vZGUgYW5kIHRoZSBjdXJyZW50
IGFzdCBub2RlIGFuZCByZXR1cm5pbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNs
YXNzIG9mIHRoZSBvdXRwdXQgbm9kZSB0byB1c2UgZm9yIHRoZSBjdXJyZW50CisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFzdCBub2RlCisgICAgICAgICIiIgorICAgICAgICBpZiBkYXRhX2Ns
c19nZXR0ZXIgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuZGF0YV9jbHNfZ2V0dGVyID0gbGFt
YmRhIHgsIHk6IE1hbmlmZXN0SXRlbQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5k
YXRhX2Nsc19nZXR0ZXIgPSBkYXRhX2Nsc19nZXR0ZXIKKworICAgICAgICBzZWxmLnRyZWUgPSB0
cmVlCisgICAgICAgIHNlbGYub3V0cHV0X25vZGUgPSBzZWxmLl9pbml0aWFsX291dHB1dF9ub2Rl
KHRyZWUsICoqa3dhcmdzKQorICAgICAgICBzZWxmLnZpc2l0KHRyZWUpCisgICAgICAgIGFzc2Vy
dCBzZWxmLm91dHB1dF9ub2RlIGlzIG5vdCBOb25lCisgICAgICAgIHJldHVybiBzZWxmLm91dHB1
dF9ub2RlCisKKyAgICBkZWYgY29tcGlsZV9jb25kaXRpb24oc2VsZiwgY29uZGl0aW9uKToKKyAg
ICAgICAgIiIiQ29tcGlsZSBhIENvbmRpdGlvbmFsTm9kZSBpbnRvIGEgQ29uZGl0aW9uYWxWYWx1
ZS4KKworICAgICAgICBjb25kaXRpb246IEEgQ29uZGl0aW9uYWxOb2RlIiIiCisgICAgICAgIGRh
dGFfbm9kZSA9IERhdGFOb2RlKCkKKyAgICAgICAga2V5X3ZhbHVlX25vZGUgPSBLZXlWYWx1ZU5v
ZGUoKQorICAgICAgICBrZXlfdmFsdWVfbm9kZS5hcHBlbmQoY29uZGl0aW9uLmNvcHkoKSkKKyAg
ICAgICAgZGF0YV9ub2RlLmFwcGVuZChrZXlfdmFsdWVfbm9kZSkKKyAgICAgICAgbWFuaWZlc3Rf
aXRlbSA9IHNlbGYuY29tcGlsZShkYXRhX25vZGUpCisgICAgICAgIHJldHVybiBtYW5pZmVzdF9p
dGVtLl9kYXRhW05vbmVdWzBdCisKKyAgICBkZWYgX2luaXRpYWxfb3V0cHV0X25vZGUoc2VsZiwg
bm9kZSwgKiprd2FyZ3MpOgorICAgICAgICByZXR1cm4gc2VsZi5kYXRhX2Nsc19nZXR0ZXIoTm9u
ZSwgTm9uZSkobm9kZSwgKiprd2FyZ3MpCisKKyAgICBkZWYgdmlzaXRfRGF0YU5vZGUoc2VsZiwg
bm9kZSk6CisgICAgICAgIGlmIG5vZGUgIT0gc2VsZi50cmVlOgorICAgICAgICAgICAgb3V0cHV0
X3BhcmVudCA9IHNlbGYub3V0cHV0X25vZGUKKyAgICAgICAgICAgIHNlbGYub3V0cHV0X25vZGUg
PSBzZWxmLmRhdGFfY2xzX2dldHRlcihzZWxmLm91dHB1dF9ub2RlLCBub2RlKShub2RlKQorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgb3V0cHV0X3BhcmVudCA9IE5vbmUKKworICAgICAgICBh
c3NlcnQgc2VsZi5vdXRwdXRfbm9kZSBpcyBub3QgTm9uZQorCisgICAgICAgIGZvciBjaGlsZCBp
biBub2RlLmNoaWxkcmVuOgorICAgICAgICAgICAgc2VsZi52aXNpdChjaGlsZCkKKworICAgICAg
ICBpZiBvdXRwdXRfcGFyZW50IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIyBBcHBlbmQgdG8g
dGhlIHBhcmVudCAqYWZ0ZXIqIHByb2Nlc3NpbmcgYWxsIHRoZSBub2RlIGRhdGEKKyAgICAgICAg
ICAgIG91dHB1dF9wYXJlbnQuYXBwZW5kKHNlbGYub3V0cHV0X25vZGUpCisgICAgICAgICAgICBz
ZWxmLm91dHB1dF9ub2RlID0gc2VsZi5vdXRwdXRfbm9kZS5wYXJlbnQKKworICAgICAgICBhc3Nl
cnQgc2VsZi5vdXRwdXRfbm9kZSBpcyBub3QgTm9uZQorCisgICAgZGVmIHZpc2l0X0tleVZhbHVl
Tm9kZShzZWxmLCBub2RlKToKKyAgICAgICAga2V5X3ZhbHVlcyA9IFtdCisgICAgICAgIGZvciBj
aGlsZCBpbiBub2RlLmNoaWxkcmVuOgorICAgICAgICAgICAgY29uZGl0aW9uLCB2YWx1ZSA9IHNl
bGYudmlzaXQoY2hpbGQpCisgICAgICAgICAgICBrZXlfdmFsdWVzLmFwcGVuZChDb25kaXRpb25h
bFZhbHVlKGNoaWxkLCBjb25kaXRpb24pKQorCisgICAgICAgIHNlbGYub3V0cHV0X25vZGUuX2Fk
ZF9rZXlfdmFsdWUobm9kZSwga2V5X3ZhbHVlcykKKworICAgIGRlZiB2aXNpdF9MaXN0Tm9kZShz
ZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIChsYW1iZGEgeDpUcnVlLCBbc2VsZi52aXNpdChj
aGlsZCkgZm9yIGNoaWxkIGluIG5vZGUuY2hpbGRyZW5dKQorCisgICAgZGVmIHZpc2l0X1ZhbHVl
Tm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIChsYW1iZGEgeDogVHJ1ZSwgbm9kZS5k
YXRhKQorCisgICAgZGVmIHZpc2l0X0F0b21Ob2RlKHNlbGYsIG5vZGUpOgorICAgICAgICByZXR1
cm4gKGxhbWJkYSB4OiBUcnVlLCBub2RlLmRhdGEpCisKKyAgICBkZWYgdmlzaXRfQ29uZGl0aW9u
YWxOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICByZXR1cm4gc2VsZi52aXNpdChub2RlLmNoaWxk
cmVuWzBdKSwgc2VsZi52aXNpdChub2RlLmNoaWxkcmVuWzFdKQorCisgICAgZGVmIHZpc2l0X1N0
cmluZ05vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGluZGV4ZXMgPSBbc2VsZi52aXNpdChjaGls
ZCkgZm9yIGNoaWxkIGluIG5vZGUuY2hpbGRyZW5dCisKKyAgICAgICAgZGVmIHZhbHVlKHgpOgor
ICAgICAgICAgICAgcnYgPSBub2RlLmRhdGEKKyAgICAgICAgICAgIGZvciBpbmRleCBpbiBpbmRl
eGVzOgorICAgICAgICAgICAgICAgIHJ2ID0gcnZbaW5kZXgoeCldCisgICAgICAgICAgICByZXR1
cm4gcnYKKyAgICAgICAgcmV0dXJuIHZhbHVlCisKKyAgICBkZWYgdmlzaXRfTnVtYmVyTm9kZShz
ZWxmLCBub2RlKToKKyAgICAgICAgaWYgIi4iIGluIG5vZGUuZGF0YToKKyAgICAgICAgICAgIHJl
dHVybiBsYW1iZGEgeDogZmxvYXQobm9kZS5kYXRhKQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgcmV0dXJuIGxhbWJkYSB4OiBpbnQobm9kZS5kYXRhKQorCisgICAgZGVmIHZpc2l0X1Zhcmlh
YmxlTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgaW5kZXhlcyA9IFtzZWxmLnZpc2l0KGNoaWxk
KSBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbl0KKworICAgICAgICBkZWYgdmFsdWUoeCk6Cisg
ICAgICAgICAgICBkYXRhID0geFtub2RlLmRhdGFdCisgICAgICAgICAgICBmb3IgaW5kZXggaW4g
aW5kZXhlczoKKyAgICAgICAgICAgICAgICBkYXRhID0gZGF0YVtpbmRleCh4KV0KKyAgICAgICAg
ICAgIHJldHVybiBkYXRhCisgICAgICAgIHJldHVybiB2YWx1ZQorCisgICAgZGVmIHZpc2l0X0lu
ZGV4Tm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgYXNzZXJ0IGxlbihub2RlLmNoaWxkcmVuKSA9
PSAxCisgICAgICAgIHJldHVybiBzZWxmLnZpc2l0KG5vZGUuY2hpbGRyZW5bMF0pCisKKyAgICBk
ZWYgdmlzaXRfVW5hcnlFeHByZXNzaW9uTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgYXNzZXJ0
IGxlbihub2RlLmNoaWxkcmVuKSA9PSAyCisgICAgICAgIG9wZXJhdG9yID0gc2VsZi52aXNpdChu
b2RlLmNoaWxkcmVuWzBdKQorICAgICAgICBvcGVyYW5kID0gc2VsZi52aXNpdChub2RlLmNoaWxk
cmVuWzFdKQorCisgICAgICAgIHJldHVybiBsYW1iZGEgeDogb3BlcmF0b3Iob3BlcmFuZCh4KSkK
KworICAgIGRlZiB2aXNpdF9CaW5hcnlFeHByZXNzaW9uTm9kZShzZWxmLCBub2RlKToKKyAgICAg
ICAgYXNzZXJ0IGxlbihub2RlLmNoaWxkcmVuKSA9PSAzCisgICAgICAgIG9wZXJhdG9yID0gc2Vs
Zi52aXNpdChub2RlLmNoaWxkcmVuWzBdKQorICAgICAgICBvcGVyYW5kXzAgPSBzZWxmLnZpc2l0
KG5vZGUuY2hpbGRyZW5bMV0pCisgICAgICAgIG9wZXJhbmRfMSA9IHNlbGYudmlzaXQobm9kZS5j
aGlsZHJlblsyXSkKKworICAgICAgICBhc3NlcnQgb3BlcmFuZF8wIGlzIG5vdCBOb25lCisgICAg
ICAgIGFzc2VydCBvcGVyYW5kXzEgaXMgbm90IE5vbmUKKworICAgICAgICByZXR1cm4gbGFtYmRh
IHg6IG9wZXJhdG9yKG9wZXJhbmRfMCh4KSwgb3BlcmFuZF8xKHgpKQorCisgICAgZGVmIHZpc2l0
X1VuYXJ5T3BlcmF0b3JOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICByZXR1cm4geyJub3QiOiBv
cGVyYXRvci5ub3RffVtub2RlLmRhdGFdCisKKyAgICBkZWYgdmlzaXRfQmluYXJ5T3BlcmF0b3JO
b2RlKHNlbGYsIG5vZGUpOgorICAgICAgICByZXR1cm4geyJhbmQiOiBvcGVyYXRvci5hbmRfLAor
ICAgICAgICAgICAgICAgICJvciI6IG9wZXJhdG9yLm9yXywKKyAgICAgICAgICAgICAgICAiPT0i
OiBvcGVyYXRvci5lcSwKKyAgICAgICAgICAgICAgICAiIT0iOiBvcGVyYXRvci5uZX1bbm9kZS5k
YXRhXQorCisKK2NsYXNzIE1hbmlmZXN0SXRlbShvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBub2RlPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5ub2RlID0gbm9kZQorICAg
ICAgICBzZWxmLnBhcmVudCA9IE5vbmUKKyAgICAgICAgc2VsZi5jaGlsZHJlbiA9IFtdCisgICAg
ICAgIHNlbGYuX2RhdGEgPSB7fQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICBy
ZXR1cm4gIjxNYW5pZmVzdEl0ZW0gJXM+IiAlIChzZWxmLm5vZGUuZGF0YSkKKworICAgIGRlZiBf
X3N0cl9fKHNlbGYpOgorICAgICAgICBydiA9IFtyZXByKHNlbGYpXQorICAgICAgICBmb3IgaXRl
bSBpbiBzZWxmLmNoaWxkcmVuOgorICAgICAgICAgICAgcnYuZXh0ZW5kKCIgICVzIiAlIGxpbmUg
Zm9yIGxpbmUgaW4gc3RyKGl0ZW0pLnNwbGl0KCJcbiIpKQorICAgICAgICByZXR1cm4gIlxuIi5q
b2luKHJ2KQorCisgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBrZXkpOgorICAgICAgICByZXR1
cm4ga2V5IGluIHNlbGYuX2RhdGEKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpc19lbXB0eShz
ZWxmKToKKyAgICAgICAgaWYgc2VsZi5fZGF0YToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQor
ICAgICAgICByZXR1cm4gYWxsKGNoaWxkLmlzX2VtcHR5IGZvciBjaGlsZCBpbiBzZWxmLmNoaWxk
cmVuKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHJvb3Qoc2VsZik6CisgICAgICAgIG5vZGUg
PSBzZWxmCisgICAgICAgIHdoaWxlIG5vZGUucGFyZW50IGlzIG5vdCBOb25lOgorICAgICAgICAg
ICAgbm9kZSA9IG5vZGUucGFyZW50CisgICAgICAgIHJldHVybiBub2RlCisKKyAgICBAcHJvcGVy
dHkKKyAgICBkZWYgbmFtZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYubm9kZS5kYXRhCisK
KyAgICBkZWYgaGFzX2tleShzZWxmLCBrZXkpOgorICAgICAgICBmb3Igbm9kZSBpbiBbc2VsZiwg
c2VsZi5yb290XToKKyAgICAgICAgICAgIGlmIGtleSBpbiBub2RlLl9kYXRhOgorICAgICAgICAg
ICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIGdldChz
ZWxmLCBrZXksIHJ1bl9pbmZvPU5vbmUpOgorICAgICAgICBpZiBydW5faW5mbyBpcyBOb25lOgor
ICAgICAgICAgICAgcnVuX2luZm8gPSB7fQorCisgICAgICAgIGZvciBub2RlIGluIFtzZWxmLCBz
ZWxmLnJvb3RdOgorICAgICAgICAgICAgaWYga2V5IGluIG5vZGUuX2RhdGE6CisgICAgICAgICAg
ICAgICAgZm9yIGNvbmRfdmFsdWUgaW4gbm9kZS5fZGF0YVtrZXldOgorICAgICAgICAgICAgICAg
ICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaGVzID0gY29uZF92YWx1ZShy
dW5faW5mbykKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAg
ICAgICAgICAgICAgICAgbWF0Y2hlcyA9IEZhbHNlCisgICAgICAgICAgICAgICAgICAgIGlmIG1h
dGNoZXM6CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29uZF92YWx1ZS52YWx1ZQor
ICAgICAgICByYWlzZSBLZXlFcnJvcgorCisgICAgZGVmIHNldChzZWxmLCBrZXksIHZhbHVlLCBj
b25kaXRpb249Tm9uZSk6CisgICAgICAgICMgRmlyc3QgdHJ5IHRvIHVwZGF0ZSB0aGUgZXhpc3Rp
bmcgdmFsdWUKKyAgICAgICAgaWYga2V5IGluIHNlbGYuX2RhdGE6CisgICAgICAgICAgICBjb25k
X3ZhbHVlcyA9IHNlbGYuX2RhdGFba2V5XQorICAgICAgICAgICAgZm9yIGNvbmRfdmFsdWUgaW4g
Y29uZF92YWx1ZXM6CisgICAgICAgICAgICAgICAgaWYgY29uZF92YWx1ZS5jb25kaXRpb25fbm9k
ZSA9PSBjb25kaXRpb246CisgICAgICAgICAgICAgICAgICAgIGNvbmRfdmFsdWUudmFsdWUgPSB2
YWx1ZQorICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgICMgSWYgdGhlcmUg
aXNuJ3QgYSBjb25kaXRpb25hbCBtYXRjaCByZXVzZSB0aGUgZXhpc3RpbmcgS2V5VmFsdWVOb2Rl
IGFzIHRoZQorICAgICAgICAgICAgIyBwYXJlbnQKKyAgICAgICAgICAgIG5vZGUgPSBOb25lCisg
ICAgICAgICAgICBmb3IgY2hpbGQgaW4gc2VsZi5ub2RlLmNoaWxkcmVuOgorICAgICAgICAgICAg
ICAgIGlmIGNoaWxkLmRhdGEgPT0ga2V5OgorICAgICAgICAgICAgICAgICAgICBub2RlID0gY2hp
bGQKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGFzc2VydCBub2RlIGlz
IG5vdCBOb25lCisKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG5vZGUgPSBLZXlWYWx1ZU5v
ZGUoa2V5KQorICAgICAgICAgICAgc2VsZi5ub2RlLmFwcGVuZChub2RlKQorCisgICAgICAgIHZh
bHVlX25vZGUgPSBWYWx1ZU5vZGUodmFsdWUpCisgICAgICAgIGlmIGNvbmRpdGlvbiBpcyBub3Qg
Tm9uZToKKyAgICAgICAgICAgIGNvbmRpdGlvbmFsX25vZGUgPSBDb25kaXRpb25hbE5vZGUoKQor
ICAgICAgICAgICAgY29uZGl0aW9uYWxfbm9kZS5hcHBlbmQoY29uZGl0aW9uKQorICAgICAgICAg
ICAgY29uZGl0aW9uYWxfbm9kZS5hcHBlbmQodmFsdWVfbm9kZSkKKyAgICAgICAgICAgIG5vZGUu
YXBwZW5kKGNvbmRpdGlvbmFsX25vZGUpCisgICAgICAgICAgICBjb25kX3ZhbHVlID0gQ29tcGls
ZXIoKS5jb21waWxlX2NvbmRpdGlvbihjb25kaXRpb25hbF9ub2RlKQorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgbm9kZS5hcHBlbmQodmFsdWVfbm9kZSkKKyAgICAgICAgICAgIGNvbmRfdmFs
dWUgPSBDb25kaXRpb25hbFZhbHVlKHZhbHVlX25vZGUsIGxhbWJkYSB4OiBUcnVlKQorCisgICAg
ICAgICMgVXBkYXRlIHRoZSBjYWNoZSBvZiBjaGlsZCB2YWx1ZXMuIFRoaXMgaXMgcHJldHR5IGFu
bm95aW5nIGFuZCBtYXliZQorICAgICAgICAjIGl0IHNob3VsZCBqdXN0IHdvcmsgZGlyZWN0bHkg
b24gdGhlIHRyZWUKKyAgICAgICAgaWYga2V5IG5vdCBpbiBzZWxmLl9kYXRhOgorICAgICAgICAg
ICAgc2VsZi5fZGF0YVtrZXldID0gW10KKyAgICAgICAgaWYgc2VsZi5fZGF0YVtrZXldIGFuZCBz
ZWxmLl9kYXRhW2tleV1bLTFdLmNvbmRpdGlvbl9ub2RlIGlzIE5vbmU6CisgICAgICAgICAgICBz
ZWxmLl9kYXRhW2tleV0uaW5zZXJ0KGxlbihzZWxmLl9kYXRhW2tleV0pIC0gMSwgY29uZF92YWx1
ZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX2RhdGFba2V5XS5hcHBlbmQoY29u
ZF92YWx1ZSkKKworICAgIGRlZiBfYWRkX2tleV92YWx1ZShzZWxmLCBub2RlLCB2YWx1ZXMpOgor
ICAgICAgICAiIiJDYWxsZWQgZHVyaW5nIGNvbnN0cnVjdGlvbiB0byBzZXQgYSBrZXktdmFsdWUg
bm9kZSIiIgorICAgICAgICBzZWxmLl9kYXRhW25vZGUuZGF0YV0gPSB2YWx1ZXMKKworICAgIGRl
ZiBhcHBlbmQoc2VsZiwgY2hpbGQpOgorICAgICAgICBzZWxmLmNoaWxkcmVuLmFwcGVuZChjaGls
ZCkKKyAgICAgICAgY2hpbGQucGFyZW50ID0gc2VsZgorICAgICAgICBpZiBjaGlsZC5ub2RlLnBh
cmVudCAhPSBzZWxmLm5vZGU6CisgICAgICAgICAgICBzZWxmLm5vZGUuYXBwZW5kKGNoaWxkLm5v
ZGUpCisgICAgICAgIHJldHVybiBjaGlsZAorCisgICAgZGVmIHJlbW92ZShzZWxmKToKKyAgICAg
ICAgaWYgc2VsZi5wYXJlbnQ6CisgICAgICAgICAgICBzZWxmLnBhcmVudC5fcmVtb3ZlX2NoaWxk
KHNlbGYpCisKKyAgICBkZWYgX3JlbW92ZV9jaGlsZChzZWxmLCBjaGlsZCk6CisgICAgICAgIHNl
bGYuY2hpbGRyZW4ucmVtb3ZlKGNoaWxkKQorICAgICAgICBjaGlsZC5wYXJlbnQgPSBOb25lCisK
KyAgICBkZWYgaXRlcmNoaWxkcmVuKHNlbGYsIG5hbWU9Tm9uZSk6CisgICAgICAgIGZvciBpdGVt
IGluIHNlbGYuY2hpbGRyZW46CisgICAgICAgICAgICBpZiBpdGVtLm5hbWUgPT0gbmFtZSBvciBu
YW1lIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgeWllbGQgaXRlbQorCisgICAgZGVmIF9mbGF0
dGVuKHNlbGYpOgorICAgICAgICBydiA9IHt9CisgICAgICAgIGZvciBub2RlIGluIFtzZWxmLCBz
ZWxmLnJvb3RdOgorICAgICAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIG5vZGUuX2RhdGEuaXRl
cml0ZW1zKCk6CisgICAgICAgICAgICAgICAgaWYgbmFtZSBub3QgaW4gcnY6CisgICAgICAgICAg
ICAgICAgICAgIHJ2W25hbWVdID0gdmFsdWUKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYg
aXRlcml0ZW1zKHNlbGYpOgorICAgICAgICBmb3IgaXRlbSBpbiBzZWxmLl9mbGF0dGVuKCkuaXRl
cml0ZW1zKCk6CisgICAgICAgICAgICB5aWVsZCBpdGVtCisKKyAgICBkZWYgaXRlcmtleXMoc2Vs
Zik6CisgICAgICAgIGZvciBpdGVtIGluIHNlbGYuX2ZsYXR0ZW4oKS5pdGVya2V5cygpOgorICAg
ICAgICAgICAgeWllbGQgaXRlbQorCisgICAgZGVmIHJlbW92ZV92YWx1ZShzZWxmLCBrZXksIHZh
bHVlKToKKyAgICAgICAgc2VsZi5fZGF0YVtrZXldLnJlbW92ZSh2YWx1ZSkKKyAgICAgICAgaWYg
bm90IHNlbGYuX2RhdGFba2V5XToKKyAgICAgICAgICAgIGRlbCBzZWxmLl9kYXRhW2tleV0KKyAg
ICAgICAgdmFsdWUucmVtb3ZlKCkKKworCitkZWYgY29tcGlsZV9hc3QoYXN0LCBkYXRhX2Nsc19n
ZXR0ZXI9Tm9uZSwgKiprd2FyZ3MpOgorICAgIHJldHVybiBDb21waWxlcigpLmNvbXBpbGUoYXN0
LCBkYXRhX2Nsc19nZXR0ZXI9ZGF0YV9jbHNfZ2V0dGVyLCAqKmt3YXJncykKKworCitkZWYgY29t
cGlsZShzdHJlYW0sIGRhdGFfY2xzX2dldHRlcj1Ob25lLCAqKmt3YXJncyk6CisgICAgcmV0dXJu
IGNvbXBpbGVfYXN0KHBhcnNlKHN0cmVhbSksCisgICAgICAgICAgICAgICAgICAgICAgIGRhdGFf
Y2xzX2dldHRlcj1kYXRhX2Nsc19nZXR0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICoqa3dh
cmdzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRzL3N0YXRp
Yy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9zdGF0aWMucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjJiOWZiZTk0Mjk4NTk2NjgyZTJkZjg1OWU1ZTkxMmIwMmQ1MGRiZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9zdGF0aWMucHkKQEAg
LTAsMCArMSwyMjAgQEAKK2ltcG9ydCBvcGVyYXRvcgorCitmcm9tIC4ubm9kZSBpbXBvcnQgTm9k
ZVZpc2l0b3IKK2Zyb20gLi5wYXJzZXIgaW1wb3J0IHBhcnNlCisKKworY2xhc3MgQ29tcGlsZXIo
Tm9kZVZpc2l0b3IpOgorICAgICIiIkNvbXBpbGVyIGJhY2tlbmQgdGhhdCBldmFsdWF0ZXMgY29u
ZGl0aW9uYWwgZXhwcmVzc2lvbnMKKyAgICB0byBnaXZlIHN0YXRpYyBvdXRwdXQiIiIKKworICAg
IGRlZiBjb21waWxlKHNlbGYsIHRyZWUsIGV4cHJfZGF0YSwgZGF0YV9jbHNfZ2V0dGVyPU5vbmUs
ICoqa3dhcmdzKToKKyAgICAgICAgIiIiQ29tcGlsZSBhIHJhdyBBU1QgaW50byBhIGZvcm0gd2l0
aCBjb25kaXRpb25hbCBleHByZXNzaW9ucworICAgICAgICBldmFsdWF0ZWQuCisKKyAgICAgICAg
dHJlZSAtIFRoZSByb290IG5vZGUgb2YgdGhlIHdwdG1hbmlmZXN0IEFTVCB0byBjb21waWxlCisK
KyAgICAgICAgZXhwcl9kYXRhIC0gQSBkaWN0aW9uYXJ5IG9mIGtleSAvIHZhbHVlIHBhaXJzIHRv
IHVzZSB3aGVuCisgICAgICAgICAgICAgICAgICAgIGV2YWx1YXRpbmcgY29uZGl0aW9uYWwgZXhw
cmVzc2lvbnMKKworICAgICAgICBkYXRhX2Nsc19nZXR0ZXIgLSBBIGZ1bmN0aW9uIHRha2luZyB0
d28gcGFyYW1ldGVyczsgdGhlIHByZXZpb3VzCisgICAgICAgICAgICAgICAgICAgICAgICAgIG91
dHB1dCBub2RlIGFuZCB0aGUgY3VycmVudCBhc3Qgbm9kZSBhbmQgcmV0dXJuaW5nCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRoZSBjbGFzcyBvZiB0aGUgb3V0cHV0IG5vZGUgdG8gdXNlIGZv
ciB0aGUgY3VycmVudAorICAgICAgICAgICAgICAgICAgICAgICAgICBhc3Qgbm9kZQorICAgICAg
ICAiIiIKKworICAgICAgICBzZWxmLl9rd2FyZ3MgPSBrd2FyZ3MKKyAgICAgICAgc2VsZi5leHBy
X2RhdGEgPSBleHByX2RhdGEKKworICAgICAgICBpZiBkYXRhX2Nsc19nZXR0ZXIgaXMgTm9uZToK
KyAgICAgICAgICAgIHNlbGYuZGF0YV9jbHNfZ2V0dGVyID0gbGFtYmRhIHgsIHk6IE1hbmlmZXN0
SXRlbQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5kYXRhX2Nsc19nZXR0ZXIgPSBk
YXRhX2Nsc19nZXR0ZXIKKworICAgICAgICBzZWxmLm91dHB1dF9ub2RlID0gTm9uZQorICAgICAg
ICBzZWxmLnZpc2l0KHRyZWUpCisgICAgICAgIHJldHVybiBzZWxmLm91dHB1dF9ub2RlCisKKyAg
ICBkZWYgdmlzaXRfRGF0YU5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIG91dHB1dF9wYXJlbnQg
PSBzZWxmLm91dHB1dF9ub2RlCisgICAgICAgIGlmIHNlbGYub3V0cHV0X25vZGUgaXMgTm9uZToK
KyAgICAgICAgICAgIGFzc2VydCBub2RlLnBhcmVudCBpcyBOb25lCisgICAgICAgICAgICBzZWxm
Lm91dHB1dF9ub2RlID0gc2VsZi5kYXRhX2Nsc19nZXR0ZXIoTm9uZSwgTm9uZSkoTm9uZSwgKipz
ZWxmLl9rd2FyZ3MpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLm91dHB1dF9ub2Rl
ID0gc2VsZi5kYXRhX2Nsc19nZXR0ZXIoc2VsZi5vdXRwdXRfbm9kZSwgbm9kZSkobm9kZS5kYXRh
KQorCisgICAgICAgIGZvciBjaGlsZCBpbiBub2RlLmNoaWxkcmVuOgorICAgICAgICAgICAgc2Vs
Zi52aXNpdChjaGlsZCkKKworICAgICAgICBpZiBvdXRwdXRfcGFyZW50IGlzIG5vdCBOb25lOgor
ICAgICAgICAgICAgb3V0cHV0X3BhcmVudC5hcHBlbmQoc2VsZi5vdXRwdXRfbm9kZSkKKyAgICAg
ICAgICAgIHNlbGYub3V0cHV0X25vZGUgPSBzZWxmLm91dHB1dF9ub2RlLnBhcmVudAorCisgICAg
ZGVmIHZpc2l0X0tleVZhbHVlTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAga2V5X25hbWUgPSBu
b2RlLmRhdGEKKyAgICAgICAga2V5X3ZhbHVlID0gTm9uZQorICAgICAgICBmb3IgY2hpbGQgaW4g
bm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgIHZhbHVlID0gc2VsZi52aXNpdChjaGlsZCkKKyAg
ICAgICAgICAgIGlmIHZhbHVlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGtleV92YWx1
ZSA9IHZhbHVlCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgaWYga2V5X3ZhbHVlIGlz
IG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5vdXRwdXRfbm9kZS5zZXQoa2V5X25hbWUsIGtl
eV92YWx1ZSkKKworICAgIGRlZiB2aXNpdF9WYWx1ZU5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAg
IHJldHVybiBub2RlLmRhdGEKKworICAgIGRlZiB2aXNpdF9BdG9tTm9kZShzZWxmLCBub2RlKToK
KyAgICAgICAgcmV0dXJuIG5vZGUuZGF0YQorCisgICAgZGVmIHZpc2l0X0xpc3ROb2RlKHNlbGYs
IG5vZGUpOgorICAgICAgICByZXR1cm4gW3NlbGYudmlzaXQoY2hpbGQpIGZvciBjaGlsZCBpbiBu
b2RlLmNoaWxkcmVuXQorCisgICAgZGVmIHZpc2l0X0NvbmRpdGlvbmFsTm9kZShzZWxmLCBub2Rl
KToKKyAgICAgICAgYXNzZXJ0IGxlbihub2RlLmNoaWxkcmVuKSA9PSAyCisgICAgICAgIGlmIHNl
bGYudmlzaXQobm9kZS5jaGlsZHJlblswXSk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi52aXNp
dChub2RlLmNoaWxkcmVuWzFdKQorCisgICAgZGVmIHZpc2l0X1N0cmluZ05vZGUoc2VsZiwgbm9k
ZSk6CisgICAgICAgIHZhbHVlID0gbm9kZS5kYXRhCisgICAgICAgIGZvciBjaGlsZCBpbiBub2Rl
LmNoaWxkcmVuOgorICAgICAgICAgICAgdmFsdWUgPSBzZWxmLnZpc2l0KGNoaWxkKSh2YWx1ZSkK
KyAgICAgICAgcmV0dXJuIHZhbHVlCisKKyAgICBkZWYgdmlzaXRfTnVtYmVyTm9kZShzZWxmLCBu
b2RlKToKKyAgICAgICAgaWYgIi4iIGluIG5vZGUuZGF0YToKKyAgICAgICAgICAgIHJldHVybiBm
bG9hdChub2RlLmRhdGEpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gaW50KG5v
ZGUuZGF0YSkKKworICAgIGRlZiB2aXNpdF9WYXJpYWJsZU5vZGUoc2VsZiwgbm9kZSk6CisgICAg
ICAgIHZhbHVlID0gc2VsZi5leHByX2RhdGFbbm9kZS5kYXRhXQorICAgICAgICBmb3IgY2hpbGQg
aW4gbm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgIHZhbHVlID0gc2VsZi52aXNpdChjaGlsZCko
dmFsdWUpCisgICAgICAgIHJldHVybiB2YWx1ZQorCisgICAgZGVmIHZpc2l0X0luZGV4Tm9kZShz
ZWxmLCBub2RlKToKKyAgICAgICAgYXNzZXJ0IGxlbihub2RlLmNoaWxkcmVuKSA9PSAxCisgICAg
ICAgIGluZGV4ID0gc2VsZi52aXNpdChub2RlLmNoaWxkcmVuWzBdKQorICAgICAgICByZXR1cm4g
bGFtYmRhIHg6IHhbaW5kZXhdCisKKyAgICBkZWYgdmlzaXRfVW5hcnlFeHByZXNzaW9uTm9kZShz
ZWxmLCBub2RlKToKKyAgICAgICAgYXNzZXJ0IGxlbihub2RlLmNoaWxkcmVuKSA9PSAyCisgICAg
ICAgIG9wZXJhdG9yID0gc2VsZi52aXNpdChub2RlLmNoaWxkcmVuWzBdKQorICAgICAgICBvcGVy
YW5kID0gc2VsZi52aXNpdChub2RlLmNoaWxkcmVuWzFdKQorCisgICAgICAgIHJldHVybiBvcGVy
YXRvcihvcGVyYW5kKQorCisgICAgZGVmIHZpc2l0X0JpbmFyeUV4cHJlc3Npb25Ob2RlKHNlbGYs
IG5vZGUpOgorICAgICAgICBhc3NlcnQgbGVuKG5vZGUuY2hpbGRyZW4pID09IDMKKyAgICAgICAg
b3BlcmF0b3IgPSBzZWxmLnZpc2l0KG5vZGUuY2hpbGRyZW5bMF0pCisgICAgICAgIG9wZXJhbmRf
MCA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblsxXSkKKyAgICAgICAgb3BlcmFuZF8xID0gc2Vs
Zi52aXNpdChub2RlLmNoaWxkcmVuWzJdKQorCisgICAgICAgIHJldHVybiBvcGVyYXRvcihvcGVy
YW5kXzAsIG9wZXJhbmRfMSkKKworICAgIGRlZiB2aXNpdF9VbmFyeU9wZXJhdG9yTm9kZShzZWxm
LCBub2RlKToKKyAgICAgICAgcmV0dXJuIHsibm90Ijogb3BlcmF0b3Iubm90X31bbm9kZS5kYXRh
XQorCisgICAgZGVmIHZpc2l0X0JpbmFyeU9wZXJhdG9yTm9kZShzZWxmLCBub2RlKToKKyAgICAg
ICAgcmV0dXJuIHsiYW5kIjogb3BlcmF0b3IuYW5kXywKKyAgICAgICAgICAgICAgICAib3IiOiBv
cGVyYXRvci5vcl8sCisgICAgICAgICAgICAgICAgIj09Ijogb3BlcmF0b3IuZXEsCisgICAgICAg
ICAgICAgICAgIiE9Ijogb3BlcmF0b3IubmV9W25vZGUuZGF0YV0KKworCitjbGFzcyBNYW5pZmVz
dEl0ZW0ob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgKiprd2FyZ3MpOgor
ICAgICAgICBzZWxmLnBhcmVudCA9IE5vbmUKKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorICAg
ICAgICBzZWxmLmNoaWxkcmVuID0gW10KKyAgICAgICAgc2VsZi5fZGF0YSA9IHt9CisKKyAgICBk
ZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAiPE1hbmlmZXN0SXRlbSAlcz4iICUg
KHNlbGYubmFtZSkKKworICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgICAgICBydiA9IFtyZXBy
KHNlbGYpXQorICAgICAgICBmb3IgaXRlbSBpbiBzZWxmLmNoaWxkcmVuOgorICAgICAgICAgICAg
cnYuZXh0ZW5kKCIgICVzIiAlIGxpbmUgZm9yIGxpbmUgaW4gc3RyKGl0ZW0pLnNwbGl0KCJcbiIp
KQorICAgICAgICByZXR1cm4gIlxuIi5qb2luKHJ2KQorCisgICAgQHByb3BlcnR5CisgICAgZGVm
IGlzX2VtcHR5KHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9kYXRhOgorICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBhbGwoY2hpbGQuaXNfZW1wdHkgZm9yIGNoaWxkIGlu
IHNlbGYuY2hpbGRyZW4pCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcm9vdChzZWxmKToKKyAg
ICAgICAgbm9kZSA9IHNlbGYKKyAgICAgICAgd2hpbGUgbm9kZS5wYXJlbnQgaXMgbm90IE5vbmU6
CisgICAgICAgICAgICBub2RlID0gbm9kZS5wYXJlbnQKKyAgICAgICAgcmV0dXJuIG5vZGUKKwor
ICAgIGRlZiBoYXNfa2V5KHNlbGYsIGtleSk6CisgICAgICAgIGZvciBub2RlIGluIFtzZWxmLCBz
ZWxmLnJvb3RdOgorICAgICAgICAgICAgaWYga2V5IGluIG5vZGUuX2RhdGE6CisgICAgICAgICAg
ICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBkZWYgZ2V0KHNl
bGYsIGtleSk6CisgICAgICAgIGZvciBub2RlIGluIFtzZWxmLCBzZWxmLnJvb3RdOgorICAgICAg
ICAgICAgaWYga2V5IGluIG5vZGUuX2RhdGE6CisgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGUu
X2RhdGFba2V5XQorICAgICAgICByYWlzZSBLZXlFcnJvcgorCisgICAgZGVmIHNldChzZWxmLCBu
YW1lLCB2YWx1ZSk6CisgICAgICAgIHNlbGYuX2RhdGFbbmFtZV0gPSB2YWx1ZQorCisgICAgZGVm
IHJlbW92ZShzZWxmKToKKyAgICAgICAgaWYgc2VsZi5wYXJlbnQ6CisgICAgICAgICAgICBzZWxm
LnBhcmVudC5fcmVtb3ZlX2NoaWxkKHNlbGYpCisKKyAgICBkZWYgX3JlbW92ZV9jaGlsZChzZWxm
LCBjaGlsZCk6CisgICAgICAgIHNlbGYuY2hpbGRyZW4ucmVtb3ZlKGNoaWxkKQorICAgICAgICBj
aGlsZC5wYXJlbnQgPSBOb25lCisKKyAgICBkZWYgaXRlcmNoaWxkcmVuKHNlbGYsIG5hbWU9Tm9u
ZSk6CisgICAgICAgIGZvciBpdGVtIGluIHNlbGYuY2hpbGRyZW46CisgICAgICAgICAgICBpZiBp
dGVtLm5hbWUgPT0gbmFtZSBvciBuYW1lIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgeWllbGQg
aXRlbQorCisgICAgZGVmIF9mbGF0dGVuKHNlbGYpOgorICAgICAgICBydiA9IHt9CisgICAgICAg
IGZvciBub2RlIGluIFtzZWxmLCBzZWxmLnJvb3RdOgorICAgICAgICAgICAgZm9yIG5hbWUsIHZh
bHVlIGluIG5vZGUuX2RhdGEuaXRlcml0ZW1zKCk6CisgICAgICAgICAgICAgICAgaWYgbmFtZSBu
b3QgaW4gcnY6CisgICAgICAgICAgICAgICAgICAgIHJ2W25hbWVdID0gdmFsdWUKKyAgICAgICAg
cmV0dXJuIHJ2CisKKyAgICBkZWYgaXRlcml0ZW1zKHNlbGYpOgorICAgICAgICBmb3IgaXRlbSBp
biBzZWxmLl9mbGF0dGVuKCkuaXRlcml0ZW1zKCk6CisgICAgICAgICAgICB5aWVsZCBpdGVtCisK
KyAgICBkZWYgaXRlcmtleXMoc2VsZik6CisgICAgICAgIGZvciBpdGVtIGluIHNlbGYuX2ZsYXR0
ZW4oKS5pdGVya2V5cygpOgorICAgICAgICAgICAgeWllbGQgaXRlbQorCisgICAgZGVmIGl0ZXJ2
YWx1ZXMoc2VsZik6CisgICAgICAgIGZvciBpdGVtIGluIHNlbGYuX2ZsYXR0ZW4oKS5pdGVydmFs
dWVzKCk6CisgICAgICAgICAgICB5aWVsZCBpdGVtCisKKyAgICBkZWYgYXBwZW5kKHNlbGYsIGNo
aWxkKToKKyAgICAgICAgY2hpbGQucGFyZW50ID0gc2VsZgorICAgICAgICBzZWxmLmNoaWxkcmVu
LmFwcGVuZChjaGlsZCkKKyAgICAgICAgcmV0dXJuIGNoaWxkCisKKworZGVmIGNvbXBpbGVfYXN0
KGFzdCwgZXhwcl9kYXRhLCBkYXRhX2Nsc19nZXR0ZXI9Tm9uZSwgKiprd2FyZ3MpOgorICAgIHJl
dHVybiBDb21waWxlcigpLmNvbXBpbGUoYXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZXhwcl9kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YV9jbHNfZ2V0
dGVyPWRhdGFfY2xzX2dldHRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqa3dh
cmdzKQorCisKK2RlZiBjb21waWxlKHN0cmVhbSwgZXhwcl9kYXRhLCBkYXRhX2Nsc19nZXR0ZXI9
Tm9uZSwgKiprd2FyZ3MpOgorICAgIHJldHVybiBjb21waWxlX2FzdChwYXJzZShzdHJlYW0pLAor
ICAgICAgICAgICAgICAgICAgICAgICBleHByX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAg
IGRhdGFfY2xzX2dldHRlcj1kYXRhX2Nsc19nZXR0ZXIsCisgICAgICAgICAgICAgICAgICAgICAg
ICoqa3dhcmdzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRz
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRzL3czYy1p
bXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3OTNhMmFkZDAwYmMzZmY1Yjc1ZDIyNzk0Njc5ZTE1NzRj
MTFjZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvYmFja2Vu
ZHMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNj
LXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0
aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3dwdG1hbmlmZXN0L2JhY2tlbmRzL19faW5pdF9fLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlm
ZXN0L2JhY2tlbmRzL2NvbmRpdGlvbmFsLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2Jh
Y2tlbmRzL3N0YXRpYy5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L25v
ZGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3Qvbm9kZS5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zM2U5
Nzk2YzQzMGMzM2FhMDMyODU1OWYxMjA3OWYyMjExODBkNjc5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L25vZGUucHkKQEAgLTAsMCArMSwxNTcgQEAKK2NsYXNz
IE5vZGVWaXNpdG9yKG9iamVjdCk6CisgICAgZGVmIHZpc2l0KHNlbGYsIG5vZGUpOgorICAgICAg
ICAjIFRoaXMgaXMgdWdseSBhcyBoZWxsLCBidXQgd2UgZG9uJ3QgaGF2ZSBtdWx0aW1ldGhvZHMg
YW5kCisgICAgICAgICMgdGhleSBhcmVuJ3QgdHJpdmlhbCB0byBmYWtlIHdpdGhvdXQgYWNjZXNz
IHRvIHRoZSBjbGFzcworICAgICAgICAjIG9iamVjdCBmcm9tIHRoZSBjbGFzcyBib2R5CisgICAg
ICAgIGZ1bmMgPSBnZXRhdHRyKHNlbGYsICJ2aXNpdF8lcyIgJSAobm9kZS5fX2NsYXNzX18uX19u
YW1lX18pKQorICAgICAgICByZXR1cm4gZnVuYyhub2RlKQorCisKK2NsYXNzIE5vZGUob2JqZWN0
KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZGF0YT1Ob25lKToKKyAgICAgICAgc2VsZi5kYXRh
ID0gZGF0YQorICAgICAgICBzZWxmLnBhcmVudCA9IE5vbmUKKyAgICAgICAgc2VsZi5jaGlsZHJl
biA9IFtdCisKKyAgICBkZWYgYXBwZW5kKHNlbGYsIG90aGVyKToKKyAgICAgICAgb3RoZXIucGFy
ZW50ID0gc2VsZgorICAgICAgICBzZWxmLmNoaWxkcmVuLmFwcGVuZChvdGhlcikKKworICAgIGRl
ZiByZW1vdmUoc2VsZik6CisgICAgICAgIHNlbGYucGFyZW50LmNoaWxkcmVuLnJlbW92ZShzZWxm
KQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gIjwlcyAlcz4iICUg
KHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLmRhdGEpCisKKyAgICBkZWYgX19zdHJfXyhz
ZWxmKToKKyAgICAgICAgcnYgPSBbcmVwcihzZWxmKV0KKyAgICAgICAgZm9yIGl0ZW0gaW4gc2Vs
Zi5jaGlsZHJlbjoKKyAgICAgICAgICAgIHJ2LmV4dGVuZCgiICAlcyIgJSBsaW5lIGZvciBsaW5l
IGluIHN0cihpdGVtKS5zcGxpdCgiXG4iKSkKKyAgICAgICAgcmV0dXJuICJcbiIuam9pbihydikK
KworICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorICAgICAgICBpZiBub3QgKHNlbGYuX19j
bGFzc19fID09IG90aGVyLl9fY2xhc3NfXyBhbmQKKyAgICAgICAgICAgICAgICBzZWxmLmRhdGEg
PT0gb3RoZXIuZGF0YSBhbmQKKyAgICAgICAgICAgICAgICBsZW4oc2VsZi5jaGlsZHJlbikgPT0g
bGVuKG90aGVyLmNoaWxkcmVuKSk6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAg
Zm9yIGNoaWxkLCBvdGhlcl9jaGlsZCBpbiB6aXAoc2VsZi5jaGlsZHJlbiwgb3RoZXIuY2hpbGRy
ZW4pOgorICAgICAgICAgICAgaWYgbm90IGNoaWxkID09IG90aGVyX2NoaWxkOgorICAgICAgICAg
ICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgZGVmIGNvcHko
c2VsZik6CisgICAgICAgIG5ldyA9IHNlbGYuX19jbGFzc19fKHNlbGYuZGF0YSkKKyAgICAgICAg
Zm9yIGl0ZW0gaW4gc2VsZi5jaGlsZHJlbjoKKyAgICAgICAgICAgIG5ldy5hcHBlbmQoaXRlbS5j
b3B5KCkpCisgICAgICAgIHJldHVybiBuZXcKKworCitjbGFzcyBEYXRhTm9kZShOb2RlKToKKyAg
ICBkZWYgYXBwZW5kKHNlbGYsIG90aGVyKToKKyAgICAgICAgIyBBcHBlbmQgdGhhdCByZXRhaW5z
IHRoZSBpbnZhcmlhbnQgdGhhdCBjaGlsZCBkYXRhIG5vZGVzCisgICAgICAgICMgY29tZSBhZnRl
ciBjaGlsZCBub2RlcyBvZiBvdGhlciB0eXBlcworICAgICAgICBvdGhlci5wYXJlbnQgPSBzZWxm
CisgICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIERhdGFOb2RlKToKKyAgICAgICAgICAgIHNl
bGYuY2hpbGRyZW4uYXBwZW5kKG90aGVyKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaW5k
ZXggPSBsZW4oc2VsZi5jaGlsZHJlbikKKyAgICAgICAgICAgIHdoaWxlIGluZGV4ID4gMCBhbmQg
aXNpbnN0YW5jZShzZWxmLmNoaWxkcmVuW2luZGV4IC0gMV0sIERhdGFOb2RlKToKKyAgICAgICAg
ICAgICAgICBpbmRleCAtPSAxCisgICAgICAgICAgICBmb3IgaSBpbiB4cmFuZ2UoaW5kZXgpOgor
ICAgICAgICAgICAgICAgIGFzc2VydCBvdGhlci5kYXRhICE9IHNlbGYuY2hpbGRyZW5baV0uZGF0
YQorICAgICAgICAgICAgc2VsZi5jaGlsZHJlbi5pbnNlcnQoaW5kZXgsIG90aGVyKQorCisKK2Ns
YXNzIEtleVZhbHVlTm9kZShOb2RlKToKKyAgICBkZWYgYXBwZW5kKHNlbGYsIG90aGVyKToKKyAg
ICAgICAgIyBBcHBlbmQgdGhhdCByZXRhaW5zIHRoZSBpbnZhcmlhbnQgdGhhdCBjb25kaXRpb25h
bCBub2RlcworICAgICAgICAjIGNvbWUgYmVmb3JlIHVuY29uZGl0aW9uYWwgbm9kZXMKKyAgICAg
ICAgb3RoZXIucGFyZW50ID0gc2VsZgorICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBWYWx1
ZU5vZGUpOgorICAgICAgICAgICAgaWYgc2VsZi5jaGlsZHJlbjoKKyAgICAgICAgICAgICAgICBh
c3NlcnQgbm90IGlzaW5zdGFuY2Uoc2VsZi5jaGlsZHJlblstMV0sIFZhbHVlTm9kZSkKKyAgICAg
ICAgICAgIHNlbGYuY2hpbGRyZW4uYXBwZW5kKG90aGVyKQorICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgaWYgc2VsZi5jaGlsZHJlbiBhbmQgaXNpbnN0YW5jZShzZWxmLmNoaWxkcmVuWy0xXSwg
VmFsdWVOb2RlKToKKyAgICAgICAgICAgICAgICBzZWxmLmNoaWxkcmVuLmluc2VydChsZW4oc2Vs
Zi5jaGlsZHJlbikgLSAxLCBvdGhlcikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg
ICAgc2VsZi5jaGlsZHJlbi5hcHBlbmQob3RoZXIpCisKKworY2xhc3MgTGlzdE5vZGUoTm9kZSk6
CisgICAgZGVmIGFwcGVuZChzZWxmLCBvdGhlcik6CisgICAgICAgIG90aGVyLnBhcmVudCA9IHNl
bGYKKyAgICAgICAgc2VsZi5jaGlsZHJlbi5hcHBlbmQob3RoZXIpCisKKworY2xhc3MgVmFsdWVO
b2RlKE5vZGUpOgorICAgIGRlZiBhcHBlbmQoc2VsZiwgb3RoZXIpOgorICAgICAgICByYWlzZSBU
eXBlRXJyb3IKKworCitjbGFzcyBBdG9tTm9kZShWYWx1ZU5vZGUpOgorICAgIHBhc3MKKworCitj
bGFzcyBDb25kaXRpb25hbE5vZGUoTm9kZSk6CisgICAgcGFzcworCisKK2NsYXNzIFVuYXJ5RXhw
cmVzc2lvbk5vZGUoTm9kZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG9wZXJhdG9yLCBvcGVy
YW5kKToKKyAgICAgICAgTm9kZS5fX2luaXRfXyhzZWxmKQorICAgICAgICBzZWxmLmFwcGVuZChv
cGVyYXRvcikKKyAgICAgICAgc2VsZi5hcHBlbmQob3BlcmFuZCkKKworICAgIGRlZiBhcHBlbmQo
c2VsZiwgb3RoZXIpOgorICAgICAgICBOb2RlLmFwcGVuZChzZWxmLCBvdGhlcikKKyAgICAgICAg
YXNzZXJ0IGxlbihzZWxmLmNoaWxkcmVuKSA8PSAyCisKKyAgICBkZWYgY29weShzZWxmKToKKyAg
ICAgICAgbmV3ID0gc2VsZi5fX2NsYXNzX18oc2VsZi5jaGlsZHJlblswXS5jb3B5KCksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2hpbGRyZW5bMV0uY29weSgpKQorICAgICAg
ICByZXR1cm4gbmV3CisKKworY2xhc3MgQmluYXJ5RXhwcmVzc2lvbk5vZGUoTm9kZSk6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIG9wZXJhdG9yLCBvcGVyYW5kXzAsIG9wZXJhbmRfMSk6CisgICAg
ICAgIE5vZGUuX19pbml0X18oc2VsZikKKyAgICAgICAgc2VsZi5hcHBlbmQob3BlcmF0b3IpCisg
ICAgICAgIHNlbGYuYXBwZW5kKG9wZXJhbmRfMCkKKyAgICAgICAgc2VsZi5hcHBlbmQob3BlcmFu
ZF8xKQorCisgICAgZGVmIGFwcGVuZChzZWxmLCBvdGhlcik6CisgICAgICAgIE5vZGUuYXBwZW5k
KHNlbGYsIG90aGVyKQorICAgICAgICBhc3NlcnQgbGVuKHNlbGYuY2hpbGRyZW4pIDw9IDMKKwor
ICAgIGRlZiBjb3B5KHNlbGYpOgorICAgICAgICBuZXcgPSBzZWxmLl9fY2xhc3NfXyhzZWxmLmNo
aWxkcmVuWzBdLmNvcHkoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jaGls
ZHJlblsxXS5jb3B5KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2hpbGRy
ZW5bMl0uY29weSgpKQorICAgICAgICByZXR1cm4gbmV3CisKKworY2xhc3MgVW5hcnlPcGVyYXRv
ck5vZGUoTm9kZSk6CisgICAgZGVmIGFwcGVuZChzZWxmLCBvdGhlcik6CisgICAgICAgIHJhaXNl
IFR5cGVFcnJvcgorCisKK2NsYXNzIEJpbmFyeU9wZXJhdG9yTm9kZShOb2RlKToKKyAgICBkZWYg
YXBwZW5kKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yCisKKworY2xhc3Mg
SW5kZXhOb2RlKE5vZGUpOgorICAgIHBhc3MKKworCitjbGFzcyBWYXJpYWJsZU5vZGUoTm9kZSk6
CisgICAgcGFzcworCisKK2NsYXNzIFN0cmluZ05vZGUoTm9kZSk6CisgICAgcGFzcworCisKK2Ns
YXNzIE51bWJlck5vZGUoVmFsdWVOb2RlKToKKyAgICBwYXNzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvd3B0bWFuaWZlc3QvcGFyc2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Bh
cnNlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kODRhOTE0M2ZhNjNiZGQ0NzQ5ZTFkMWM3MTJlOTQxNWE3MDYz
YmFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3BhcnNlci5w
eQpAQCAtMCwwICsxLDc0NiBAQAorI2RlZmF1bHRfdmFsdWU6Zm9vCisjaW5jbHVkZTogb3RoZXIu
bWFuaWZlc3QKKyMKKyNbdGVzdF9uYW1lLmpzXQorIyAgZXhwZWN0ZWQ6IEVSUk9SCisjCisjICBb
c3VidGVzdCAxXQorIyAgICBleHBlY3RlZDoKKyMgICAgICBvcyA9PSB3aW46IEZBSUwgI1RoaXMg
aXMgYSBjb21tZW50CisjICAgICAgUEFTUworIworCisjIFRPRE86IGtlZXAgY29tbWVudHMgaW4g
dGhlIHRyZWUKKworZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCisKK2lt
cG9ydCB0eXBlcworZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCisKK2Zyb20gbm9kZSBp
bXBvcnQgKgorCisKK2NsYXNzIFBhcnNlRXJyb3IoRXhjZXB0aW9uKToKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgZmlsZW5hbWUsIGxpbmUsIGRldGFpbCk6CisgICAgICAgIHNlbGYubGluZSA9IGxp
bmUKKyAgICAgICAgc2VsZi5maWxlbmFtZSA9IGZpbGVuYW1lCisgICAgICAgIHNlbGYuZGV0YWls
ID0gZGV0YWlsCisgICAgICAgIHNlbGYubWVzc2FnZSA9ICIlczogJXMgbGluZSAlcyIgJSAoc2Vs
Zi5kZXRhaWwsIHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZSkKKyAgICAgICAgRXhjZXB0aW9uLl9f
aW5pdF9fKHNlbGYsIHNlbGYubWVzc2FnZSkKKworZW9sID0gb2JqZWN0Citncm91cF9zdGFydCA9
IG9iamVjdAorZ3JvdXBfZW5kID0gb2JqZWN0CitkaWdpdHMgPSAiMDEyMzQ1Njc4OSIKK29wZW5f
cGFyZW5zID0gIlsoIgorY2xvc2VfcGFyZW5zID0gIl0pIgorcGFyZW5zID0gb3Blbl9wYXJlbnMg
KyBjbG9zZV9wYXJlbnMKK29wZXJhdG9yX2NoYXJzID0gIj0hIgorCit1bmFyeV9vcGVyYXRvcnMg
PSBbIm5vdCJdCitiaW5hcnlfb3BlcmF0b3JzID0gWyI9PSIsICIhPSIsICJhbmQiLCAib3IiXQor
CitvcGVyYXRvcnMgPSBbIj09IiwgIiE9IiwgIm5vdCIsICJhbmQiLCAib3IiXQorCithdG9tcyA9
IHsiVHJ1ZSI6IFRydWUsCisgICAgICAgICAiRmFsc2UiOiBGYWxzZSwKKyAgICAgICAgICJSZXNl
dCI6IG9iamVjdCgpfQorCitkZWYgZGVjb2RlKHMpOgorICAgIGFzc2VydCBpc2luc3RhbmNlKHMs
IHVuaWNvZGUpCisgICAgcmV0dXJuIHMKKworCitkZWYgcHJlY2VkZW5jZShvcGVyYXRvcl9ub2Rl
KToKKyAgICByZXR1cm4gbGVuKG9wZXJhdG9ycykgLSBvcGVyYXRvcnMuaW5kZXgob3BlcmF0b3Jf
bm9kZS5kYXRhKQorCisKK2NsYXNzIFRva2VuVHlwZXMob2JqZWN0KToKKyAgICBkZWYgX19pbml0
X18oc2VsZik6CisgICAgICAgIGZvciB0eXBlIGluIFsiZ3JvdXBfc3RhcnQiLCAiZ3JvdXBfZW5k
IiwgInBhcmVuIiwgImxpc3Rfc3RhcnQiLCAibGlzdF9lbmQiLCAic2VwYXJhdG9yIiwgImlkZW50
IiwgInN0cmluZyIsICJudW1iZXIiLCAiYXRvbSIsICJlb2YiXToKKyAgICAgICAgICAgIHNldGF0
dHIoc2VsZiwgdHlwZSwgdHlwZSkKKwordG9rZW5fdHlwZXMgPSBUb2tlblR5cGVzKCkKKworCitj
bGFzcyBUb2tlbml6ZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAg
IHNlbGYucmVzZXQoKQorCisgICAgZGVmIHJlc2V0KHNlbGYpOgorICAgICAgICBzZWxmLmluZGVu
dF9sZXZlbHMgPSBbMF0KKyAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYubGluZV9zdGFydF9zdGF0
ZQorICAgICAgICBzZWxmLm5leHRfc3RhdGUgPSBzZWxmLmRhdGFfbGluZV9zdGF0ZQorICAgICAg
ICBzZWxmLmxpbmVfbnVtYmVyID0gMAorCisgICAgZGVmIHRva2VuaXplKHNlbGYsIHN0cmVhbSk6
CisgICAgICAgIHNlbGYucmVzZXQoKQorICAgICAgICBhc3NlcnQgbm90IGlzaW5zdGFuY2Uoc3Ry
ZWFtLCB1bmljb2RlKQorICAgICAgICBpZiBpc2luc3RhbmNlKHN0cmVhbSwgc3RyKToKKyAgICAg
ICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPKHN0cmVhbSkKKyAgICAgICAgaWYgbm90IGhhc2F0dHIo
c3RyZWFtLCAibmFtZSIpOgorICAgICAgICAgICAgc2VsZi5maWxlbmFtZSA9ICIiCisgICAgICAg
IGVsc2U6CisgICAgICAgICAgICBzZWxmLmZpbGVuYW1lID0gc3RyZWFtLm5hbWUKKworICAgICAg
ICBzZWxmLm5leHRfbGluZV9zdGF0ZSA9IHNlbGYubGluZV9zdGFydF9zdGF0ZQorICAgICAgICBm
b3IgaSwgbGluZSBpbiBlbnVtZXJhdGUoc3RyZWFtKToKKyAgICAgICAgICAgIGFzc2VydCBpc2lu
c3RhbmNlKGxpbmUsIHN0cikKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLm5leHRfbGlu
ZV9zdGF0ZQorICAgICAgICAgICAgYXNzZXJ0IHNlbGYuc3RhdGUgaXMgbm90IE5vbmUKKyAgICAg
ICAgICAgIHN0YXRlcyA9IFtdCisgICAgICAgICAgICBzZWxmLm5leHRfbGluZV9zdGF0ZSA9IE5v
bmUKKyAgICAgICAgICAgIHNlbGYubGluZV9udW1iZXIgPSBpICsgMQorICAgICAgICAgICAgc2Vs
Zi5pbmRleCA9IDAKKyAgICAgICAgICAgIHNlbGYubGluZSA9IGxpbmUuZGVjb2RlKCd1dGYtOCcp
LnJzdHJpcCgpCisgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzZWxmLmxpbmUsIHVuaWNv
ZGUpCisgICAgICAgICAgICB3aGlsZSBzZWxmLnN0YXRlICE9IHNlbGYuZW9sX3N0YXRlOgorICAg
ICAgICAgICAgICAgIHN0YXRlcy5hcHBlbmQoc2VsZi5zdGF0ZSkKKyAgICAgICAgICAgICAgICB0
b2tlbnMgPSBzZWxmLnN0YXRlKCkKKyAgICAgICAgICAgICAgICBpZiB0b2tlbnM6CisgICAgICAg
ICAgICAgICAgICAgIGZvciB0b2tlbiBpbiB0b2tlbnM6CisgICAgICAgICAgICAgICAgICAgICAg
ICB5aWVsZCB0b2tlbgorICAgICAgICAgICAgc2VsZi5zdGF0ZSgpCisgICAgICAgIHdoaWxlIFRy
dWU6CisgICAgICAgICAgICB5aWVsZCAodG9rZW5fdHlwZXMuZW9mLCBOb25lKQorCisgICAgZGVm
IGNoYXIoc2VsZik6CisgICAgICAgIGlmIHNlbGYuaW5kZXggPT0gbGVuKHNlbGYubGluZSk6Cisg
ICAgICAgICAgICByZXR1cm4gZW9sCisgICAgICAgIHJldHVybiBzZWxmLmxpbmVbc2VsZi5pbmRl
eF0KKworICAgIGRlZiBjb25zdW1lKHNlbGYpOgorICAgICAgICBpZiBzZWxmLmluZGV4IDwgbGVu
KHNlbGYubGluZSk6CisgICAgICAgICAgICBzZWxmLmluZGV4ICs9IDEKKworICAgIGRlZiBwZWVr
KHNlbGYsIGxlbmd0aCk6CisgICAgICAgIHJldHVybiBzZWxmLmxpbmVbc2VsZi5pbmRleDpzZWxm
LmluZGV4ICsgbGVuZ3RoXQorCisgICAgZGVmIHNraXBfd2hpdGVzcGFjZShzZWxmKToKKyAgICAg
ICAgd2hpbGUgc2VsZi5jaGFyKCkgPT0gIiAiOgorICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkK
KworICAgIGRlZiBlb2xfc3RhdGUoc2VsZik6CisgICAgICAgIGlmIHNlbGYubmV4dF9saW5lX3N0
YXRlIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLm5leHRfbGluZV9zdGF0ZSA9IHNlbGYubGlu
ZV9zdGFydF9zdGF0ZQorCisgICAgZGVmIGxpbmVfc3RhcnRfc3RhdGUoc2VsZik6CisgICAgICAg
IHNlbGYuc2tpcF93aGl0ZXNwYWNlKCkKKyAgICAgICAgaWYgc2VsZi5jaGFyKCkgPT0gZW9sOgor
ICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuZW9sX3N0YXRlCisgICAgICAgICAgICByZXR1
cm4KKyAgICAgICAgaWYgc2VsZi5pbmRleCA+IHNlbGYuaW5kZW50X2xldmVsc1stMV06CisgICAg
ICAgICAgICBzZWxmLmluZGVudF9sZXZlbHMuYXBwZW5kKHNlbGYuaW5kZXgpCisgICAgICAgICAg
ICB5aWVsZCAodG9rZW5fdHlwZXMuZ3JvdXBfc3RhcnQsIE5vbmUpCisgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICB3aGlsZSBzZWxmLmluZGV4IDwgc2VsZi5pbmRlbnRfbGV2ZWxzWy0xXToKKyAg
ICAgICAgICAgICAgICBzZWxmLmluZGVudF9sZXZlbHMucG9wKCkKKyAgICAgICAgICAgICAgICB5
aWVsZCAodG9rZW5fdHlwZXMuZ3JvdXBfZW5kLCBOb25lKQorICAgICAgICAgICAgICAgICMgVGhp
cyBpcyB0ZXJyaWJsZTsgaWYgd2Ugd2VyZSBwYXJzaW5nIGFuIGV4cHJlc3Npb24KKyAgICAgICAg
ICAgICAgICAjIHRoZW4gdGhlIG5leHRfc3RhdGUgd2lsbCBiZSBleHByX29yX3ZhbHVlIGJ1dCB3
aGVuIHdlIGRlaW5kZW50CisgICAgICAgICAgICAgICAgIyBpdCBtdXN0IGFsd2F5cyBiZSBhIGhl
YWRpbmcgb3Iga2V5IG5leHQgc28gd2UgZ28gYmFjayB0byBkYXRhX2xpbmVfc3RhdGUKKyAgICAg
ICAgICAgICAgICBzZWxmLm5leHRfc3RhdGUgPSBzZWxmLmRhdGFfbGluZV9zdGF0ZQorICAgICAg
ICAgICAgaWYgc2VsZi5pbmRleCAhPSBzZWxmLmluZGVudF9sZXZlbHNbLTFdOgorICAgICAgICAg
ICAgICAgIHJhaXNlIFBhcnNlRXJyb3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwg
IlVuZXhwZWN0ZWQgaW5kZW50IikKKworICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5uZXh0X3N0
YXRlCisKKyAgICBkZWYgZGF0YV9saW5lX3N0YXRlKHNlbGYpOgorICAgICAgICBpZiBzZWxmLmNo
YXIoKSA9PSAiWyI6CisgICAgICAgICAgICB5aWVsZCAodG9rZW5fdHlwZXMucGFyZW4sIHNlbGYu
Y2hhcigpKQorICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgICAgIHNlbGYuc3Rh
dGUgPSBzZWxmLmhlYWRpbmdfc3RhdGUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYu
c3RhdGUgPSBzZWxmLmtleV9zdGF0ZQorCisgICAgZGVmIGhlYWRpbmdfc3RhdGUoc2VsZik6Cisg
ICAgICAgIHJ2ID0gIiIKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGMgPSBzZWxm
LmNoYXIoKQorICAgICAgICAgICAgaWYgYyA9PSAiXFwiOgorICAgICAgICAgICAgICAgIHJ2ICs9
IHNlbGYuY29uc3VtZV9lc2NhcGUoKQorICAgICAgICAgICAgZWxpZiBjID09ICJdIjoKKyAgICAg
ICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxpZiBjID09IGVvbDoKKyAgICAgICAgICAg
ICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZV9udW1iZXIsICJF
T0wgaW4gaGVhZGluZyIpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJ2ICs9
IGMKKyAgICAgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorCisgICAgICAgIHlpZWxkICh0b2tl
bl90eXBlcy5zdHJpbmcsIGRlY29kZShydikpCisgICAgICAgIHlpZWxkICh0b2tlbl90eXBlcy5w
YXJlbiwgIl0iKQorICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICBzZWxmLnN0YXRlID0g
c2VsZi5saW5lX2VuZF9zdGF0ZQorICAgICAgICBzZWxmLm5leHRfc3RhdGUgPSBzZWxmLmRhdGFf
bGluZV9zdGF0ZQorCisgICAgZGVmIGtleV9zdGF0ZShzZWxmKToKKyAgICAgICAgcnYgPSAiIgor
ICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgYyA9IHNlbGYuY2hhcigpCisgICAgICAg
ICAgICBpZiBjID09ICIgIjoKKyAgICAgICAgICAgICAgICBzZWxmLnNraXBfd2hpdGVzcGFjZSgp
CisgICAgICAgICAgICAgICAgaWYgc2VsZi5jaGFyKCkgIT0gIjoiOgorICAgICAgICAgICAgICAg
ICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZV9udW1iZXIsICJT
cGFjZSBpbiBrZXkgbmFtZSIpCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVs
aWYgYyA9PSAiOiI6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgYyA9
PSBlb2w6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBz
ZWxmLmxpbmVfbnVtYmVyLCAiRU9MIGluIGtleSBuYW1lIChtaXNzaW5nICc6Jz8pIikKKyAgICAg
ICAgICAgIGVsaWYgYyA9PSAiXFwiOgorICAgICAgICAgICAgICAgIHJ2ICs9IHNlbGYuY29uc3Vt
ZV9lc2NhcGUoKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBydiArPSBjCisg
ICAgICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgeWllbGQgKHRva2VuX3R5cGVz
LnN0cmluZywgZGVjb2RlKHJ2KSkKKyAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLnNlcGFyYXRv
ciwgIjoiKQorICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICBzZWxmLnN0YXRlID0gc2Vs
Zi5hZnRlcl9rZXlfc3RhdGUKKworICAgIGRlZiBhZnRlcl9rZXlfc3RhdGUoc2VsZik6CisgICAg
ICAgIHNlbGYuc2tpcF93aGl0ZXNwYWNlKCkKKyAgICAgICAgYyA9IHNlbGYuY2hhcigpCisgICAg
ICAgIGlmIGMgPT0gIiMiOgorICAgICAgICAgICAgc2VsZi5uZXh0X3N0YXRlID0gc2VsZi5leHBy
X29yX3ZhbHVlX3N0YXRlCisgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5jb21tZW50X3N0
YXRlCisgICAgICAgIGVsaWYgYyA9PSBlb2w6CisgICAgICAgICAgICBzZWxmLm5leHRfc3RhdGUg
PSBzZWxmLmV4cHJfb3JfdmFsdWVfc3RhdGUKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxm
LmVvbF9zdGF0ZQorICAgICAgICBlbGlmIGMgPT0gIlsiOgorICAgICAgICAgICAgc2VsZi5zdGF0
ZSA9IHNlbGYubGlzdF9zdGFydF9zdGF0ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2Vs
Zi5zdGF0ZSA9IHNlbGYudmFsdWVfc3RhdGUKKworICAgIGRlZiBsaXN0X3N0YXJ0X3N0YXRlKHNl
bGYpOgorICAgICAgICB5aWVsZCAodG9rZW5fdHlwZXMubGlzdF9zdGFydCwgIlsiKQorICAgICAg
ICBzZWxmLmNvbnN1bWUoKQorICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5saXN0X3ZhbHVlX3N0
YXJ0X3N0YXRlCisKKyAgICBkZWYgbGlzdF92YWx1ZV9zdGFydF9zdGF0ZShzZWxmKToKKyAgICAg
ICAgc2VsZi5za2lwX3doaXRlc3BhY2UoKQorICAgICAgICBpZiBzZWxmLmNoYXIoKSA9PSAiXSI6
CisgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5saXN0X2VuZF9zdGF0ZQorICAgICAgICBl
bGlmIHNlbGYuY2hhcigpIGluICgiJyIsICciJyk6CisgICAgICAgICAgICBxdW90ZV9jaGFyID0g
c2VsZi5jaGFyKCkKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICB5aWVs
ZCAodG9rZW5fdHlwZXMuc3RyaW5nLCBzZWxmLmNvbnN1bWVfc3RyaW5nKHF1b3RlX2NoYXIpKQor
ICAgICAgICAgICAgc2VsZi5za2lwX3doaXRlc3BhY2UoKQorICAgICAgICAgICAgaWYgc2VsZi5j
aGFyKCkgPT0gIl0iOgorICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmxpc3RfZW5k
X3N0YXRlCisgICAgICAgICAgICBlbGlmIHNlbGYuY2hhcigpICE9ICIsIjoKKyAgICAgICAgICAg
ICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZV9udW1iZXIsICJK
dW5rIGFmdGVyIHF1b3RlZCBzdHJpbmciKQorICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAg
ICAgICAgZWxpZiBzZWxmLmNoYXIoKSA9PSAiIyI6CisgICAgICAgICAgICBzZWxmLnN0YXRlID0g
c2VsZi5jb21tZW50X3N0YXRlCisgICAgICAgICAgICBzZWxmLm5leHRfbGluZV9zdGF0ZSA9IHNl
bGYubGlzdF92YWx1ZV9zdGFydF9zdGF0ZQorICAgICAgICBlbGlmIHNlbGYuY2hhcigpID09IGVv
bDoKKyAgICAgICAgICAgIHNlbGYubmV4dF9saW5lX3N0YXRlID0gc2VsZi5saXN0X3ZhbHVlX3N0
YXJ0X3N0YXRlCisgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5lb2xfc3RhdGUKKyAgICAg
ICAgZWxpZiBzZWxmLmNoYXIoKSA9PSAiLCI6CisgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9y
KHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZV9udW1iZXIsICJMaXN0IGl0ZW0gc3RhcnRlZCB3aXRo
IHNlcGFyYXRvciIpCisgICAgICAgIGVsaWYgc2VsZi5jaGFyKCkgPT0gIkAiOgorICAgICAgICAg
ICAgc2VsZi5zdGF0ZSA9IHNlbGYubGlzdF92YWx1ZV9hdG9tX3N0YXRlCisgICAgICAgIGVsc2U6
CisgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5saXN0X3ZhbHVlX3N0YXRlCisKKyAgICBk
ZWYgbGlzdF92YWx1ZV9zdGF0ZShzZWxmKToKKyAgICAgICAgcnYgPSAiIgorICAgICAgICBzcGFj
ZXMgPSAwCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjID0gc2VsZi5jaGFyKCkK
KyAgICAgICAgICAgIGlmIGMgPT0gIlxcIjoKKyAgICAgICAgICAgICAgICBlc2NhcGUgPSBzZWxm
LmNvbnN1bWVfZXNjYXBlKCkKKyAgICAgICAgICAgICAgICBydiArPSBlc2NhcGUKKyAgICAgICAg
ICAgIGVsaWYgYyA9PSBlb2w6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxm
LmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyLCAiRU9MIGluIGxpc3QgdmFsdWUiKQorICAgICAg
ICAgICAgZWxpZiBjID09ICIjIjoKKyAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNl
bGYuZmlsZW5hbWUsIHNlbGYubGluZV9udW1iZXIsICJFT0wgaW4gbGlzdCB2YWx1ZSAoY29tbWVu
dCkiKQorICAgICAgICAgICAgZWxpZiBjID09ICIsIjoKKyAgICAgICAgICAgICAgICBzZWxmLnN0
YXRlID0gc2VsZi5saXN0X3ZhbHVlX3N0YXJ0X3N0YXRlCisgICAgICAgICAgICAgICAgc2VsZi5j
b25zdW1lKCkKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxpZiBjID09ICIg
IjoKKyAgICAgICAgICAgICAgICBzcGFjZXMgKz0gMQorICAgICAgICAgICAgICAgIHNlbGYuY29u
c3VtZSgpCisgICAgICAgICAgICBlbGlmIGMgPT0gIl0iOgorICAgICAgICAgICAgICAgIHNlbGYu
c3RhdGUgPSBzZWxmLmxpc3RfZW5kX3N0YXRlCisgICAgICAgICAgICAgICAgc2VsZi5jb25zdW1l
KCkKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICBydiArPSAiICIgKiBzcGFjZXMKKyAgICAgICAgICAgICAgICBzcGFjZXMgPSAwCisgICAg
ICAgICAgICAgICAgcnYgKz0gYworICAgICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisKKyAg
ICAgICAgaWYgcnY6CisgICAgICAgICAgICB5aWVsZCAodG9rZW5fdHlwZXMuc3RyaW5nLCBkZWNv
ZGUocnYpKQorCisgICAgZGVmIGxpc3RfdmFsdWVfYXRvbV9zdGF0ZShzZWxmKToKKyAgICAgICAg
c2VsZi5jb25zdW1lKCkKKyAgICAgICAgZm9yIF8sIHZhbHVlIGluIHNlbGYubGlzdF92YWx1ZV9z
dGF0ZSgpOgorICAgICAgICAgICAgeWllbGQgdG9rZW5fdHlwZXMuYXRvbSwgdmFsdWUKKworICAg
IGRlZiBsaXN0X2VuZF9zdGF0ZShzZWxmKToKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAg
ICAgeWllbGQgKHRva2VuX3R5cGVzLmxpc3RfZW5kLCAiXSIpCisgICAgICAgIHNlbGYuc3RhdGUg
PSBzZWxmLmxpbmVfZW5kX3N0YXRlCisKKyAgICBkZWYgdmFsdWVfc3RhdGUoc2VsZik6CisgICAg
ICAgIHNlbGYuc2tpcF93aGl0ZXNwYWNlKCkKKyAgICAgICAgaWYgc2VsZi5jaGFyKCkgaW4gKCIn
IiwgJyInKToKKyAgICAgICAgICAgIHF1b3RlX2NoYXIgPSBzZWxmLmNoYXIoKQorICAgICAgICAg
ICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgICAgIHlpZWxkICh0b2tlbl90eXBlcy5zdHJpbmcs
IHNlbGYuY29uc3VtZV9zdHJpbmcocXVvdGVfY2hhcikpCisgICAgICAgICAgICBpZiBzZWxmLmNo
YXIoKSA9PSAiIyI6CisgICAgICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuY29tbWVudF9z
dGF0ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2Vs
Zi5saW5lX2VuZF9zdGF0ZQorICAgICAgICBlbGlmIHNlbGYuY2hhcigpID09ICJAIjoKKyAgICAg
ICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICBmb3IgXywgdmFsdWUgaW4gc2VsZi52
YWx1ZV9pbm5lcl9zdGF0ZSgpOgorICAgICAgICAgICAgICAgIHlpZWxkIHRva2VuX3R5cGVzLmF0
b20sIHZhbHVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi52
YWx1ZV9pbm5lcl9zdGF0ZQorCisgICAgZGVmIHZhbHVlX2lubmVyX3N0YXRlKHNlbGYpOgorICAg
ICAgICBydiA9ICIiCisgICAgICAgIHNwYWNlcyA9IDAKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAg
ICAgICAgICAgIGMgPSBzZWxmLmNoYXIoKQorICAgICAgICAgICAgaWYgYyA9PSAiXFwiOgorICAg
ICAgICAgICAgICAgIHJ2ICs9IHNlbGYuY29uc3VtZV9lc2NhcGUoKQorICAgICAgICAgICAgZWxp
ZiBjID09ICIjIjoKKyAgICAgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5jb21tZW50X3N0
YXRlCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgYyA9PSAiICI6Cisg
ICAgICAgICAgICAgICAgIyBwcmV2ZW50IHdoaXRlc3BhY2UgYmVmb3JlIGNvbW1lbnRzIGZyb20g
YmVpbmcgaW5jbHVkZWQgaW4gdGhlIHZhbHVlCisgICAgICAgICAgICAgICAgc3BhY2VzICs9IDEK
KyAgICAgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICAgICAgZWxpZiBjID09IGVv
bDoKKyAgICAgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5saW5lX2VuZF9zdGF0ZQorICAg
ICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJ2
ICs9ICIgIiAqIHNwYWNlcworICAgICAgICAgICAgICAgIHNwYWNlcyA9IDAKKyAgICAgICAgICAg
ICAgICBydiArPSBjCisgICAgICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgeWll
bGQgKHRva2VuX3R5cGVzLnN0cmluZywgZGVjb2RlKHJ2KSkKKworICAgIGRlZiBjb21tZW50X3N0
YXRlKHNlbGYpOgorICAgICAgICB3aGlsZSBzZWxmLmNoYXIoKSBpcyBub3QgZW9sOgorICAgICAg
ICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuZW9sX3N0YXRl
CisKKyAgICBkZWYgbGluZV9lbmRfc3RhdGUoc2VsZik6CisgICAgICAgIHNlbGYuc2tpcF93aGl0
ZXNwYWNlKCkKKyAgICAgICAgYyA9IHNlbGYuY2hhcigpCisgICAgICAgIGlmIGMgPT0gIiMiOgor
ICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuY29tbWVudF9zdGF0ZQorICAgICAgICBlbGlm
IGMgPT0gZW9sOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuZW9sX3N0YXRlCisgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUsIHNl
bGYubGluZV9udW1iZXIsICJKdW5rIGJlZm9yZSBFT0wgJXMiICUgYykKKworICAgIGRlZiBjb25z
dW1lX3N0cmluZyhzZWxmLCBxdW90ZV9jaGFyKToKKyAgICAgICAgcnYgPSAiIgorICAgICAgICB3
aGlsZSBUcnVlOgorICAgICAgICAgICAgYyA9IHNlbGYuY2hhcigpCisgICAgICAgICAgICBpZiBj
ID09ICJcXCI6CisgICAgICAgICAgICAgICAgcnYgKz0gc2VsZi5jb25zdW1lX2VzY2FwZSgpCisg
ICAgICAgICAgICBlbGlmIGMgPT0gcXVvdGVfY2hhcjoKKyAgICAgICAgICAgICAgICBzZWxmLmNv
bnN1bWUoKQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbGlmIGMgPT0gZW9s
OgorICAgICAgICAgICAgICAgIHJhaXNlIFBhcnNlRXJyb3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5s
aW5lX251bWJlciwgIkVPTCBpbiBxdW90ZWQgc3RyaW5nIikKKyAgICAgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICAgICAgcnYgKz0gYworICAgICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisK
KyAgICAgICAgcmV0dXJuIGRlY29kZShydikKKworICAgIGRlZiBleHByX29yX3ZhbHVlX3N0YXRl
KHNlbGYpOgorICAgICAgICBpZiBzZWxmLnBlZWsoMykgPT0gImlmICI6CisgICAgICAgICAgICBz
ZWxmLnN0YXRlID0gc2VsZi5leHByX3N0YXRlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBz
ZWxmLnN0YXRlID0gc2VsZi52YWx1ZV9zdGF0ZQorCisgICAgZGVmIGV4cHJfc3RhdGUoc2VsZik6
CisgICAgICAgIHNlbGYuc2tpcF93aGl0ZXNwYWNlKCkKKyAgICAgICAgYyA9IHNlbGYuY2hhcigp
CisgICAgICAgIGlmIGMgPT0gZW9sOgorICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxm
LmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyLCAiRU9MIGluIGV4cHJlc3Npb24iKQorICAgICAg
ICBlbGlmIGMgaW4gIidcIiI6CisgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICAg
ICAgeWllbGQgKHRva2VuX3R5cGVzLnN0cmluZywgc2VsZi5jb25zdW1lX3N0cmluZyhjKSkKKyAg
ICAgICAgZWxpZiBjID09ICIjIjoKKyAgICAgICAgICAgIHJhaXNlIFBhcnNlRXJyb3Ioc2VsZi5m
aWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwgIkNvbW1lbnQgYmVmb3JlIGVuZCBvZiBleHByZXNz
aW9uIikKKyAgICAgICAgZWxpZiBjID09ICI6IjoKKyAgICAgICAgICAgIHlpZWxkICh0b2tlbl90
eXBlcy5zZXBhcmF0b3IsIGMpCisgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICAg
ICAgc2VsZi5zdGF0ZSA9IHNlbGYudmFsdWVfc3RhdGUKKyAgICAgICAgZWxpZiBjIGluIHBhcmVu
czoKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICB5aWVsZCAodG9rZW5f
dHlwZXMucGFyZW4sIGMpCisgICAgICAgIGVsaWYgYyBpbiAoIiEiLCAiPSIpOgorICAgICAgICAg
ICAgc2VsZi5zdGF0ZSA9IHNlbGYub3BlcmF0b3Jfc3RhdGUKKyAgICAgICAgZWxpZiBjIGluIGRp
Z2l0czoKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmRpZ2l0X3N0YXRlCisgICAgICAg
IGVsc2U6CisgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5pZGVudF9zdGF0ZQorCisgICAg
ZGVmIG9wZXJhdG9yX3N0YXRlKHNlbGYpOgorICAgICAgICAjIE9ubHkgc3ltYm9saWMgb3BlcmF0
b3JzCisgICAgICAgIGluZGV4XzAgPSBzZWxmLmluZGV4CisgICAgICAgIHdoaWxlIFRydWU6Cisg
ICAgICAgICAgICBjID0gc2VsZi5jaGFyKCkKKyAgICAgICAgICAgIGlmIGMgPT0gZW9sOgorICAg
ICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbGlmIGMgaW4gb3BlcmF0b3JfY2hhcnM6
CisgICAgICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuZXhwcl9zdGF0ZQorICAgICAgICAgICAgICAg
IGJyZWFrCisgICAgICAgIHlpZWxkICh0b2tlbl90eXBlcy5pZGVudCwgc2VsZi5saW5lW2luZGV4
XzA6c2VsZi5pbmRleF0pCisKKyAgICBkZWYgZGlnaXRfc3RhdGUoc2VsZik6CisgICAgICAgIGlu
ZGV4XzAgPSBzZWxmLmluZGV4CisgICAgICAgIHNlZW5fZG90ID0gRmFsc2UKKyAgICAgICAgd2hp
bGUgVHJ1ZToKKyAgICAgICAgICAgIGMgPSBzZWxmLmNoYXIoKQorICAgICAgICAgICAgaWYgYyA9
PSBlb2w6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgYyBpbiBkaWdp
dHM6CisgICAgICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgICAgIGVsaWYgYyA9
PSAiLiI6CisgICAgICAgICAgICAgICAgaWYgc2Vlbl9kb3Q6CisgICAgICAgICAgICAgICAgICAg
IHJhaXNlIFBhcnNlRXJyb3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwgIkludmFs
aWQgbnVtYmVyIikKKyAgICAgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICAgICAg
ICAgIHNlZW5fZG90ID0gVHJ1ZQorICAgICAgICAgICAgZWxpZiBjIGluIHBhcmVuczoKKyAgICAg
ICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxpZiBjIGluIG9wZXJhdG9yX2NoYXJzOgor
ICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbGlmIGMgPT0gIiAiOgorICAgICAg
ICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbGlmIGMgPT0gIjoiOgorICAgICAgICAgICAg
ICAgIGJyZWFrCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhcnNl
RXJyb3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwgIkludmFsaWQgY2hhcmFjdGVy
IGluIG51bWJlciIpCisKKyAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuZXhwcl9zdGF0ZQorICAg
ICAgICB5aWVsZCAodG9rZW5fdHlwZXMubnVtYmVyLCBzZWxmLmxpbmVbaW5kZXhfMDpzZWxmLmlu
ZGV4XSkKKworICAgIGRlZiBpZGVudF9zdGF0ZShzZWxmKToKKyAgICAgICAgaW5kZXhfMCA9IHNl
bGYuaW5kZXgKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGMgPSBzZWxmLmNoYXIo
KQorICAgICAgICAgICAgaWYgYyA9PSBlb2w6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAg
ICAgICAgIGVsaWYgYyA9PSAiLiI6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAg
IGVsaWYgYyBpbiBwYXJlbnM6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVs
aWYgYyBpbiBvcGVyYXRvcl9jaGFyczoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAg
ICAgZWxpZiBjID09ICIgIjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxp
ZiBjID09ICI6IjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5l
eHByX3N0YXRlCisgICAgICAgIHlpZWxkICh0b2tlbl90eXBlcy5pZGVudCwgc2VsZi5saW5lW2lu
ZGV4XzA6c2VsZi5pbmRleF0pCisKKyAgICBkZWYgY29uc3VtZV9lc2NhcGUoc2VsZik6CisgICAg
ICAgIGFzc2VydCBzZWxmLmNoYXIoKSA9PSAiXFwiCisgICAgICAgIHNlbGYuY29uc3VtZSgpCisg
ICAgICAgIGMgPSBzZWxmLmNoYXIoKQorICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICBp
ZiBjID09ICJ4IjoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmRlY29kZV9lc2NhcGUoMikKKyAg
ICAgICAgZWxpZiBjID09ICJ1IjoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmRlY29kZV9lc2Nh
cGUoNCkKKyAgICAgICAgZWxpZiBjID09ICJVIjoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmRl
Y29kZV9lc2NhcGUoNikKKyAgICAgICAgZWxpZiBjIGluIFsiYSIsICJiIiwgImYiLCAibiIsICJy
IiwgInQiLCAidiJdOgorICAgICAgICAgICAgcmV0dXJuIGV2YWwoIidcJXMnIiAlIGMpCisgICAg
ICAgIGVsaWYgYyBpcyBlb2w6CisgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYuZmls
ZW5hbWUsIHNlbGYubGluZV9udW1iZXIsICJFT0wgaW4gZXNjYXBlIikKKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIHJldHVybiBjCisKKyAgICBkZWYgZGVjb2RlX2VzY2FwZShzZWxmLCBsZW5n
dGgpOgorICAgICAgICB2YWx1ZSA9IDAKKyAgICAgICAgZm9yIGkgaW4geHJhbmdlKGxlbmd0aCk6
CisgICAgICAgICAgICBjID0gc2VsZi5jaGFyKCkKKyAgICAgICAgICAgIHZhbHVlICo9IDE2Cisg
ICAgICAgICAgICB2YWx1ZSArPSBzZWxmLmVzY2FwZV92YWx1ZShjKQorICAgICAgICAgICAgc2Vs
Zi5jb25zdW1lKCkKKworICAgICAgICByZXR1cm4gdW5pY2hyKHZhbHVlKQorCisgICAgZGVmIGVz
Y2FwZV92YWx1ZShzZWxmLCBjKToKKyAgICAgICAgaWYgJzAnIDw9IGMgPD0gJzknOgorICAgICAg
ICAgICAgcmV0dXJuIG9yZChjKSAtIG9yZCgnMCcpCisgICAgICAgIGVsaWYgJ2EnIDw9IGMgPD0g
J2YnOgorICAgICAgICAgICAgcmV0dXJuIG9yZChjKSAtIG9yZCgnYScpICsgMTAKKyAgICAgICAg
ZWxpZiAnQScgPD0gYyA8PSAnRic6CisgICAgICAgICAgICByZXR1cm4gb3JkKGMpIC0gb3JkKCdB
JykgKyAxMAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxm
LmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyLCAiSW52YWxpZCBjaGFyYWN0ZXIgZXNjYXBlIikK
KworCitjbGFzcyBQYXJzZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAg
ICAgIHNlbGYucmVzZXQoKQorCisgICAgZGVmIHJlc2V0KHNlbGYpOgorICAgICAgICBzZWxmLnRv
a2VuID0gTm9uZQorICAgICAgICBzZWxmLnVuYXJ5X29wZXJhdG9ycyA9ICIhIgorICAgICAgICBz
ZWxmLmJpbmFyeV9vcGVyYXRvcnMgPSBmcm96ZW5zZXQoWyImJiIsICJ8fCIsICI9PSJdKQorICAg
ICAgICBzZWxmLnRva2VuaXplciA9IFRva2VuaXplcigpCisgICAgICAgIHNlbGYudG9rZW5fZ2Vu
ZXJhdG9yID0gTm9uZQorICAgICAgICBzZWxmLnRyZWUgPSBUcmVlYnVpbGRlcihEYXRhTm9kZShO
b25lKSkKKyAgICAgICAgc2VsZi5leHByX2J1aWxkZXIgPSBOb25lCisgICAgICAgIHNlbGYuZXhw
cl9idWlsZGVycyA9IFtdCisKKyAgICBkZWYgcGFyc2Uoc2VsZiwgaW5wdXQpOgorICAgICAgICBz
ZWxmLnJlc2V0KCkKKyAgICAgICAgc2VsZi50b2tlbl9nZW5lcmF0b3IgPSBzZWxmLnRva2VuaXpl
ci50b2tlbml6ZShpbnB1dCkKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgc2VsZi5t
YW5pZmVzdCgpCisgICAgICAgIHJldHVybiBzZWxmLnRyZWUubm9kZQorCisgICAgZGVmIGNvbnN1
bWUoc2VsZik6CisgICAgICAgIHNlbGYudG9rZW4gPSBzZWxmLnRva2VuX2dlbmVyYXRvci5uZXh0
KCkKKworICAgIGRlZiBleHBlY3Qoc2VsZiwgdHlwZSwgdmFsdWU9Tm9uZSk6CisgICAgICAgIGlm
IHNlbGYudG9rZW5bMF0gIT0gdHlwZToKKyAgICAgICAgICAgIHJhaXNlIFBhcnNlRXJyb3IKKyAg
ICAgICAgaWYgdmFsdWUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBzZWxmLnRva2VuWzFd
ICE9IHZhbHVlOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhcnNlRXJyb3IKKworICAgICAgICBz
ZWxmLmNvbnN1bWUoKQorCisgICAgZGVmIG1hbmlmZXN0KHNlbGYpOgorICAgICAgICBzZWxmLmRh
dGFfYmxvY2soKQorICAgICAgICBzZWxmLmV4cGVjdCh0b2tlbl90eXBlcy5lb2YpCisKKyAgICBk
ZWYgZGF0YV9ibG9jayhzZWxmKToKKyAgICAgICAgd2hpbGUgc2VsZi50b2tlblswXSA9PSB0b2tl
bl90eXBlcy5zdHJpbmc6CisgICAgICAgICAgICBzZWxmLnRyZWUuYXBwZW5kKEtleVZhbHVlTm9k
ZShzZWxmLnRva2VuWzFdKSkKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAg
ICBzZWxmLmV4cGVjdCh0b2tlbl90eXBlcy5zZXBhcmF0b3IpCisgICAgICAgICAgICBzZWxmLnZh
bHVlX2Jsb2NrKCkKKyAgICAgICAgICAgIHNlbGYudHJlZS5wb3AoKQorCisgICAgICAgIHdoaWxl
IHNlbGYudG9rZW4gPT0gKHRva2VuX3R5cGVzLnBhcmVuLCAiWyIpOgorICAgICAgICAgICAgc2Vs
Zi5jb25zdW1lKCkKKyAgICAgICAgICAgIGlmIHNlbGYudG9rZW5bMF0gIT0gdG9rZW5fdHlwZXMu
c3RyaW5nOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhcnNlRXJyb3IKKyAgICAgICAgICAgIHNl
bGYudHJlZS5hcHBlbmQoRGF0YU5vZGUoc2VsZi50b2tlblsxXSkpCisgICAgICAgICAgICBzZWxm
LmNvbnN1bWUoKQorICAgICAgICAgICAgc2VsZi5leHBlY3QodG9rZW5fdHlwZXMucGFyZW4sICJd
IikKKyAgICAgICAgICAgIGlmIHNlbGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMuZ3JvdXBfc3Rh
cnQ6CisgICAgICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgICAgICAgICBzZWxm
LmRhdGFfYmxvY2soKQorICAgICAgICAgICAgICAgIHNlbGYuZW9mX29yX2VuZF9ncm91cCgpCisg
ICAgICAgICAgICBzZWxmLnRyZWUucG9wKCkKKworICAgIGRlZiBlb2Zfb3JfZW5kX2dyb3VwKHNl
bGYpOgorICAgICAgICBpZiBzZWxmLnRva2VuWzBdICE9IHRva2VuX3R5cGVzLmVvZjoKKyAgICAg
ICAgICAgIHNlbGYuZXhwZWN0KHRva2VuX3R5cGVzLmdyb3VwX2VuZCkKKworICAgIGRlZiB2YWx1
ZV9ibG9jayhzZWxmKToKKyAgICAgICAgaWYgc2VsZi50b2tlblswXSA9PSB0b2tlbl90eXBlcy5s
aXN0X3N0YXJ0OgorICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgICAgIHNlbGYu
bGlzdF92YWx1ZSgpCisgICAgICAgIGVsaWYgc2VsZi50b2tlblswXSA9PSB0b2tlbl90eXBlcy5z
dHJpbmc6CisgICAgICAgICAgICBzZWxmLnZhbHVlKCkKKyAgICAgICAgZWxpZiBzZWxmLnRva2Vu
WzBdID09IHRva2VuX3R5cGVzLmdyb3VwX3N0YXJ0OgorICAgICAgICAgICAgc2VsZi5jb25zdW1l
KCkKKyAgICAgICAgICAgIHNlbGYuZXhwcmVzc2lvbl92YWx1ZXMoKQorICAgICAgICAgICAgaWYg
c2VsZi50b2tlblswXSA9PSB0b2tlbl90eXBlcy5zdHJpbmc6CisgICAgICAgICAgICAgICAgc2Vs
Zi52YWx1ZSgpCisgICAgICAgICAgICBzZWxmLmVvZl9vcl9lbmRfZ3JvdXAoKQorICAgICAgICBl
bGlmIHNlbGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMuYXRvbToKKyAgICAgICAgICAgIHNlbGYu
YXRvbSgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yCisKKyAg
ICBkZWYgbGlzdF92YWx1ZShzZWxmKToKKyAgICAgICAgc2VsZi50cmVlLmFwcGVuZChMaXN0Tm9k
ZSgpKQorICAgICAgICB3aGlsZSBzZWxmLnRva2VuWzBdIGluICh0b2tlbl90eXBlcy5hdG9tLCB0
b2tlbl90eXBlcy5zdHJpbmcpOgorICAgICAgICAgICAgaWYgc2VsZi50b2tlblswXSA9PSB0b2tl
bl90eXBlcy5hdG9tOgorICAgICAgICAgICAgICAgIHNlbGYuYXRvbSgpCisgICAgICAgICAgICBl
bHNlOgorICAgICAgICAgICAgICAgIHNlbGYudmFsdWUoKQorICAgICAgICBzZWxmLmV4cGVjdCh0
b2tlbl90eXBlcy5saXN0X2VuZCkKKyAgICAgICAgc2VsZi50cmVlLnBvcCgpCisKKyAgICBkZWYg
ZXhwcmVzc2lvbl92YWx1ZXMoc2VsZik6CisgICAgICAgIHdoaWxlIHNlbGYudG9rZW4gPT0gKHRv
a2VuX3R5cGVzLmlkZW50LCAiaWYiKToKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAg
ICAgICAgICBzZWxmLnRyZWUuYXBwZW5kKENvbmRpdGlvbmFsTm9kZSgpKQorICAgICAgICAgICAg
c2VsZi5leHByX3N0YXJ0KCkKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0KHRva2VuX3R5cGVzLnNl
cGFyYXRvcikKKyAgICAgICAgICAgIGlmIHNlbGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMuc3Ry
aW5nOgorICAgICAgICAgICAgICAgIHNlbGYudmFsdWUoKQorICAgICAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yCisgICAgICAgICAgICBzZWxmLnRyZWUucG9w
KCkKKworICAgIGRlZiB2YWx1ZShzZWxmKToKKyAgICAgICAgc2VsZi50cmVlLmFwcGVuZChWYWx1
ZU5vZGUoc2VsZi50b2tlblsxXSkpCisgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgIHNl
bGYudHJlZS5wb3AoKQorCisgICAgZGVmIGF0b20oc2VsZik6CisgICAgICAgIGlmIHNlbGYudG9r
ZW5bMV0gbm90IGluIGF0b21zOgorICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLnRv
a2VuaXplci5maWxlbmFtZSwgc2VsZi50b2tlbml6ZXIubGluZV9udW1iZXIsICJVbnJlY29nbmlz
ZWQgc3ltYm9sIEAlcyIgJSBzZWxmLnRva2VuWzFdKQorICAgICAgICBzZWxmLnRyZWUuYXBwZW5k
KEF0b21Ob2RlKGF0b21zW3NlbGYudG9rZW5bMV1dKSkKKyAgICAgICAgc2VsZi5jb25zdW1lKCkK
KyAgICAgICAgc2VsZi50cmVlLnBvcCgpCisKKyAgICBkZWYgZXhwcl9zdGFydChzZWxmKToKKyAg
ICAgICAgc2VsZi5leHByX2J1aWxkZXIgPSBFeHByZXNzaW9uQnVpbGRlcihzZWxmLnRva2VuaXpl
cikKKyAgICAgICAgc2VsZi5leHByX2J1aWxkZXJzLmFwcGVuZChzZWxmLmV4cHJfYnVpbGRlcikK
KyAgICAgICAgc2VsZi5leHByKCkKKyAgICAgICAgZXhwcmVzc2lvbiA9IHNlbGYuZXhwcl9idWls
ZGVyLmZpbmlzaCgpCisgICAgICAgIHNlbGYuZXhwcl9idWlsZGVycy5wb3AoKQorICAgICAgICBz
ZWxmLmV4cHJfYnVpbGRlciA9IHNlbGYuZXhwcl9idWlsZGVyc1stMV0gaWYgc2VsZi5leHByX2J1
aWxkZXJzIGVsc2UgTm9uZQorICAgICAgICBpZiBzZWxmLmV4cHJfYnVpbGRlcjoKKyAgICAgICAg
ICAgIHNlbGYuZXhwcl9idWlsZGVyLm9wZXJhbmRzWy0xXS5jaGlsZHJlblstMV0uYXBwZW5kKGV4
cHJlc3Npb24pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnRyZWUuYXBwZW5kKGV4
cHJlc3Npb24pCisgICAgICAgICAgICBzZWxmLnRyZWUucG9wKCkKKworICAgIGRlZiBleHByKHNl
bGYpOgorICAgICAgICBzZWxmLmV4cHJfb3BlcmFuZCgpCisgICAgICAgIHdoaWxlIChzZWxmLnRv
a2VuWzBdID09IHRva2VuX3R5cGVzLmlkZW50IGFuZCBzZWxmLnRva2VuWzFdIGluIGJpbmFyeV9v
cGVyYXRvcnMpOgorICAgICAgICAgICAgc2VsZi5leHByX2Jpbl9vcCgpCisgICAgICAgICAgICBz
ZWxmLmV4cHJfb3BlcmFuZCgpCisKKyAgICBkZWYgZXhwcl9vcGVyYW5kKHNlbGYpOgorICAgICAg
ICBpZiBzZWxmLnRva2VuID09ICh0b2tlbl90eXBlcy5wYXJlbiwgIigiKToKKyAgICAgICAgICAg
IHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICBzZWxmLmV4cHJfYnVpbGRlci5sZWZ0X3BhcmVu
KCkKKyAgICAgICAgICAgIHNlbGYuZXhwcigpCisgICAgICAgICAgICBzZWxmLmV4cGVjdCh0b2tl
bl90eXBlcy5wYXJlbiwgIikiKQorICAgICAgICAgICAgc2VsZi5leHByX2J1aWxkZXIucmlnaHRf
cGFyZW4oKQorICAgICAgICBlbGlmIHNlbGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMuaWRlbnQg
YW5kIHNlbGYudG9rZW5bMV0gaW4gdW5hcnlfb3BlcmF0b3JzOgorICAgICAgICAgICAgc2VsZi5l
eHByX3VuYXJ5X29wKCkKKyAgICAgICAgICAgIHNlbGYuZXhwcl9vcGVyYW5kKCkKKyAgICAgICAg
ZWxpZiBzZWxmLnRva2VuWzBdIGluIFt0b2tlbl90eXBlcy5zdHJpbmcsIHRva2VuX3R5cGVzLmlk
ZW50XToKKyAgICAgICAgICAgIHNlbGYuZXhwcl92YWx1ZSgpCisgICAgICAgIGVsaWYgc2VsZi50
b2tlblswXSA9PSB0b2tlbl90eXBlcy5udW1iZXI6CisgICAgICAgICAgICBzZWxmLmV4cHJfbnVt
YmVyKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFBhcnNlRXJyb3Ioc2VsZi50
b2tlbml6ZXIuZmlsZW5hbWUsIHNlbGYudG9rZW5pemVyLmxpbmVfbnVtYmVyLCAiVW5yZWNvZ25p
c2VkIG9wZXJhbmQiKQorCisgICAgZGVmIGV4cHJfdW5hcnlfb3Aoc2VsZik6CisgICAgICAgIGlm
IHNlbGYudG9rZW5bMV0gaW4gdW5hcnlfb3BlcmF0b3JzOgorICAgICAgICAgICAgc2VsZi5leHBy
X2J1aWxkZXIucHVzaF9vcGVyYXRvcihVbmFyeU9wZXJhdG9yTm9kZShzZWxmLnRva2VuWzFdKSkK
KyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBy
YWlzZSBQYXJzZUVycm9yKHNlbGYudG9rZW5pemVyLmZpbGVuYW1lLCBzZWxmLnRva2VuaXplci5s
aW5lX251bWJlciwgIkV4cGVjdGVkIHVuYXJ5IG9wZXJhdG9yIikKKworICAgIGRlZiBleHByX2Jp
bl9vcChzZWxmKToKKyAgICAgICAgaWYgc2VsZi50b2tlblsxXSBpbiBiaW5hcnlfb3BlcmF0b3Jz
OgorICAgICAgICAgICAgc2VsZi5leHByX2J1aWxkZXIucHVzaF9vcGVyYXRvcihCaW5hcnlPcGVy
YXRvck5vZGUoc2VsZi50b2tlblsxXSkpCisgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLnRva2VuaXplci5m
aWxlbmFtZSwgc2VsZi50b2tlbml6ZXIubGluZV9udW1iZXIsICJFeHBlY3RlZCBiaW5hcnkgb3Bl
cmF0b3IiKQorCisgICAgZGVmIGV4cHJfdmFsdWUoc2VsZik6CisgICAgICAgIG5vZGVfdHlwZSA9
IHt0b2tlbl90eXBlcy5zdHJpbmc6IFN0cmluZ05vZGUsCisgICAgICAgICAgICAgICAgICAgICB0
b2tlbl90eXBlcy5pZGVudDogVmFyaWFibGVOb2RlfVtzZWxmLnRva2VuWzBdXQorICAgICAgICBz
ZWxmLmV4cHJfYnVpbGRlci5wdXNoX29wZXJhbmQobm9kZV90eXBlKHNlbGYudG9rZW5bMV0pKQor
ICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICBpZiBzZWxmLnRva2VuID09ICh0b2tlbl90
eXBlcy5wYXJlbiwgIlsiKToKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAg
ICBzZWxmLmV4cHJfYnVpbGRlci5vcGVyYW5kc1stMV0uYXBwZW5kKEluZGV4Tm9kZSgpKQorICAg
ICAgICAgICAgc2VsZi5leHByX3N0YXJ0KCkKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0KHRva2Vu
X3R5cGVzLnBhcmVuLCAiXSIpCisKKyAgICBkZWYgZXhwcl9udW1iZXIoc2VsZik6CisgICAgICAg
IHNlbGYuZXhwcl9idWlsZGVyLnB1c2hfb3BlcmFuZChOdW1iZXJOb2RlKHNlbGYudG9rZW5bMV0p
KQorICAgICAgICBzZWxmLmNvbnN1bWUoKQorCisKK2NsYXNzIFRyZWVidWlsZGVyKG9iamVjdCk6
CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJvb3QpOgorICAgICAgICBzZWxmLnJvb3QgPSByb290
CisgICAgICAgIHNlbGYubm9kZSA9IHJvb3QKKworICAgIGRlZiBhcHBlbmQoc2VsZiwgbm9kZSk6
CisgICAgICAgIHNlbGYubm9kZS5hcHBlbmQobm9kZSkKKyAgICAgICAgc2VsZi5ub2RlID0gbm9k
ZQorICAgICAgICByZXR1cm4gbm9kZQorCisgICAgZGVmIHBvcChzZWxmKToKKyAgICAgICAgbm9k
ZSA9IHNlbGYubm9kZQorICAgICAgICBzZWxmLm5vZGUgPSBzZWxmLm5vZGUucGFyZW50CisgICAg
ICAgIHJldHVybiBub2RlCisKKworY2xhc3MgRXhwcmVzc2lvbkJ1aWxkZXIob2JqZWN0KToKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgdG9rZW5pemVyKToKKyAgICAgICAgc2VsZi5vcGVyYW5kcyA9
IFtdCisgICAgICAgIHNlbGYub3BlcmF0b3JzID0gW05vbmVdCisgICAgICAgIHNlbGYudG9rZW5p
emVyID0gdG9rZW5pemVyCisKKyAgICBkZWYgZmluaXNoKHNlbGYpOgorICAgICAgICB3aGlsZSBz
ZWxmLm9wZXJhdG9yc1stMV0gaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLnBvcF9vcGVy
YXRvcigpCisgICAgICAgIHJ2ID0gc2VsZi5wb3Bfb3BlcmFuZCgpCisgICAgICAgIGFzc2VydCBz
ZWxmLmlzX2VtcHR5KCkKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgbGVmdF9wYXJlbihz
ZWxmKToKKyAgICAgICAgc2VsZi5vcGVyYXRvcnMuYXBwZW5kKE5vbmUpCisKKyAgICBkZWYgcmln
aHRfcGFyZW4oc2VsZik6CisgICAgICAgIHdoaWxlIHNlbGYub3BlcmF0b3JzWy0xXSBpcyBub3Qg
Tm9uZToKKyAgICAgICAgICAgIHNlbGYucG9wX29wZXJhdG9yKCkKKyAgICAgICAgICAgIGlmIG5v
dCBzZWxmLm9wZXJhdG9yczoKKyAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYu
dG9rZW5pemVyLmZpbGVuYW1lLCBzZWxmLnRva2VuaXplci5saW5lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIlVuYmFsYW5jZWQgcGFyZW5zIikKKworICAgICAgICBhc3NlcnQg
c2VsZi5vcGVyYXRvcnMucG9wKCkgaXMgTm9uZQorCisgICAgZGVmIHB1c2hfb3BlcmF0b3Ioc2Vs
Ziwgb3BlcmF0b3IpOgorICAgICAgICBhc3NlcnQgb3BlcmF0b3IgaXMgbm90IE5vbmUKKyAgICAg
ICAgd2hpbGUgc2VsZi5wcmVjZWRlbmNlKHNlbGYub3BlcmF0b3JzWy0xXSkgPiBzZWxmLnByZWNl
ZGVuY2Uob3BlcmF0b3IpOgorICAgICAgICAgICAgc2VsZi5wb3Bfb3BlcmF0b3IoKQorCisgICAg
ICAgIHNlbGYub3BlcmF0b3JzLmFwcGVuZChvcGVyYXRvcikKKworICAgIGRlZiBwb3Bfb3BlcmF0
b3Ioc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5vcGVyYXRvcnMucG9wKCkKKyAgICAg
ICAgaWYgaXNpbnN0YW5jZShvcGVyYXRvciwgQmluYXJ5T3BlcmF0b3JOb2RlKToKKyAgICAgICAg
ICAgIG9wZXJhbmRfMSA9IHNlbGYub3BlcmFuZHMucG9wKCkKKyAgICAgICAgICAgIG9wZXJhbmRf
MCA9IHNlbGYub3BlcmFuZHMucG9wKCkKKyAgICAgICAgICAgIHNlbGYub3BlcmFuZHMuYXBwZW5k
KEJpbmFyeUV4cHJlc3Npb25Ob2RlKG9wZXJhdG9yLCBvcGVyYW5kXzAsIG9wZXJhbmRfMSkpCisg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICBvcGVyYW5kXzAgPSBzZWxmLm9wZXJhbmRzLnBvcCgp
CisgICAgICAgICAgICBzZWxmLm9wZXJhbmRzLmFwcGVuZChVbmFyeUV4cHJlc3Npb25Ob2RlKG9w
ZXJhdG9yLCBvcGVyYW5kXzApKQorCisgICAgZGVmIHB1c2hfb3BlcmFuZChzZWxmLCBub2RlKToK
KyAgICAgICAgc2VsZi5vcGVyYW5kcy5hcHBlbmQobm9kZSkKKworICAgIGRlZiBwb3Bfb3BlcmFu
ZChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYub3BlcmFuZHMucG9wKCkKKworICAgIGRlZiBp
c19lbXB0eShzZWxmKToKKyAgICAgICAgcmV0dXJuIGxlbihzZWxmLm9wZXJhbmRzKSA9PSAwIGFu
ZCBhbGwoaXRlbSBpcyBOb25lIGZvciBpdGVtIGluIHNlbGYub3BlcmF0b3JzKQorCisgICAgZGVm
IHByZWNlZGVuY2Uoc2VsZiwgb3BlcmF0b3IpOgorICAgICAgICBpZiBvcGVyYXRvciBpcyBOb25l
OgorICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgcmV0dXJuIHByZWNlZGVuY2Uob3BlcmF0
b3IpCisKKworZGVmIHBhcnNlKHN0cmVhbSk6CisgICAgcCA9IFBhcnNlcigpCisgICAgcmV0dXJu
IHAucGFyc2Uoc3RyZWFtKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Nl
cmlhbGl6ZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3Qvc2VyaWFsaXplci5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41MjIwM2FiMjQwYTkyYzZkMDI4Yzg1OGFhNGUwZjUyMzgyMGFjZDgwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3NlcmlhbGl6ZXIucHkKQEAgLTAs
MCArMSwxMzYgQEAKK2Zyb20gbm9kZSBpbXBvcnQgTm9kZVZpc2l0b3IsIFZhbHVlTm9kZSwgTGlz
dE5vZGUsIEJpbmFyeUV4cHJlc3Npb25Ob2RlCitmcm9tIHBhcnNlciBpbXBvcnQgYXRvbXMsIHBy
ZWNlZGVuY2UKKworYXRvbV9uYW1lcyA9IHt2OiJAJXMiICUgayBmb3IgKGssdikgaW4gYXRvbXMu
aXRlcml0ZW1zKCl9CisKK25hbWVkX2VzY2FwZXMgPSBzZXQoWyJcYSIsICJcYiIsICJcZiIsICJc
biIsICJcciIsICJcdCIsICJcdiJdKQorCitkZWYgZXNjYXBlKHN0cmluZywgZXh0cmFzPSIiKToK
KyAgICBydiA9ICIiCisgICAgZm9yIGMgaW4gc3RyaW5nOgorICAgICAgICBpZiBjIGluIG5hbWVk
X2VzY2FwZXM6CisgICAgICAgICAgICBydiArPSBjLmVuY29kZSgidW5pY29kZV9lc2NhcGUiKQor
ICAgICAgICBlbGlmIGMgPT0gIlxcIjoKKyAgICAgICAgICAgIHJ2ICs9ICJcXFxcIgorICAgICAg
ICBlbGlmIGMgPCAnXHgyMCc6CisgICAgICAgICAgICBydiArPSAiXFx4JTAyeCIgJSBvcmQoYykK
KyAgICAgICAgZWxpZiBjIGluIGV4dHJhczoKKyAgICAgICAgICAgIHJ2ICs9ICJcXCIgKyBjCisg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICBydiArPSBjCisgICAgcmV0dXJuIHJ2LmVuY29kZSgi
dXRmOCIpCisKKworY2xhc3MgTWFuaWZlc3RTZXJpYWxpemVyKE5vZGVWaXNpdG9yKToKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgc2tpcF9lbXB0eV9kYXRhPUZhbHNlKToKKyAgICAgICAgc2VsZi5z
a2lwX2VtcHR5X2RhdGEgPSBza2lwX2VtcHR5X2RhdGEKKworICAgIGRlZiBzZXJpYWxpemUoc2Vs
Ziwgcm9vdCk6CisgICAgICAgIHNlbGYuaW5kZW50ID0gMgorICAgICAgICBydiA9ICJcbiIuam9p
bihzZWxmLnZpc2l0KHJvb3QpKQorICAgICAgICBpZiBydlstMV0gIT0gIlxuIjoKKyAgICAgICAg
ICAgIHJ2ID0gcnYgKyAiXG4iCisgICAgICAgIHJldHVybiBydgorCisgICAgZGVmIHZpc2l0X0Rh
dGFOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICBydiA9IFtdCisgICAgICAgIGlmIG5vdCBzZWxm
LnNraXBfZW1wdHlfZGF0YSBvciBub2RlLmNoaWxkcmVuOgorICAgICAgICAgICAgaWYgbm9kZS5k
YXRhOgorICAgICAgICAgICAgICAgIHJ2LmFwcGVuZCgiWyVzXSIgJSBlc2NhcGUobm9kZS5kYXRh
LCBleHRyYXM9Il0iKSkKKyAgICAgICAgICAgICAgICBpbmRlbnQgPSBzZWxmLmluZGVudCAqICIg
IgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBpbmRlbnQgPSAiIgorCisgICAg
ICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgICAgICBydi5l
eHRlbmQoIiVzJXMiICUgKGluZGVudCBpZiBpdGVtIGVsc2UgIiIsIGl0ZW0pIGZvciBpdGVtIGlu
IHNlbGYudmlzaXQoY2hpbGQpKQorCisgICAgICAgICAgICBpZiBub2RlLnBhcmVudDoKKyAgICAg
ICAgICAgICAgICBydi5hcHBlbmQoIiIpCisKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYg
dmlzaXRfS2V5VmFsdWVOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICBydiA9IFtlc2NhcGUobm9k
ZS5kYXRhLCAiOiIpICsgIjoiXQorICAgICAgICBpbmRlbnQgPSAiICIgKiBzZWxmLmluZGVudAor
CisgICAgICAgIGlmIGxlbihub2RlLmNoaWxkcmVuKSA9PSAxIGFuZCBpc2luc3RhbmNlKG5vZGUu
Y2hpbGRyZW5bMF0sIChWYWx1ZU5vZGUsIExpc3ROb2RlKSk6CisgICAgICAgICAgICBydlswXSAr
PSAiICVzIiAlIHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblswXSlbMF0KKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIGZvciBjaGlsZCBpbiBub2RlLmNoaWxkcmVuOgorICAgICAgICAgICAgICAg
IHJ2LmFwcGVuZChpbmRlbnQgKyBzZWxmLnZpc2l0KGNoaWxkKVswXSkKKworICAgICAgICByZXR1
cm4gcnYKKworICAgIGRlZiB2aXNpdF9MaXN0Tm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcnYg
PSBbIlsiXQorICAgICAgICBydi5leHRlbmQoIiwgIi5qb2luKHNlbGYudmlzaXQoY2hpbGQpWzBd
IGZvciBjaGlsZCBpbiBub2RlLmNoaWxkcmVuKSkKKyAgICAgICAgcnYuYXBwZW5kKCJdIikKKyAg
ICAgICAgcmV0dXJuIFsiIi5qb2luKHJ2KV0KKworICAgIGRlZiB2aXNpdF9WYWx1ZU5vZGUoc2Vs
Ziwgbm9kZSk6CisgICAgICAgIGlmICIjIiBpbiBub2RlLmRhdGEgb3IgKGlzaW5zdGFuY2Uobm9k
ZS5wYXJlbnQsIExpc3ROb2RlKSBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KCIsIiBpbiBub2RlLmRhdGEgb3IgIl0iIGluIG5vZGUuZGF0YSkpOgorICAgICAgICAgICAgaWYg
IlwiIiBpbiBub2RlLmRhdGE6CisgICAgICAgICAgICAgICAgcXVvdGUgPSAiJyIKKyAgICAgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcXVvdGUgPSAiXCIiCisgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICBxdW90ZSA9ICIiCisgICAgICAgIHJldHVybiBbcXVvdGUgKyBlc2NhcGUobm9k
ZS5kYXRhLCBleHRyYXM9cXVvdGUpICsgcXVvdGVdCisKKyAgICBkZWYgdmlzaXRfQXRvbU5vZGUo
c2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVybiBbYXRvbV9uYW1lc1tub2RlLmRhdGFdXQorCisg
ICAgZGVmIHZpc2l0X0NvbmRpdGlvbmFsTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJu
IFsiaWYgJXM6ICVzIiAlIHR1cGxlKHNlbGYudmlzaXQoaXRlbSlbMF0gZm9yIGl0ZW0gaW4gbm9k
ZS5jaGlsZHJlbildCisKKyAgICBkZWYgdmlzaXRfU3RyaW5nTm9kZShzZWxmLCBub2RlKToKKyAg
ICAgICAgcnYgPSBbIlwiJXNcIiIgJSBlc2NhcGUobm9kZS5kYXRhLCBleHRyYXM9IlwiIildCisg
ICAgICAgIGZvciBjaGlsZCBpbiBub2RlLmNoaWxkcmVuOgorICAgICAgICAgICAgcnZbMF0gKz0g
c2VsZi52aXNpdChjaGlsZClbMF0KKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgdmlzaXRf
TnVtYmVyTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIFtzdHIobm9kZS5kYXRhKV0K
KworICAgIGRlZiB2aXNpdF9WYXJpYWJsZU5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJ2ID0g
ZXNjYXBlKG5vZGUuZGF0YSkKKyAgICAgICAgZm9yIGNoaWxkIGluIG5vZGUuY2hpbGRyZW46Cisg
ICAgICAgICAgICBydiArPSBzZWxmLnZpc2l0KGNoaWxkKQorICAgICAgICByZXR1cm4gW3J2XQor
CisgICAgZGVmIHZpc2l0X0luZGV4Tm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgYXNzZXJ0IGxl
bihub2RlLmNoaWxkcmVuKSA9PSAxCisgICAgICAgIHJldHVybiBbIlslc10iICUgc2VsZi52aXNp
dChub2RlLmNoaWxkcmVuWzBdKVswXV0KKworICAgIGRlZiB2aXNpdF9VbmFyeUV4cHJlc3Npb25O
b2RlKHNlbGYsIG5vZGUpOgorICAgICAgICBjaGlsZHJlbiA9IFtdCisgICAgICAgIGZvciBjaGls
ZCBpbiBub2RlLmNoaWxkcmVuOgorICAgICAgICAgICAgY2hpbGRfc3RyID0gc2VsZi52aXNpdChj
aGlsZClbMF0KKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoY2hpbGQsIEJpbmFyeUV4cHJlc3Np
b25Ob2RlKToKKyAgICAgICAgICAgICAgICBjaGlsZF9zdHIgPSAiKCVzKSIgJSBjaGlsZF9zdHIK
KyAgICAgICAgICAgIGNoaWxkcmVuLmFwcGVuZChjaGlsZF9zdHIpCisgICAgICAgIHJldHVybiBb
IiAiLmpvaW4oY2hpbGRyZW4pXQorCisgICAgZGVmIHZpc2l0X0JpbmFyeUV4cHJlc3Npb25Ob2Rl
KHNlbGYsIG5vZGUpOgorICAgICAgICBhc3NlcnQgbGVuKG5vZGUuY2hpbGRyZW4pID09IDMKKyAg
ICAgICAgY2hpbGRyZW4gPSBbXQorICAgICAgICBmb3IgY2hpbGRfaW5kZXggaW4gWzEsIDAsIDJd
OgorICAgICAgICAgICAgY2hpbGQgPSBub2RlLmNoaWxkcmVuW2NoaWxkX2luZGV4XQorICAgICAg
ICAgICAgY2hpbGRfc3RyID0gc2VsZi52aXNpdChjaGlsZClbMF0KKyAgICAgICAgICAgIGlmIChp
c2luc3RhbmNlKGNoaWxkLCBCaW5hcnlFeHByZXNzaW9uTm9kZSkgYW5kCisgICAgICAgICAgICAg
ICAgcHJlY2VkZW5jZShub2RlLmNoaWxkcmVuWzBdKSA8IHByZWNlZGVuY2UoY2hpbGQuY2hpbGRy
ZW5bMF0pKToKKyAgICAgICAgICAgICAgICBjaGlsZF9zdHIgPSAiKCVzKSIgJSBjaGlsZF9zdHIK
KyAgICAgICAgICAgIGNoaWxkcmVuLmFwcGVuZChjaGlsZF9zdHIpCisgICAgICAgIHJldHVybiBb
IiAiLmpvaW4oY2hpbGRyZW4pXQorCisgICAgZGVmIHZpc2l0X1VuYXJ5T3BlcmF0b3JOb2RlKHNl
bGYsIG5vZGUpOgorICAgICAgICByZXR1cm4gW3N0cihub2RlLmRhdGEpXQorCisgICAgZGVmIHZp
c2l0X0JpbmFyeU9wZXJhdG9yTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIFtzdHIo
bm9kZS5kYXRhKV0KKworCitkZWYgc2VyaWFsaXplKHRyZWUsICphcmdzLCAqKmt3YXJncyk6Cisg
ICAgcyA9IE1hbmlmZXN0U2VyaWFsaXplcigqYXJncywgKiprd2FyZ3MpCisgICAgcmV0dXJuIHMu
c2VyaWFsaXplKHRyZWUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVz
dHMvX19pbml0X18ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvX19pbml0X18u
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTY4MzRiODI4NWE1NmJlZjBlMTU0M2ZkOTAxYzdlNmYyZjhiYzIwMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy9fX2luaXRf
Xy5weQpAQCAtMCwwICsxIEBACisjIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgUHl0aG9uIHRv
IHNlYXJjaCB0aGlzIGRpcmVjdG9yeSBmb3IgbW9kdWxlcy4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9j
b25kaXRpb25hbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X2NvbmRp
dGlvbmFsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5ZmZkZjI1NTA3MmUyMTdhYTAyM2QyYTA0ZTI5ZDA4YjVk
MmZhN2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMv
dGVzdF9jb25kaXRpb25hbC5weQpAQCAtMCwwICsxLDE0MyBAQAoraW1wb3J0IHVuaXR0ZXN0CisK
K2Zyb20gY1N0cmluZ0lPIGltcG9ydCBTdHJpbmdJTworCitmcm9tIC4uYmFja2VuZHMgaW1wb3J0
IGNvbmRpdGlvbmFsCitmcm9tIC4ubm9kZSBpbXBvcnQgQmluYXJ5RXhwcmVzc2lvbk5vZGUsIEJp
bmFyeU9wZXJhdG9yTm9kZSwgVmFyaWFibGVOb2RlLCBOdW1iZXJOb2RlCisKKworY2xhc3MgVGVz
dENvbmRpdGlvbmFsKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgY29tcGlsZShzZWxmLCBp
bnB1dF90ZXh0KToKKyAgICAgICAgcmV0dXJuIGNvbmRpdGlvbmFsLmNvbXBpbGUoaW5wdXRfdGV4
dCkKKworICAgIGRlZiB0ZXN0X2dldF8wKHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6
IHZhbHVlCisKK1tIZWFkaW5nIDFdCisgIG90aGVyX2tleToKKyAgICBpZiBhID09IDE6IHZhbHVl
XzEKKyAgICBpZiBhID09IDI6IHZhbHVlXzIKKyAgICB2YWx1ZV8zCisiIiIKKworICAgICAgICBt
YW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KG1hbmlmZXN0LmdldCgia2V5IiksICJ2YWx1ZSIpCisgICAgICAgIGNoaWxkcmVuID0gbGlzdChp
dGVtIGZvciBpdGVtIGluIG1hbmlmZXN0Lml0ZXJjaGlsZHJlbigpKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhsZW4oY2hpbGRyZW4pLCAxKQorICAgICAgICBzZWN0aW9uID0gY2hpbGRyZW5b
MF0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2VjdGlvbi5uYW1lLCAiSGVhZGluZyAxIikK
KworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZWN0aW9uLmdldCgib3RoZXJfa2V5IiwgeyJh
IjogMX0pLCAidmFsdWVfMSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24uZ2V0
KCJvdGhlcl9rZXkiLCB7ImEiOiAyfSksICJ2YWx1ZV8yIikKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMoc2VjdGlvbi5nZXQoIm90aGVyX2tleSIsIHsiYSI6IDd9KSwgInZhbHVlXzMiKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscyhzZWN0aW9uLmdldCgia2V5IiksICJ2YWx1ZSIpCisKKyAg
ICBkZWYgdGVzdF9nZXRfMShzZWxmKToKKyAgICAgICAgZGF0YSA9ICIiIgora2V5OiB2YWx1ZQor
CitbSGVhZGluZyAxXQorICBvdGhlcl9rZXk6CisgICAgaWYgYSA9PSAiMSI6IHZhbHVlXzEKKyAg
ICBpZiBhID09IDI6IHZhbHVlXzIKKyAgICB2YWx1ZV8zCisiIiIKKworICAgICAgICBtYW5pZmVz
dCA9IHNlbGYuY29tcGlsZShkYXRhKQorCisgICAgICAgIGNoaWxkcmVuID0gbGlzdChpdGVtIGZv
ciBpdGVtIGluIG1hbmlmZXN0Lml0ZXJjaGlsZHJlbigpKQorICAgICAgICBzZWN0aW9uID0gY2hp
bGRyZW5bMF0KKworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZWN0aW9uLmdldCgib3RoZXJf
a2V5IiwgeyJhIjogIjEifSksICJ2YWx1ZV8xIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo
c2VjdGlvbi5nZXQoIm90aGVyX2tleSIsIHsiYSI6IDF9KSwgInZhbHVlXzMiKQorCisgICAgZGVm
IHRlc3RfZ2V0XzIoc2VsZik6CisgICAgICAgIGRhdGEgPSAiIiIKK2tleToKKyAgaWYgYVsxXSA9
PSAiYiI6IHZhbHVlXzEKKyAgaWYgYVsxXSA9PSAyOiB2YWx1ZV8yCisgIHZhbHVlXzMKKyIiIgor
CisgICAgICAgIG1hbmlmZXN0ID0gc2VsZi5jb21waWxlKGRhdGEpCisKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMobWFuaWZlc3QuZ2V0KCJrZXkiLCB7ImEiOiAiYWIifSksICJ2YWx1ZV8xIikK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZlc3QuZ2V0KCJrZXkiLCB7ImEiOiBbMSwg
Ml19KSwgInZhbHVlXzIiKQorCisgICAgZGVmIHRlc3RfZ2V0XzMoc2VsZik6CisgICAgICAgIGRh
dGEgPSAiIiIKK2tleToKKyAgaWYgYVsxXSA9PSAiYWIiWzFdOiB2YWx1ZV8xCisgIGlmIGFbMV0g
PT0gMjogdmFsdWVfMgorICB2YWx1ZV8zCisiIiIKKworICAgICAgICBtYW5pZmVzdCA9IHNlbGYu
Y29tcGlsZShkYXRhKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0LmdldCgi
a2V5IiwgeyJhIjogImFiIn0pLCAidmFsdWVfMSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KG1hbmlmZXN0LmdldCgia2V5IiwgeyJhIjogWzEsIDJdfSksICJ2YWx1ZV8yIikKKworICAgIGRl
ZiB0ZXN0X3NldF8wKHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6CisgIGlmIGEgPT0g
ImEiOiB2YWx1ZV8xCisgIGlmIGEgPT0gImIiOiB2YWx1ZV8yCisgIHZhbHVlXzMKKyIiIgorICAg
ICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhKQorCisgICAgICAgIG1hbmlmZXN0LnNl
dCgibmV3X2tleSIsICJ2YWx1ZV9uZXciKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1h
bmlmZXN0LmdldCgibmV3X2tleSIpLCAidmFsdWVfbmV3IikKKworICAgIGRlZiB0ZXN0X3NldF8x
KHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6CisgIGlmIGEgPT0gImEiOiB2YWx1ZV8x
CisgIGlmIGEgPT0gImIiOiB2YWx1ZV8yCisgIHZhbHVlXzMKKyIiIgorCisgICAgICAgIG1hbmlm
ZXN0ID0gc2VsZi5jb21waWxlKGRhdGEpCisKKyAgICAgICAgbWFuaWZlc3Quc2V0KCJrZXkiLCAi
dmFsdWVfbmV3IikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtl
eSIpLCAidmFsdWVfbmV3IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZlc3QuZ2V0
KCJrZXkiLCB7ImEiOiAiYSJ9KSwgInZhbHVlXzEiKQorCisgICAgZGVmIHRlc3Rfc2V0XzIoc2Vs
Zik6CisgICAgICAgIGRhdGEgPSAiIiIKK2tleToKKyAgaWYgYSA9PSAiYSI6IHZhbHVlXzEKKyAg
aWYgYSA9PSAiYiI6IHZhbHVlXzIKKyAgdmFsdWVfMworIiIiCisKKyAgICAgICAgbWFuaWZlc3Qg
PSBzZWxmLmNvbXBpbGUoZGF0YSkKKworICAgICAgICBleHByID0gQmluYXJ5RXhwcmVzc2lvbk5v
ZGUoQmluYXJ5T3BlcmF0b3JOb2RlKCI9PSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVmFyaWFibGVOb2RlKCJhIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBOdW1iZXJOb2RlKCIxIikpCisKKyAgICAgICAgbWFuaWZlc3Quc2V0KCJrZXkiLCAi
dmFsdWVfbmV3IiwgZXhwcikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5n
ZXQoImtleSIsIHsiYSI6IDF9KSwgInZhbHVlX25ldyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKG1hbmlmZXN0LmdldCgia2V5IiwgeyJhIjogImEifSksICJ2YWx1ZV8xIikKKworICAgIGRl
ZiB0ZXN0X2FwaV8wKHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6CisgIGlmIGEgPT0g
MS41OiB2YWx1ZV8xCisgIHZhbHVlXzIKK2tleV8xOiBvdGhlcl92YWx1ZQorIiIiCisgICAgICAg
IG1hbmlmZXN0ID0gc2VsZi5jb21waWxlKGRhdGEpCisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxz
ZShtYW5pZmVzdC5pc19lbXB0eSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZlc3Qu
cm9vdCwgbWFuaWZlc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtYW5pZmVzdC5oYXNfa2V5
KCJrZXlfMSIpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1hbmlmZXN0Lmhhc19rZXkoImtl
eV8yIikpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2V0KG1hbmlmZXN0Lml0ZXJrZXlz
KCkpLCBzZXQoWyJrZXkiLCAia2V5XzEiXSkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0
bWFuaWZlc3QvdGVzdHMvdGVzdF9wYXJzZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3Qv
dGVzdHMvdGVzdF9wYXJzZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY1Yzk4NGY0MmY1NmQ0Yjg4OGE1YTVl
YjgxNzE0NzQ4NTJmZmJlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5p
ZmVzdC90ZXN0cy90ZXN0X3BhcnNlci5weQpAQCAtMCwwICsxLDc1IEBACitpbXBvcnQgdW5pdHRl
c3QKKworZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCisKK2Zyb20gLi4gaW1wb3J0IHBh
cnNlcgorCisjIFRoZXJlIGFyZW4ndCBtYW55IHRlc3RzIGhlcmUgYmVjYXVzZSBpdCB0dXJucyBv
dXQgdG8gYmUgd2F5IG1vcmUgY29udmVuaWVudCB0bworIyB1c2UgdGVzdF9zZXJpYWxpemVyIGZv
ciB0aGUgbWFqb3JpdHkgb2YgY2FzZXMKKworCitjbGFzcyBUZXN0RXhwcmVzc2lvbih1bml0dGVz
dC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLnBhcnNlciA9
IHBhcnNlci5QYXJzZXIoKQorCisgICAgZGVmIHBhcnNlKHNlbGYsIGlucHV0X3N0cik6CisgICAg
ICAgIHJldHVybiBzZWxmLnBhcnNlci5wYXJzZShTdHJpbmdJTyhpbnB1dF9zdHIpKQorCisgICAg
ZGVmIGNvbXBhcmUoc2VsZiwgaW5wdXRfdGV4dCwgZXhwZWN0ZWQpOgorICAgICAgICBhY3R1YWwg
PSBzZWxmLnBhcnNlKGlucHV0X3RleHQpCisgICAgICAgIHNlbGYubWF0Y2goZXhwZWN0ZWQsIGFj
dHVhbCkKKworICAgIGRlZiBtYXRjaChzZWxmLCBleHBlY3RlZF9ub2RlLCBhY3R1YWxfbm9kZSk6
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGV4cGVjdGVkX25vZGVbMF0sIGFjdHVhbF9ub2Rl
Ll9fY2xhc3NfXy5fX25hbWVfXykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZXhwZWN0ZWRf
bm9kZVsxXSwgYWN0dWFsX25vZGUuZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobGVu
KGV4cGVjdGVkX25vZGVbMl0pLCBsZW4oYWN0dWFsX25vZGUuY2hpbGRyZW4pKQorICAgICAgICBm
b3IgZXhwZWN0ZWRfY2hpbGQsIGFjdHVhbF9jaGlsZCBpbiB6aXAoZXhwZWN0ZWRfbm9kZVsyXSwg
YWN0dWFsX25vZGUuY2hpbGRyZW4pOgorICAgICAgICAgICAgc2VsZi5tYXRjaChleHBlY3RlZF9j
aGlsZCwgYWN0dWFsX2NoaWxkKQorCisgICAgZGVmIHRlc3RfZXhwcl8wKHNlbGYpOgorICAgICAg
ICBzZWxmLmNvbXBhcmUoCisgICAgICAgICAgICAiIiIKK2tleToKKyAgaWYgeCA9PSAxIDogdmFs
dWUiIiIsCisgICAgICAgICAgICBbIkRhdGFOb2RlIiwgTm9uZSwKKyAgICAgICAgICAgICBbWyJL
ZXlWYWx1ZU5vZGUiLCAia2V5IiwKKyAgICAgICAgICAgICAgIFtbIkNvbmRpdGlvbmFsTm9kZSIs
IE5vbmUsCisgICAgICAgICAgICAgICAgIFtbIkJpbmFyeUV4cHJlc3Npb25Ob2RlIiwgTm9uZSwK
KyAgICAgICAgICAgICAgICAgICBbWyJCaW5hcnlPcGVyYXRvck5vZGUiLCAiPT0iLCBbXV0sCisg
ICAgICAgICAgICAgICAgICAgIFsiVmFyaWFibGVOb2RlIiwgIngiLCBbXV0sCisgICAgICAgICAg
ICAgICAgICAgICAgIFsiTnVtYmVyTm9kZSIsICIxIiwgW11dCisgICAgICAgICAgICAgICAgICAg
IF1dLAorICAgICAgICAgICAgICAgICAgICAgWyJWYWx1ZU5vZGUiLCAidmFsdWUiLCBbXV0sCisg
ICAgICAgICAgICAgICAgICBdXV1dXV0KKyAgICAgICAgKQorCisgICAgZGVmIHRlc3RfZXhwcl8x
KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoCisgICAgICAgICAgICAiIiIKK2tleToKKyAg
aWYgbm90IHggYW5kIHkgOiB2YWx1ZSIiIiwKKyAgICAgICAgICAgIFsiRGF0YU5vZGUiLCBOb25l
LAorICAgICAgICAgICAgIFtbIktleVZhbHVlTm9kZSIsICJrZXkiLAorICAgICAgICAgICAgICAg
W1siQ29uZGl0aW9uYWxOb2RlIiwgTm9uZSwKKyAgICAgICAgICAgICAgICAgW1siQmluYXJ5RXhw
cmVzc2lvbk5vZGUiLCBOb25lLAorICAgICAgICAgICAgICAgICAgIFtbIkJpbmFyeU9wZXJhdG9y
Tm9kZSIsICJhbmQiLCBbXV0sCisgICAgICAgICAgICAgICAgICAgIFsiVW5hcnlFeHByZXNzaW9u
Tm9kZSIsIE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgIFtbIlVuYXJ5T3BlcmF0b3JOb2Rl
IiwgIm5vdCIsIFtdXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsiVmFyaWFibGVOb2RlIiwg
IngiLCBbXV0KKyAgICAgICAgICAgICAgICAgICAgICAgIF1dLAorICAgICAgICAgICAgICAgICAg
ICAgICBbIlZhcmlhYmxlTm9kZSIsICJ5IiwgW11dCisgICAgICAgICAgICAgICAgICAgIF1dLAor
ICAgICAgICAgICAgICAgICAgICAgWyJWYWx1ZU5vZGUiLCAidmFsdWUiLCBbXV0sCisgICAgICAg
ICAgICAgICAgICBdXV1dXV0KKyAgICAgICAgKQorCisgICAgZGVmIHRlc3RfYXRvbV8wKHNlbGYp
OgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAg
ICAgICAgICAgIHNlbGYucGFyc2UoImtleTogQFVua25vd24iKQorCisgICAgZGVmIHRlc3RfYXRv
bV8xKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVy
cm9yKToKKyAgICAgICAgICAgIHNlbGYucGFyc2UoImtleTogQHRydWUiKQorCitpZiBfX25hbWVf
XyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3Rfc2VyaWFsaXplci5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3NlcmlhbGl6ZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiMmNi
YmJiNDc3YjRlZWZkZjlhOGNmZjA2MjNiOTlhYWRhNDA4MAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3NlcmlhbGl6ZXIucHkKQEAgLTAsMCAr
MSwyMjcgQEAKK2ltcG9ydCBzeXMKK2ltcG9ydCB1bml0dGVzdAorCitmcm9tIGNTdHJpbmdJTyBp
bXBvcnQgU3RyaW5nSU8KKworaW1wb3J0IHB5dGVzdAorCitmcm9tIC4uIGltcG9ydCBwYXJzZXIs
IHNlcmlhbGl6ZXIKKworCitjbGFzcyBUb2tlbml6ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
KyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuc2VyaWFsaXplciA9IHNlcmlhbGl6
ZXIuTWFuaWZlc3RTZXJpYWxpemVyKCkKKyAgICAgICAgc2VsZi5wYXJzZXIgPSBwYXJzZXIuUGFy
c2VyKCkKKworICAgIGRlZiBzZXJpYWxpemUoc2VsZiwgaW5wdXRfc3RyKToKKyAgICAgICAgcmV0
dXJuIHNlbGYuc2VyaWFsaXplci5zZXJpYWxpemUoc2VsZi5wYXJzZXIucGFyc2UoaW5wdXRfc3Ry
KSkKKworICAgIGRlZiBjb21wYXJlKHNlbGYsIGlucHV0X3N0ciwgZXhwZWN0ZWQ9Tm9uZSk6Cisg
ICAgICAgIGlmIGV4cGVjdGVkIGlzIE5vbmU6CisgICAgICAgICAgICBleHBlY3RlZCA9IGlucHV0
X3N0cgorICAgICAgICBleHBlY3RlZCA9IGV4cGVjdGVkLmVuY29kZSgidXRmOCIpCisgICAgICAg
IGFjdHVhbCA9IHNlbGYuc2VyaWFsaXplKGlucHV0X3N0cikKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMoYWN0dWFsLCBleHBlY3RlZCkKKworICAgIGRlZiB0ZXN0XzAoc2VsZik6CisgICAgICAg
IHNlbGYuY29tcGFyZSgiIiJrZXk6IHZhbHVlCitbSGVhZGluZyAxXQorICBvdGhlcl9rZXk6IG90
aGVyX3ZhbHVlCisiIiIpCisKKyAgICBkZWYgdGVzdF8xKHNlbGYpOgorICAgICAgICBzZWxmLmNv
bXBhcmUoIiIia2V5OiB2YWx1ZQorW0hlYWRpbmcgMV0KKyAgb3RoZXJfa2V5OgorICAgIGlmIGEg
b3IgYjogb3RoZXJfdmFsdWUKKyIiIikKKworICAgIGRlZiB0ZXN0XzIoc2VsZik6CisgICAgICAg
IHNlbGYuY29tcGFyZSgiIiJrZXk6IHZhbHVlCitbSGVhZGluZyAxXQorICBvdGhlcl9rZXk6Cisg
ICAgaWYgYSBvciBiOiBvdGhlcl92YWx1ZQorICAgIGZhbGxiYWNrX3ZhbHVlCisiIiIpCisKKyAg
ICBkZWYgdGVzdF8zKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQor
W0hlYWRpbmcgMV0KKyAgb3RoZXJfa2V5OgorICAgIGlmIGEgPT0gMTogb3RoZXJfdmFsdWUKKyAg
ICBmYWxsYmFja192YWx1ZQorIiIiKQorCisgICAgZGVmIHRlc3RfNChzZWxmKToKKyAgICAgICAg
c2VsZi5jb21wYXJlKCIiImtleTogdmFsdWUKK1tIZWFkaW5nIDFdCisgIG90aGVyX2tleToKKyAg
ICBpZiBhID09ICIxIjogb3RoZXJfdmFsdWUKKyAgICBmYWxsYmFja192YWx1ZQorIiIiKQorCisg
ICAgZGVmIHRlc3RfNShzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogdmFsdWUK
K1tIZWFkaW5nIDFdCisgIG90aGVyX2tleToKKyAgICBpZiBhID09ICJhYmMiWzFdOiBvdGhlcl92
YWx1ZQorICAgIGZhbGxiYWNrX3ZhbHVlCisiIiIpCisKKyAgICBkZWYgdGVzdF82KHNlbGYpOgor
ICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQorW0hlYWRpbmcgMV0KKyAgb3RoZXJf
a2V5OgorICAgIGlmIGEgPT0gImFiYyJbY106IG90aGVyX3ZhbHVlCisgICAgZmFsbGJhY2tfdmFs
dWUKKyIiIikKKworICAgIGRlZiB0ZXN0Xzcoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgi
IiJrZXk6IHZhbHVlCitbSGVhZGluZyAxXQorICBvdGhlcl9rZXk6CisgICAgaWYgKGEgb3IgYikg
YW5kIGM6IG90aGVyX3ZhbHVlCisgICAgZmFsbGJhY2tfdmFsdWUKKyIiIiwKKyIiImtleTogdmFs
dWUKK1tIZWFkaW5nIDFdCisgIG90aGVyX2tleToKKyAgICBpZiBhIG9yIGIgYW5kIGM6IG90aGVy
X3ZhbHVlCisgICAgZmFsbGJhY2tfdmFsdWUKKyIiIikKKworICAgIGRlZiB0ZXN0Xzgoc2VsZik6
CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IHZhbHVlCitbSGVhZGluZyAxXQorICBvdGhl
cl9rZXk6CisgICAgaWYgYSBvciAoYiBhbmQgYyk6IG90aGVyX3ZhbHVlCisgICAgZmFsbGJhY2tf
dmFsdWUKKyIiIikKKworICAgIGRlZiB0ZXN0Xzkoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFy
ZSgiIiJrZXk6IHZhbHVlCitbSGVhZGluZyAxXQorICBvdGhlcl9rZXk6CisgICAgaWYgbm90IChh
IGFuZCBiKTogb3RoZXJfdmFsdWUKKyAgICBmYWxsYmFja192YWx1ZQorIiIiKQorCisgICAgZGVm
IHRlc3RfMTAoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IHZhbHVlCitbSGVh
ZGluZyAxXQorICBzb21lX2tleTogc29tZV92YWx1ZQorCitbSGVhZGluZyAyXQorICBvdGhlcl9r
ZXk6IG90aGVyX3ZhbHVlCisiIiIpCisKKyAgICBkZWYgdGVzdF8xMShzZWxmKToKKyAgICAgICAg
c2VsZi5jb21wYXJlKCIiImtleToKKyAgaWYgbm90IGEgYW5kIGIgYW5kIGMgYW5kIGQ6IHRydWUK
KyIiIikKKworICAgIGRlZiB0ZXN0XzEyKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIi
W0hlYWRpbmcgMV0KKyAga2V5OiBbYToxLCBiOjJdCisiIiIpCisKKyAgICBkZWYgdGVzdF8xMyhz
ZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogW2E6MSwgImI6IyJdCisiIiIpCisK
KyAgICBkZWYgdGVzdF8xNChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogWyIs
Il0KKyIiIikKKworICAgIGRlZiB0ZXN0XzE1KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUo
IiIia2V5OiAsCisiIiIpCisKKyAgICBkZWYgdGVzdF8xNihzZWxmKToKKyAgICAgICAgc2VsZi5j
b21wYXJlKCIiImtleTogWyJdIiwgYl0KKyIiIikKKworICAgIGRlZiB0ZXN0XzE3KHNlbGYpOgor
ICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiBdCisiIiIpCisKKyAgICBkZWYgdGVzdF8xOChz
ZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogXF0KKyAgICAgICAgIiIiLCAiIiJr
ZXk6IF0KKyIiIikKKworICAgIGRlZiB0ZXN0X2VzY2FwZV8wKHNlbGYpOgorICAgICAgICBzZWxm
LmNvbXBhcmUociIiImtcdFw6eTogXGFcYlxmXG5cclx0XHYiIiIsCisgICAgICAgICAgICAgICAg
ICAgICByIiIia1x0XDp5OiBceDA3XHgwOFx4MGNcblxyXHRceDBiCisiIiIpCisKKyAgICBkZWYg
dGVzdF9lc2NhcGVfMShzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrXHgwMDogXHgx
MkFceDQ1IiIiLAorICAgICAgICAgICAgICAgICAgICAgciIiImtceDAwOiBceDEyQUUKKyIiIikK
KworICAgIGRlZiB0ZXN0X2VzY2FwZV8yKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUociIi
ImtcdTAwNDV5OiBcdTEyMzRBXHVBQmM2IiIiLAorICAgICAgICAgICAgICAgICAgICAgdSIiImtF
eTogXHUxMjM0QVx1YWJjNgorIiIiKQorCisgICAgZGVmIHRlc3RfZXNjYXBlXzMoc2VsZik6Cisg
ICAgICAgIHNlbGYuY29tcGFyZShyIiIia1x1MDA0NXk6IFx1MTIzNEFcdUFCYzYiIiIsCisgICAg
ICAgICAgICAgICAgICAgICB1IiIia0V5OiBcdTEyMzRBXHVhYmM2CisiIiIpCisKKyAgICBkZWYg
dGVzdF9lc2NhcGVfNChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6ICdcdTEy
MzRBXHVBQmM2JyIiIiwKKyAgICAgICAgICAgICAgICAgICAgIHUiIiJrZXk6IFx1MTIzNEFcdWFi
YzYKKyIiIikKKworICAgIGRlZiB0ZXN0X2VzY2FwZV81KHNlbGYpOgorICAgICAgICBzZWxmLmNv
bXBhcmUociIiImtleTogW1x1MTIzNEFcdUFCYzZdIiIiLAorICAgICAgICAgICAgICAgICAgICAg
dSIiImtleTogW1x1MTIzNEFcdWFiYzZdCisiIiIpCisKKyAgICBkZWYgdGVzdF9lc2NhcGVfNihz
ZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6IFtcdTEyMzRBXHVBQmM2XCxdIiIi
LAorICAgICAgICAgICAgICAgICAgICAgdSIiImtleTogWyJcdTEyMzRBXHVhYmM2LCJdCisiIiIp
CisKKyAgICBkZWYgdGVzdF9lc2NhcGVfNyhzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIi
IiJrZXk6IFtcLFxdXCNdIiIiLAorICAgICAgICAgICAgICAgICAgICAgciIiImtleTogWyIsXSMi
XQorIiIiKQorCisgICAgZGVmIHRlc3RfZXNjYXBlXzgoc2VsZik6CisgICAgICAgIHNlbGYuY29t
cGFyZShyIiIia2V5OiBcIyIiIiwKKyAgICAgICAgICAgICAgICAgICAgIHIiIiJrZXk6ICIjIgor
IiIiKQorCisgICAgQHB5dGVzdC5tYXJrLnhmYWlsKHN5cy5tYXh1bmljb2RlID09IDB4RkZGRiwg
cmVhc29uPSJuYXJyb3cgdW5pY29kZSIpCisgICAgZGVmIHRlc3RfZXNjYXBlXzkoc2VsZik6Cisg
ICAgICAgIHNlbGYuY29tcGFyZShyIiIia2V5OiBcVTEwRkZGRmFiYyIiIiwKKyAgICAgICAgICAg
ICAgICAgICAgIHUiIiJrZXk6IFxVMDAxMEZGRkZhYmMKKyIiIikKKworICAgIGRlZiB0ZXN0X2Vz
Y2FwZV8xMChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6IFx1MTBGRmFiIiIi
LAorICAgICAgICAgICAgICAgICAgICAgdSIiImtleTogXHUxMEZGYWIKKyIiIikKKworICAgIGRl
ZiB0ZXN0X2VzY2FwZV8xMShzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6IFxc
YWIKKyIiIikKKworICAgIGRlZiB0ZXN0X2F0b21fMShzZWxmKToKKyAgICAgICAgICAgIHNlbGYu
Y29tcGFyZShyIiIia2V5OiBAVHJ1ZQorIiIiKQorCisgICAgZGVmIHRlc3RfYXRvbV8yKHNlbGYp
OgorICAgICAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6IEBGYWxzZQorIiIiKQorCisgICAg
ZGVmIHRlc3RfYXRvbV8zKHNlbGYpOgorICAgICAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6
IEBSZXNldAorIiIiKQorCisgICAgZGVmIHRlc3RfYXRvbV80KHNlbGYpOgorICAgICAgICBzZWxm
LmNvbXBhcmUociIiImtleTogW2EsIEBSZXNldCwgYl0KKyIiIikKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3N0YXRpYy5weSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93
cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3N0YXRpYy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDI4NTc4ZDNiZmMz
YTVlMTM1NjE3YTMyYzNlNzE5M2M0YzUzYmI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3Rfc3RhdGljLnB5CkBAIC0wLDAgKzEsOTggQEAKK2lt
cG9ydCB1bml0dGVzdAorCitmcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KKworZnJvbSAu
LmJhY2tlbmRzIGltcG9ydCBzdGF0aWMKKworIyBUaGVyZSBhcmVuJ3QgbWFueSB0ZXN0cyBoZXJl
IGJlY2F1c2UgaXQgdHVybnMgb3V0IHRvIGJlIHdheSBtb3JlIGNvbnZlbmllbnQgdG8KKyMgdXNl
IHRlc3Rfc2VyaWFsaXplciBmb3IgdGhlIG1ham9yaXR5IG9mIGNhc2VzCisKKworY2xhc3MgVGVz
dFN0YXRpYyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIGNvbXBpbGUoc2VsZiwgaW5wdXRf
dGV4dCwgaW5wdXRfZGF0YSk6CisgICAgICAgIHJldHVybiBzdGF0aWMuY29tcGlsZShpbnB1dF90
ZXh0LCBpbnB1dF9kYXRhKQorCisgICAgZGVmIHRlc3RfZ2V0XzAoc2VsZik6CisgICAgICAgIGRh
dGEgPSAiIiIKK2tleTogdmFsdWUKKworW0hlYWRpbmcgMV0KKyAgb3RoZXJfa2V5OgorICAgIGlm
IGEgPT0gMTogdmFsdWVfMQorICAgIGlmIGEgPT0gMjogdmFsdWVfMgorICAgIHZhbHVlXzMKKyIi
IgorCisgICAgICAgIG1hbmlmZXN0ID0gc2VsZi5jb21waWxlKGRhdGEsIHsiYSI6IDJ9KQorCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5IiksICJ2YWx1ZSIpCisg
ICAgICAgIGNoaWxkcmVuID0gbGlzdChpdGVtIGZvciBpdGVtIGluIG1hbmlmZXN0Lml0ZXJjaGls
ZHJlbigpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhsZW4oY2hpbGRyZW4pLCAxKQorICAg
ICAgICBzZWN0aW9uID0gY2hpbGRyZW5bMF0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2Vj
dGlvbi5uYW1lLCAiSGVhZGluZyAxIikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZWN0
aW9uLmdldCgib3RoZXJfa2V5IiksICJ2YWx1ZV8yIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMoc2VjdGlvbi5nZXQoImtleSIpLCAidmFsdWUiKQorCisgICAgZGVmIHRlc3RfZ2V0XzEoc2Vs
Zik6CisgICAgICAgIGRhdGEgPSAiIiIKK2tleTogdmFsdWUKKworW0hlYWRpbmcgMV0KKyAgb3Ro
ZXJfa2V5OgorICAgIGlmIGEgPT0gMTogdmFsdWVfMQorICAgIGlmIGEgPT0gMjogdmFsdWVfMgor
ICAgIHZhbHVlXzMKKyIiIgorICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhLCB7
ImEiOiAzfSkKKworICAgICAgICBjaGlsZHJlbiA9IGxpc3QoaXRlbSBmb3IgaXRlbSBpbiBtYW5p
ZmVzdC5pdGVyY2hpbGRyZW4oKSkKKyAgICAgICAgc2VjdGlvbiA9IGNoaWxkcmVuWzBdCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24uZ2V0KCJvdGhlcl9rZXkiKSwgInZhbHVlXzMi
KQorCisgICAgZGVmIHRlc3RfZ2V0XzMoc2VsZik6CisgICAgICAgIGRhdGEgPSAiIiJrZXk6Cisg
IGlmIGEgPT0gIjEiOiB2YWx1ZV8xCisgIGlmIGFbMF0gPT0gImFiIlswXTogdmFsdWVfMgorIiIi
CisgICAgICAgIG1hbmlmZXN0ID0gc2VsZi5jb21waWxlKGRhdGEsIHsiYSI6ICIxIn0pCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5IiksICJ2YWx1ZV8xIikKKwor
ICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhLCB7ImEiOiAiYWMifSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZlc3QuZ2V0KCJrZXkiKSwgInZhbHVlXzIiKQorCisg
ICAgZGVmIHRlc3RfZ2V0XzQoc2VsZik6CisgICAgICAgIGRhdGEgPSAiIiJrZXk6CisgIGlmIG5v
dCBhOiB2YWx1ZV8xCisgIHZhbHVlXzIKKyIiIgorICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29t
cGlsZShkYXRhLCB7ImEiOiBUcnVlfSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZl
c3QuZ2V0KCJrZXkiKSwgInZhbHVlXzIiKQorCisgICAgICAgIG1hbmlmZXN0ID0gc2VsZi5jb21w
aWxlKGRhdGEsIHsiYSI6IEZhbHNlfSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZl
c3QuZ2V0KCJrZXkiKSwgInZhbHVlXzEiKQorCisgICAgZGVmIHRlc3RfYXBpKHNlbGYpOgorICAg
ICAgICBkYXRhID0gIiIia2V5OgorICBpZiBhID09IDEuNTogdmFsdWVfMQorICB2YWx1ZV8yCitr
ZXlfMTogb3RoZXJfdmFsdWUKKyIiIgorICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShk
YXRhLCB7ImEiOiAxLjV9KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobWFuaWZlc3QuaXNf
ZW1wdHkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0LnJvb3QsIG1hbmlmZXN0
KQorICAgICAgICBzZWxmLmFzc2VydFRydWUobWFuaWZlc3QuaGFzX2tleSgia2V5XzEiKSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRGYWxzZShtYW5pZmVzdC5oYXNfa2V5KCJrZXlfMiIpKQorCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNldChtYW5pZmVzdC5pdGVya2V5cygpKSwgc2V0KFsia2V5
IiwgImtleV8xIl0pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZXQobWFuaWZlc3QuaXRl
cnZhbHVlcygpKSwgc2V0KFsidmFsdWVfMSIsICJvdGhlcl92YWx1ZSJdKSkKKworICAgIGRlZiB0
ZXN0X2lzX2VtcHR5XzEoc2VsZik6CisgICAgICAgIGRhdGEgPSAiIiIKK1tTZWN0aW9uXQorICBb
U3Vic2VjdGlvbl0KKyIiIgorICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhLCB7
fSkKKworICAgICAgICBzZWxmLmFzc2VydFRydWUobWFuaWZlc3QuaXNfZW1wdHkpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF90b2tlbml6ZXIucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF90b2tlbml6ZXIucHkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODgxNzZjNWExNjkwNTJhNWMwNmYyZTUzNWEzN2I4ZjUzYjUyZGE1ZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3Rva2VuaXplci5weQpA
QCAtMCwwICsxLDM1NyBAQAoraW1wb3J0IHN5cworaW1wb3J0IG9zCitpbXBvcnQgdW5pdHRlc3QK
Kworc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguYWJzcGF0aCgiLi4iKSkKK2Zyb20gY1N0cmlu
Z0lPIGltcG9ydCBTdHJpbmdJTworCitmcm9tIC4uIGltcG9ydCBwYXJzZXIKK2Zyb20gLi5wYXJz
ZXIgaW1wb3J0IHRva2VuX3R5cGVzCisKKworY2xhc3MgVG9rZW5pemVyVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLnRva2VuaXplciA9
IHBhcnNlci5Ub2tlbml6ZXIoKQorCisgICAgZGVmIHRva2VuaXplKHNlbGYsIGlucHV0X3N0cik6
CisgICAgICAgIHJ2ID0gW10KKyAgICAgICAgZm9yIGl0ZW0gaW4gc2VsZi50b2tlbml6ZXIudG9r
ZW5pemUoU3RyaW5nSU8oaW5wdXRfc3RyKSk6CisgICAgICAgICAgICBydi5hcHBlbmQoaXRlbSkK
KyAgICAgICAgICAgIGlmIGl0ZW1bMF0gPT0gdG9rZW5fdHlwZXMuZW9mOgorICAgICAgICAgICAg
ICAgIGJyZWFrCisgICAgICAgIHJldHVybiBydgorCisgICAgZGVmIGNvbXBhcmUoc2VsZiwgaW5w
dXRfdGV4dCwgZXhwZWN0ZWQpOgorICAgICAgICBleHBlY3RlZCA9IGV4cGVjdGVkICsgWyh0b2tl
bl90eXBlcy5lb2YsIE5vbmUpXQorICAgICAgICBhY3R1YWwgPSBzZWxmLnRva2VuaXplKGlucHV0
X3RleHQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQpCisKKyAg
ICBkZWYgdGVzdF9oZWFkaW5nXzAoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJbSGVh
ZGluZyB0ZXh0XSIiIiwKKyAgICAgICAgICAgICAgICAgICAgIFsodG9rZW5fdHlwZXMucGFyZW4s
ICJbIiksCisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgIkhlYWRp
bmcgdGV4dCIpLAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5wYXJlbiwgIl0i
KV0pCisKKyAgICBkZWYgdGVzdF9oZWFkaW5nXzEoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFy
ZSgiIiJbSGVhZGluZyBbdGV4dFxdXSIiIiwKKyAgICAgICAgICAgICAgICAgICAgIFsodG9rZW5f
dHlwZXMucGFyZW4sICJbIiksCisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0
cmluZywgIkhlYWRpbmcgW3RleHRdIiksCisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5
cGVzLnBhcmVuLCAiXSIpXSkKKworICAgIGRlZiB0ZXN0X2hlYWRpbmdfMihzZWxmKToKKyAgICAg
ICAgc2VsZi5jb21wYXJlKCIiIltIZWFkaW5nICN0ZXh0XSIiIiwKKyAgICAgICAgICAgICAgICAg
ICAgIFsodG9rZW5fdHlwZXMucGFyZW4sICJbIiksCisgICAgICAgICAgICAgICAgICAgICAgKHRv
a2VuX3R5cGVzLnN0cmluZywgIkhlYWRpbmcgI3RleHQiKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAodG9rZW5fdHlwZXMucGFyZW4sICJdIildKQorCisgICAgZGVmIHRlc3RfaGVhZGluZ18zKHNl
bGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIiW0hlYWRpbmcgW1xddGV4dF0iIiIsCisgICAg
ICAgICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnBhcmVuLCAiWyIpLAorICAgICAgICAgICAg
ICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJIZWFkaW5nIFtddGV4dCIpLAorICAgICAg
ICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5wYXJlbiwgIl0iKV0pCisKKyAgICBkZWYgdGVz
dF9oZWFkaW5nXzQoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMocGFyc2Vy
LlBhcnNlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi50b2tlbml6ZSgiW0hlYWRpbmciKQorCisg
ICAgZGVmIHRlc3RfaGVhZGluZ181KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIiW0hl
YWRpbmcgW1xddGV4dF0gI2NvbW1lbnQiIiIsCisgICAgICAgICAgICAgICAgICAgICBbKHRva2Vu
X3R5cGVzLnBhcmVuLCAiWyIpLAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5z
dHJpbmcsICJIZWFkaW5nIFtddGV4dCIpLAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90
eXBlcy5wYXJlbiwgIl0iKV0pCisKKyAgICBkZWYgdGVzdF9oZWFkaW5nXzYoc2VsZik6CisgICAg
ICAgIHNlbGYuY29tcGFyZShyIiIiW0hlYWRpbmcgXHR0ZXh0XSIiIiwKKyAgICAgICAgICAgICAg
ICAgICAgIFsodG9rZW5fdHlwZXMucGFyZW4sICJbIiksCisgICAgICAgICAgICAgICAgICAgICAg
KHRva2VuX3R5cGVzLnN0cmluZywgIkhlYWRpbmcgXHR0ZXh0IiksCisgICAgICAgICAgICAgICAg
ICAgICAgKHRva2VuX3R5cGVzLnBhcmVuLCAiXSIpXSkKKworICAgIGRlZiB0ZXN0X2tleV8wKHNl
bGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OnZhbHVlIiIiLAorICAgICAgICAgICAg
ICAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAgICAgICAgICAg
ICh0b2tlbl90eXBlcy5zdHJpbmcsICJ2YWx1ZSIpXSkKKworICAgIGRlZiB0ZXN0X2tleV8xKHNl
bGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5ICA6ICB2YWx1ZSIiIiwKKyAgICAgICAg
ICAgICAgICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAg
ICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUiKV0pCisKKyAgICBkZWYgdGVzdF9rZXlf
MihzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleSAgOiAgdmFsIHVlIiIiLAorICAg
ICAgICAgICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAg
ICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJ2YWwgdWUiKV0pCisKKyAgICBkZWYgdGVz
dF9rZXlfMyhzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogdmFsdWUjY29tbWVu
dCIiIiwKKyAgICAgICAgICAgICAgICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5Iiks
CisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUiKV0pCisKKyAg
ICBkZWYgdGVzdF9rZXlfNChzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhw
YXJzZXIuUGFyc2VFcnJvcik6CisgICAgICAgICAgICBzZWxmLnRva2VuaXplKCIiImtlIHk6IHZh
bHVlIiIiKQorCisgICAgZGVmIHRlc3Rfa2V5XzUoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5h
c3NlcnRSYWlzZXMocGFyc2VyLlBhcnNlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi50b2tlbml6
ZSgiIiJrZXkiIiIpCisKKyAgICBkZWYgdGVzdF9rZXlfNihzZWxmKToKKyAgICAgICAgc2VsZi5j
b21wYXJlKCIiImtleTogInZhbHVlXCIiIiIsCisgICAgICAgICAgICAgICAgICAgICBbKHRva2Vu
X3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBl
cy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0
cmluZywgInZhbHVlIildKQorCisgICAgZGVmIHRlc3Rfa2V5Xzcoc2VsZik6CisgICAgICAgIHNl
bGYuY29tcGFyZSgiIiJrZXk6ICd2YWx1ZSciIiIsCisgICAgICAgICAgICAgICAgICAgICBbKHRv
a2VuX3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90
eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVz
LnN0cmluZywgInZhbHVlIildKQorCisgICAgZGVmIHRlc3Rfa2V5Xzgoc2VsZik6CisgICAgICAg
IHNlbGYuY29tcGFyZSgiIiJrZXk6ICIjdmFsdWVcIiIiIiwKKyAgICAgICAgICAgICAgICAgICAg
IFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAgICAgICAgICAgKHRv
a2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAgICAgICAgICAodG9rZW5f
dHlwZXMuc3RyaW5nLCAiI3ZhbHVlIildKQorCisgICAgZGVmIHRlc3Rfa2V5Xzkoc2VsZik6Cisg
ICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6ICcjdmFsdWVcJyIiIiwKKyAgICAgICAgICAgICAg
ICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAgICAgICAg
ICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAgICAgICAgICAo
dG9rZW5fdHlwZXMuc3RyaW5nLCAiI3ZhbHVlIildKQorCisgICAgZGVmIHRlc3Rfa2V5XzEwKHNl
bGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToK
KyAgICAgICAgICAgIHNlbGYudG9rZW5pemUoIiIia2V5OiAidmFsdWUiIiIpCisKKyAgICBkZWYg
dGVzdF9rZXlfMTEoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMocGFyc2Vy
LlBhcnNlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi50b2tlbml6ZSgiIiJrZXk6ICd2YWx1ZSIi
IikKKworICAgIGRlZiB0ZXN0X2tleV8xMihzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2Vy
dFJhaXNlcyhwYXJzZXIuUGFyc2VFcnJvcik6CisgICAgICAgICAgICBzZWxmLnRva2VuaXplKCIi
ImtleTogJ3ZhbHVlIiIiKQorCisgICAgZGVmIHRlc3Rfa2V5XzEzKHNlbGYpOgorICAgICAgICB3
aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAgICAgICAgIHNl
bGYudG9rZW5pemUoIiIia2V5OiAndmFsdWUnIGFiYyIiIikKKworICAgIGRlZiB0ZXN0X2tleV8x
NChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6IFxcbmIiIiIsCisgICAgICAg
ICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAgICAgICAg
ICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgICAg
ICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgciJcbmIiKV0pCisKKyAgICBkZWYgdGVzdF9saXN0
XzAoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgKKyIiIgora2V5OiBbXSIiIiwKKyAgICAg
ICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAgKHRva2Vu
X3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubGlzdF9z
dGFydCwgIlsiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubGlzdF9lbmQsICJdIildKQor
CisgICAgZGVmIHRlc3RfbGlzdF8xKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoCisiIiIK
K2tleTogW2EsICJiIl0iIiIsCisgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtl
eSIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAg
ICAgICAgKHRva2VuX3R5cGVzLmxpc3Rfc3RhcnQsICJbIiksCisgICAgICAgICAgICAgKHRva2Vu
X3R5cGVzLnN0cmluZywgImEiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAi
YiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5saXN0X2VuZCwgIl0iKV0pCisKKyAgICBk
ZWYgdGVzdF9saXN0XzIoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgKKyIiIgora2V5OiBb
YSwKKyAgICAgIGJdIiIiLAorICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJpbmcsICJrZXki
KSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAg
ICAgICh0b2tlbl90eXBlcy5saXN0X3N0YXJ0LCAiWyIpLAorICAgICAgICAgICAgICh0b2tlbl90
eXBlcy5zdHJpbmcsICJhIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgImIi
KSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubGlzdF9lbmQsICJdIildKQorCisgICAgZGVm
IHRlc3RfbGlzdF8zKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoCisiIiIKK2tleTogW2Es
ICNiXQorICAgICAgY10iIiIsCisgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtl
eSIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAg
ICAgICAgKHRva2VuX3R5cGVzLmxpc3Rfc3RhcnQsICJbIiksCisgICAgICAgICAgICAgKHRva2Vu
X3R5cGVzLnN0cmluZywgImEiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAi
YyIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5saXN0X2VuZCwgIl0iKV0pCisKKyAgICBk
ZWYgdGVzdF9saXN0XzQoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMocGFy
c2VyLlBhcnNlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi50b2tlbml6ZSgiIiJrZXk6IFthICNi
XQorICAgICAgICAgICAgY10iIiIpCisKKyAgICBkZWYgdGVzdF9saXN0XzUoc2VsZik6CisgICAg
ICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMocGFyc2VyLlBhcnNlRXJyb3IpOgorICAgICAgICAg
ICAgc2VsZi50b2tlbml6ZSgiIiJrZXk6IFthIFxcCisgICAgICAgICAgICBjXSIiIikKKworICAg
IGRlZiB0ZXN0X2xpc3RfNihzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorIiIia2V5OiBb
YSAsIGJdIiIiLAorICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAg
ICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICh0b2tlbl90eXBlcy5s
aXN0X3N0YXJ0LCAiWyIpLAorICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgImEiKSwKKyAg
ICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJiIiksCisgICAgICAgICAodG9rZW5fdHlwZXMu
bGlzdF9lbmQsICJdIildKQorCisgICAgZGVmIHRlc3RfZXhwcl8wKHNlbGYpOgorICAgICAgICBz
ZWxmLmNvbXBhcmUoCisiIiIKK2tleToKKyAgaWYgY29uZCA9PSAxOiB2YWx1ZSIiIiwKKyAgICAg
ICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAgKHRva2Vu
X3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuZ3JvdXBf
c3RhcnQsIE5vbmUpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImlmIiksCisg
ICAgICAgICAgICAgKHRva2VuX3R5cGVzLmlkZW50LCAiY29uZCIpLAorICAgICAgICAgICAgICh0
b2tlbl90eXBlcy5pZGVudCwgIj09IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLm51bWJl
ciwgIjEiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAg
ICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJ2YWx1ZSIpXSkKKworICAgIGRlZiB0ZXN0
X2V4cHJfMShzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorIiIiCitrZXk6CisgIGlmIGNv
bmQgPT0gMTogdmFsdWUxCisgIHZhbHVlMiIiIiwKKyAgICAgICAgICAgIFsodG9rZW5fdHlwZXMu
c3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoi
KSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuZ3JvdXBfc3RhcnQsIE5vbmUpLAorICAgICAg
ICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImlmIiksCisgICAgICAgICAgICAgKHRva2VuX3R5
cGVzLmlkZW50LCAiY29uZCIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgIj09
IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLm51bWJlciwgIjEiKSwKKyAgICAgICAgICAg
ICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBl
cy5zdHJpbmcsICJ2YWx1ZTEiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAi
dmFsdWUyIildKQorCisgICAgZGVmIHRlc3RfZXhwcl8yKHNlbGYpOgorICAgICAgICBzZWxmLmNv
bXBhcmUoCisiIiIKK2tleToKKyAgaWYgY29uZD09IjEiOiB2YWx1ZSIiIiwKKyAgICAgICAgICAg
IFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVz
LnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuZ3JvdXBfc3RhcnQs
IE5vbmUpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImlmIiksCisgICAgICAg
ICAgICAgKHRva2VuX3R5cGVzLmlkZW50LCAiY29uZCIpLAorICAgICAgICAgICAgICh0b2tlbl90
eXBlcy5pZGVudCwgIj09IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgIjEi
KSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAg
ICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJ2YWx1ZSIpXSkKKworICAgIGRlZiB0ZXN0X2V4cHJf
MyhzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorIiIiCitrZXk6CisgIGlmIGNvbmQ9PTEu
MTogdmFsdWUiIiIsCisgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAor
ICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAg
KHRva2VuX3R5cGVzLmdyb3VwX3N0YXJ0LCBOb25lKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlw
ZXMuaWRlbnQsICJpZiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImNvbmQi
KSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICI9PSIpLAorICAgICAgICAgICAg
ICh0b2tlbl90eXBlcy5udW1iZXIsICIxLjEiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMu
c2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJ2YWx1
ZSIpXSkKKworICAgIGRlZiB0ZXN0X2V4cHJfNChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJl
KAorICAgICAgICAgICAgIiIiCitrZXk6CisgIGlmIGNvbmQ9PTEuMSBhbmQgY29uZDIgPT0gImEi
OiB2YWx1ZSIiIiwKKyAgICAgICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5IiksCisg
ICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAo
dG9rZW5fdHlwZXMuZ3JvdXBfc3RhcnQsIE5vbmUpLAorICAgICAgICAgICAgICh0b2tlbl90eXBl
cy5pZGVudCwgImlmIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLmlkZW50LCAiY29uZCIp
LAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgIj09IiksCisgICAgICAgICAgICAg
KHRva2VuX3R5cGVzLm51bWJlciwgIjEuMSIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5p
ZGVudCwgImFuZCIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImNvbmQyIiks
CisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLmlkZW50LCAiPT0iKSwKKyAgICAgICAgICAgICAo
dG9rZW5fdHlwZXMuc3RyaW5nLCAiYSIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBh
cmF0b3IsICI6IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgInZhbHVlIild
KQorCisgICAgZGVmIHRlc3RfZXhwcl81KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoCisi
IiIKK2tleToKKyAgaWYgKGNvbmQ9PTEuMSApOiB2YWx1ZSIiIiwKKyAgICAgICAgICAgIFsodG9r
ZW5fdHlwZXMuc3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFy
YXRvciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuZ3JvdXBfc3RhcnQsIE5vbmUp
LAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImlmIiksCisgICAgICAgICAgICAg
KHRva2VuX3R5cGVzLnBhcmVuLCAiKCIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVu
dCwgImNvbmQiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICI9PSIpLAorICAg
ICAgICAgICAgICh0b2tlbl90eXBlcy5udW1iZXIsICIxLjEiKSwKKyAgICAgICAgICAgICAodG9r
ZW5fdHlwZXMucGFyZW4sICIpIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRv
ciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUiKV0pCisK
KyAgICBkZWYgdGVzdF9leHByXzYoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgKKyIiIgor
a2V5OgorICBpZiAiXFx0dGVzdCI6IHZhbHVlIiIiLAorICAgICAgICAgICAgWyh0b2tlbl90eXBl
cy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAi
OiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5ncm91cF9zdGFydCwgTm9uZSksCisgICAg
ICAgICAgICAgKHRva2VuX3R5cGVzLmlkZW50LCAiaWYiKSwKKyAgICAgICAgICAgICAodG9rZW5f
dHlwZXMuc3RyaW5nLCAiXHR0ZXN0IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFy
YXRvciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUiKV0p
CisKKyAgICBkZWYgdGVzdF9leHByXzcoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRS
YWlzZXMocGFyc2VyLlBhcnNlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi50b2tlbml6ZSgKKyIi
Igora2V5OgorICBpZiAxQTogdmFsdWUiIiIpCisKKyAgICBkZWYgdGVzdF9leHByXzgoc2VsZik6
CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMocGFyc2VyLlBhcnNlRXJyb3IpOgorICAg
ICAgICAgICAgc2VsZi50b2tlbml6ZSgKKyIiIgora2V5OgorICBpZiAxYTogdmFsdWUiIiIpCisK
KyAgICBkZWYgdGVzdF9leHByXzkoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlz
ZXMocGFyc2VyLlBhcnNlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi50b2tlbml6ZSgKKyIiIgor
a2V5OgorICBpZiAxLjEuMTogdmFsdWUiIiIpCisKKyAgICBkZWYgdGVzdF9leHByXzEwKHNlbGYp
OgorICAgICAgICBzZWxmLmNvbXBhcmUoCisiIiIKK2tleToKKyAgaWYgMS46IHZhbHVlIiIiLAor
ICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAgICAo
dG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5n
cm91cF9zdGFydCwgTm9uZSksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLmlkZW50LCAiaWYi
KSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubnVtYmVyLCAiMS4iKSwKKyAgICAgICAgICAg
ICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBl
cy5zdHJpbmcsICJ2YWx1ZSIpXSkKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1
bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0
cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy93M2MtaW1w
b3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mN2Q0NzY0YWNlYTNmOTUzYTRhYTNiMGZhNjI4YmZiMmIxYzQy
NjcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3cz
Yy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBm
aWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgor
Tm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRt
YW5pZmVzdC90ZXN0cy9fX2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0
cy90ZXN0X2NvbmRpdGlvbmFsLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rl
c3RfcGFyc2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3Rfc2VyaWFs
aXplci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3N0YXRpYy5weQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3Rva2VuaXplci5weQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3dwdG1hbmlmZXN0L3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxM2M1NDZlM2ZkNzk2
OWRkYmZjMzRjNjA2MmNhNzE1YmYzMDdkNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvd3B0bWFuaWZlc3QvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMCBAQAorVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L19faW5pdF9fLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1h
bmlmZXN0L25vZGUucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvcGFyc2VyLnB5CisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3dwdG1hbmlmZXN0L3NlcmlhbGl6ZXIucHkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93cHRydW5uZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0cnVubmVyLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmJmOWI3NGU0Mzk4ZmFlOTE1ZjczNDU1MWY1NjQ0MWUyOTc2YjYyMTcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvd3B0cnVubmVyLnB5CkBAIC0wLDAgKzEsMjU5IEBACitmcm9tIF9f
ZnV0dXJlX18gaW1wb3J0IHVuaWNvZGVfbGl0ZXJhbHMKKworaW1wb3J0IGpzb24KK2ltcG9ydCBv
cworaW1wb3J0IHN5cworCitpbXBvcnQgZW52aXJvbm1lbnQgYXMgZW52CitpbXBvcnQgcHJvZHVj
dHMKK2ltcG9ydCB0ZXN0bG9hZGVyCitpbXBvcnQgd3B0Y29tbWFuZGxpbmUKK2ltcG9ydCB3cHRs
b2dnaW5nCitpbXBvcnQgd3B0dGVzdAorZnJvbSB0ZXN0cnVubmVyIGltcG9ydCBNYW5hZ2VyR3Jv
dXAKK2Zyb20gYnJvd3NlcnMuYmFzZSBpbXBvcnQgTnVsbEJyb3dzZXIKKworaGVyZSA9IG9zLnBh
dGguc3BsaXQoX19maWxlX18pWzBdCisKK2xvZ2dlciA9IE5vbmUKKworIiIiUnVubmVyIGZvciB3
ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlIHJ1bm5lciBoYXMgc2V2ZXJhbCBkZXNpZ24gZ29hbHM6
CisKKyogVGVzdHMgc2hvdWxkIHJ1biB3aXRoIG5vIG1vZGlmaWNhdGlvbiBmcm9tIHVwc3RyZWFt
LgorCisqIFRlc3RzIHNob3VsZCBiZSByZWdhcmRlZCBhcyAidW50cnVzdGVkIiBzbyB0aGF0IGVy
cm9ycywgdGltZW91dHMgYW5kIGV2ZW4KKyAgY3Jhc2hlcyBpbiB0aGUgdGVzdHMgY2FuIGJlIGhh
bmRsZWQgd2l0aG91dCBmYWlsaW5nIHRoZSBlbnRpcmUgdGVzdCBydW4uCisKKyogRm9yIHBlcmZv
cm1hbmNlIHRlc3RzIGNhbiBiZSBydW4gaW4gbXVsdGlwbGUgYnJvd3NlcnMgaW4gcGFyYWxsZWwu
CisKK1RoZSB1cHN0cmVhbSByZXBvc2l0b3J5IGhhcyB0aGUgZmFjaWxpdHkgZm9yIGNyZWF0aW5n
IGEgdGVzdCBtYW5pZmVzdCBpbiBKU09OCitmb3JtYXQuIFRoaXMgbWFuaWZlc3QgaXMgdXNlZCBk
aXJlY3RseSB0byBkZXRlcm1pbmUgd2hpY2ggdGVzdHMgZXhpc3QuIExvY2FsCittZXRhZGF0YSBm
aWxlcyBhcmUgdXNlZCB0byBzdG9yZSB0aGUgZXhwZWN0ZWQgdGVzdCByZXN1bHRzLgorIiIiCisK
K2RlZiBzZXR1cF9sb2dnaW5nKCphcmdzLCAqKmt3YXJncyk6CisgICAgZ2xvYmFsIGxvZ2dlcgor
ICAgIGxvZ2dlciA9IHdwdGxvZ2dpbmcuc2V0dXAoKmFyZ3MsICoqa3dhcmdzKQorCitkZWYgZ2V0
X2xvYWRlcih0ZXN0X3BhdGhzLCBwcm9kdWN0LCBzc2xfZW52LCBkZWJ1Zz1Ob25lLCBydW5faW5m
b19leHRyYXM9Tm9uZSwgKiprd2FyZ3MpOgorICAgIGlmIHJ1bl9pbmZvX2V4dHJhcyBpcyBOb25l
OgorICAgICAgICBydW5faW5mb19leHRyYXMgPSB7fQorCisgICAgcnVuX2luZm8gPSB3cHR0ZXN0
LmdldF9ydW5faW5mbyhrd2FyZ3NbInJ1bl9pbmZvIl0sIHByb2R1Y3QsIGRlYnVnPWRlYnVnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFzPXJ1bl9pbmZvX2V4dHJh
cykKKworICAgIHRlc3RfbWFuaWZlc3RzID0gdGVzdGxvYWRlci5NYW5pZmVzdExvYWRlcih0ZXN0
X3BhdGhzLCBmb3JjZV9tYW5pZmVzdF91cGRhdGU9a3dhcmdzWyJtYW5pZmVzdF91cGRhdGUiXSku
bG9hZCgpCisKKyAgICBtYW5pZmVzdF9maWx0ZXJzID0gW10KKyAgICBtZXRhX2ZpbHRlcnMgPSBb
XQorCisgICAgaWYga3dhcmdzWyJpbmNsdWRlIl0gb3Iga3dhcmdzWyJleGNsdWRlIl0gb3Iga3dh
cmdzWyJpbmNsdWRlX21hbmlmZXN0Il06CisgICAgICAgIG1hbmlmZXN0X2ZpbHRlcnMuYXBwZW5k
KHRlc3Rsb2FkZXIuVGVzdEZpbHRlcihpbmNsdWRlPWt3YXJnc1siaW5jbHVkZSJdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjbHVkZT1r
d2FyZ3NbImV4Y2x1ZGUiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1hbmlmZXN0X3BhdGg9a3dhcmdzWyJpbmNsdWRlX21hbmlmZXN0Il0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0X21hbmlmZXN0cz10ZXN0X21hbmlmZXN0cykpCisgICAgaWYga3dhcmdzWyJ0YWdzIl06Cisg
ICAgICAgIG1ldGFfZmlsdGVycy5hcHBlbmQodGVzdGxvYWRlci5UYWdGaWx0ZXIodGFncz1rd2Fy
Z3NbInRhZ3MiXSkpCisKKyAgICB0ZXN0X2xvYWRlciA9IHRlc3Rsb2FkZXIuVGVzdExvYWRlcih0
ZXN0X21hbmlmZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBr
d2FyZ3NbInRlc3RfdHlwZXMiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBydW5faW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
YW5pZmVzdF9maWx0ZXJzPW1hbmlmZXN0X2ZpbHRlcnMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWV0YV9maWx0ZXJzPW1ldGFfZmlsdGVycywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVua190eXBlPWt3YXJnc1siY2h1bmtfdHlw
ZSJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsX2NodW5r
cz1rd2FyZ3NbInRvdGFsX2NodW5rcyJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNodW5rX251bWJlcj1rd2FyZ3NbInRoaXNfY2h1bmsiXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2h0dHBzPXNzbF9lbnYuc3NsX2Vu
YWJsZWQpCisgICAgcmV0dXJuIHJ1bl9pbmZvLCB0ZXN0X2xvYWRlcgorCitkZWYgbGlzdF90ZXN0
X2dyb3Vwcyh0ZXN0X3BhdGhzLCBwcm9kdWN0LCAqKmt3YXJncyk6CisgICAgZW52LmRvX2RlbGF5
ZWRfaW1wb3J0cyhsb2dnZXIsIHRlc3RfcGF0aHMpCisKKyAgICBzc2xfZW52ID0gZW52LnNzbF9l
bnYobG9nZ2VyLCAqKmt3YXJncykKKworICAgIHJ1bl9pbmZvLCB0ZXN0X2xvYWRlciA9IGdldF9s
b2FkZXIodGVzdF9wYXRocywgcHJvZHVjdCwgc3NsX2VudiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICoqa3dhcmdzKQorCisgICAgZm9yIGl0ZW0gaW4gc29ydGVkKHRl
c3RfbG9hZGVyLmdyb3Vwcyhrd2FyZ3NbInRlc3RfdHlwZXMiXSkpOgorICAgICAgICBwcmludCBp
dGVtCisKKworZGVmIGxpc3RfZGlzYWJsZWQodGVzdF9wYXRocywgcHJvZHVjdCwgKiprd2FyZ3Mp
OgorICAgIGVudi5kb19kZWxheWVkX2ltcG9ydHMobG9nZ2VyLCB0ZXN0X3BhdGhzKQorCisgICAg
cnYgPSBbXQorCisgICAgc3NsX2VudiA9IGVudi5zc2xfZW52KGxvZ2dlciwgKiprd2FyZ3MpCisK
KyAgICBydW5faW5mbywgdGVzdF9sb2FkZXIgPSBnZXRfbG9hZGVyKHRlc3RfcGF0aHMsIHByb2R1
Y3QsIHNzbF9lbnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKmt3
YXJncykKKworICAgIGZvciB0ZXN0X3R5cGUsIHRlc3RzIGluIHRlc3RfbG9hZGVyLmRpc2FibGVk
X3Rlc3RzLml0ZXJpdGVtcygpOgorICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0czoKKyAgICAgICAg
ICAgIHJ2LmFwcGVuZCh7InRlc3QiOiB0ZXN0LmlkLCAicmVhc29uIjogdGVzdC5kaXNhYmxlZCgp
fSkKKyAgICBwcmludCBqc29uLmR1bXBzKHJ2LCBpbmRlbnQ9MikKKworCitkZWYgZ2V0X3BhdXNl
X2FmdGVyX3Rlc3QodGVzdF9sb2FkZXIsICoqa3dhcmdzKToKKyAgICB0b3RhbF90ZXN0cyA9IHN1
bShsZW4oaXRlbSkgZm9yIGl0ZW0gaW4gdGVzdF9sb2FkZXIudGVzdHMuaXRlcnZhbHVlcygpKQor
ICAgIGlmIGt3YXJnc1sicGF1c2VfYWZ0ZXJfdGVzdCJdIGlzIE5vbmU6CisgICAgICAgIGlmIGt3
YXJnc1sicmVwZWF0X3VudGlsX3VuZXhwZWN0ZWQiXToKKyAgICAgICAgICAgIHJldHVybiBGYWxz
ZQorICAgICAgICBpZiBrd2FyZ3NbInJlcGVhdCJdID09IDEgYW5kIHRvdGFsX3Rlc3RzID09IDE6
CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gRmFsc2UKKyAgICByZXR1
cm4ga3dhcmdzWyJwYXVzZV9hZnRlcl90ZXN0Il0KKworCitkZWYgcnVuX3Rlc3RzKGNvbmZpZywg
dGVzdF9wYXRocywgcHJvZHVjdCwgKiprd2FyZ3MpOgorICAgIHdpdGggd3B0bG9nZ2luZy5DYXB0
dXJlSU8obG9nZ2VyLCBub3Qga3dhcmdzWyJub19jYXB0dXJlX3N0ZGlvIl0pOgorICAgICAgICBl
bnYuZG9fZGVsYXllZF9pbXBvcnRzKGxvZ2dlciwgdGVzdF9wYXRocykKKworICAgICAgICAoY2hl
Y2tfYXJncywKKyAgICAgICAgIHRhcmdldF9icm93c2VyX2NscywgZ2V0X2Jyb3dzZXJfa3dhcmdz
LAorICAgICAgICAgZXhlY3V0b3JfY2xhc3NlcywgZ2V0X2V4ZWN1dG9yX2t3YXJncywKKyAgICAg
ICAgIGVudl9vcHRpb25zLCBnZXRfZW52X2V4dHJhcywgcnVuX2luZm9fZXh0cmFzKSA9IHByb2R1
Y3RzLmxvYWRfcHJvZHVjdChjb25maWcsIHByb2R1Y3QpCisKKyAgICAgICAgc3NsX2VudiA9IGVu
di5zc2xfZW52KGxvZ2dlciwgKiprd2FyZ3MpCisgICAgICAgIGVudl9leHRyYXMgPSBnZXRfZW52
X2V4dHJhcygqKmt3YXJncykKKworICAgICAgICBjaGVja19hcmdzKCoqa3dhcmdzKQorCisgICAg
ICAgIGlmICJ0ZXN0X2xvYWRlciIgaW4ga3dhcmdzOgorICAgICAgICAgICAgcnVuX2luZm8gPSB3
cHR0ZXN0LmdldF9ydW5faW5mbyhrd2FyZ3NbInJ1bl9pbmZvIl0sIHByb2R1Y3QsIGRlYnVnPU5v
bmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhcz1y
dW5faW5mb19leHRyYXMoKiprd2FyZ3MpKQorICAgICAgICAgICAgdGVzdF9sb2FkZXIgPSBrd2Fy
Z3NbInRlc3RfbG9hZGVyIl0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJ1bl9pbmZvLCB0
ZXN0X2xvYWRlciA9IGdldF9sb2FkZXIodGVzdF9wYXRocywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsX2VudiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuX2luZm9fZXh0cmFzPXJ1bl9pbmZvX2V4dHJh
cygqKmt3YXJncyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICoqa3dhcmdzKQorCisgICAgICAgIGlmIGt3YXJnc1sicnVuX2J5X2RpciJdIGlzIEZhbHNl
OgorICAgICAgICAgICAgdGVzdF9zb3VyY2VfY2xzID0gdGVzdGxvYWRlci5TaW5nbGVUZXN0U291
cmNlCisgICAgICAgICAgICB0ZXN0X3NvdXJjZV9rd2FyZ3MgPSB7fQorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgIyBBIHZhbHVlIG9mIE5vbmUgaW5kaWNhdGVzIGluZmluaXRlIGRlcHRoCisg
ICAgICAgICAgICB0ZXN0X3NvdXJjZV9jbHMgPSB0ZXN0bG9hZGVyLlBhdGhHcm91cGVkU291cmNl
CisgICAgICAgICAgICB0ZXN0X3NvdXJjZV9rd2FyZ3MgPSB7ImRlcHRoIjoga3dhcmdzWyJydW5f
YnlfZGlyIl19CisKKyAgICAgICAgbG9nZ2VyLmluZm8oIlVzaW5nICVpIGNsaWVudCBwcm9jZXNz
ZXMiICUga3dhcmdzWyJwcm9jZXNzZXMiXSkKKworICAgICAgICB1bmV4cGVjdGVkX3RvdGFsID0g
MAorCisgICAgICAgIGt3YXJnc1sicGF1c2VfYWZ0ZXJfdGVzdCJdID0gZ2V0X3BhdXNlX2FmdGVy
X3Rlc3QodGVzdF9sb2FkZXIsICoqa3dhcmdzKQorCisgICAgICAgIHdpdGggZW52LlRlc3RFbnZp
cm9ubWVudCh0ZXN0X3BhdGhzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ns
X2VudiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnc1sicGF1c2VfYWZ0
ZXJfdGVzdCJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dhcmdzWyJkZWJ1
Z19pbmZvIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZfb3B0aW9ucywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudl9leHRyYXMpIGFzIHRlc3RfZW52
aXJvbm1lbnQ6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdGVzdF9lbnZpcm9u
bWVudC5lbnN1cmVfc3RhcnRlZCgpCisgICAgICAgICAgICBleGNlcHQgZW52LlRlc3RFbnZpcm9u
bWVudEVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgbG9nZ2VyLmNyaXRpY2FsKCJFcnJvciBz
dGFydGluZyB0ZXN0IGVudmlyb25tZW50OiAlcyIgJSBlLm1lc3NhZ2UpCisgICAgICAgICAgICAg
ICAgcmFpc2UKKworICAgICAgICAgICAgYnJvd3Nlcl9rd2FyZ3MgPSBnZXRfYnJvd3Nlcl9rd2Fy
Z3Moc3NsX2Vudj1zc2xfZW52LCAqKmt3YXJncykKKworICAgICAgICAgICAgcmVwZWF0ID0ga3dh
cmdzWyJyZXBlYXQiXQorICAgICAgICAgICAgcmVwZWF0X2NvdW50ID0gMAorICAgICAgICAgICAg
cmVwZWF0X3VudGlsX3VuZXhwZWN0ZWQgPSBrd2FyZ3NbInJlcGVhdF91bnRpbF91bmV4cGVjdGVk
Il0KKworICAgICAgICAgICAgd2hpbGUgcmVwZWF0X2NvdW50IDwgcmVwZWF0IG9yIHJlcGVhdF91
bnRpbF91bmV4cGVjdGVkOgorICAgICAgICAgICAgICAgIHJlcGVhdF9jb3VudCArPSAxCisgICAg
ICAgICAgICAgICAgaWYgcmVwZWF0X3VudGlsX3VuZXhwZWN0ZWQ6CisgICAgICAgICAgICAgICAg
ICAgIGxvZ2dlci5pbmZvKCJSZXBldGl0aW9uICVpIiAlIChyZXBlYXRfY291bnQpKQorICAgICAg
ICAgICAgICAgIGVsaWYgcmVwZWF0ID4gMToKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmlu
Zm8oIlJlcGV0aXRpb24gJWkgLyAlaSIgJSAocmVwZWF0X2NvdW50LCByZXBlYXQpKQorCisgICAg
ICAgICAgICAgICAgdW5leHBlY3RlZF9jb3VudCA9IDAKKyAgICAgICAgICAgICAgICBsb2dnZXIu
c3VpdGVfc3RhcnQodGVzdF9sb2FkZXIudGVzdF9pZHMsIHJ1bl9pbmZvKQorICAgICAgICAgICAg
ICAgIGZvciB0ZXN0X3R5cGUgaW4ga3dhcmdzWyJ0ZXN0X3R5cGVzIl06CisgICAgICAgICAgICAg
ICAgICAgIGxvZ2dlci5pbmZvKCJSdW5uaW5nICVzIHRlc3RzIiAlIHRlc3RfdHlwZSkKKworICAg
ICAgICAgICAgICAgICAgICAjIFdlYkRyaXZlciB0ZXN0cyBtYXkgY3JlYXRlIGFuZCBkZXN0cm95
IG11bHRpcGxlIGJyb3dzZXIKKyAgICAgICAgICAgICAgICAgICAgIyBwcm9jZXNzZXMgYXMgcGFy
dCBvZiB0aGVpciBleHBlY3RlZCBiZWhhdmlvci4gVGhlc2UKKyAgICAgICAgICAgICAgICAgICAg
IyBwcm9jZXNzZXMgYXJlIG1hbmFnZWQgYnkgYSBXZWJEcml2ZXIgc2VydmVyIGJpbmFyeS4gVGhp
cworICAgICAgICAgICAgICAgICAgICAjIG9idmlhdGVzIHRoZSBuZWVkIGZvciB3cHRydW5uZXIg
dG8gcHJvdmlkZSBhIGJyb3dzZXIsIHNvCisgICAgICAgICAgICAgICAgICAgICMgdGhlIE51bGxC
cm93c2VyIGlzIHVzZWQgaW4gcGxhY2Ugb2YgdGhlICJ0YXJnZXQiIGJyb3dzZXIKKyAgICAgICAg
ICAgICAgICAgICAgaWYgdGVzdF90eXBlID09ICJ3ZHNwZWMiOgorICAgICAgICAgICAgICAgICAg
ICAgICAgYnJvd3Nlcl9jbHMgPSBOdWxsQnJvd3NlcgorICAgICAgICAgICAgICAgICAgICBlbHNl
OgorICAgICAgICAgICAgICAgICAgICAgICAgYnJvd3Nlcl9jbHMgPSB0YXJnZXRfYnJvd3Nlcl9j
bHMKKworICAgICAgICAgICAgICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0X2xvYWRlci5kaXNhYmxl
ZF90ZXN0c1t0ZXN0X3R5cGVdOgorICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLnRlc3Rf
c3RhcnQodGVzdC5pZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci50ZXN0X2VuZCh0
ZXN0LmlkLCBzdGF0dXM9IlNLSVAiKQorCisgICAgICAgICAgICAgICAgICAgIGV4ZWN1dG9yX2Ns
cyA9IGV4ZWN1dG9yX2NsYXNzZXMuZ2V0KHRlc3RfdHlwZSkKKyAgICAgICAgICAgICAgICAgICAg
ZXhlY3V0b3Jfa3dhcmdzID0gZ2V0X2V4ZWN1dG9yX2t3YXJncyh0ZXN0X3R5cGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9l
bnZpcm9ubWVudC5leHRlcm5hbF9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9lbnZpcm9ubWVudC5jYWNoZV9tYW5h
Z2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJ1bl9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICoqa3dhcmdzKQorCisgICAgICAgICAgICAgICAgICAgIGlmIGV4
ZWN1dG9yX2NscyBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9y
KCJVbnN1cHBvcnRlZCB0ZXN0IHR5cGUgJXMgZm9yIHByb2R1Y3QgJXMiICUKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAodGVzdF90eXBlLCBwcm9kdWN0KSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKworICAgICAgICAgICAgICAgICAgICB3aXRoIE1h
bmFnZXJHcm91cCgid2ViLXBsYXRmb3JtLXRlc3RzIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAga3dhcmdzWyJwcm9jZXNzZXMiXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdF9zb3VyY2VfY2xzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0X3NvdXJjZV9rd2FyZ3MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJyb3dzZXJfY2xzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBicm93c2VyX2t3YXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZXhlY3V0b3JfY2xzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBleGVjdXRvcl9rd2FyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGt3YXJnc1sicGF1c2VfYWZ0ZXJfdGVzdCJdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBrd2FyZ3NbInBhdXNlX29uX3VuZXhwZWN0ZWQiXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dhcmdzWyJyZXN0YXJ0X29uX3VuZXhwZWN0
ZWQiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dhcmdzWyJkZWJ1
Z19pbmZvIl0pIGFzIG1hbmFnZXJfZ3JvdXA6CisgICAgICAgICAgICAgICAgICAgICAgICB0cnk6
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlcl9ncm91cC5ydW4odGVzdF90eXBl
LCB0ZXN0X2xvYWRlci50ZXN0cykKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXli
b2FyZEludGVycnVwdDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dnZXIuY3JpdGlj
YWwoIk1haW4gdGhyZWFkIGdvdCBzaWduYWwiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1hbmFnZXJfZ3JvdXAuc3RvcCgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UK
KyAgICAgICAgICAgICAgICAgICAgdW5leHBlY3RlZF9jb3VudCArPSBtYW5hZ2VyX2dyb3VwLnVu
ZXhwZWN0ZWRfY291bnQoKQorCisgICAgICAgICAgICAgICAgdW5leHBlY3RlZF90b3RhbCArPSB1
bmV4cGVjdGVkX2NvdW50CisgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIkdvdCAlaSB1bmV4
cGVjdGVkIHJlc3VsdHMiICUgdW5leHBlY3RlZF9jb3VudCkKKyAgICAgICAgICAgICAgICBpZiBy
ZXBlYXRfdW50aWxfdW5leHBlY3RlZCBhbmQgdW5leHBlY3RlZF90b3RhbCA+IDA6CisgICAgICAg
ICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgbG9nZ2VyLnN1aXRlX2VuZCgpCisK
KyAgICByZXR1cm4gdW5leHBlY3RlZF90b3RhbCA9PSAwCisKK2RlZiBzdGFydCgqKmt3YXJncyk6
CisgICAgaWYga3dhcmdzWyJsaXN0X3Rlc3RfZ3JvdXBzIl06CisgICAgICAgIGxpc3RfdGVzdF9n
cm91cHMoKiprd2FyZ3MpCisgICAgZWxpZiBrd2FyZ3NbImxpc3RfZGlzYWJsZWQiXToKKyAgICAg
ICAgbGlzdF9kaXNhYmxlZCgqKmt3YXJncykKKyAgICBlbHNlOgorICAgICAgICByZXR1cm4gbm90
IHJ1bl90ZXN0cygqKmt3YXJncykKKworZGVmIG1haW4oKToKKyAgICAiIiJNYWluIGVudHJ5IHBv
aW50IHdoZW4gY2FsbGluZyBmcm9tIHRoZSBjb21tYW5kIGxpbmUiIiIKKyAgICBrd2FyZ3MgPSB3
cHRjb21tYW5kbGluZS5wYXJzZV9hcmdzKCkKKworICAgIHRyeToKKyAgICAgICAgaWYga3dhcmdz
WyJwcmVmc19yb290Il0gaXMgTm9uZToKKyAgICAgICAgICAgIGt3YXJnc1sicHJlZnNfcm9vdCJd
ID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihoZXJlLCAicHJlZnMiKSkKKworICAgICAg
ICBzZXR1cF9sb2dnaW5nKGt3YXJncywgeyJyYXciOiBzeXMuc3Rkb3V0fSkKKworICAgICAgICBy
ZXR1cm4gc3RhcnQoKiprd2FyZ3MpCisgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgaWYg
a3dhcmdzWyJwZGIiXToKKyAgICAgICAgICAgIGltcG9ydCBwZGIsIHRyYWNlYmFjaworICAgICAg
ICAgICAgcHJpbnQgdHJhY2ViYWNrLmZvcm1hdF9leGMoKQorICAgICAgICAgICAgcGRiLnBvc3Rf
bW9ydGVtKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0dGVzdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHR0ZXN0LnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQxNDRjZDY2ZWE3OGUyZWE2NDlkNzRkZWYzOGVjMWFmMGEwOTM1ZDIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvd3B0dGVzdC5weQpAQCAtMCwwICsxLDMzOCBAQAorREVGQVVM
VF9USU1FT1VUID0gMTAgICMgc2Vjb25kcworTE9OR19USU1FT1VUID0gNjAgICMgc2Vjb25kcwor
CitpbXBvcnQgb3MKKworaW1wb3J0IG1vemluZm8KKworZnJvbSB3cHRtYW5pZmVzdC5wYXJzZXIg
aW1wb3J0IGF0b21zCisKK2F0b21fcmVzZXQgPSBhdG9tc1siUmVzZXQiXQorZW5hYmxlZF90ZXN0
cyA9IHNldChbInRlc3RoYXJuZXNzIiwgInJlZnRlc3QiLCAid2RzcGVjIl0pCisKKworY2xhc3Mg
UmVzdWx0KG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0YXR1cywgbWVzc2FnZSwg
ZXhwZWN0ZWQ9Tm9uZSwgZXh0cmE9Tm9uZSk6CisgICAgICAgIGlmIHN0YXR1cyBub3QgaW4gc2Vs
Zi5zdGF0dXNlczoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVucmVjb2duaXNlZCBz
dGF0dXMgJXMiICUgc3RhdHVzKQorICAgICAgICBzZWxmLnN0YXR1cyA9IHN0YXR1cworICAgICAg
ICBzZWxmLm1lc3NhZ2UgPSBtZXNzYWdlCisgICAgICAgIHNlbGYuZXhwZWN0ZWQgPSBleHBlY3Rl
ZAorICAgICAgICBzZWxmLmV4dHJhID0gZXh0cmEKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToK
KyAgICAgICAgcmV0dXJuICI8JXMuJXMgJXM+IiAlIChzZWxmLl9fbW9kdWxlX18sIHNlbGYuX19j
bGFzc19fLl9fbmFtZV9fLCBzZWxmLnN0YXR1cykKKworCitjbGFzcyBTdWJ0ZXN0UmVzdWx0KG9i
amVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHN0YXR1cywgbWVzc2FnZSwgc3Rh
Y2s9Tm9uZSwgZXhwZWN0ZWQ9Tm9uZSk6CisgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKKyAgICAg
ICAgaWYgc3RhdHVzIG5vdCBpbiBzZWxmLnN0YXR1c2VzOgorICAgICAgICAgICAgcmFpc2UgVmFs
dWVFcnJvcigiVW5yZWNvZ25pc2VkIHN0YXR1cyAlcyIgJSBzdGF0dXMpCisgICAgICAgIHNlbGYu
c3RhdHVzID0gc3RhdHVzCisgICAgICAgIHNlbGYubWVzc2FnZSA9IG1lc3NhZ2UKKyAgICAgICAg
c2VsZi5zdGFjayA9IHN0YWNrCisgICAgICAgIHNlbGYuZXhwZWN0ZWQgPSBleHBlY3RlZAorCisg
ICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gIjwlcy4lcyAlcyAlcz4iICUg
KHNlbGYuX19tb2R1bGVfXywgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYubmFtZSwgc2Vs
Zi5zdGF0dXMpCisKKworY2xhc3MgVGVzdGhhcm5lc3NSZXN1bHQoUmVzdWx0KToKKyAgICBkZWZh
dWx0X2V4cGVjdGVkID0gIk9LIgorICAgIHN0YXR1c2VzID0gc2V0KFsiT0siLCAiRVJST1IiLCAi
VElNRU9VVCIsICJFWFRFUk5BTC1USU1FT1VUIiwgIkNSQVNIIl0pCisKKworY2xhc3MgVGVzdGhh
cm5lc3NTdWJ0ZXN0UmVzdWx0KFN1YnRlc3RSZXN1bHQpOgorICAgIGRlZmF1bHRfZXhwZWN0ZWQg
PSAiUEFTUyIKKyAgICBzdGF0dXNlcyA9IHNldChbIlBBU1MiLCAiRkFJTCIsICJUSU1FT1VUIiwg
Ik5PVFJVTiJdKQorCisKK2NsYXNzIFJlZnRlc3RSZXN1bHQoUmVzdWx0KToKKyAgICBkZWZhdWx0
X2V4cGVjdGVkID0gIlBBU1MiCisgICAgc3RhdHVzZXMgPSBzZXQoWyJQQVNTIiwgIkZBSUwiLCAi
RVJST1IiLCAiVElNRU9VVCIsICJFWFRFUk5BTC1USU1FT1VUIiwgIkNSQVNIIl0pCisKKworY2xh
c3MgV2RzcGVjUmVzdWx0KFJlc3VsdCk6CisgICAgZGVmYXVsdF9leHBlY3RlZCA9ICJPSyIKKyAg
ICBzdGF0dXNlcyA9IHNldChbIk9LIiwgIkVSUk9SIiwgIlRJTUVPVVQiLCAiRVhURVJOQUwtVElN
RU9VVCIsICJDUkFTSCJdKQorCisKK2NsYXNzIFdkc3BlY1N1YnRlc3RSZXN1bHQoU3VidGVzdFJl
c3VsdCk6CisgICAgZGVmYXVsdF9leHBlY3RlZCA9ICJQQVNTIgorICAgIHN0YXR1c2VzID0gc2V0
KFsiUEFTUyIsICJGQUlMIiwgIkVSUk9SIl0pCisKKworZGVmIGdldF9ydW5faW5mbyhtZXRhZGF0
YV9yb290LCBwcm9kdWN0LCAqKmt3YXJncyk6CisgICAgcmV0dXJuIFJ1bkluZm8obWV0YWRhdGFf
cm9vdCwgcHJvZHVjdCwgKiprd2FyZ3MpCisKKworY2xhc3MgUnVuSW5mbyhkaWN0KToKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgbWV0YWRhdGFfcm9vdCwgcHJvZHVjdCwgZGVidWcsIGV4dHJhcz1O
b25lKToKKyAgICAgICAgc2VsZi5fdXBkYXRlX21vemluZm8obWV0YWRhdGFfcm9vdCkKKyAgICAg
ICAgc2VsZi51cGRhdGUobW96aW5mby5pbmZvKQorICAgICAgICBzZWxmWyJwcm9kdWN0Il0gPSBw
cm9kdWN0CisgICAgICAgIGlmIGRlYnVnIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZlsi
ZGVidWciXSA9IGRlYnVnCisgICAgICAgIGVsaWYgImRlYnVnIiBub3QgaW4gc2VsZjoKKyAgICAg
ICAgICAgICMgRGVmYXVsdCB0byByZWxlYXNlCisgICAgICAgICAgICBzZWxmWyJkZWJ1ZyJdID0g
RmFsc2UKKyAgICAgICAgaWYgZXh0cmFzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi51
cGRhdGUoZXh0cmFzKQorCisgICAgZGVmIF91cGRhdGVfbW96aW5mbyhzZWxmLCBtZXRhZGF0YV9y
b290KToKKyAgICAgICAgIiIiQWRkIGV4dHJhIGJ1aWxkIGluZm9ybWF0aW9uIGZyb20gYSBtb3pp
bmZvLmpzb24gZmlsZSBpbiBhIHBhcmVudAorICAgICAgICBkaXJlY3RvcnkiIiIKKyAgICAgICAg
cGF0aCA9IG1ldGFkYXRhX3Jvb3QKKyAgICAgICAgZGlycyA9IHNldCgpCisgICAgICAgIHdoaWxl
IHBhdGggIT0gb3MucGF0aC5leHBhbmR1c2VyKCd+Jyk6CisgICAgICAgICAgICBpZiBwYXRoIGlu
IGRpcnM6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGRpcnMuYWRkKHN0cihw
YXRoKSkKKyAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLnNwbGl0KHBhdGgpWzBdCisKKyAgICAg
ICAgbW96aW5mby5maW5kX2FuZF91cGRhdGVfZnJvbV9qc29uKCpkaXJzKQorCisKK2NsYXNzIFRl
c3Qob2JqZWN0KToKKyAgICByZXN1bHRfY2xzID0gTm9uZQorICAgIHN1YnRlc3RfcmVzdWx0X2Ns
cyA9IE5vbmUKKyAgICB0ZXN0X3R5cGUgPSBOb25lCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
dGVzdHNfcm9vdCwgdXJsLCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRhLAorICAgICAg
ICAgICAgICAgICB0aW1lb3V0PURFRkFVTFRfVElNRU9VVCwgcGF0aD1Ob25lLCBwcm90b2NvbD0i
aHR0cCIpOgorICAgICAgICBzZWxmLnRlc3RzX3Jvb3QgPSB0ZXN0c19yb290CisgICAgICAgIHNl
bGYudXJsID0gdXJsCisgICAgICAgIHNlbGYuX2luaGVyaXRfbWV0YWRhdGEgPSBpbmhlcml0X21l
dGFkYXRhCisgICAgICAgIHNlbGYuX3Rlc3RfbWV0YWRhdGEgPSB0ZXN0X21ldGFkYXRhCisgICAg
ICAgIHNlbGYudGltZW91dCA9IHRpbWVvdXQKKyAgICAgICAgc2VsZi5wYXRoID0gcGF0aAorICAg
ICAgICBzZWxmLmVudmlyb25tZW50ID0geyJwcm90b2NvbCI6IHByb3RvY29sLCAicHJlZnMiOiBz
ZWxmLnByZWZzfQorCisgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CisgICAgICAgIHJldHVy
biBzZWxmLmlkID09IG90aGVyLmlkCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgZnJvbV9t
YW5pZmVzdChjbHMsIG1hbmlmZXN0X2l0ZW0sIGluaGVyaXRfbWV0YWRhdGEsIHRlc3RfbWV0YWRh
dGEpOgorICAgICAgICB0aW1lb3V0ID0gTE9OR19USU1FT1VUIGlmIG1hbmlmZXN0X2l0ZW0udGlt
ZW91dCA9PSAibG9uZyIgZWxzZSBERUZBVUxUX1RJTUVPVVQKKyAgICAgICAgcHJvdG9jb2wgPSAi
aHR0cHMiIGlmIGhhc2F0dHIobWFuaWZlc3RfaXRlbSwgImh0dHBzIikgYW5kIG1hbmlmZXN0X2l0
ZW0uaHR0cHMgZWxzZSAiaHR0cCIKKyAgICAgICAgcmV0dXJuIGNscyhtYW5pZmVzdF9pdGVtLnNv
dXJjZV9maWxlLnRlc3RzX3Jvb3QsCisgICAgICAgICAgICAgICAgICAgbWFuaWZlc3RfaXRlbS51
cmwsCisgICAgICAgICAgICAgICAgICAgaW5oZXJpdF9tZXRhZGF0YSwKKyAgICAgICAgICAgICAg
ICAgICB0ZXN0X21ldGFkYXRhLAorICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9dGltZW91dCwK
KyAgICAgICAgICAgICAgICAgICBwYXRoPW1hbmlmZXN0X2l0ZW0uc291cmNlX2ZpbGUucGF0aCwK
KyAgICAgICAgICAgICAgICAgICBwcm90b2NvbD1wcm90b2NvbCkKKworICAgIEBwcm9wZXJ0eQor
ICAgIGRlZiBpZChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudXJsCisKKyAgICBAcHJvcGVy
dHkKKyAgICBkZWYga2V5cyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHR1cGxlKCkKKworICAgIEBw
cm9wZXJ0eQorICAgIGRlZiBhYnNfcGF0aChzZWxmKToKKyAgICAgICAgcmV0dXJuIG9zLnBhdGgu
am9pbihzZWxmLnRlc3RzX3Jvb3QsIHNlbGYucGF0aCkKKworICAgIGRlZiBfZ2V0X21ldGFkYXRh
KHNlbGYsIHN1YnRlc3Q9Tm9uZSk6CisgICAgICAgIGlmIHNlbGYuX3Rlc3RfbWV0YWRhdGEgaXMg
bm90IE5vbmUgYW5kIHN1YnRlc3QgaXMgbm90IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gc2Vs
Zi5fdGVzdF9tZXRhZGF0YS5nZXRfc3VidGVzdChzdWJ0ZXN0KQorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgcmV0dXJuIHNlbGYuX3Rlc3RfbWV0YWRhdGEKKworICAgIGRlZiBpdGVybWV0YShz
ZWxmLCBzdWJ0ZXN0PU5vbmUpOgorICAgICAgICBmb3IgbWV0YWRhdGEgaW4gc2VsZi5faW5oZXJp
dF9tZXRhZGF0YToKKyAgICAgICAgICAgIHlpZWxkIG1ldGFkYXRhCisKKyAgICAgICAgaWYgc2Vs
Zi5fdGVzdF9tZXRhZGF0YSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHlpZWxkIHNlbGYuX2dl
dF9tZXRhZGF0YSgpCisgICAgICAgICAgICBpZiBzdWJ0ZXN0IGlzIG5vdCBOb25lOgorICAgICAg
ICAgICAgICAgIHN1YnRlc3RfbWV0YSA9IHNlbGYuX2dldF9tZXRhZGF0YShzdWJ0ZXN0KQorICAg
ICAgICAgICAgICAgIGlmIHN1YnRlc3RfbWV0YSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAg
ICAgICAgeWllbGQgc3VidGVzdF9tZXRhCisKKyAgICBkZWYgZGlzYWJsZWQoc2VsZiwgc3VidGVz
dD1Ob25lKToKKyAgICAgICAgZm9yIG1ldGEgaW4gc2VsZi5pdGVybWV0YShzdWJ0ZXN0KToKKyAg
ICAgICAgICAgIGRpc2FibGVkID0gbWV0YS5kaXNhYmxlZAorICAgICAgICAgICAgaWYgZGlzYWJs
ZWQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgcmV0dXJuIGRpc2FibGVkCisgICAgICAg
IHJldHVybiBOb25lCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcmVzdGFydF9hZnRlcihzZWxm
KToKKyAgICAgICAgZm9yIG1ldGEgaW4gc2VsZi5pdGVybWV0YShOb25lKToKKyAgICAgICAgICAg
IHJlc3RhcnRfYWZ0ZXIgPSBtZXRhLnJlc3RhcnRfYWZ0ZXIKKyAgICAgICAgICAgIGlmIHJlc3Rh
cnRfYWZ0ZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAg
ICAgcmV0dXJuIEZhbHNlCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgdGFncyhzZWxmKToKKyAg
ICAgICAgdGFncyA9IHNldCgpCisgICAgICAgIGZvciBtZXRhIGluIHNlbGYuaXRlcm1ldGEoKToK
KyAgICAgICAgICAgIG1ldGFfdGFncyA9IG1ldGEudGFncworICAgICAgICAgICAgaWYgYXRvbV9y
ZXNldCBpbiBtZXRhX3RhZ3M6CisgICAgICAgICAgICAgICAgdGFncyA9IG1ldGFfdGFncy5jb3B5
KCkKKyAgICAgICAgICAgICAgICB0YWdzLnJlbW92ZShhdG9tX3Jlc2V0KQorICAgICAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgICAgICB0YWdzIHw9IG1ldGFfdGFncworCisgICAgICAgIHRhZ3Mu
YWRkKCJkaXI6JXMiICUgc2VsZi5pZC5sc3RyaXAoIi8iKS5zcGxpdCgiLyIpWzBdKQorCisgICAg
ICAgIHJldHVybiB0YWdzCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcHJlZnMoc2VsZik6Cisg
ICAgICAgIHByZWZzID0ge30KKyAgICAgICAgZm9yIG1ldGEgaW4gc2VsZi5pdGVybWV0YSgpOgor
ICAgICAgICAgICAgbWV0YV9wcmVmcyA9IG1ldGEucHJlZnMKKyAgICAgICAgICAgIGlmIGF0b21f
cmVzZXQgaW4gcHJlZnM6CisgICAgICAgICAgICAgICAgcHJlZnMgPSBtZXRhX3ByZWZzLmNvcHko
KQorICAgICAgICAgICAgICAgIGRlbCBwcmVmc1thdG9tX3Jlc2V0XQorICAgICAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgICAgICBwcmVmcy51cGRhdGUobWV0YV9wcmVmcykKKyAgICAgICAgcmV0
dXJuIHByZWZzCisKKyAgICBkZWYgZXhwZWN0ZWQoc2VsZiwgc3VidGVzdD1Ob25lKToKKyAgICAg
ICAgaWYgc3VidGVzdCBpcyBOb25lOgorICAgICAgICAgICAgZGVmYXVsdCA9IHNlbGYucmVzdWx0
X2Nscy5kZWZhdWx0X2V4cGVjdGVkCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBkZWZhdWx0
ID0gc2VsZi5zdWJ0ZXN0X3Jlc3VsdF9jbHMuZGVmYXVsdF9leHBlY3RlZAorCisgICAgICAgIG1l
dGFkYXRhID0gc2VsZi5fZ2V0X21ldGFkYXRhKHN1YnRlc3QpCisgICAgICAgIGlmIG1ldGFkYXRh
IGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gZGVmYXVsdAorCisgICAgICAgIHRyeToKKyAg
ICAgICAgICAgIHJldHVybiBtZXRhZGF0YS5nZXQoImV4cGVjdGVkIikKKyAgICAgICAgZXhjZXB0
IEtleUVycm9yOgorICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHQKKworICAgIGRlZiBfX3JlcHJf
XyhzZWxmKToKKyAgICAgICAgcmV0dXJuICI8JXMuJXMgJXM+IiAlIChzZWxmLl9fbW9kdWxlX18s
IHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLmlkKQorCisKK2NsYXNzIFRlc3RoYXJuZXNz
VGVzdChUZXN0KToKKyAgICByZXN1bHRfY2xzID0gVGVzdGhhcm5lc3NSZXN1bHQKKyAgICBzdWJ0
ZXN0X3Jlc3VsdF9jbHMgPSBUZXN0aGFybmVzc1N1YnRlc3RSZXN1bHQKKyAgICB0ZXN0X3R5cGUg
PSAidGVzdGhhcm5lc3MiCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaWQoc2VsZik6CisgICAg
ICAgIHJldHVybiBzZWxmLnVybAorCisKK2NsYXNzIE1hbnVhbFRlc3QoVGVzdCk6CisgICAgdGVz
dF90eXBlID0gIm1hbnVhbCIKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpZChzZWxmKToKKyAg
ICAgICAgcmV0dXJuIHNlbGYudXJsCisKKworY2xhc3MgUmVmdGVzdFRlc3QoVGVzdCk6CisgICAg
cmVzdWx0X2NscyA9IFJlZnRlc3RSZXN1bHQKKyAgICB0ZXN0X3R5cGUgPSAicmVmdGVzdCIKKwor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0c19yb290LCB1cmwsIGluaGVyaXRfbWV0YWRhdGEs
IHRlc3RfbWV0YWRhdGEsIHJlZmVyZW5jZXMsCisgICAgICAgICAgICAgICAgIHRpbWVvdXQ9REVG
QVVMVF9USU1FT1VULCBwYXRoPU5vbmUsIHZpZXdwb3J0X3NpemU9Tm9uZSwKKyAgICAgICAgICAg
ICAgICAgZHBpPU5vbmUsIHByb3RvY29sPSJodHRwIik6CisgICAgICAgIFRlc3QuX19pbml0X18o
c2VsZiwgdGVzdHNfcm9vdCwgdXJsLCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRhLCB0
aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgIHBhdGgsIHByb3RvY29sKQorCisgICAgICAg
IGZvciBfLCByZWZfdHlwZSBpbiByZWZlcmVuY2VzOgorICAgICAgICAgICAgaWYgcmVmX3R5cGUg
bm90IGluICgiPT0iLCAiIT0iKToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yCisK
KyAgICAgICAgc2VsZi5yZWZlcmVuY2VzID0gcmVmZXJlbmNlcworICAgICAgICBzZWxmLnZpZXdw
b3J0X3NpemUgPSB2aWV3cG9ydF9zaXplCisgICAgICAgIHNlbGYuZHBpID0gZHBpCisKKyAgICBA
Y2xhc3NtZXRob2QKKyAgICBkZWYgZnJvbV9tYW5pZmVzdChjbHMsCisgICAgICAgICAgICAgICAg
ICAgICAgbWFuaWZlc3RfdGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0X21ldGFk
YXRhLAorICAgICAgICAgICAgICAgICAgICAgIHRlc3RfbWV0YWRhdGEsCisgICAgICAgICAgICAg
ICAgICAgICAgbm9kZXM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VzX3Nl
ZW49Tm9uZSk6CisKKyAgICAgICAgdGltZW91dCA9IExPTkdfVElNRU9VVCBpZiBtYW5pZmVzdF90
ZXN0LnRpbWVvdXQgPT0gImxvbmciIGVsc2UgREVGQVVMVF9USU1FT1VUCisKKyAgICAgICAgaWYg
bm9kZXMgaXMgTm9uZToKKyAgICAgICAgICAgIG5vZGVzID0ge30KKyAgICAgICAgaWYgcmVmZXJl
bmNlc19zZWVuIGlzIE5vbmU6CisgICAgICAgICAgICByZWZlcmVuY2VzX3NlZW4gPSBzZXQoKQor
CisgICAgICAgIHVybCA9IG1hbmlmZXN0X3Rlc3QudXJsCisKKyAgICAgICAgbm9kZSA9IGNscyht
YW5pZmVzdF90ZXN0LnNvdXJjZV9maWxlLnRlc3RzX3Jvb3QsCisgICAgICAgICAgICAgICAgICAg
bWFuaWZlc3RfdGVzdC51cmwsCisgICAgICAgICAgICAgICAgICAgaW5oZXJpdF9tZXRhZGF0YSwK
KyAgICAgICAgICAgICAgICAgICB0ZXN0X21ldGFkYXRhLAorICAgICAgICAgICAgICAgICAgIFtd
LAorICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9dGltZW91dCwKKyAgICAgICAgICAgICAgICAg
ICBwYXRoPW1hbmlmZXN0X3Rlc3QucGF0aCwKKyAgICAgICAgICAgICAgICAgICB2aWV3cG9ydF9z
aXplPW1hbmlmZXN0X3Rlc3Qudmlld3BvcnRfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICBkcGk9
bWFuaWZlc3RfdGVzdC5kcGksCisgICAgICAgICAgICAgICAgICAgcHJvdG9jb2w9Imh0dHBzIiBp
ZiBoYXNhdHRyKG1hbmlmZXN0X3Rlc3QsICJodHRwcyIpIGFuZCBtYW5pZmVzdF90ZXN0Lmh0dHBz
IGVsc2UgImh0dHAiKQorCisgICAgICAgIG5vZGVzW3VybF0gPSBub2RlCisKKyAgICAgICAgZm9y
IHJlZl91cmwsIHJlZl90eXBlIGluIG1hbmlmZXN0X3Rlc3QucmVmZXJlbmNlczoKKyAgICAgICAg
ICAgIGNvbXBhcmlzb25fa2V5ID0gKHJlZl90eXBlLCkgKyB0dXBsZShzb3J0ZWQoW3VybCwgcmVm
X3VybF0pKQorICAgICAgICAgICAgaWYgcmVmX3VybCBpbiBub2RlczoKKyAgICAgICAgICAgICAg
ICBtYW5pZmVzdF9ub2RlID0gcmVmX3VybAorICAgICAgICAgICAgICAgIGlmIGNvbXBhcmlzb25f
a2V5IGluIHJlZmVyZW5jZXNfc2VlbjoKKyAgICAgICAgICAgICAgICAgICAgIyBXZSBoYXZlIHJl
YWNoZWQgYSBjeWNsZSBzbyBzdG9wIGhlcmUKKyAgICAgICAgICAgICAgICAgICAgIyBOb3RlIHRo
YXQganVzdCBzZWVpbmcgYSBub2RlIGZvciB0aGUgc2Vjb25kIHRpbWUgaXMgbm90CisgICAgICAg
ICAgICAgICAgICAgICMgZW5vdWdoIHRvIGRldGVjdCBhIGN5Y2xlIGJlY2F1c2UKKyAgICAgICAg
ICAgICAgICAgICAgIyBBICE9IEIgIT0gQyAhPSBBIG11c3QgaW5jbHVkZSBDICE9IEEKKyAgICAg
ICAgICAgICAgICAgICAgIyBidXQgQSA9PSBCID09IEEgc2hvdWxkIG5vdCBpbmNsdWRlIHRoZSBy
ZWR1bmRhbnQgQiA9PSBBLgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAg
ICAgICByZWZlcmVuY2VzX3NlZW4uYWRkKGNvbXBhcmlzb25fa2V5KQorCisgICAgICAgICAgICBt
YW5pZmVzdF9ub2RlID0gbWFuaWZlc3RfdGVzdC5tYW5pZmVzdC5nZXRfcmVmZXJlbmNlKHJlZl91
cmwpCisgICAgICAgICAgICBpZiBtYW5pZmVzdF9ub2RlOgorICAgICAgICAgICAgICAgIHJlZmVy
ZW5jZSA9IFJlZnRlc3RUZXN0LmZyb21fbWFuaWZlc3QobWFuaWZlc3Rfbm9kZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9uZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVmZXJlbmNlc19zZWVuKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZWZl
cmVuY2UgPSBSZWZ0ZXN0VGVzdChtYW5pZmVzdF90ZXN0LnNvdXJjZV9maWxlLnRlc3RzX3Jvb3Qs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmX3VybCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOb25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFtdKQorCisgICAgICAgICAgICBub2RlLnJlZmVyZW5jZXMuYXBwZW5kKChy
ZWZlcmVuY2UsIHJlZl90eXBlKSkKKworICAgICAgICByZXR1cm4gbm9kZQorCisgICAgQHByb3Bl
cnR5CisgICAgZGVmIGlkKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi51cmwKKworICAgIEBw
cm9wZXJ0eQorICAgIGRlZiBrZXlzKHNlbGYpOgorICAgICAgICByZXR1cm4gKCJyZWZ0eXBlIiwg
InJlZnVybCIpCisKKworY2xhc3MgV2RzcGVjVGVzdChUZXN0KToKKyAgICByZXN1bHRfY2xzID0g
V2RzcGVjUmVzdWx0CisgICAgc3VidGVzdF9yZXN1bHRfY2xzID0gV2RzcGVjU3VidGVzdFJlc3Vs
dAorICAgIHRlc3RfdHlwZSA9ICJ3ZHNwZWMiCisKKworbWFuaWZlc3RfdGVzdF9jbHMgPSB7InJl
ZnRlc3QiOiBSZWZ0ZXN0VGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICJ0ZXN0aGFybmVzcyI6
IFRlc3RoYXJuZXNzVGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICJtYW51YWwiOiBNYW51YWxU
ZXN0LAorICAgICAgICAgICAgICAgICAgICAgIndkc3BlYyI6IFdkc3BlY1Rlc3R9CisKKworZGVm
IGZyb21fbWFuaWZlc3QobWFuaWZlc3RfdGVzdCwgaW5oZXJpdF9tZXRhZGF0YSwgdGVzdF9tZXRh
ZGF0YSk6CisgICAgdGVzdF9jbHMgPSBtYW5pZmVzdF90ZXN0X2Nsc1ttYW5pZmVzdF90ZXN0Lml0
ZW1fdHlwZV0KKyAgICByZXR1cm4gdGVzdF9jbHMuZnJvbV9tYW5pZmVzdChtYW5pZmVzdF90ZXN0
LCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRhKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS9kb2NzL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRzZXJ2ZS9kb2NzL3czYy1pbXBvcnQubG9nCmluZGV4IDVhYWVhNWM0MTk2NWE4
OGFjZGI3MzY3MmNmNzY2ODVjM2MyZTZmYmUuLmIzYTA5YjQ1ZTkzOGYwOTdhZTYwNjYxMDJjODk5
NWFhY2VlNDE0MjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvZG9jcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL2Rv
Y3MvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMK
IAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC9kb2Nyb290L3N1YmRp
ci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC9kb2Nyb290L3N1YmRpci93M2Mt
aW1wb3J0LmxvZwppbmRleCAxMmFhNThhN2RlOTk4MGVjYTFkYzUxM2RkYjhkNzUyNjg5N2JlNmNi
Li5jYWEzZDc2MTQxZWRmMTk0ZDRjNDE4MzIzNDgxNTcwODVmNzU0ZWRhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZl
L3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC9zdWJkaXIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90
ZXN0cy9mdW5jdGlvbmFsL2RvY3Jvb3Qvc3ViZGlyL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEs
NiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBX
UFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rl
c3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25h
bC9kb2Nyb290L3czYy1pbXBvcnQubG9nCmluZGV4IDNiNTMzOGFjYjI4Y2U2NDNkNTczYzcxZjY2
NzlmM2Y0ZTFjOTI0ZjEuLjVlNjVlMGRmMmVhOTBiMmQzN2YzOTE1ODIyODBjOWU5YWQ1NWVjNDMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC9kb2Nyb290L3czYy1pbXBvcnQubG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
c2VydmUvdGVzdHMvZnVuY3Rpb25hbC9kb2Nyb290L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEs
NiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBX
UFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rl
c3RzL2Z1bmN0aW9uYWwvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwvdzNjLWlt
cG9ydC5sb2cKaW5kZXggZGVhYzQ0ZjEyZTAzMjY0YzhkZjViMmZjYmViMGMwZGZhNTFhZjVkNC4u
M2RkYjc2OGM4MTcxMmMxMjI4NDJkMzgwNWIxYzM3NTk5M2IwNDEwOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90
ZXN0cy9mdW5jdGlvbmFsL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRzZXJ2ZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdzNjLWltcG9ydC5sb2cK
aW5kZXggYWUzNTBhNjQ4ODc0ZjcxZTYyZWMyNjQ5NzNiZjY2ZTk4YmUyNDhmZC4uZWYwNzAyYzFk
ZjdiMGU3NDcyNzVlNGQxOGRjYmJhOWM4ODc3MzFjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93M2MtaW1wb3J0
LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHNlcnZlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRzZXJ2ZS93cHRzZXJ2ZS93M2MtaW1wb3J0LmxvZwppbmRleCAxNjk5M2U3NmQwOWI3NTJlODE1
YTJkZmQyZmU3ZGJjNWFkN2JjZTAzLi4zMTVkNWE1ZTA3Yzc1ZjNjMzk4MmExYWU5ODljNjRiN2Y3
NTdlZGViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0
c2VydmUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRo
dWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdXJsL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91cmwvaW50ZXJmYWNlcy1leHBlY3RlZC50
eHQKaW5kZXggYmFiZGE4YmJlZTJiNjllNzljM2MzNDhmNzczOWZmOGM2N2Q2ZGRkYy4uYWMzZWM1
ZDQ2Zjc3YTBhOGM0MjI3ZWUzNzk2ZDZjMDNjM2MxOTMwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91cmwvaW50ZXJmYWNlcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91
cmwvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKQEAgLTIwLDggKzIwLDYgQEAgUEFTUyBVUkwgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgc2VhcmNoCiBQQVNTIFVSTCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBz
ZWFyY2hQYXJhbXMgCiBQQVNTIFVSTCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBoYXNoIAogUEFTUyBV
UkwgaW50ZXJmYWNlOiBvcGVyYXRpb24gdG9KU09OKCkgCi1QQVNTIFVSTCBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIG5ldyBVUkwoImh0dHA6Ly9mb28iKSAKLVBBU1MgU3RyaW5naWZpY2F0
aW9uIG9mIG5ldyBVUkwoImh0dHA6Ly9mb28iKSAKIFBBU1MgVVJMIGludGVyZmFjZTogbmV3IFVS
TCgiaHR0cDovL2ZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaHJlZiIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDApIAogUEFTUyBVUkwgaW50ZXJmYWNlOiBuZXcgVVJMKCJodHRwOi8vZm9vIikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvcmlnaW4iIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAK
IFBBU1MgVVJMIGludGVyZmFjZTogbmV3IFVSTCgiaHR0cDovL2ZvbyIpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAicHJvdG9jb2wiIHdpdGggdGhlIHByb3BlciB0eXBlICgyKSAKQEAgLTQ3LDkgKzQ1
LDkgQEAgUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QWxsKFVT
VlN0cmluZykKIFBBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogb3BlcmF0aW9uIGhhcyhV
U1ZTdHJpbmcpIAogUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0
KFVTVlN0cmluZyxVU1ZTdHJpbmcpIAogRkFJTCBUZXN0aW5nIFN5bWJvbC5pdGVyYXRvciBwcm9w
ZXJ0eSBvZiBpdGVyYWJsZSBpbnRlcmZhY2UgVVJMU2VhcmNoUGFyYW1zIGFzc2VydF9lcXVhbHM6
IEBAaXRlcmF0b3IgZnVuY3Rpb24gZG9lcyBub3QgaGF2ZSB0aGUgcmlnaHQgbmFtZSBleHBlY3Rl
ZCAiZW50cmllcyIgYnV0IGdvdCAiW1N5bWJvbC5JdGVyYXRvcl0iCi1GQUlMIFRlc3RpbmcgcGFp
ciBpdGVyYWJsZSBpbnRlcmZhY2UgVVJMU2VhcmNoUGFyYW1zIGFzc2VydF9lcXVhbHM6IGVudHJp
ZXMgbWV0aG9kIGlzIG5vdCB0aGUgc2FtZSBhcyBAQGl0ZXJhdG9yIGV4cGVjdGVkIGZ1bmN0aW9u
ICJmdW5jdGlvbiBbU3ltYm9sLkl0ZXJhdG9yXSgpIHsKK0ZBSUwgVGVzdGluZyBwYWlyIGl0ZXJh
YmxlIGludGVyZmFjZSBVUkxTZWFyY2hQYXJhbXMgYXNzZXJ0X2VxdWFsczogZW50cmllcyBtZXRo
b2QgaXMgbm90IHRoZSBzYW1lIGFzIEBAaXRlcmF0b3IgZXhwZWN0ZWQgZnVuY3Rpb24gImZ1bmN0
aW9uIGVudHJpZXMoKSB7CiAgICAgW25hdGl2ZSBjb2RlXQotfSIgYnV0IGdvdCBmdW5jdGlvbiAi
ZnVuY3Rpb24gZW50cmllcygpIHsKK30iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIFtTeW1i
b2wuSXRlcmF0b3JdKCkgewogICAgIFtuYXRpdmUgY29kZV0KIH0iCiBQQVNTIFVSTFNlYXJjaFBh
cmFtcyBpbnRlcmZhY2U6IHN0cmluZ2lmaWVyIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL2lu
dGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL2ludGVyZmFjZXMtZXhwZWN0ZWQu
dHh0CmluZGV4IGQwYTJkMWE4MjFhYmJlY2JiYjkwNWMwNDgxOTI2NzUwODM1Y2E2YjQuLmFmMWJl
Mjk3Mzk5MWVkMDNmOGVlNWU2MzEzNTcwODUyZGUzZTlmN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNv
dXJjZS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvaW50ZXJmYWNl
cy1leHBlY3RlZC50eHQKQEAgLTIxLDggKzIxLDYgQEAgUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBlbmRPZlN0cmVhbShFbmRPZlN0cmVhbUVycm9yKQogUEFTUyBNZWRpYVNv
dXJjZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRMaXZlU2Vla2FibGVSYW5nZShkb3VibGUsZG91
YmxlKSAKIFBBU1MgTWVkaWFTb3VyY2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gY2xlYXJMaXZlU2Vl
a2FibGVSYW5nZSgpIAogUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpc1R5
cGVTdXBwb3J0ZWQoRE9NU3RyaW5nKSAKLVBBU1MgTWVkaWFTb3VyY2UgbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBtZWRpYVNvdXJjZSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG1lZGlh
U291cmNlIAogUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAic291cmNlQnVmZmVycyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAog
UEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAiYWN0aXZlU291cmNlQnVmZmVycyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFT
UyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAicmVhZHlTdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtNDEsMTIgKzM5LDYg
QEAgUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IGNhbGxpbmcgc2V0TGl2ZVNlZWthYmxlUmFu
Z2UoZG91YmxlLGRvdWJsZSkgb24gbWVkaWEKIFBBU1MgTWVkaWFTb3VyY2UgaW50ZXJmYWNlOiBt
ZWRpYVNvdXJjZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNsZWFyTGl2ZVNlZWthYmxlUmFuZ2Ui
IHdpdGggdGhlIHByb3BlciB0eXBlICgxMSkgCiBQQVNTIE1lZGlhU291cmNlIGludGVyZmFjZTog
bWVkaWFTb3VyY2UgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpc1R5cGVTdXBwb3J0ZWQiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgxMikgCiBQQVNTIE1lZGlhU291cmNlIGludGVyZmFjZTogY2FsbGlu
ZyBpc1R5cGVTdXBwb3J0ZWQoRE9NU3RyaW5nKSBvbiBtZWRpYVNvdXJjZSB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZh
Y2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWRkRXZlbnRMaXN0ZW5lciIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNh
bGxpbmcgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsRXZlbnRMaXN0ZW5lcixib29sZWFuKSBv
biBtZWRpYVNvdXJjZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAot
UEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZlbnRMaXN0ZW5lcihE
T01TdHJpbmcsRXZlbnRMaXN0ZW5lcixib29sZWFuKSBvbiBtZWRpYVNvdXJjZSB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRl
cmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzcGF0Y2hFdmVudCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNh
bGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gbWVkaWFTb3VyY2Ugd2l0aCB0b28gZmV3IGFy
Z3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgU291cmNlQnVmZmVyIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIFNv
dXJjZUJ1ZmZlciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgU291cmNlQnVmZmVyIGlu
dGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTY5LDggKzYxLDYgQEAgUEFTUyBTb3VyY2VCdWZmZXIg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9ydAogUEFTUyBTb3VyY2VCdWZmZXIgaW50ZXJmYWNl
OiBvcGVyYXRpb24gYXBwZW5kQnVmZmVyKEJ1ZmZlclNvdXJjZSkgCiBQQVNTIFNvdXJjZUJ1ZmZl
ciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhYm9ydCgpIAogUEFTUyBTb3VyY2VCdWZmZXIgaW50ZXJm
YWNlOiBvcGVyYXRpb24gcmVtb3ZlKGRvdWJsZSx1bnJlc3RyaWN0ZWQgZG91YmxlKSAKLVBBU1Mg
U291cmNlQnVmZmVyIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygc291cmNlQnVmZmVyIAot
UEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygc291cmNlQnVmZmVyIAogUEFTUyBTb3VyY2VCdWZmZXIg
aW50ZXJmYWNlOiBzb3VyY2VCdWZmZXIgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtb2RlIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2U6IHNvdXJj
ZUJ1ZmZlciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwZGF0aW5nIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAoMSkgCiBQQVNTIFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2U6IHNvdXJjZUJ1ZmZlciBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImJ1ZmZlcmVkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBA
IC05MCwxMiArODAsNiBAQCBQQVNTIFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2U6IGNhbGxpbmcgYXBw
ZW5kQnVmZmVyKEJ1ZmZlclNvdXJjZSkgb24gc291cmNlQnVmZmVyCiBQQVNTIFNvdXJjZUJ1ZmZl
ciBpbnRlcmZhY2U6IHNvdXJjZUJ1ZmZlciBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFib3J0IiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMTUpIAogUEFTUyBTb3VyY2VCdWZmZXIgaW50ZXJmYWNlOiBz
b3VyY2VCdWZmZXIgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmUiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgxNikgCiBQQVNTIFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3Zl
KGRvdWJsZSx1bnJlc3RyaWN0ZWQgZG91YmxlKSBvbiBzb3VyY2VCdWZmZXIgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBzb3VyY2VCdWZmZXIgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVy
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTog
Y2FsbGluZyBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4p
IG9uIHNvdXJjZUJ1ZmZlciB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IHNvdXJjZUJ1ZmZlciBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInJlbW92ZUV2ZW50TGlzdGVuZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgx
KSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIHJlbW92ZUV2ZW50TGlzdGVu
ZXIoRE9NU3RyaW5nLEV2ZW50TGlzdGVuZXIsYm9vbGVhbikgb24gc291cmNlQnVmZmVyIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogc291cmNlQnVmZmVyIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzcGF0Y2hF
dmVudCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZh
Y2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gc291cmNlQnVmZmVyIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIFNvdXJjZUJ1ZmZlckxp
c3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKIFBBU1MgU291cmNlQnVmZmVyTGlzdCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1Mg
U291cmNlQnVmZmVyTGlzdCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCkBAIC0xMDQsMTUgKzg4LDcg
QEAgUEFTUyBTb3VyY2VCdWZmZXJMaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUKIFBBU1MgU291cmNlQnVmZmVyTGlzdCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBsZW5ndGggCiBQQVNTIFNvdXJjZUJ1ZmZlckxpc3QgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25hZGRzb3VyY2VidWZmZXIgCiBQQVNTIFNvdXJjZUJ1ZmZlckxpc3QgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25yZW1vdmVzb3VyY2VidWZmZXIgCi1QQVNTIFNvdXJjZUJ1ZmZlckxp
c3QgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJz
IAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyAKIFBB
U1MgU291cmNlQnVmZmVyTGlzdCBpbnRlcmZhY2U6IG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJsZW5ndGgiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAK
IFBBU1MgU291cmNlQnVmZmVyTGlzdCBpbnRlcmZhY2U6IG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZl
cnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmFkZHNvdXJjZWJ1ZmZlciIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDEpIAogUEFTUyBTb3VyY2VCdWZmZXJMaXN0IGludGVyZmFjZTogbWVkaWFTb3Vy
Y2Uuc291cmNlQnVmZmVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucmVtb3Zlc291cmNlYnVm
ZmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFj
ZTogbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2
ZW50TGlzdGVuZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKLVBBU1MgRXZlbnRUYXJnZXQg
aW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLEV2ZW50TGlzdGVu
ZXIsYm9vbGVhbikgb24gbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6
IG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmVF
dmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCi1QQVNTIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZyxFdmVudExp
c3RlbmVyLGJvb2xlYW4pIG9uIG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlz
cGF0Y2hFdmVudCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIAotUEFTUyBFdmVudFRhcmdldCBp
bnRlcmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gbWVkaWFTb3VyY2Uuc291
cmNlQnVmZmVycyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcyBiL0xheW91
dFRlc3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCmluZGV4IGE1MjIyOGVmMmMzOWEzYTA2ZWE1
MWJiMWVjODZiOGFiNGNkZjkzZDEuLmYxOGQ4OTViNjIxY2EyYTIwZWM1NDE3M2U4OGJkZTNhMjZm
N2RiZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisr
KyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCkBAIC04LDcgKzgsNyBAQCBw
b2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KIFszXSBodHRwOi8vd3d3LnczLm9y
Zy8yMDA0LzEwLzI3LXRlc3RjYXNlcwogKi8KIAotLyogRm9yIHVzZXIgZG9jdW1lbnRhdGlvbiBz
ZWUgZG9jcy9pZGxoYXJuZXNzLm1kICovCisvKiBGb3IgdXNlciBkb2N1bWVudGF0aW9uIHNlZSBk
b2NzL193cml0aW5nLXRlc3RzL2lkbGhhcm5lc3MubWQgKi8KIAogLyoqCiAgKiBOb3RlcyBmb3Ig
cGVvcGxlIHdobyB3YW50IHRvIGVkaXQgdGhpcyBmaWxlIChub3QganVzdCB1c2UgaXQgYXMgYSBs
aWJyYXJ5KToKQEAgLTMyMiw2ICszMjIsMjQgQEAgSWRsQXJyYXkucHJvdG90eXBlLnJlY3Vyc2l2
ZWx5X2dldF9pbXBsZW1lbnRzID0gZnVuY3Rpb24oaW50ZXJmYWNlX25hbWUpCiAgICAgcmV0dXJu
IHJldDsKIH07CiAKK2Z1bmN0aW9uIGV4cG9zdXJlX3NldChvYmplY3QsIGRlZmF1bHRfc2V0KSB7
CisgICAgdmFyIGV4cG9zZWQgPSBvYmplY3QuZXh0QXR0cnMuZmlsdGVyKGZ1bmN0aW9uKGEpIHsg
cmV0dXJuIGEubmFtZSA9PSAiRXhwb3NlZCIgfSk7CisgICAgaWYgKGV4cG9zZWQubGVuZ3RoID4g
MSB8fCBleHBvc2VkLmxlbmd0aCA8IDApIHsKKyAgICAgICAgdGhyb3cgIlVuZXhwZWN0ZWQgRXhw
b3NlZCBleHRlbmRlZCBhdHRyaWJ1dGVzIG9uICIgKyBtZW1iZXJOYW1lICsgIjogIiArIGV4cG9z
ZWQ7CisgICAgfQorCisgICAgaWYgKGV4cG9zZWQubGVuZ3RoID09PSAwKSB7CisgICAgICAgIHJl
dHVybiBkZWZhdWx0X3NldDsKKyAgICB9CisKKyAgICB2YXIgc2V0ID0gZXhwb3NlZFswXS5yaHMu
dmFsdWU7CisgICAgLy8gQ291bGQgYmUgYSBsaXN0IG9yIGEgc3RyaW5nLgorICAgIGlmICh0eXBl
b2Ygc2V0ID09ICJzdHJpbmciKSB7CisgICAgICAgIHNldCA9IFsgc2V0IF07CisgICAgfQorICAg
IHJldHVybiBzZXQ7Cit9CisKIGZ1bmN0aW9uIGV4cG9zZWRfaW4oZ2xvYmFscykgewogICAgIGlm
ICgnZG9jdW1lbnQnIGluIHNlbGYpIHsKICAgICAgICAgcmV0dXJuIGdsb2JhbHMuaW5kZXhPZigi
V2luZG93IikgPj0gMDsKQEAgLTM5NiwxNSArNDE0LDkgQEAgSWRsQXJyYXkucHJvdG90eXBlLnRl
c3QgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAg
ICB2YXIgZXhwb3NlZCA9IG1lbWJlci5leHRBdHRycy5maWx0ZXIoZnVuY3Rpb24oYSkgeyByZXR1
cm4gYS5uYW1lID09ICJFeHBvc2VkIiB9KTsKLSAgICAgICAgaWYgKGV4cG9zZWQubGVuZ3RoID4g
MSkgewotICAgICAgICAgICAgdGhyb3cgIlVuZXhwZWN0ZWQgRXhwb3NlZCBleHRlbmRlZCBhdHRy
aWJ1dGVzIG9uICIgKyBtZW1iZXJOYW1lICsgIjogIiArIGV4cG9zZWQ7Ci0gICAgICAgIH0KLQot
ICAgICAgICB2YXIgZ2xvYmFscyA9IGV4cG9zZWQubGVuZ3RoID09PSAxCi0gICAgICAgICAgICAg
ICAgICAgID8gZXhwb3NlZFswXS5yaHMudmFsdWUKLSAgICAgICAgICAgICAgICAgICAgOiBbIldp
bmRvdyJdOworICAgICAgICB2YXIgZ2xvYmFscyA9IGV4cG9zdXJlX3NldChtZW1iZXIsIFsiV2lu
ZG93Il0pOwogICAgICAgICBtZW1iZXIuZXhwb3NlZCA9IGV4cG9zZWRfaW4oZ2xvYmFscyk7Cisg
ICAgICAgIG1lbWJlci5leHBvc3VyZVNldCA9IGdsb2JhbHM7CiAgICAgfS5iaW5kKHRoaXMpKTsK
IAogICAgIC8vIE5vdyBydW4gdGVzdCgpIG9uIGV2ZXJ5IG1lbWJlciwgYW5kIHRlc3Rfb2JqZWN0
KCkgZm9yIGV2ZXJ5IG9iamVjdC4KQEAgLTQyNSw2ICs0MzcsMzEgQEAgSWRsQXJyYXkucHJvdG90
eXBlLnRlc3QgPSBmdW5jdGlvbigpCiBJZGxBcnJheS5wcm90b3R5cGUuYXNzZXJ0X3R5cGVfaXMg
PSBmdW5jdGlvbih2YWx1ZSwgdHlwZSkKIC8vQHsKIHsKKyAgICBpZiAodHlwZS5pZGxUeXBlIGlu
IHRoaXMubWVtYmVycworICAgICYmIHRoaXMubWVtYmVyc1t0eXBlLmlkbFR5cGVdIGluc3RhbmNl
b2YgSWRsVHlwZWRlZikgeworICAgICAgICB0aGlzLmFzc2VydF90eXBlX2lzKHZhbHVlLCB0aGlz
Lm1lbWJlcnNbdHlwZS5pZGxUeXBlXS5pZGxUeXBlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBpZiAodHlwZS51bmlvbikgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGUu
aWRsVHlwZS5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICB0aGlzLmFzc2VydF90eXBlX2lzKHZhbHVlLCB0eXBlLmlkbFR5cGVbaV0pOworICAgICAgICAg
ICAgICAgIC8vIE5vIEFzc2VydGlvbkVycm9yLCBzbyB3ZSBtYXRjaCBvbmUgdHlwZSBpbiB0aGUg
dW5pb24KKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9IGNhdGNoKGUpIHsK
KyAgICAgICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEFzc2VydGlvbkVycm9yKSB7CisgICAg
ICAgICAgICAgICAgICAgIC8vIFdlIGRpZG4ndCBtYXRjaCB0aGlzIHR5cGUsIGxldCdzIHRyeSBz
b21lIG90aGVycworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgdGhyb3cgZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgICAgICAvLyBUT0RPOiBJcyB0aGVyZSBhIG5pY2Ugd2F5IHRvIGxpc3QgdGhlIHVuaW9uJ3Mg
dHlwZXMgaW4gdGhlIG1lc3NhZ2U/CisgICAgICAgIGFzc2VydF90cnVlKGZhbHNlLCAiQXR0cmli
dXRlIGhhcyB2YWx1ZSAiICsgZm9ybWF0X3ZhbHVlKHZhbHVlKQorICAgICAgICAgICAgICAgICAg
ICArICIgd2hpY2ggZG9lc24ndCBtYXRjaCBhbnkgb2YgdGhlIHR5cGVzIGluIHRoZSB1bmlvbiIp
OworCisgICAgfQorCiAgICAgLyoqCiAgICAgICogSGVscGVyIGZ1bmN0aW9uIHRoYXQgdGVzdHMg
dGhhdCB2YWx1ZSBpcyBhbiBpbnN0YW5jZSBvZiB0eXBlIGFjY29yZGluZwogICAgICAqIHRvIHRo
ZSBydWxlcyBvZiBXZWJJREwuICB2YWx1ZSBpcyBhbnkgSmF2YVNjcmlwdCB2YWx1ZSwgYW5kIHR5
cGUgaXMgYW4KQEAgLTQ1OCw3ICs0OTUsNyBAQCBJZGxBcnJheS5wcm90b3R5cGUuYXNzZXJ0X3R5
cGVfaXMgPSBmdW5jdGlvbih2YWx1ZSwgdHlwZSkKICAgICAgICAgICAgIC8vIE5vdGhpbmcgd2Ug
Y2FuIGRvLgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIHRoaXMuYXNz
ZXJ0X3R5cGVfaXModmFsdWVbMF0sIHR5cGUuaWRsVHlwZS5pZGxUeXBlKTsKKyAgICAgICAgdGhp
cy5hc3NlcnRfdHlwZV9pcyh2YWx1ZVswXSwgdHlwZS5pZGxUeXBlKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApAQCAtNDcwLDYgKzUwNywxOCBAQCBJZGxBcnJheS5wcm90b3R5cGUuYXNzZXJ0
X3R5cGVfaXMgPSBmdW5jdGlvbih2YWx1ZSwgdHlwZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAorICAgIGlmICh0eXBlLmdlbmVyaWMgPT09ICJGcm96ZW5BcnJheSIpIHsKKyAgICAgICAgYXNz
ZXJ0X3RydWUoQXJyYXkuaXNBcnJheSh2YWx1ZSksICJWYWx1ZSBzaG91bGQgYmUgYXJyYXkiKTsK
KyAgICAgICAgYXNzZXJ0X3RydWUoT2JqZWN0LmlzRnJvemVuKHZhbHVlKSwgIlZhbHVlIHNob3Vs
ZCBiZSBmcm96ZW4iKTsKKyAgICAgICAgaWYgKCF2YWx1ZS5sZW5ndGgpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIC8vIE5vdGhpbmcgd2UgY2FuIGRvLgorICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgICAgIHRoaXMuYXNzZXJ0X3R5cGVfaXModmFsdWVbMF0sIHR5cGUuaWRsVHlw
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICB0eXBlID0gdHlwZS5pZGxUeXBlOwog
CiAgICAgc3dpdGNoKHR5cGUpCkBAIC02MDAsMTAgKzY0OSw2IEBAIElkbEFycmF5LnByb3RvdHlw
ZS5hc3NlcnRfdHlwZV9pcyA9IGZ1bmN0aW9uKHZhbHVlLCB0eXBlKQogICAgIHsKICAgICAgICAg
Ly8gVE9ETzogVGVzdCB3aGVuIHdlIGFjdHVhbGx5IGhhdmUgc29tZXRoaW5nIHRvIHRlc3QgdGhp
cyBvbgogICAgIH0KLSAgICBlbHNlIGlmICh0aGlzLm1lbWJlcnNbdHlwZV0gaW5zdGFuY2VvZiBJ
ZGxUeXBlZGVmKQotICAgIHsKLSAgICAgICAgLy8gVE9ETzogVGVzdCB3aGVuIHdlIGFjdHVhbGx5
IGhhdmUgc29tZXRoaW5nIHRvIHRlc3QgdGhpcyBvbgotICAgIH0KICAgICBlbHNlCiAgICAgewog
ICAgICAgICB0aHJvdyAiVHlwZSAiICsgdHlwZSArICIgaXNuJ3QgYW4gaW50ZXJmYWNlIG9yIGRp
Y3Rpb25hcnkiOwpAQCAtOTc1LDE0ICsxMDIwLDEzIEBAIElkbEludGVyZmFjZS5wcm90b3R5cGUu
dGVzdF9zZWxmID0gZnVuY3Rpb24oKQogICAgICAgICAvLyBmb2xsb3dpbmcgc3RlcHM6CiAgICAg
ICAgIC8vICJJZiBBIGlzIGRlY2xhcmVkIHdpdGggdGhlIFtHbG9iYWxdIG9yIFtQcmltYXJ5R2xv
YmFsXSBleHRlbmRlZAogICAgICAgICAvLyBhdHRyaWJ1dGUsIGFuZCBBIHN1cHBvcnRzIG5hbWVk
IHByb3BlcnRpZXMsIHRoZW4gcmV0dXJuIHRoZSBuYW1lZAotICAgICAgICAvLyBwcm9wZXJ0aWVz
IG9iamVjdCBmb3IgQSwgYXMgZGVmaW5lZCBpbiBzZWN0aW9uIDQuNS41IGJlbG93LgorICAgICAg
ICAvLyBwcm9wZXJ0aWVzIG9iamVjdCBmb3IgQSwgYXMgZGVmaW5lZCBpbiDCpzMuNi40IE5hbWVk
IHByb3BlcnRpZXMKKyAgICAgICAgLy8gb2JqZWN0LgogICAgICAgICAvLyAiT3RoZXJ3aXNlLCBp
ZiBBIGlzIGRlY2xhcmVkIHRvIGluaGVyaXQgZnJvbSBhbm90aGVyIGludGVyZmFjZSwgdGhlbgog
ICAgICAgICAvLyByZXR1cm4gdGhlIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGZvciB0aGUg
aW5oZXJpdGVkIGludGVyZmFjZS4KLSAgICAgICAgLy8gIk90aGVyd2lzZSwgaWYgQSBpcyBkZWNs
YXJlZCB3aXRoIHRoZSBbQXJyYXlDbGFzc10gZXh0ZW5kZWQKLSAgICAgICAgLy8gYXR0cmlidXRl
LCB0aGVuIHJldHVybiAlQXJyYXlQcm90b3R5cGUlIChbRUNNQS0yNjJdLCBzZWN0aW9uCi0gICAg
ICAgIC8vIDYuMS43LjQpLgotICAgICAgICAvLyAiT3RoZXJ3aXNlLCByZXR1cm4gJU9iamVjdFBy
b3RvdHlwZSUgKFtFQ01BLTI2Ml0sIHNlY3Rpb24gNi4xLjcuNCkuCi0gICAgICAgIC8vIChbRUNN
QS0yNjJdLCBzZWN0aW9uIDE1LjIuNCkuCisgICAgICAgIC8vICJPdGhlcndpc2UsIGlmIEEgaXMg
ZGVjbGFyZWQgd2l0aCB0aGUgW0xlZ2FjeUFycmF5Q2xhc3NdIGV4dGVuZGVkCisgICAgICAgIC8v
IGF0dHJpYnV0ZSwgdGhlbiByZXR1cm4gJUFycmF5UHJvdG90eXBlJS4KKyAgICAgICAgLy8gIk90
aGVyd2lzZSwgcmV0dXJuICVPYmplY3RQcm90b3R5cGUlLgogICAgICAgICBpZiAodGhpcy5uYW1l
ID09PSAiV2luZG93IikgewogICAgICAgICAgICAgYXNzZXJ0X2NsYXNzX3N0cmluZyhPYmplY3Qu
Z2V0UHJvdG90eXBlT2Yoc2VsZlt0aGlzLm5hbWVdLnByb3RvdHlwZSksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdXaW5kb3dQcm9wZXJ0aWVzJywKQEAgLTk5Niw3ICsxMDQwLDcg
QEAgSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3NlbGYgPSBmdW5jdGlvbigpCiAgICAgICAg
ICAgICAgICAgICAgICF0aGlzLmFycmF5CiAgICAgICAgICAgICAgICAgICAgICAgICAgLm1lbWJl
cnNbaW5oZXJpdF9pbnRlcmZhY2VdCiAgICAgICAgICAgICAgICAgICAgICAgICAgLmhhc19leHRl
bmRlZF9hdHRyaWJ1dGUoIk5vSW50ZXJmYWNlT2JqZWN0Iik7Ci0gICAgICAgICAgICB9IGVsc2Ug
aWYgKHRoaXMuaGFzX2V4dGVuZGVkX2F0dHJpYnV0ZSgnQXJyYXlDbGFzcycpKSB7CisgICAgICAg
ICAgICB9IGVsc2UgaWYgKHRoaXMuaGFzX2V4dGVuZGVkX2F0dHJpYnV0ZSgnTGVnYWN5QXJyYXlD
bGFzcycpKSB7CiAgICAgICAgICAgICAgICAgaW5oZXJpdF9pbnRlcmZhY2UgPSAnQXJyYXknOwog
ICAgICAgICAgICAgICAgIGluaGVyaXRfaW50ZXJmYWNlX2hhc19pbnRlcmZhY2Vfb2JqZWN0ID0g
dHJ1ZTsKICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0xMDI1LDEzICsxMDY5LDE5IEBAIElkbElu
dGVyZmFjZS5wcm90b3R5cGUudGVzdF9zZWxmID0gZnVuY3Rpb24oKQogICAgICAgICAvLyAiVGhl
IGNsYXNzIHN0cmluZyBvZiBhbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBpcyB0aGUKICAg
ICAgICAgLy8gY29uY2F0ZW5hdGlvbiBvZiB0aGUgaW50ZXJmYWNl4oCZcyBpZGVudGlmaWVyIGFu
ZCB0aGUgc3RyaW5nCiAgICAgICAgIC8vIOKAnFByb3RvdHlwZeKAnS4iCi0gICAgICAgIGFzc2Vy
dF9jbGFzc19zdHJpbmcoc2VsZlt0aGlzLm5hbWVdLnByb3RvdHlwZSwgdGhpcy5uYW1lICsgIlBy
b3RvdHlwZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImNsYXNzIHN0cmluZyBvZiAi
ICsgdGhpcy5uYW1lICsgIi5wcm90b3R5cGUiKTsKKworICAgICAgICAvLyBTa2lwIHRoZXNlIHRl
c3RzIGZvciBub3cgZHVlIHRvIGEgc3BlY2lmaWNhdGlvbiBpc3N1ZSBhYm91dAorICAgICAgICAv
LyBwcm90b3R5cGUgbmFtZS4KKyAgICAgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL0J1Z3MvUHVi
bGljL3Nob3dfYnVnLmNnaT9pZD0yODI0NAorCisgICAgICAgIC8vIGFzc2VydF9jbGFzc19zdHJp
bmcoc2VsZlt0aGlzLm5hbWVdLnByb3RvdHlwZSwgdGhpcy5uYW1lICsgIlByb3RvdHlwZSIsCisg
ICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgImNsYXNzIHN0cmluZyBvZiAiICsgdGhpcy5u
YW1lICsgIi5wcm90b3R5cGUiKTsKKwogICAgICAgICAvLyBTdHJpbmcoKSBzaG91bGQgZW5kIHVw
IGNhbGxpbmcge30udG9TdHJpbmcgaWYgbm90aGluZyBkZWZpbmVzIGEKICAgICAgICAgLy8gc3Ry
aW5naWZpZXIuCiAgICAgICAgIGlmICghdGhpcy5oYXNfc3RyaW5naWZpZXIoKSkgewotICAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhTdHJpbmcoc2VsZlt0aGlzLm5hbWVdLnByb3RvdHlwZSksICJb
b2JqZWN0ICIgKyB0aGlzLm5hbWUgKyAiUHJvdG90eXBlXSIsCi0gICAgICAgICAgICAgICAgICAg
ICJTdHJpbmcoIiArIHRoaXMubmFtZSArICIucHJvdG90eXBlKSIpOworICAgICAgICAgICAgLy8g
YXNzZXJ0X2VxdWFscyhTdHJpbmcoc2VsZlt0aGlzLm5hbWVdLnByb3RvdHlwZSksICJbb2JqZWN0
ICIgKyB0aGlzLm5hbWUgKyAiUHJvdG90eXBlXSIsCisgICAgICAgICAgICAvLyAgICAgICAgICJT
dHJpbmcoIiArIHRoaXMubmFtZSArICIucHJvdG90eXBlKSIpOwogICAgICAgICB9CiAgICAgfS5i
aW5kKHRoaXMpLCB0aGlzLm5hbWUgKyAiIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0Iik7CiAKQEAgLTEzNTksMTIgKzE0MDks
MTcgQEAgSWRsSW50ZXJmYWNlLnByb3RvdHlwZS5kb19tZW1iZXJfb3BlcmF0aW9uX2Fzc2VydHMg
PSBmdW5jdGlvbihtZW1iZXJIb2xkZXJPYmplY3QKIElkbEludGVyZmFjZS5wcm90b3R5cGUuYWRk
X2l0ZXJhYmxlX21lbWJlcnMgPSBmdW5jdGlvbihtZW1iZXIpCiAvL0B7CiB7Ci0gICAgdGhpcy5t
ZW1iZXJzLnB1c2goe3R5cGU6ICJvcGVyYXRpb24iLCBuYW1lOiAiZW50cmllcyIsIGlkbFR5cGU6
ICJpdGVyYXRvciIsIGFyZ3VtZW50czogW119KTsKLSAgICB0aGlzLm1lbWJlcnMucHVzaCh7dHlw
ZTogIm9wZXJhdGlvbiIsIG5hbWU6ICJrZXlzIiwgaWRsVHlwZTogIml0ZXJhdG9yIiwgYXJndW1l
bnRzOiBbXX0pOwotICAgIHRoaXMubWVtYmVycy5wdXNoKHt0eXBlOiAib3BlcmF0aW9uIiwgbmFt
ZTogInZhbHVlcyIsIGlkbFR5cGU6ICJpdGVyYXRvciIsIGFyZ3VtZW50czogW119KTsKLSAgICB0
aGlzLm1lbWJlcnMucHVzaCh7dHlwZTogIm9wZXJhdGlvbiIsIG5hbWU6ICJmb3JFYWNoIiwgaWRs
VHlwZTogInZvaWQiLCBhcmd1bWVudHM6Ci0gICAgICAgIFt7IG5hbWU6ICJjYWxsYmFjayIsIGlk
bFR5cGU6IHtpZGxUeXBlOiAiZnVuY3Rpb24ifX0sCi0gICAgICAgIHsgbmFtZTogInRoaXNWYWx1
ZSIsIGlkbFR5cGU6IHtpZGxUeXBlOiAiYW55In0sIG9wdGlvbmFsOiB0cnVlfV19KTsKKyAgICB0
aGlzLm1lbWJlcnMucHVzaChuZXcgSWRsSW50ZXJmYWNlTWVtYmVyKAorICAgICAgICB7IHR5cGU6
ICJvcGVyYXRpb24iLCBuYW1lOiAiZW50cmllcyIsIGlkbFR5cGU6ICJpdGVyYXRvciIsIGFyZ3Vt
ZW50czogW119KSk7CisgICAgdGhpcy5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1lbWJl
cigKKyAgICAgICAgeyB0eXBlOiAib3BlcmF0aW9uIiwgbmFtZTogImtleXMiLCBpZGxUeXBlOiAi
aXRlcmF0b3IiLCBhcmd1bWVudHM6IFtdfSkpOworICAgIHRoaXMubWVtYmVycy5wdXNoKG5ldyBJ
ZGxJbnRlcmZhY2VNZW1iZXIoCisgICAgICAgIHsgdHlwZTogIm9wZXJhdGlvbiIsIG5hbWU6ICJ2
YWx1ZXMiLCBpZGxUeXBlOiAiaXRlcmF0b3IiLCBhcmd1bWVudHM6IFtdfSkpOworICAgIHRoaXMu
bWVtYmVycy5wdXNoKG5ldyBJZGxJbnRlcmZhY2VNZW1iZXIoCisgICAgICAgIHsgdHlwZTogIm9w
ZXJhdGlvbiIsIG5hbWU6ICJmb3JFYWNoIiwgaWRsVHlwZTogInZvaWQiLAorICAgICAgICAgIGFy
Z3VtZW50czoKKyAgICAgICAgICBbeyBuYW1lOiAiY2FsbGJhY2siLCBpZGxUeXBlOiB7aWRsVHlw
ZTogImZ1bmN0aW9uIn19LAorICAgICAgICAgICB7IG5hbWU6ICJ0aGlzVmFsdWUiLCBpZGxUeXBl
OiB7aWRsVHlwZTogImFueSJ9LCBvcHRpb25hbDogdHJ1ZX1dfSkpOwogfTsKIAogLy9AfQpAQCAt
MTQ4Myw2ICsxNTM4LDE5IEBAIElkbEludGVyZmFjZS5wcm90b3R5cGUudGVzdF9tZW1iZXJzID0g
ZnVuY3Rpb24oKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAorICAgICAgICBp
ZiAoIWV4cG9zZWRfaW4oZXhwb3N1cmVfc2V0KG1lbWJlciwgdGhpcy5leHBvc3VyZVNldCkpKSB7
CisgICAgICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIC8vIEl0J3Mg
bm90IGV4cG9zZWQsIHNvIHdlIHNob3VsZG4ndCBmaW5kIGl0IGFueXdoZXJlLgorICAgICAgICAg
ICAgICAgIGFzc2VydF9mYWxzZShtZW1iZXIubmFtZSBpbiBzZWxmW3RoaXMubmFtZV0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgaW50ZXJmYWNlIG9iamVjdCBtdXN0IG5vdCBo
YXZlIGEgcHJvcGVydHkgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdF92
YWx1ZShtZW1iZXIubmFtZSkpOworICAgICAgICAgICAgICAgIGFzc2VydF9mYWxzZShtZW1iZXIu
bmFtZSBpbiBzZWxmW3RoaXMubmFtZV0ucHJvdG90eXBlLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBub3QgaGF2ZSBhIHByb3BlcnR5ICIg
KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRfdmFsdWUobWVtYmVyLm5hbWUp
KTsKKyAgICAgICAgICAgIH0uYmluZCh0aGlzKSwgdGhpcy5uYW1lICsgIiBpbnRlcmZhY2U6IG1l
bWJlciAiICsgbWVtYmVyLm5hbWUpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0K
KwogICAgICAgICBzd2l0Y2ggKG1lbWJlci50eXBlKSB7CiAgICAgICAgIGNhc2UgImNvbnN0IjoK
ICAgICAgICAgICAgIHRoaXMudGVzdF9tZW1iZXJfY29uc3QobWVtYmVyKTsKQEAgLTE1NjUsNiAr
MTYzMywxMyBAQCBJZGxJbnRlcmZhY2UucHJvdG90eXBlLnRlc3Rfb2JqZWN0ID0gZnVuY3Rpb24o
ZGVzYykKIElkbEludGVyZmFjZS5wcm90b3R5cGUudGVzdF9wcmltYXJ5X2ludGVyZmFjZV9vZiA9
IGZ1bmN0aW9uKGRlc2MsIG9iaiwgZXhjZXB0aW9uLCBleHBlY3RlZF90eXBlb2YpCiAvL0B7CiB7
CisgICAgLy8gT25seSB0aGUgb2JqZWN0IGl0c2VsZiwgbm90IGl0cyBtZW1iZXJzLCBhcmUgdGVz
dGVkIGhlcmUsIHNvIGlmIHRoZQorICAgIC8vIGludGVyZmFjZSBpcyB1bnRlc3RlZCwgdGhlcmUg
aXMgbm90aGluZyB0byBkby4KKyAgICBpZiAoIXRoaXMudW50ZXN0ZWQpCisgICAgeworICAgICAg
ICByZXR1cm47CisgICAgfQorCiAgICAgLy8gV2UgY2FuJ3QgZWFzaWx5IHRlc3QgdGhhdCBpdHMg
cHJvdG90eXBlIGlzIGNvcnJlY3QgaWYgdGhlcmUncyBubwogICAgIC8vIGludGVyZmFjZSBvYmpl
Y3QsIG9yIHRoZSBvYmplY3QgaXMgZnJvbSBhIGRpZmZlcmVudCBnbG9iYWwgZW52aXJvbm1lbnQK
ICAgICAvLyAobm90IGluc3RhbmNlb2YgT2JqZWN0KS4gIFRPRE86IHRlc3QgaW4gdGhpcyBjYXNl
IHRoYXQgaXRzIHByb3RvdHlwZSBhdApAQCAtMTYxNiw2ICsxNjkxLDE1IEBAIElkbEludGVyZmFj
ZS5wcm90b3R5cGUudGVzdF9pbnRlcmZhY2Vfb2YgPSBmdW5jdGlvbihkZXNjLCBvYmosIGV4Y2Vw
dGlvbiwgZXhwZWN0CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLm1lbWJlcnMubGVuZ3Ro
OyBpKyspCiAgICAgewogICAgICAgICB2YXIgbWVtYmVyID0gdGhpcy5tZW1iZXJzW2ldOworICAg
ICAgICBpZiAobWVtYmVyLnVudGVzdGVkKSB7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgfQorICAgICAgICBpZiAoIWV4cG9zZWRfaW4oZXhwb3N1cmVfc2V0KG1lbWJlciwgdGhpcy5l
eHBvc3VyZVNldCkpKSB7CisgICAgICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgICAgIGFzc2VydF9mYWxzZShtZW1iZXIubmFtZSBpbiBvYmopOworICAgICAgICAgICAgfS5i
aW5kKHRoaXMpLCB0aGlzLm5hbWUgKyAiaW50ZXJmYWNlOiAiICsgZGVzYyArICdtdXN0IG5vdCBo
YXZlIHByb3BlcnR5ICInICsgbWVtYmVyLm5hbWUgKyAnIicpOworICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIH0KICAgICAgICAgaWYgKG1lbWJlci50eXBlID09ICJhdHRyaWJ1dGUiICYm
IG1lbWJlci5pc1VuZm9yZ2VhYmxlKQogICAgICAgICB7CiAgICAgICAgICAgICB2YXIgYV90ZXN0
ID0gYXN5bmNfdGVzdCh0aGlzLm5hbWUgKyAiIGludGVyZmFjZTogIiArIGRlc2MgKyAnIG11c3Qg
aGF2ZSBvd24gcHJvcGVydHkgIicgKyBtZW1iZXIubmFtZSArICciJyk7CkBAIC0xODE3LDYgKzE5
MDEsNyBAQCBJZGxJbnRlcmZhY2UucHJvdG90eXBlLmRvX2ludGVyZmFjZV9hdHRyaWJ1dGVfYXNz
ZXJ0cyA9IGZ1bmN0aW9uKG9iaiwgbWVtYmVyLCBhXwogICAgIC8vIFRPRE86IFRlc3QgY2FsbGlu
ZyBzZXR0ZXIgb24gdGhlIGludGVyZmFjZSBwcm90b3R5cGUgKHNob3VsZCB0aHJvdwogICAgIC8v
IFR5cGVFcnJvciBpbiBtb3N0IGNhc2VzKS4KICAgICBpZiAobWVtYmVyLnJlYWRvbmx5CisgICAg
JiYgIW1lbWJlci5oYXNfZXh0ZW5kZWRfYXR0cmlidXRlKCJMZW5pZW50U2V0dGVyIikKICAgICAm
JiAhbWVtYmVyLmhhc19leHRlbmRlZF9hdHRyaWJ1dGUoIlB1dEZvcndhcmRzIikKICAgICAmJiAh
bWVtYmVyLmhhc19leHRlbmRlZF9hdHRyaWJ1dGUoIlJlcGxhY2VhYmxlIikpCiAgICAgewpAQCAt
MTk1Niw4ICsyMDQxLDggQEAgZnVuY3Rpb24gSWRsVHlwZWRlZihvYmopCiAgICAgLyoqIFNlbGYt
ZXhwbGFuYXRvcnkuICovCiAgICAgdGhpcy5uYW1lID0gb2JqLm5hbWU7CiAKLSAgICAvKiogQW4g
YXJyYXkgb2YgdmFsdWVzIHByb2R1Y2VkIGJ5IHRoZSAidHlwZWRlZiIgcHJvZHVjdGlvbi4gKi8K
LSAgICB0aGlzLnZhbHVlcyA9IG9iai52YWx1ZXM7CisgICAgLyoqIFRoZSBpZGxUeXBlIHRoYXQg
d2UgYXJlIHN1cHBvc2VkIHRvIGJlIHR5cGVkZWZmaW5nIHRvLiAqLworICAgIHRoaXMuaWRsVHlw
ZSA9IG9iai5pZGxUeXBlOwogCiB9CiAvL0B9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310478</attachid>
            <date>2017-05-17 20:11:14 -0700</date>
            <delta_ts>2017-05-17 21:33:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172247-20170517201112.patch</filename>
            <type>text/plain</type>
            <size>1039198</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MDA0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDczNmViY2Y3YzY1NTZmYzEwNzVl
NTBhM2QxNGVhZTYzOTQzODdlZi4uMzJjZjk1MDk0MTEyNzQ2OGFhY2QwNTA4OGFkZGQzYzM5MTA4
ZGVlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBACiAyMDE3LTA1LTE3ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cyB0b29s
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMjQ3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvaW50
ZXJmYWNlcy1leHBlY3RlZC50eHQ6CisKKzIwMTctMDUtMTcgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKwogICAgICAgICBTZXR0aW5nIFVSTC5zZWFyY2ggdG8gJycgcmVzdWx0cyBp
biBhIHN0cmluZ2lmaWVkIFVSTCBlbmRpbmcgaW4gJz8nCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjIzNDUKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMxODAwNDQxPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMGEzMjY2M2RlNDRj
MzBmZmE2Y2Q3ODU2YWVmNzIxNGFlZjkwM2VhNi4uOWViNDljM2IyOTI0MGExNTM5MWE1YTg0MTky
MTI4NDlmZTE4ZTY5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MTY3MyBAQAogMjAxNy0wNS0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisg
ICAgICAgIFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMgdG9vbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjI0NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlYmFzZWxpbmUgdGVzdHMgbm93IHRoYXQg
V1BUIHRvb2xzIHdlcmUgdXBkYXRlZC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9G
aWxlQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9GaWxlQVBJL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS91cmwvbXVsdGktZ2xvYmFsLW9yaWdpbi1zZXJpYWxp
emF0aW9uLnN1Yi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2Rlcml2ZV9iaXRzX2tleXMvdGVzdF9l
Y2RoX2JpdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9XZWJD
cnlwdG9BUEkvZGVyaXZlX2JpdHNfa2V5cy90ZXN0X2VjZGhfa2V5cy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2lkbGhh
cm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
WE1MSHR0cFJlcXVlc3QvZm9ybWRhdGEtZm9yZWFjaC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9yZXNwb25zZXR5
cGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVx
dWVzdC90aW1lb3V0LXN5bmMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9iYWNrZ3JvdW5kLWZldGNoL2ludGVyZmFjZXMud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9vcmlnaW4tZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQt
cmVnaXN0cnkvZGVmaW5lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItZmFsbHNiYWNrLXRvLXVua25vd24tZWxl
bWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pbnRl
cmZhY2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25v
ZGVzL0RvY3VtZW50LWNvbnRlbnRUeXBlL2NvbnRlbnRUeXBlL2NvbnRlbnR0eXBlX2RhdGF1cmlf
MDEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMv
RG9jdW1lbnQtY29udGVudFR5cGUvY29udGVudFR5cGUvY29udGVudHR5cGVfZGF0YXVyaV8wMi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2VuY29kaW5nL2lkbGhh
cm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvYmFzaWMvaW50ZWdyaXR5LXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9oZWFkZXJzL2hlYWRlcnMtaWRsLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVx
dWVzdC1pZGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtaWRsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHItdGltZS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9i
amVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmlnaW4tb2JqZWN0cy9j
cm9zcy1vcmlnaW4tb2JqZWN0cy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2RvbS9yZWZsZWN0aW9uLWVtYmVkZGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEt
ZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2Fs
bG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0xLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEt
ZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2Fs
bG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEt
ZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL21v
dmluZy1kb2N1bWVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdt
YS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvbm90LWluLXNoYWRvdy10
cmVlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL0hUTUxFbGVt
ZW50L0hUTUxUcmFja0VsZW1lbnQvc3JjbGFuZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxl
bWVudHMvaW50ZXJmYWNlcy9UZXh0VHJhY2svbGFuZ3VhZ2UtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21l
ZGlhLWVsZW1lbnRzL3JlYWR5LXN0YXRlcy9hdXRvcGxheS13aXRoLXNsb3ctdGV4dC10cmFja3Mt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFw
aXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1wYXJzZS1lcnJv
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBw
YXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2RlbC0yL3dpbmRvdy1vbmVycm9yLXJ1bnRpbWUt
ZXJyb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dl
YmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1ydW50
aW1lLWVycm9yLXRocm93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvbm90aWZpY2F0aW9ucy9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcnQtaW5pdGlhdG9y
VHlwZS1vdGhlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9pZGxoYXJuZXNzLmpzOgorICAgICAgICAoc2V0IGV4cG9zZWQpOgorICAgICAgICAo
SWRsQXJyYXkucHJvdG90eXBlLnRlc3QpOgorICAgICAgICAoSWRsQXJyYXkucHJvdG90eXBlLmFz
c2VydF90eXBlX2lzKToKKyAgICAgICAgKElkbEludGVyZmFjZS5wcm90b3R5cGUudGVzdF9zZWxm
KToKKyAgICAgICAgKElkbEludGVyZmFjZS5wcm90b3R5cGUuYWRkX2l0ZXJhYmxlX21lbWJlcnMp
OgorICAgICAgICAoSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X21lbWJlcl9pdGVyYWJsZSk6
CisgICAgICAgIChJZGxJbnRlcmZhY2UucHJvdG90eXBlLnRlc3RfbWVtYmVycyk6CisgICAgICAg
IChJZGxJbnRlcmZhY2UucHJvdG90eXBlLnRlc3RfcHJpbWFyeV9pbnRlcmZhY2Vfb2YpOgorICAg
ICAgICAoSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X2ludGVyZmFjZV9vZik6CisgICAgICAg
IChJZGxJbnRlcmZhY2UucHJvdG90eXBlLmRvX2ludGVyZmFjZV9hdHRyaWJ1dGVfYXNzZXJ0cyk6
CisgICAgICAgIChJZGxUeXBlZGVmKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzOgorICAgICAgICAoV2luZG93VGVzdEVudmlyb25tZW50KToK
KyAgICAgICAgKFdpbmRvd1Rlc3RFbnZpcm9ubWVudC5wcm90b3R5cGUuX2Rpc3BhdGNoKToKKyAg
ICAgICAgKFdpbmRvd1Rlc3RFbnZpcm9ubWVudC5wcm90b3R5cGUuX2ZvckVhY2hfd2luZG93cyk6
CisgICAgICAgIChTZXJ2aWNlV29ya2VyVGVzdEVudmlyb25tZW50KToKKyAgICAgICAgKHByb21p
c2VfdGVzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1l
bnQtcHJvdG90eXBlLWN1cnJlbnRTY3JpcHQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL2J5dGUtbGVuZ3RoLXF1ZXVpbmctc3RyYXRlZ3kuc2hhcmVk
d29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFt
cy9jb3VudC1xdWV1aW5nLXN0cmF0ZWd5LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Nsb3NlLXByb3BhZ2F0aW9u
LWJhY2t3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Nsb3NlLXByb3BhZ2F0aW9uLWZvcndhcmQuc2hhcmVk
d29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFt
cy9waXBpbmcvZXJyb3ItcHJvcGFnYXRpb24tYmFja3dhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZXJyb3It
cHJvcGFnYXRpb24tZm9yd2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9mbG93LWNvbnRyb2wuc2hhcmVkd29y
a2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9w
aXBpbmcvZ2VuZXJhbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3N0cmVhbXMvcGlwaW5nL2dlbmVyYWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvbXVsdGlwbGUtcHJvcGFnYXRp
b24uc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc3RyZWFtcy9waXBpbmcvcGlwZS10aHJvdWdoLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL3RyYW5zZm9ybS1z
dHJlYW1zLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtYnl0ZS1zdHJlYW1zL2dlbmVyYWwuc2hhcmVkd29ya2Vy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFk
YWJsZS1zdHJlYW1zL2JhZC1zdHJhdGVnaWVzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9iYWQt
dW5kZXJseWluZy1zb3VyY2VzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9icmFuZC1jaGVja3Mu
c2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2NhbmNlbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMv
Y291bnQtcXVldWluZy1zdHJhdGVneS1pbnRlZ3JhdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVh
bXMvZGVmYXVsdC1yZWFkZXIuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50
LXRvdGFsLXF1ZXVlLXNpemUuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2dhcmJhZ2UtY29sbGVj
dGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZ2VuZXJhbC5zaGFyZWR3b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0
cmVhbXMvcGlwZS10aHJvdWdoLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9yZWFkYWJsZS1zdHJl
YW0tcmVhZGVyLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy90ZWUuc2hhcmVkd29ya2VyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1z
dHJlYW1zL3RlbXBsYXRlZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMvX19pbml0X18ucHk6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMvYnJvd3Nlci5w
eTogQWRkZWQuCisgICAgICAgIChwYXRoKToKKyAgICAgICAgKEJyb3dzZXIpOgorICAgICAgICAo
QnJvd3Nlci5pbnN0YWxsKToKKyAgICAgICAgKEJyb3dzZXIuaW5zdGFsbF93ZWJkcml2ZXIpOgor
ICAgICAgICAoQnJvd3Nlci52ZXJzaW9uKToKKyAgICAgICAgKEJyb3dzZXIucmVxdWlyZW1lbnRz
KToKKyAgICAgICAgKEJyb3dzZXIucHJlcGFyZV9lbnZpcm9ubWVudCk6CisgICAgICAgIChGaXJl
Zm94KToKKyAgICAgICAgKEZpcmVmb3gucGxhdGZvcm1fc3RyaW5nKToKKyAgICAgICAgKEZpcmVm
b3gucGxhdGZvcm1fc3RyaW5nX2dlY2tvZHJpdmVyKToKKyAgICAgICAgKEZpcmVmb3gubGF0ZXN0
X25pZ2h0bHlfbGlzdGluZyk6CisgICAgICAgIChGaXJlZm94LmdldF9mcm9tX25pZ2h0bHkpOgor
ICAgICAgICAoRmlyZWZveC5pbnN0YWxsKToKKyAgICAgICAgKEZpcmVmb3guZmluZF9iaW5hcnkp
OgorICAgICAgICAoRmlyZWZveC5maW5kX2NlcnR1dGlsKToKKyAgICAgICAgKEZpcmVmb3guZmlu
ZF93ZWJkcml2ZXIpOgorICAgICAgICAoRmlyZWZveC5pbnN0YWxsX2NlcnR1dGlsKToKKyAgICAg
ICAgKEZpcmVmb3guaW5zdGFsbF9wcmVmcyk6CisgICAgICAgIChGaXJlZm94Ll9sYXRlc3RfZ2Vj
a29kcml2ZXJfdmVyc2lvbik6CisgICAgICAgIChGaXJlZm94Lmluc3RhbGxfd2ViZHJpdmVyKToK
KyAgICAgICAgKEZpcmVmb3gudmVyc2lvbik6CisgICAgICAgIChDaHJvbWUpOgorICAgICAgICAo
Q2hyb21lLnBsYXRmb3JtX3N0cmluZyk6CisgICAgICAgIChDaHJvbWUuaW5zdGFsbCk6CisgICAg
ICAgIChDaHJvbWUuZmluZF93ZWJkcml2ZXIpOgorICAgICAgICAoQ2hyb21lLmluc3RhbGxfd2Vi
ZHJpdmVyKToKKyAgICAgICAgKENocm9tZS52ZXJzaW9uKToKKyAgICAgICAgKENocm9tZS5wcmVw
YXJlX2Vudmlyb25tZW50KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvYnJv
d3NlcnV0aWxzL3V0aWxzLnB5OiBBZGRlZC4KKyAgICAgICAgKEt3YXJncyk6CisgICAgICAgIChL
d2FyZ3Muc2V0X2lmX25vbmUpOgorICAgICAgICAoY2FsbCk6CisgICAgICAgIChnZXRfZ2l0X2Nt
ZCk6CisgICAgICAgIChnZXRfZ2l0X2NtZC5naXQpOgorICAgICAgICAoc2Vla2FibGUpOgorICAg
ICAgICAodW50YXIpOgorICAgICAgICAodW56aXApOgorICAgICAgICAocHdkKToKKyAgICAgICAg
KHB3ZC5fX2luaXRfXyk6CisgICAgICAgIChwd2QuX19lbnRlcl9fKToKKyAgICAgICAgKHB3ZC5f
X2V4aXRfXyk6CisgICAgICAgIChnZXQpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9icm93c2VydXRpbHMvdmlydHVhbGVudi5weTogQWRkZWQuCisgICAgICAgIChWaXJ0dWFs
ZW52KToKKyAgICAgICAgKFZpcnR1YWxlbnYuX19pbml0X18pOgorICAgICAgICAoVmlydHVhbGVu
di5leGlzdHMpOgorICAgICAgICAoVmlydHVhbGVudi5jcmVhdGUpOgorICAgICAgICAoVmlydHVh
bGVudi5iaW5fcGF0aCk6CisgICAgICAgIChWaXJ0dWFsZW52LnBpcF9wYXRoKToKKyAgICAgICAg
KFZpcnR1YWxlbnYuYWN0aXZhdGUpOgorICAgICAgICAoVmlydHVhbGVudi5zdGFydCk6CisgICAg
ICAgIChWaXJ0dWFsZW52Lmluc3RhbGxfcmVxdWlyZW1lbnRzKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL3czYy1pbXBvcnQubG9nOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL2h0bWw1bGliL3Rlc3RzL3BlcmZvcm1hbmNlL3czYy1pbXBvcnQubG9nLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jb25mdGVzdC5weToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL3Rlc3RzL3czYy1pbXBvcnQubG9nOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy93M2MtaW1wb3J0
LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVs
aWIvZmlsdGVycy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvc2VyaWFsaXplci93M2MtaW1wb3J0LmxvZzoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvcGVy
Zm9ybWFuY2UvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL2VuY29kaW5nL2NoYXJkZXQvdzNj
LWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL2VuY29kaW5nL3czYy1pbXBvcnQubG9nOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0
ZGF0YS9zYW5pdGl6ZXIvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3NlcmlhbGl6ZXIvdzNj
LWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3NuaWZmZXIvdzNjLWltcG9ydC5sb2c6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rk
YXRhL3Rva2VuaXplci93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdHJlZS1jb25zdHJ1Y3Rp
b24vc2NyaXB0ZWQvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3RyZWUtY29uc3RydWN0aW9u
L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS92YWxpZGF0b3IvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3Rz
L3Rlc3RkYXRhL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWFkYXB0ZXJzL3cz
Yy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxp
Yi9odG1sNWxpYi90cmVlYnVpbGRlcnMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWV3YWxrZXJzL3czYy1pbXBv
cnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90cmllL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvdXRpbHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3czYy1pbXBvcnQubG9nOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L2xpbnQucHk6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRj
aC9zdXBwb3J0L3Rvb2xzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvc3VwcG9ydC93M2Mt
aW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0
cy9kdW1teS9jc3MtdW5pcXVlL21hdGNoL3Rvb2xzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0
Y2gvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xp
bnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0Y2gvc3VwcG9ydC93M2MtaW1wb3J0Lmxv
ZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9j
c3MtdW5pcXVlL25vdC1tYXRjaC90b29scy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL25vdC1tYXRj
aC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGlu
dC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3NlbGVjdG9ycy93M2MtaW1wb3J0LmxvZzoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVl
L3N1cHBvcnQvdG9vbHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9zdXBwb3J0L3czYy1pbXBvcnQu
bG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15
L2Nzcy11bmlxdWUvdG9vbHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS93M2MtaW1wb3J0LmxvZzoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3Mv
d29yay1pbi1wcm9ncmVzcy9mb28vc3VwcG9ydC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9yZWYvdzNjLWltcG9ydC5s
b2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkv
dzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQv
dGVzdHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2xpbnQvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2xvY2FscGF0aHMucHk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlm
ZXN0L2NhdGFsb2cvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL21hbmlmZXN0L3Rlc3RzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0LmluaToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvX2NvZGUvdzNjLWltcG9ydC5sb2c6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L2Fzc2VydGlvbi93M2Mt
aW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19w
eXRlc3QvdmVuZG9yZWRfcGFja2FnZXMvcGx1Z2d5LTAuMy4xLmRpc3QtaW5mby93M2MtaW1wb3J0
LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3Qv
dmVuZG9yZWRfcGFja2FnZXMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvYmVuY2gvdzNjLWltcG9ydC5sb2c6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RlbXBsYXRlcy93
M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0
L2RvYy9lbi9fdGhlbWVzL2ZsYXNrL3N0YXRpYy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9fdGhlbWVzL2ZsYXNrL3czYy1p
bXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9j
L2VuL190aGVtZXMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5dGVzdC9kb2MvZW4vYW5ub3VuY2UvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9hc3NlcnRpb24v
Z2xvYmFsX3Rlc3Rtb2R1bGVfY29uZmlnL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvYXNzZXJ0aW9uL3czYy1p
bXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9j
L2VuL2V4YW1wbGUvY29zdGx5c2V0dXAvc3ViMS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVw
L3N1YjIvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlzZXR1cC93M2MtaW1wb3J0LmxvZzoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2xheW91
dDEvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
dGVzdC9kb2MvZW4vZXhhbXBsZS9ub25weXRob24vdzNjLWltcG9ydC5sb2c6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9weTJweTMvdzNj
LWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9k
b2MvZW4vZXhhbXBsZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9pbWcvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vdGVzdC9wbHVnaW4vdzNjLWltcG9y
dC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4v
dGVzdC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L2RvYy9lbi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl0ZXN0L2V4dHJhL3NldHVwLXB5LnRlc3QvdzNjLWltcG9ydC5sb2c6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9leHRyYS93M2MtaW1wb3J0Lmxv
ZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvY29k
ZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3Rlc3RzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy9jeF9mcmVlemUvdzNjLWltcG9y
dC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5n
L3B5dGhvbi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHl0ZXN0L3Rlc3RpbmcvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL2V4YW1wbGUvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9tb2RfcHl3
ZWJzb2NrZXQvaGFuZHNoYWtlL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvbW9kX3B5d2Vic29ja2V0L3czYy1pbXBvcnQu
bG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMv
dGVzdC9jZXJ0L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIvdzNjLWltcG9y
dC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3Ny
Yy90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS93M2MtaW1w
b3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQv
c3JjL3Rlc3QvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5d2Vic29ja2V0L3NyYy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcnVubmVyL2Nzcy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL2ZvbnRzL3czYy1pbXBvcnQubG9nOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9ydW5uZXIvdzNjLWltcG9ydC5sb2c6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NjcmlwdHMvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NlcnZlL3czYy1pbXBvcnQubG9nOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zaXgvZG9jdW1lbnRhdGlvbi93M2Mt
aW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4L3czYy1p
bXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zc2x1dGlscy93
M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdG94Lmlu
aToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci9SRUFETUUubWQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93M2MtaW1wb3J0Lmxv
ZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZl
ci9jbGllbnQucHk6CisgICAgICAgIChFbGVtZW50LnNlbmRfa2V5cyk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93ZWJkcml2ZXIvdzNjLWltcG9ydC5sb2c6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bi5weTogQWRkZWQuCisg
ICAgICAgIChXcHRydW5uZXJIZWxwQWN0aW9uKToKKyAgICAgICAgKFdwdHJ1bm5lckhlbHBBY3Rp
b24uX19pbml0X18pOgorICAgICAgICAoV3B0cnVubmVySGVscEFjdGlvbi5fX2NhbGxfXyk6Cisg
ICAgICAgIChjcmVhdGVfcGFyc2VyKToKKyAgICAgICAgKGV4aXQpOgorICAgICAgICAoYXJnc19n
ZW5lcmFsKToKKyAgICAgICAgKGNoZWNrX2Vudmlyb24pOgorICAgICAgICAocHJvbXB0X2luc3Rh
bGwpOgorICAgICAgICAoYXJnc19maXJlZm94KToKKyAgICAgICAgKHNldHVwX2ZpcmVmb3gpOgor
ICAgICAgICAoYXJnc19jaHJvbWUpOgorICAgICAgICAoc2V0dXBfY2hyb21lKToKKyAgICAgICAg
KHNldHVwX2VkZ2UpOgorICAgICAgICAoc2V0dXBfc2F1Y2UpOgorICAgICAgICAoc2V0dXBfc2Vy
dm8pOgorICAgICAgICAoc2V0dXBfd3B0cnVubmVyKToKKyAgICAgICAgKG1haW4pOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvTElDRU5TRTogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvTElD
RU5TRS4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL01BTklG
RVNULmluOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL1JFQURNRS5yc3Q6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvZG9jcy9NYWtlZmlsZTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL2FyY2hpdGVjdHVyZS5zdmc6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9jb25mLnB5OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3Mv
ZGVzaWduLnJzdDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9kb2NzL2V4cGVjdGF0aW9uLnJzdDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL2luZGV4LnJzdDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL21ha2UuYmF0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvdXNh
Z2UucnN0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL2RvY3MvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfY2hyb21lLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9y
ZXF1aXJlbWVudHNfZmlyZWZveC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX3NhdWNlLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfc2Vy
dm8udHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3NldHVwLnB5OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2FuZF9mYWlsLmh0bWwuaW5p
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWwuaHRtbC5pbmk6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0
YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC5odG1sLmluaTogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9taXNtYXRjaF9mYWlsLmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X3JlZl90aW1lb3V0Lmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3RpbWVvdXQu
aHRtbC5pbmk6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVz
dGhhcm5lc3MvZmlyZWZveC9fX2Rpcl9fLmluaTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVm
b3gvc3ViZGlyL3Rlc3RfcHJlZl9yZXNldC5odG1sLmluaTogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNz
L2ZpcmVmb3gvc3ViZGlyL3czYy1pbXBvcnQubG9nOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2RvYy9pbWcvdzNjLWltcG9y
dC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdGVzdF9wcmVmX3NldC5odG1sLmluaTogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21l
dGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdzNjLWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdub3Jl
L3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvX19kaXJfXy5pbmk6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRh
ZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdGVzdGhhcm5lc3NfMS5odG1sLmluaTogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRh
L3Rlc3RoYXJuZXNzL3N1YmRpci93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi90ZXN0cy90ZXN0ZGF0YS9lbmNvZGluZy9jaGFyZGV0L3czYy1pbXBvcnQubG9nLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0
aGFybmVzcy90ZXN0aGFybmVzc18wLmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdGVz
dGhhcm5lc3NfZXJyb3IuaHRtbC5pbmk6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVz
c190aW1lb3V0Lmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdzNjLWltcG9ydC5sb2c6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvZ2l0aWdub3JlL3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0LmNmZy5leGFtcGxlOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdC5weTogQWRk
ZWQuCisgICAgICAgIChzZXR1cF93cHRydW5uZXJfbG9nZ2luZyk6CisgICAgICAgIChSZXN1bHRI
YW5kbGVyKToKKyAgICAgICAgKFJlc3VsdEhhbmRsZXIuX19pbml0X18pOgorICAgICAgICAoUmVz
dWx0SGFuZGxlci5zZXRfcHJvZHVjdCk6CisgICAgICAgIChSZXN1bHRIYW5kbGVyLl9fY2FsbF9f
KToKKyAgICAgICAgKHRlc3Rfc2V0dGluZ3MpOgorICAgICAgICAocmVhZF9jb25maWcpOgorICAg
ICAgICAocnVuX3Rlc3RzKToKKyAgICAgICAgKHNldHRpbmdzX3RvX2FyZ3YpOgorICAgICAgICAo
c2V0X2Zyb21fYXJncyk6CisgICAgICAgIChydW4pOgorICAgICAgICAoZ2V0X3BhcnNlcik6Cisg
ICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
cmVmdGVzdC9ncmVlbi1yZWYtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4t
cmVmLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0Lmh0dHBzLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9hbmRfZmFpbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X2FuZF9mYWlsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWxfMC1yZWYt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVz
dF9jeWNsZV8wLXJlZi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5
Y2xlXzAtcmVmLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMS1yZWYtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV8xLXJlZi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWwtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfY3ljbGVfZmFpbF8wLXJlZi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X2N5Y2xlX2ZhaWxfMC1yZWYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9t
YXRjaC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoX2ZhaWwuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9taXNtYXRjaC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X21pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9vcl8wLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS9yZWZ0ZXN0L3JlZnRlc3Rfb3JfMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3Jl
Zl90aW1lb3V0LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfcmVmX3Rp
bWVvdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF90aW1lb3V0LWV4cGVjdGVkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X3dhaXRfMC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0
ZXN0X3dhaXRfMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC93M2MtaW1wb3J0LmxvZzogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3Rlc3RfcHJlZl9pbmhlcml0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90
ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfcmVzZXQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3czYy1pbXBvcnQubG9nOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3BlcmZvcm1hbmNlL3czYy1pbXBvcnQubG9nLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90
ZXN0aGFybmVzcy9maXJlZm94L3Rlc3RfcHJlZl9kaXIuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJu
ZXNzL2ZpcmVmb3gvdGVzdF9wcmVmX3NldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmly
ZWZveC93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvdzNjLWltcG9ydC5sb2cuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rl
c3RoYXJuZXNzL3N1YmRpci90ZXN0aGFybmVzc18xLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVz
cy9zdWJkaXIvdzNjLWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2ltZy93M2MtaW1wb3J0LmxvZy4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3MuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJu
ZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNz
X2Vycm9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc19sb25nX3RpbWVv
dXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVvdXQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdzNjLWltcG9ydC5sb2c6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvc2FuaXRpemVyL3czYy1pbXBvcnQu
bG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdG94Lmlu
aTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIuZGVmYXVsdC5pbmk6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL19faW5pdF9fLnB5OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci9icm93c2Vycy9fX2luaXRfXy5weTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYjJnX3NldHVwL2NlcnR0ZXN0
X2FwcC56aXA6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2IyZ19zZXR1cC93M2MtaW1wb3J0LmxvZzogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eS9kb2MvaW1nL3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2Jhc2UucHk6IEFkZGVkLgorICAgICAg
ICAoY21kX2FyZyk6CisgICAgICAgIChnZXRfZnJlZV9wb3J0KToKKyAgICAgICAgKGJyb3dzZXJf
Y29tbWFuZCk6CisgICAgICAgIChCcm93c2VyRXJyb3IpOgorICAgICAgICAoQnJvd3Nlcik6Cisg
ICAgICAgIChCcm93c2VyLl9faW5pdF9fKToKKyAgICAgICAgKEJyb3dzZXIuX19pbml0X18uc2Vy
dmluZyk6CisgICAgICAgIChCcm93c2VyLl9faW5pdF9fLmFsc28pOgorICAgICAgICAoQnJvd3Nl
ci5fX2VudGVyX18pOgorICAgICAgICAoQnJvd3Nlci5fX2V4aXRfXyk6CisgICAgICAgIChCcm93
c2VyLnNldHVwKToKKyAgICAgICAgKEJyb3dzZXIuc3RhcnQpOgorICAgICAgICAoQnJvd3Nlci5z
dG9wKToKKyAgICAgICAgKEJyb3dzZXIucGlkKToKKyAgICAgICAgKEJyb3dzZXIuaXNfYWxpdmUp
OgorICAgICAgICAoQnJvd3Nlci5zZXR1cF9zc2wpOgorICAgICAgICAoQnJvd3Nlci5jbGVhbnVw
KToKKyAgICAgICAgKEJyb3dzZXIuZXhlY3V0b3JfYnJvd3Nlcik6CisgICAgICAgIChCcm93c2Vy
LmV4ZWN1dG9yX2Jyb3dzZXIuZm9yKToKKyAgICAgICAgKEJyb3dzZXIubG9nX2NyYXNoKToKKyAg
ICAgICAgKE51bGxCcm93c2VyKToKKyAgICAgICAgKE51bGxCcm93c2VyLl9faW5pdF9fKToKKyAg
ICAgICAgKE51bGxCcm93c2VyLnN0YXJ0KToKKyAgICAgICAgKE51bGxCcm93c2VyLnN0b3ApOgor
ICAgICAgICAoTnVsbEJyb3dzZXIucGlkKToKKyAgICAgICAgKE51bGxCcm93c2VyLmlzX2FsaXZl
KToKKyAgICAgICAgKE51bGxCcm93c2VyLm9uX291dHB1dCk6CisgICAgICAgIChFeGVjdXRvckJy
b3dzZXIpOgorICAgICAgICAoRXhlY3V0b3JCcm93c2VyLl9faW5pdF9fKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9jaHJv
bWUucHk6IEFkZGVkLgorICAgICAgICAoY2hlY2tfYXJncyk6CisgICAgICAgIChicm93c2VyX2t3
YXJncyk6CisgICAgICAgIChleGVjdXRvcl9rd2FyZ3MpOgorICAgICAgICAoZW52X2V4dHJhcyk6
CisgICAgICAgIChlbnZfb3B0aW9ucyk6CisgICAgICAgIChDaHJvbWVCcm93c2VyKToKKyAgICAg
ICAgKENocm9tZUJyb3dzZXIuX19pbml0X18pOgorICAgICAgICAoQ2hyb21lQnJvd3Nlci5zdGFy
dCk6CisgICAgICAgIChDaHJvbWVCcm93c2VyLnN0b3ApOgorICAgICAgICAoQ2hyb21lQnJvd3Nl
ci5waWQpOgorICAgICAgICAoQ2hyb21lQnJvd3Nlci5pc19hbGl2ZSk6CisgICAgICAgIChDaHJv
bWVCcm93c2VyLmNsZWFudXApOgorICAgICAgICAoQ2hyb21lQnJvd3Nlci5leGVjdXRvcl9icm93
c2VyKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9icm93c2Vycy9lZGdlLnB5OiBBZGRlZC4KKyAgICAgICAgKGNoZWNrX2FyZ3MpOgorICAg
ICAgICAoYnJvd3Nlcl9rd2FyZ3MpOgorICAgICAgICAoZXhlY3V0b3Jfa3dhcmdzKToKKyAgICAg
ICAgKGVudl9leHRyYXMpOgorICAgICAgICAoZW52X29wdGlvbnMpOgorICAgICAgICAoRWRnZUJy
b3dzZXIpOgorICAgICAgICAoRWRnZUJyb3dzZXIuX19pbml0X18pOgorICAgICAgICAoRWRnZUJy
b3dzZXIuc3RhcnQpOgorICAgICAgICAoRWRnZUJyb3dzZXIuc3RvcCk6CisgICAgICAgIChFZGdl
QnJvd3Nlci5waWQpOgorICAgICAgICAoRWRnZUJyb3dzZXIuaXNfYWxpdmUpOgorICAgICAgICAo
RWRnZUJyb3dzZXIuY2xlYW51cCk6CisgICAgICAgIChFZGdlQnJvd3Nlci5leGVjdXRvcl9icm93
c2VyKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9icm93c2Vycy9maXJlZm94LnB5OiBBZGRlZC4KKyAgICAgICAgKGNoZWNrX2FyZ3MpOgor
ICAgICAgICAoYnJvd3Nlcl9rd2FyZ3MpOgorICAgICAgICAoZXhlY3V0b3Jfa3dhcmdzKToKKyAg
ICAgICAgKGVudl9leHRyYXMpOgorICAgICAgICAoZW52X29wdGlvbnMpOgorICAgICAgICAocnVu
X2luZm9fZXh0cmFzKToKKyAgICAgICAgKHVwZGF0ZV9wcm9wZXJ0aWVzKToKKyAgICAgICAgKEZp
cmVmb3hCcm93c2VyKToKKyAgICAgICAgKEZpcmVmb3hCcm93c2VyLl9faW5pdF9fKToKKyAgICAg
ICAgKEZpcmVmb3hCcm93c2VyLnN0YXJ0KToKKyAgICAgICAgKEZpcmVmb3hCcm93c2VyLmxvYWRf
cHJlZnMpOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIuc3RvcCk6CisgICAgICAgIChGaXJlZm94
QnJvd3Nlci5waWQpOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIub25fb3V0cHV0KToKKyAgICAg
ICAgKEZpcmVmb3hCcm93c2VyLmlzX2FsaXZlKToKKyAgICAgICAgKEZpcmVmb3hCcm93c2VyLmNs
ZWFudXApOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIuZXhlY3V0b3JfYnJvd3Nlcik6CisgICAg
ICAgIChGaXJlZm94QnJvd3Nlci5sb2dfY3Jhc2gpOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIu
c2V0dXBfc3NsKToKKyAgICAgICAgKEZpcmVmb3hCcm93c2VyLnNldHVwX3NzbC5jZXJ0dXRpbCk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
YnJvd3NlcnMvc2F1Y2UucHk6IEFkZGVkLgorICAgICAgICAoZ2V0X2NhcGFiaWxpdGllcyk6Cisg
ICAgICAgIChnZXRfc2F1Y2VfY29uZmlnKToKKyAgICAgICAgKGNoZWNrX2FyZ3MpOgorICAgICAg
ICAoYnJvd3Nlcl9rd2FyZ3MpOgorICAgICAgICAoZXhlY3V0b3Jfa3dhcmdzKToKKyAgICAgICAg
KGVudl9leHRyYXMpOgorICAgICAgICAoZW52X29wdGlvbnMpOgorICAgICAgICAoZ2V0X3Rhcik6
CisgICAgICAgIChTYXVjZUNvbm5lY3QpOgorICAgICAgICAoU2F1Y2VDb25uZWN0Ll9faW5pdF9f
KToKKyAgICAgICAgKFNhdWNlQ29ubmVjdC5fX2VudGVyX18pOgorICAgICAgICAoU2F1Y2VDb25u
ZWN0Ll9fZXhpdF9fKToKKyAgICAgICAgKFNhdWNlQ29ubmVjdC51cGxvYWRfcHJlcnVuX2V4ZWMp
OgorICAgICAgICAoU2F1Y2VFeGNlcHRpb24pOgorICAgICAgICAoU2F1Y2VCcm93c2VyKToKKyAg
ICAgICAgKFNhdWNlQnJvd3Nlci5fX2luaXRfXyk6CisgICAgICAgIChTYXVjZUJyb3dzZXIuc3Rh
cnQpOgorICAgICAgICAoU2F1Y2VCcm93c2VyLnN0b3ApOgorICAgICAgICAoU2F1Y2VCcm93c2Vy
LnBpZCk6CisgICAgICAgIChTYXVjZUJyb3dzZXIuaXNfYWxpdmUpOgorICAgICAgICAoU2F1Y2VC
cm93c2VyLmNsZWFudXApOgorICAgICAgICAoU2F1Y2VCcm93c2VyLmV4ZWN1dG9yX2Jyb3dzZXIp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2Jyb3dzZXJzL3NhdWNlX3NldHVwL2VkZ2UtcHJlcnVuLmJhdDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1
Y2Vfc2V0dXAvc2FmYXJpLXByZXJ1bi5zaDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0dXAvdzNj
LWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL3Rlc3RzL3czYy1pbXBvcnQubG9nLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJz
L3NlcnZlci1sb2NhdGlvbnMudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zZXJ2by5weTogQWRkZWQuCisg
ICAgICAgIChjaGVja19hcmdzKToKKyAgICAgICAgKGJyb3dzZXJfa3dhcmdzKToKKyAgICAgICAg
KGV4ZWN1dG9yX2t3YXJncyk6CisgICAgICAgIChlbnZfZXh0cmFzKToKKyAgICAgICAgKGVudl9v
cHRpb25zKToKKyAgICAgICAgKHVwZGF0ZV9wcm9wZXJ0aWVzKToKKyAgICAgICAgKFNlcnZvQnJv
d3Nlcik6CisgICAgICAgIChTZXJ2b0Jyb3dzZXIuX19pbml0X18pOgorICAgICAgICAoU2Vydm9C
cm93c2VyLmV4ZWN1dG9yX2Jyb3dzZXIpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NlcnZvZHJpdmVyLnB5OiBBZGRlZC4K
KyAgICAgICAgKGNoZWNrX2FyZ3MpOgorICAgICAgICAoYnJvd3Nlcl9rd2FyZ3MpOgorICAgICAg
ICAoZXhlY3V0b3Jfa3dhcmdzKToKKyAgICAgICAgKGVudl9leHRyYXMpOgorICAgICAgICAoZW52
X29wdGlvbnMpOgorICAgICAgICAodXBkYXRlX3Byb3BlcnRpZXMpOgorICAgICAgICAobWFrZV9o
b3N0c19maWxlKToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyQnJvd3Nlcik6CisgICAgICAgIChT
ZXJ2b1dlYkRyaXZlckJyb3dzZXIuX19pbml0X18pOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJC
cm93c2VyLnN0YXJ0KToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyQnJvd3Nlci5zdG9wKToKKyAg
ICAgICAgKFNlcnZvV2ViRHJpdmVyQnJvd3Nlci5waWQpOgorICAgICAgICAoU2Vydm9XZWJEcml2
ZXJCcm93c2VyLm9uX291dHB1dCk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlckJyb3dzZXIuaXNf
YWxpdmUpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJCcm93c2VyLmNsZWFudXApOgorICAgICAg
ICAoU2Vydm9XZWJEcml2ZXJCcm93c2VyLmV4ZWN1dG9yX2Jyb3dzZXIpOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3czYy1p
bXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9jb25maWcuanNvbjogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvY29uZmlnLnB5OiBBZGRlZC4KKyAg
ICAgICAgKENvbmZpZ0RpY3QpOgorICAgICAgICAoQ29uZmlnRGljdC5fX2luaXRfXyk6CisgICAg
ICAgIChDb25maWdEaWN0LmdldF9wYXRoKToKKyAgICAgICAgKHJlYWQpOgorICAgICAgICAocGF0
aCk6CisgICAgICAgIChsb2FkKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9lbnZpcm9ubWVudC5weTogQWRkZWQuCisgICAgICAgIChkb19k
ZWxheWVkX2ltcG9ydHMpOgorICAgICAgICAoc2VydmVfcGF0aCk6CisgICAgICAgIChnZXRfc3Ns
X2t3YXJncyk6CisgICAgICAgIChzc2xfZW52KToKKyAgICAgICAgKFRlc3RFbnZpcm9ubWVudEVy
cm9yKToKKyAgICAgICAgKFRlc3RFbnZpcm9ubWVudCk6CisgICAgICAgIChUZXN0RW52aXJvbm1l
bnQuX19pbml0X18pOgorICAgICAgICAoVGVzdEVudmlyb25tZW50Ll9fZW50ZXJfXyk6CisgICAg
ICAgIChUZXN0RW52aXJvbm1lbnQuX19leGl0X18pOgorICAgICAgICAoVGVzdEVudmlyb25tZW50
Lmlnbm9yZV9pbnRlcnJ1cHRzKToKKyAgICAgICAgKFRlc3RFbnZpcm9ubWVudC5wcm9jZXNzX2lu
dGVycnVwdHMpOgorICAgICAgICAoVGVzdEVudmlyb25tZW50LmxvYWRfY29uZmlnKToKKyAgICAg
ICAgKFRlc3RFbnZpcm9ubWVudC5zZXR1cF9zZXJ2ZXJfbG9nZ2luZyk6CisgICAgICAgIChUZXN0
RW52aXJvbm1lbnQuZ2V0X3JvdXRlcyk6CisgICAgICAgIChUZXN0RW52aXJvbm1lbnQuZW5zdXJl
X3N0YXJ0ZWQpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2V4ZWN1dG9ycy9fX2luaXRfXy5weTogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2Jhc2UucHk6
IEFkZGVkLgorICAgICAgICAoZXhlY3V0b3Jfa3dhcmdzKToKKyAgICAgICAgKHN0cmlwX3NlcnZl
cik6CisgICAgICAgIChUZXN0aGFybmVzc1Jlc3VsdENvbnZlcnRlcik6CisgICAgICAgIChUZXN0
aGFybmVzc1Jlc3VsdENvbnZlcnRlci5fX2NhbGxfXyk6CisgICAgICAgIChyZWZ0ZXN0X3Jlc3Vs
dF9jb252ZXJ0ZXIpOgorICAgICAgICAocHl0ZXN0X3Jlc3VsdF9jb252ZXJ0ZXIpOgorICAgICAg
ICAoRXhlY3V0b3JFeGNlcHRpb24pOgorICAgICAgICAoRXhlY3V0b3JFeGNlcHRpb24uX19pbml0
X18pOgorICAgICAgICAoVGVzdEV4ZWN1dG9yKToKKyAgICAgICAgKFRlc3RFeGVjdXRvci5fX2lu
aXRfXyk6CisgICAgICAgIChUZXN0RXhlY3V0b3IuX19pbml0X18uZm9yKToKKyAgICAgICAgKFRl
c3RFeGVjdXRvci5sb2dnZXIpOgorICAgICAgICAoVGVzdEV4ZWN1dG9yLnNldHVwKToKKyAgICAg
ICAgKFRlc3RFeGVjdXRvci50ZWFyZG93bik6CisgICAgICAgIChUZXN0RXhlY3V0b3IucnVuX3Rl
c3QpOgorICAgICAgICAoVGVzdEV4ZWN1dG9yLnNlcnZlcl91cmwpOgorICAgICAgICAoVGVzdEV4
ZWN1dG9yLnRlc3RfdXJsKToKKyAgICAgICAgKFRlc3RFeGVjdXRvci5kb190ZXN0KToKKyAgICAg
ICAgKFRlc3RFeGVjdXRvci5vbl9lbnZpcm9ubWVudF9jaGFuZ2UpOgorICAgICAgICAoVGVzdEV4
ZWN1dG9yLnJlc3VsdF9mcm9tX2V4Y2VwdGlvbik6CisgICAgICAgIChUZXN0aGFybmVzc0V4ZWN1
dG9yKToKKyAgICAgICAgKFJlZlRlc3RFeGVjdXRvcik6CisgICAgICAgIChSZWZUZXN0RXhlY3V0
b3IuX19pbml0X18pOgorICAgICAgICAoUmVmVGVzdEltcGxlbWVudGF0aW9uKToKKyAgICAgICAg
KFJlZlRlc3RJbXBsZW1lbnRhdGlvbi5fX2luaXRfXyk6CisgICAgICAgIChSZWZUZXN0SW1wbGVt
ZW50YXRpb24ubG9nZ2VyKToKKyAgICAgICAgKFJlZlRlc3RJbXBsZW1lbnRhdGlvbi5nZXRfaGFz
aCk6CisgICAgICAgIChSZWZUZXN0SW1wbGVtZW50YXRpb24uaXNfcGFzcyk6CisgICAgICAgIChS
ZWZUZXN0SW1wbGVtZW50YXRpb24ucnVuX3Rlc3QpOgorICAgICAgICAoUmVmVGVzdEltcGxlbWVu
dGF0aW9uLnJldGFrZV9zY3JlZW5zaG90KToKKyAgICAgICAgKFdkc3BlY0V4ZWN1dG9yKToKKyAg
ICAgICAgKFByb3RvY29sKToKKyAgICAgICAgKFByb3RvY29sLl9faW5pdF9fKToKKyAgICAgICAg
KFByb3RvY29sLmxvZ2dlcik6CisgICAgICAgIChQcm90b2NvbC5zZXR1cCk6CisgICAgICAgIChQ
cm90b2NvbC50ZWFyZG93bik6CisgICAgICAgIChQcm90b2NvbC53YWl0KToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhl
Y3V0b3JtYXJpb25ldHRlLnB5OiBBZGRlZC4KKyAgICAgICAgKGRvX2RlbGF5ZWRfaW1wb3J0cyk6
CisgICAgICAgIChNYXJpb25ldHRlUHJvdG9jb2wpOgorICAgICAgICAoTWFyaW9uZXR0ZVByb3Rv
Y29sLl9faW5pdF9fKToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC5zZXR1cCk6CisgICAg
ICAgIChNYXJpb25ldHRlUHJvdG9jb2wudGVhcmRvd24pOgorICAgICAgICAoTWFyaW9uZXR0ZVBy
b3RvY29sLmlzX2FsaXZlKToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC5hZnRlcl9jb25u
ZWN0KToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC5zZXRfdGltZW91dCk6CisgICAgICAg
IChNYXJpb25ldHRlUHJvdG9jb2wubG9hZF9ydW5uZXIpOgorICAgICAgICAoTWFyaW9uZXR0ZVBy
b3RvY29sLmNsb3NlX29sZF93aW5kb3dzKToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC53
YWl0KToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC5vbl9lbnZpcm9ubWVudF9jaGFuZ2Up
OgorICAgICAgICAoTWFyaW9uZXR0ZVByb3RvY29sLnNldF9wcmVmKToKKyAgICAgICAgKE1hcmlv
bmV0dGVQcm90b2NvbC5jbGVhcl91c2VyX3ByZWYpOgorICAgICAgICAoTWFyaW9uZXR0ZVByb3Rv
Y29sLmdldF9wcmVmKToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC5jbGVhcl9vcmlnaW4p
OgorICAgICAgICAoUmVtb3RlTWFyaW9uZXR0ZVByb3RvY29sKToKKyAgICAgICAgKFJlbW90ZU1h
cmlvbmV0dGVQcm90b2NvbC5fX2luaXRfXyk6CisgICAgICAgIChSZW1vdGVNYXJpb25ldHRlUHJv
dG9jb2wuc2V0dXApOgorICAgICAgICAoUmVtb3RlTWFyaW9uZXR0ZVByb3RvY29sLnRlYXJkb3du
KToKKyAgICAgICAgKFJlbW90ZU1hcmlvbmV0dGVQcm90b2NvbC5pc19hbGl2ZSk6CisgICAgICAg
IChFeGVjdXRlQXN5bmNTY3JpcHRSdW4pOgorICAgICAgICAoRXhlY3V0ZUFzeW5jU2NyaXB0UnVu
Ll9faW5pdF9fKToKKyAgICAgICAgKEV4ZWN1dGVBc3luY1NjcmlwdFJ1bi5ydW4pOgorICAgICAg
ICAoRXhlY3V0ZUFzeW5jU2NyaXB0UnVuLl9ydW4pOgorICAgICAgICAoTWFyaW9uZXR0ZVRlc3Ro
YXJuZXNzRXhlY3V0b3IpOgorICAgICAgICAoTWFyaW9uZXR0ZVRlc3RoYXJuZXNzRXhlY3V0b3Iu
X19pbml0X18pOgorICAgICAgICAoTWFyaW9uZXR0ZVRlc3RoYXJuZXNzRXhlY3V0b3IuaXNfYWxp
dmUpOgorICAgICAgICAoTWFyaW9uZXR0ZVRlc3RoYXJuZXNzRXhlY3V0b3Iub25fZW52aXJvbm1l
bnRfY2hhbmdlKToKKyAgICAgICAgKE1hcmlvbmV0dGVUZXN0aGFybmVzc0V4ZWN1dG9yLmRvX3Rl
c3QpOgorICAgICAgICAoTWFyaW9uZXR0ZVRlc3RoYXJuZXNzRXhlY3V0b3IuZG9fdGVzdGhhcm5l
c3MpOgorICAgICAgICAoTWFyaW9uZXR0ZVJlZlRlc3RFeGVjdXRvcik6CisgICAgICAgIChNYXJp
b25ldHRlUmVmVGVzdEV4ZWN1dG9yLl9faW5pdF9fKToKKyAgICAgICAgKE1hcmlvbmV0dGVSZWZU
ZXN0RXhlY3V0b3IuaXNfYWxpdmUpOgorICAgICAgICAoTWFyaW9uZXR0ZVJlZlRlc3RFeGVjdXRv
ci5vbl9lbnZpcm9ubWVudF9jaGFuZ2UpOgorICAgICAgICAoTWFyaW9uZXR0ZVJlZlRlc3RFeGVj
dXRvci5kb190ZXN0KToKKyAgICAgICAgKE1hcmlvbmV0dGVSZWZUZXN0RXhlY3V0b3Iuc2NyZWVu
c2hvdCk6CisgICAgICAgIChNYXJpb25ldHRlUmVmVGVzdEV4ZWN1dG9yLl9zY3JlZW5zaG90KToK
KyAgICAgICAgKFdkc3BlY1J1bik6CisgICAgICAgIChXZHNwZWNSdW4uX19pbml0X18pOgorICAg
ICAgICAoV2RzcGVjUnVuLnJ1bik6CisgICAgICAgIChXZHNwZWNSdW4uX3J1bik6CisgICAgICAg
IChNYXJpb25ldHRlV2RzcGVjRXhlY3V0b3IpOgorICAgICAgICAoTWFyaW9uZXR0ZVdkc3BlY0V4
ZWN1dG9yLl9faW5pdF9fKToKKyAgICAgICAgKE1hcmlvbmV0dGVXZHNwZWNFeGVjdXRvci5pc19h
bGl2ZSk6CisgICAgICAgIChNYXJpb25ldHRlV2RzcGVjRXhlY3V0b3Iub25fZW52aXJvbm1lbnRf
Y2hhbmdlKToKKyAgICAgICAgKE1hcmlvbmV0dGVXZHNwZWNFeGVjdXRvci5kb190ZXN0KToKKyAg
ICAgICAgKE1hcmlvbmV0dGVXZHNwZWNFeGVjdXRvci5kb193ZHNwZWMpOgorICAgICAgICAoTWFy
aW9uZXR0ZVdkc3BlY0V4ZWN1dG9yLmRvX2RlbGF5ZWRfaW1wb3J0cyk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1
dG9yc2VsZW5pdW0ucHk6IEFkZGVkLgorICAgICAgICAoZG9fZGVsYXllZF9pbXBvcnRzKToKKyAg
ICAgICAgKFNlbGVuaXVtUHJvdG9jb2wpOgorICAgICAgICAoU2VsZW5pdW1Qcm90b2NvbC5fX2lu
aXRfXyk6CisgICAgICAgIChTZWxlbml1bVByb3RvY29sLnNldHVwKToKKyAgICAgICAgKFNlbGVu
aXVtUHJvdG9jb2wudGVhcmRvd24pOgorICAgICAgICAoU2VsZW5pdW1Qcm90b2NvbC5pc19hbGl2
ZSk6CisgICAgICAgIChTZWxlbml1bVByb3RvY29sLmFmdGVyX2Nvbm5lY3QpOgorICAgICAgICAo
U2VsZW5pdW1Qcm90b2NvbC5sb2FkX3J1bm5lcik6CisgICAgICAgIChTZWxlbml1bVByb3RvY29s
LndhaXQpOgorICAgICAgICAoU2VsZW5pdW1SdW4pOgorICAgICAgICAoU2VsZW5pdW1SdW4uX19p
bml0X18pOgorICAgICAgICAoU2VsZW5pdW1SdW4ucnVuKToKKyAgICAgICAgKFNlbGVuaXVtUnVu
Ll9ydW4pOgorICAgICAgICAoU2VsZW5pdW1UZXN0aGFybmVzc0V4ZWN1dG9yKToKKyAgICAgICAg
KFNlbGVuaXVtVGVzdGhhcm5lc3NFeGVjdXRvci5fX2luaXRfXyk6CisgICAgICAgIChTZWxlbml1
bVRlc3RoYXJuZXNzRXhlY3V0b3IuaXNfYWxpdmUpOgorICAgICAgICAoU2VsZW5pdW1UZXN0aGFy
bmVzc0V4ZWN1dG9yLm9uX2Vudmlyb25tZW50X2NoYW5nZSk6CisgICAgICAgIChTZWxlbml1bVRl
c3RoYXJuZXNzRXhlY3V0b3IuZG9fdGVzdCk6CisgICAgICAgIChTZWxlbml1bVRlc3RoYXJuZXNz
RXhlY3V0b3IuZG9fdGVzdGhhcm5lc3MpOgorICAgICAgICAoU2VsZW5pdW1SZWZUZXN0RXhlY3V0
b3IpOgorICAgICAgICAoU2VsZW5pdW1SZWZUZXN0RXhlY3V0b3IuX19pbml0X18pOgorICAgICAg
ICAoU2VsZW5pdW1SZWZUZXN0RXhlY3V0b3IuaXNfYWxpdmUpOgorICAgICAgICAoU2VsZW5pdW1S
ZWZUZXN0RXhlY3V0b3IuZG9fdGVzdCk6CisgICAgICAgIChTZWxlbml1bVJlZlRlc3RFeGVjdXRv
ci5zY3JlZW5zaG90KToKKyAgICAgICAgKFNlbGVuaXVtUmVmVGVzdEV4ZWN1dG9yLl9zY3JlZW5z
aG90KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZXJ2by5weTogQWRkZWQuCisgICAgICAgIChtYWtlX2hv
c3RzX2ZpbGUpOgorICAgICAgICAoU2Vydm9UZXN0aGFybmVzc0V4ZWN1dG9yKToKKyAgICAgICAg
KFNlcnZvVGVzdGhhcm5lc3NFeGVjdXRvci5fX2luaXRfXyk6CisgICAgICAgIChTZXJ2b1Rlc3Ro
YXJuZXNzRXhlY3V0b3IudGVhcmRvd24pOgorICAgICAgICAoU2Vydm9UZXN0aGFybmVzc0V4ZWN1
dG9yLmRvX3Rlc3QpOgorICAgICAgICAoU2Vydm9UZXN0aGFybmVzc0V4ZWN1dG9yLm9uX291dHB1
dCk6CisgICAgICAgIChTZXJ2b1Rlc3RoYXJuZXNzRXhlY3V0b3Iub25fZmluaXNoKToKKyAgICAg
ICAgKFRlbXBGaWxlbmFtZSk6CisgICAgICAgIChUZW1wRmlsZW5hbWUuX19pbml0X18pOgorICAg
ICAgICAoVGVtcEZpbGVuYW1lLl9fZW50ZXJfXyk6CisgICAgICAgIChUZW1wRmlsZW5hbWUuX19l
eGl0X18pOgorICAgICAgICAoU2Vydm9SZWZUZXN0RXhlY3V0b3IpOgorICAgICAgICAoU2Vydm9S
ZWZUZXN0RXhlY3V0b3IuX19pbml0X18pOgorICAgICAgICAoU2Vydm9SZWZUZXN0RXhlY3V0b3Iu
dGVhcmRvd24pOgorICAgICAgICAoU2Vydm9SZWZUZXN0RXhlY3V0b3Iuc2NyZWVuc2hvdCk6Cisg
ICAgICAgIChTZXJ2b1JlZlRlc3RFeGVjdXRvci5kb190ZXN0KToKKyAgICAgICAgKFNlcnZvUmVm
VGVzdEV4ZWN1dG9yLm9uX291dHB1dCk6CisgICAgICAgIChTZXJ2b1dkc3BlY1Byb3RvY29sKToK
KyAgICAgICAgKFNlcnZvV2RzcGVjUHJvdG9jb2wuX19pbml0X18pOgorICAgICAgICAoU2Vydm9X
ZHNwZWNQcm90b2NvbC5zZXR1cCk6CisgICAgICAgIChTZXJ2b1dkc3BlY1Byb3RvY29sLnRlYXJk
b3duKToKKyAgICAgICAgKFNlcnZvV2RzcGVjUHJvdG9jb2wuaXNfYWxpdmUpOgorICAgICAgICAo
U2Vydm9XZHNwZWNQcm90b2NvbC5kb19kZWxheWVkX2ltcG9ydHMpOgorICAgICAgICAoU2Vydm9X
ZHNwZWNFeGVjdXRvcik6CisgICAgICAgIChTZXJ2b1dkc3BlY0V4ZWN1dG9yLl9faW5pdF9fKToK
KyAgICAgICAgKFNlcnZvV2RzcGVjRXhlY3V0b3IuaXNfYWxpdmUpOgorICAgICAgICAoU2Vydm9X
ZHNwZWNFeGVjdXRvci5vbl9lbnZpcm9ubWVudF9jaGFuZ2UpOgorICAgICAgICAoU2Vydm9XZHNw
ZWNFeGVjdXRvci5kb190ZXN0KToKKyAgICAgICAgKFNlcnZvV2RzcGVjRXhlY3V0b3IuZG9fd2Rz
cGVjKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZXJ2b2RyaXZlci5weTogQWRkZWQuCisgICAgICAgIChk
b19kZWxheWVkX2ltcG9ydHMpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJQcm90b2NvbCk6Cisg
ICAgICAgIChTZXJ2b1dlYkRyaXZlclByb3RvY29sLl9faW5pdF9fKToKKyAgICAgICAgKFNlcnZv
V2ViRHJpdmVyUHJvdG9jb2wuc2V0dXApOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJQcm90b2Nv
bC50ZWFyZG93bik6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclByb3RvY29sLmlzX2FsaXZlKToK
KyAgICAgICAgKFNlcnZvV2ViRHJpdmVyUHJvdG9jb2wuYWZ0ZXJfY29ubmVjdCk6CisgICAgICAg
IChTZXJ2b1dlYkRyaXZlclByb3RvY29sLndhaXQpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJQ
cm90b2NvbC5vbl9lbnZpcm9ubWVudF9jaGFuZ2UpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJS
dW4pOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJSdW4uX19pbml0X18pOgorICAgICAgICAoU2Vy
dm9XZWJEcml2ZXJSdW4ucnVuKToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyUnVuLl9ydW4pOgor
ICAgICAgICAodGltZW91dF9mdW5jKToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyVGVzdGhhcm5l
c3NFeGVjdXRvcik6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3Iu
X19pbml0X18pOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJUZXN0aGFybmVzc0V4ZWN1dG9yLm9u
X3Byb3RvY29sX2NoYW5nZSk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclRlc3RoYXJuZXNzRXhl
Y3V0b3IuaXNfYWxpdmUpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJUZXN0aGFybmVzc0V4ZWN1
dG9yLmRvX3Rlc3QpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJUZXN0aGFybmVzc0V4ZWN1dG9y
LmRvX3Rlc3RoYXJuZXNzKToKKyAgICAgICAgKFRpbWVvdXRFcnJvcik6CisgICAgICAgIChTZXJ2
b1dlYkRyaXZlclJlZlRlc3RFeGVjdXRvcik6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclJlZlRl
c3RFeGVjdXRvci5fX2luaXRfXyk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclJlZlRlc3RFeGVj
dXRvci5pc19hbGl2ZSk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclJlZlRlc3RFeGVjdXRvci5k
b190ZXN0KToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyUmVmVGVzdEV4ZWN1dG9yLnNjcmVlbnNo
b3QpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJSZWZUZXN0RXhlY3V0b3IuX3NjcmVlbnNob3Qp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy9wcm9jZXNzLnB5OiBBZGRlZC4KKyAgICAgICAgKFByb2Nlc3NUZXN0RXhlY3V0
b3IpOgorICAgICAgICAoUHJvY2Vzc1Rlc3RFeGVjdXRvci5fX2luaXRfXyk6CisgICAgICAgIChQ
cm9jZXNzVGVzdEV4ZWN1dG9yLnNldHVwKToKKyAgICAgICAgKFByb2Nlc3NUZXN0RXhlY3V0b3Iu
aXNfYWxpdmUpOgorICAgICAgICAoUHJvY2Vzc1Rlc3RFeGVjdXRvci5kb190ZXN0KToKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRv
cnMvcHl0ZXN0cnVubmVyL19faW5pdF9fLnB5OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVy
L3J1bm5lci5weTogQWRkZWQuCisgICAgICAgIChkb19kZWxheWVkX2ltcG9ydHMpOgorICAgICAg
ICAocnVuKToKKyAgICAgICAgKFN1YnRlc3RSZXN1bHRSZWNvcmRlcik6CisgICAgICAgIChTdWJ0
ZXN0UmVzdWx0UmVjb3JkZXIuX19pbml0X18pOgorICAgICAgICAoU3VidGVzdFJlc3VsdFJlY29y
ZGVyLnB5dGVzdF9ydW50ZXN0X2xvZ3JlcG9ydCk6CisgICAgICAgIChTdWJ0ZXN0UmVzdWx0UmVj
b3JkZXIucmVjb3JkX3Bhc3MpOgorICAgICAgICAoU3VidGVzdFJlc3VsdFJlY29yZGVyLnJlY29y
ZF9mYWlsKToKKyAgICAgICAgKFN1YnRlc3RSZXN1bHRSZWNvcmRlci5yZWNvcmRfZXJyb3IpOgor
ICAgICAgICAoU3VidGVzdFJlc3VsdFJlY29yZGVyLnJlY29yZF9za2lwKToKKyAgICAgICAgKFN1
YnRlc3RSZXN1bHRSZWNvcmRlci5yZWNvcmQpOgorICAgICAgICAoVGVtcG9yYXJ5RGlyZWN0b3J5
KToKKyAgICAgICAgKFRlbXBvcmFyeURpcmVjdG9yeS5fX2VudGVyX18pOgorICAgICAgICAoVGVt
cG9yYXJ5RGlyZWN0b3J5Ll9fZXhpdF9fKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVyL3czYy1pbXBv
cnQubG9nOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2dpdGlnbm9yZS93M2MtaW1wb3J0LmxvZy4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13
YWl0LmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXRfc2Vy
dm9kcml2ZXIuanM6IEFkZGVkLgorICAgICAgICAoY2hlY2tfZG9uZSk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3JlZnRl
c3Qtd2FpdF93ZWJkcml2ZXIuanM6IEFkZGVkLgorICAgICAgICAodGVzdCk6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Jl
ZnRlc3QuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy90ZXN0aGFybmVzc19tYXJpb25ldHRlLmpzOiBBZGRl
ZC4KKyAgICAgICAgKGxpc3RlbmVyKToKKyAgICAgICAgKHRpbWVvdXQucy50aW1lci5zZXRUaW1l
b3V0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3Nfc2Vydm9kcml2ZXIuanM6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9y
cy90ZXN0aGFybmVzc193ZWJkcml2ZXIuanM6IEFkZGVkLgorICAgICAgICAoZik6CisgICAgICAg
ICh0aW1lci5zZXRUaW1lb3V0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4cGVj
dGVkLnB5OiBBZGRlZC4KKyAgICAgICAgKGV4cGVjdGVkX3BhdGgpOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2hvc3RzLnB5OiBBZGRlZC4K
KyAgICAgICAgKEhvc3RzTGluZSk6CisgICAgICAgIChIb3N0c0xpbmUuX19pbml0X18pOgorICAg
ICAgICAoSG9zdHNMaW5lLmZyb21fc3RyaW5nKToKKyAgICAgICAgKEhvc3RzRmlsZSk6CisgICAg
ICAgIChIb3N0c0ZpbGUuX19pbml0X18pOgorICAgICAgICAoSG9zdHNGaWxlLnNldF9ob3N0KToK
KyAgICAgICAgKEhvc3RzRmlsZS5mcm9tX2ZpbGUpOgorICAgICAgICAoSG9zdHNGaWxlLnRvX3N0
cmluZyk6CisgICAgICAgIChIb3N0c0ZpbGUudG9fZmlsZSk6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3RleHBlY3RlZC5weTog
QWRkZWQuCisgICAgICAgIChkYXRhX2Nsc19nZXR0ZXIpOgorICAgICAgICAoYm9vbF9wcm9wKToK
KyAgICAgICAgKHRhZ3MpOgorICAgICAgICAocHJlZnMpOgorICAgICAgICAocHJlZnMudmFsdWUp
OgorICAgICAgICAoRXhwZWN0ZWRNYW5pZmVzdCk6CisgICAgICAgIChFeHBlY3RlZE1hbmlmZXN0
Ll9faW5pdF9fKToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QuYXBwZW5kKToKKyAgICAgICAg
KEV4cGVjdGVkTWFuaWZlc3QuX3JlbW92ZV9jaGlsZCk6CisgICAgICAgIChFeHBlY3RlZE1hbmlm
ZXN0LmdldF90ZXN0KToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QudXJsKToKKyAgICAgICAg
KEV4cGVjdGVkTWFuaWZlc3QuZGlzYWJsZWQpOgorICAgICAgICAoRXhwZWN0ZWRNYW5pZmVzdC5y
ZXN0YXJ0X2FmdGVyKToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QudGFncyk6CisgICAgICAg
IChFeHBlY3RlZE1hbmlmZXN0LnByZWZzKToKKyAgICAgICAgKERpcmVjdG9yeU1hbmlmZXN0KToK
KyAgICAgICAgKERpcmVjdG9yeU1hbmlmZXN0LmRpc2FibGVkKToKKyAgICAgICAgKERpcmVjdG9y
eU1hbmlmZXN0LnJlc3RhcnRfYWZ0ZXIpOgorICAgICAgICAoRGlyZWN0b3J5TWFuaWZlc3QudGFn
cyk6CisgICAgICAgIChEaXJlY3RvcnlNYW5pZmVzdC5wcmVmcyk6CisgICAgICAgIChUZXN0Tm9k
ZSk6CisgICAgICAgIChUZXN0Tm9kZS5fX2luaXRfXyk6CisgICAgICAgIChUZXN0Tm9kZS5pc19l
bXB0eSk6CisgICAgICAgIChUZXN0Tm9kZS50ZXN0X3R5cGUpOgorICAgICAgICAoVGVzdE5vZGUu
aWQpOgorICAgICAgICAoVGVzdE5vZGUuZGlzYWJsZWQpOgorICAgICAgICAoVGVzdE5vZGUucmVz
dGFydF9hZnRlcik6CisgICAgICAgIChUZXN0Tm9kZS50YWdzKToKKyAgICAgICAgKFRlc3ROb2Rl
LnByZWZzKToKKyAgICAgICAgKFRlc3ROb2RlLmFwcGVuZCk6CisgICAgICAgIChUZXN0Tm9kZS5n
ZXRfc3VidGVzdCk6CisgICAgICAgIChTdWJ0ZXN0Tm9kZSk6CisgICAgICAgIChTdWJ0ZXN0Tm9k
ZS5fX2luaXRfXyk6CisgICAgICAgIChTdWJ0ZXN0Tm9kZS5pc19lbXB0eSk6CisgICAgICAgIChn
ZXRfbWFuaWZlc3QpOgorICAgICAgICAoZ2V0X2Rpcl9tYW5pZmVzdCk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3RpbmNsdWRl
LnB5OiBBZGRlZC4KKyAgICAgICAgKEluY2x1ZGVNYW5pZmVzdCk6CisgICAgICAgIChJbmNsdWRl
TWFuaWZlc3QuX19pbml0X18pOgorICAgICAgICAoSW5jbHVkZU1hbmlmZXN0LmNyZWF0ZSk6Cisg
ICAgICAgIChJbmNsdWRlTWFuaWZlc3QuYXBwZW5kKToKKyAgICAgICAgKEluY2x1ZGVNYW5pZmVz
dC5pbmNsdWRlKToKKyAgICAgICAgKEluY2x1ZGVNYW5pZmVzdC5faW5jbHVkZSk6CisgICAgICAg
IChJbmNsdWRlTWFuaWZlc3QuX2dldF9jb21wb25lbnRzKToKKyAgICAgICAgKEluY2x1ZGVNYW5p
ZmVzdC5fYWRkX3J1bGUpOgorICAgICAgICAoSW5jbHVkZU1hbmlmZXN0LmFkZF9pbmNsdWRlKToK
KyAgICAgICAgKEluY2x1ZGVNYW5pZmVzdC5hZGRfZXhjbHVkZSk6CisgICAgICAgIChnZXRfbWFu
aWZlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL21hbmlmZXN0dXBkYXRlLnB5OiBBZGRlZC4KKyAgICAgICAgKENvbmRpdGlvbkVycm9y
KToKKyAgICAgICAgKGRhdGFfY2xzX2dldHRlcik6CisgICAgICAgIChFeHBlY3RlZE1hbmlmZXN0
KToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QuX19pbml0X18pOgorICAgICAgICAoRXhwZWN0
ZWRNYW5pZmVzdC5hcHBlbmQpOgorICAgICAgICAoRXhwZWN0ZWRNYW5pZmVzdC5fcmVtb3ZlX2No
aWxkKToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QuZ2V0X3Rlc3QpOgorICAgICAgICAoRXhw
ZWN0ZWRNYW5pZmVzdC5oYXNfdGVzdCk6CisgICAgICAgIChFeHBlY3RlZE1hbmlmZXN0LnVybCk6
CisgICAgICAgIChUZXN0Tm9kZSk6CisgICAgICAgIChUZXN0Tm9kZS5fX2luaXRfXyk6CisgICAg
ICAgIChUZXN0Tm9kZS5jcmVhdGUpOgorICAgICAgICAoVGVzdE5vZGUuaXNfZW1wdHkpOgorICAg
ICAgICAoVGVzdE5vZGUudGVzdF90eXBlKToKKyAgICAgICAgKFRlc3ROb2RlLmlkKToKKyAgICAg
ICAgKFRlc3ROb2RlLmRpc2FibGVkKToKKyAgICAgICAgKFRlc3ROb2RlLnNldF9yZXN1bHQpOgor
ICAgICAgICAoVGVzdE5vZGUuY29hbGVzY2VfZXhwZWN0ZWQpOgorICAgICAgICAoVGVzdE5vZGUu
X2FkZF9rZXlfdmFsdWUpOgorICAgICAgICAoVGVzdE5vZGUuY2xlYXJfZXhwZWN0ZWQpOgorICAg
ICAgICAoVGVzdE5vZGUuYXBwZW5kKToKKyAgICAgICAgKFRlc3ROb2RlLmdldF9zdWJ0ZXN0KToK
KyAgICAgICAgKFN1YnRlc3ROb2RlKToKKyAgICAgICAgKFN1YnRlc3ROb2RlLl9faW5pdF9fKToK
KyAgICAgICAgKFN1YnRlc3ROb2RlLmNyZWF0ZSk6CisgICAgICAgIChTdWJ0ZXN0Tm9kZS5pc19l
bXB0eSk6CisgICAgICAgIChncm91cF9jb25kaXRpb25hbHMpOgorICAgICAgICAobWFrZV9leHBy
KToKKyAgICAgICAgKGdldF9tYW5pZmVzdCk6CisgICAgICAgIChjb21waWxlKToKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tZXRhZGF0YS5w
eTogQWRkZWQuCisgICAgICAgIChsb2FkX3Rlc3RfbWFuaWZlc3RzKToKKyAgICAgICAgKHVwZGF0
ZV9leHBlY3RlZCk6CisgICAgICAgIChkb19kZWxheWVkX2ltcG9ydHMpOgorICAgICAgICAoZmls
ZXNfaW5fcmVwbyk6CisgICAgICAgIChyZXZfcmFuZ2UpOgorICAgICAgICAocGF0aHNfY2hhbmdl
ZCk6CisgICAgICAgIChsb2FkX2NoYW5nZV9kYXRhKToKKyAgICAgICAgKHVuZXhwZWN0ZWRfY2hh
bmdlcyk6CisgICAgICAgICh1cGRhdGVfZnJvbV9sb2dzKToKKyAgICAgICAgKGRpcmVjdG9yeV9t
YW5pZmVzdHMpOgorICAgICAgICAod3JpdGVfY2hhbmdlcyk6CisgICAgICAgICh3cml0ZV9uZXdf
ZXhwZWN0ZWQpOgorICAgICAgICAoRXhwZWN0ZWRVcGRhdGVyKToKKyAgICAgICAgKEV4cGVjdGVk
VXBkYXRlci5fX2luaXRfXyk6CisgICAgICAgIChFeHBlY3RlZFVwZGF0ZXIudXBkYXRlX2Zyb21f
bG9nKToKKyAgICAgICAgKEV4cGVjdGVkVXBkYXRlci5zdWl0ZV9zdGFydCk6CisgICAgICAgIChF
eHBlY3RlZFVwZGF0ZXIudGVzdF9pZCk6CisgICAgICAgIChFeHBlY3RlZFVwZGF0ZXIudGVzdF9z
dGFydCk6CisgICAgICAgIChFeHBlY3RlZFVwZGF0ZXIudGVzdF9zdGF0dXMpOgorICAgICAgICAo
RXhwZWN0ZWRVcGRhdGVyLnRlc3RfZW5kKToKKyAgICAgICAgKGNyZWF0ZV90ZXN0X3RyZWUpOgor
ICAgICAgICAoY3JlYXRlX2V4cGVjdGVkKToKKyAgICAgICAgKGxvYWRfZXhwZWN0ZWQpOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Byb2R1
Y3RzLnB5OiBBZGRlZC4KKyAgICAgICAgKHByb2R1Y3RzX2VuYWJsZWQpOgorICAgICAgICAocHJv
ZHVjdF9tb2R1bGUpOgorICAgICAgICAobG9hZF9wcm9kdWN0KToKKyAgICAgICAgKGxvYWRfcHJv
ZHVjdF91cGRhdGUpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3JlZHVjZS5weTogQWRkZWQuCisgICAgICAgIChzZXR1cF9sb2dnaW5nKToK
KyAgICAgICAgKGdyb3VwKToKKyAgICAgICAgKG5leHRfcG93ZXJfb2ZfdHdvKToKKyAgICAgICAg
KFJlZHVjZXIpOgorICAgICAgICAoUmVkdWNlci5fX2luaXRfXyk6CisgICAgICAgIChSZWR1Y2Vy
LnJ1bik6CisgICAgICAgIChSZWR1Y2VyLnVuc3RhYmxlKToKKyAgICAgICAgKFJlZHVjZXIubG9n
X2lzX3Vuc3RhYmxlKToKKyAgICAgICAgKFJlZHVjZXIubG9nX2lzX3Vuc3RhYmxlLmhhbmRsZV9z
dGF0dXMpOgorICAgICAgICAoUmVkdWNlci5sb2dfaXNfdW5zdGFibGUuaGFuZGxlX2VuZCk6Cisg
ICAgICAgIChSZWR1Y2VyLmdldF9pbml0aWFsX3Rlc3RzKToKKyAgICAgICAgKGRvX3JlZHVjZSk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
dGVzdGhhcm5lc3NfcnVubmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVwb3J0LXNlcnZvLmpz
OiBBZGRlZC4KKyAgICAgICAgKGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFybmVzc3Jl
cG9ydC1zZXJ2b2RyaXZlci5qczogQWRkZWQuCisgICAgICAgIChhZGRfY29tcGxldGlvbl9jYWxs
YmFjay4pOgorICAgICAgICAoYWRkX2NvbXBsZXRpb25fY2FsbGJhY2spOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci90ZXN0bG9hZGVyLnB5OiBBZGRlZC4KKyAgICAgICAgKGRvX2RlbGF5ZWRf
aW1wb3J0cyk6CisgICAgICAgIChUZXN0Q2h1bmtlcik6CisgICAgICAgIChUZXN0Q2h1bmtlci5f
X2luaXRfXyk6CisgICAgICAgIChUZXN0Q2h1bmtlci5fX2NhbGxfXyk6CisgICAgICAgIChVbmNo
dW5rZWQpOgorICAgICAgICAoVW5jaHVua2VkLl9faW5pdF9fKToKKyAgICAgICAgKFVuY2h1bmtl
ZC5fX2NhbGxfXyk6CisgICAgICAgIChIYXNoQ2h1bmtlcik6CisgICAgICAgIChIYXNoQ2h1bmtl
ci5fX2NhbGxfXyk6CisgICAgICAgIChEaXJlY3RvcnlIYXNoQ2h1bmtlcik6CisgICAgICAgIChE
aXJlY3RvcnlIYXNoQ2h1bmtlci5fX2NhbGxfXyk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2Vy
KToKKyAgICAgICAgKEVxdWFsVGltZUNodW5rZXIuX2dyb3VwX2J5X2RpcmVjdG9yeSk6CisgICAg
ICAgIChFcXVhbFRpbWVDaHVua2VyLl9ncm91cF9ieV9kaXJlY3RvcnkuUGF0aERhdGEpOgorICAg
ICAgICAoRXF1YWxUaW1lQ2h1bmtlci5fZ3JvdXBfYnlfZGlyZWN0b3J5LlBhdGhEYXRhLl9faW5p
dF9fKToKKyAgICAgICAgKEVxdWFsVGltZUNodW5rZXIuX21heWJlX3JlbW92ZSk6CisgICAgICAg
IChFcXVhbFRpbWVDaHVua2VyLl9tYXliZV9hZGQpOgorICAgICAgICAoRXF1YWxUaW1lQ2h1bmtl
ci5fbWF5YmVfbW92ZSk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9iYWRuZXNzKToKKyAg
ICAgICAgKEVxdWFsVGltZUNodW5rZXIuX2dldF9jaHVuayk6CisgICAgICAgIChFcXVhbFRpbWVD
aHVua2VyLl9hbGxfdGVzdHMpOgorICAgICAgICAoRXF1YWxUaW1lQ2h1bmtlci5fY2h1bmtlZF90
ZXN0cyk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9jcmVhdGVfaW5pdGlhbF9jaHVua3Mp
OgorICAgICAgICAoRXF1YWxUaW1lQ2h1bmtlci5fY3JlYXRlX2luaXRpYWxfY2h1bmtzLkNodW5r
KToKKyAgICAgICAgKEVxdWFsVGltZUNodW5rZXIuX2NyZWF0ZV9pbml0aWFsX2NodW5rcy5DaHVu
ay5fX2luaXRfXyk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9jcmVhdGVfaW5pdGlhbF9j
aHVua3MuQ2h1bmsuYXBwZW5kbGVmdCk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9jcmVh
dGVfaW5pdGlhbF9jaHVua3MuQ2h1bmsuYXBwZW5kKToKKyAgICAgICAgKEVxdWFsVGltZUNodW5r
ZXIuX2NyZWF0ZV9pbml0aWFsX2NodW5rcy5DaHVuay5wb3ApOgorICAgICAgICAoRXF1YWxUaW1l
Q2h1bmtlci5fY3JlYXRlX2luaXRpYWxfY2h1bmtzLkNodW5rLnBvcGxlZnQpOgorICAgICAgICAo
RXF1YWxUaW1lQ2h1bmtlci5fY3JlYXRlX2luaXRpYWxfY2h1bmtzLkNodW5rLmJhZG5lc3MpOgor
ICAgICAgICAoRXF1YWxUaW1lQ2h1bmtlci5fdXBkYXRlX2NodW5rcyk6CisgICAgICAgIChFcXVh
bFRpbWVDaHVua2VyLl9nZXRfdGVzdHMpOgorICAgICAgICAoRXF1YWxUaW1lQ2h1bmtlci5fX2Nh
bGxfXyk6CisgICAgICAgIChUZXN0RmlsdGVyKToKKyAgICAgICAgKFRlc3RGaWx0ZXIuX19pbml0
X18pOgorICAgICAgICAoVGVzdEZpbHRlci5fX2NhbGxfXyk6CisgICAgICAgIChUYWdGaWx0ZXIp
OgorICAgICAgICAoVGFnRmlsdGVyLl9faW5pdF9fKToKKyAgICAgICAgKFRhZ0ZpbHRlci5fX2Nh
bGxfXyk6CisgICAgICAgIChNYW5pZmVzdExvYWRlcik6CisgICAgICAgIChNYW5pZmVzdExvYWRl
ci5fX2luaXRfXyk6CisgICAgICAgIChNYW5pZmVzdExvYWRlci5sb2FkKToKKyAgICAgICAgKE1h
bmlmZXN0TG9hZGVyLmNyZWF0ZV9tYW5pZmVzdCk6CisgICAgICAgIChNYW5pZmVzdExvYWRlci51
cGRhdGVfbWFuaWZlc3QpOgorICAgICAgICAoTWFuaWZlc3RMb2FkZXIubG9hZF9tYW5pZmVzdCk6
CisgICAgICAgIChpdGVyZmlsdGVyKToKKyAgICAgICAgKFRlc3RMb2FkZXIpOgorICAgICAgICAo
VGVzdExvYWRlci5fX2luaXRfXyk6CisgICAgICAgIChUZXN0TG9hZGVyLnRlc3RfaWRzKToKKyAg
ICAgICAgKFRlc3RMb2FkZXIuZ2V0X3Rlc3QpOgorICAgICAgICAoVGVzdExvYWRlci5sb2FkX2Rp
cl9tZXRhZGF0YSk6CisgICAgICAgIChUZXN0TG9hZGVyLmxvYWRfbWV0YWRhdGEpOgorICAgICAg
ICAoVGVzdExvYWRlci5pdGVyX3Rlc3RzKToKKyAgICAgICAgKFRlc3RMb2FkZXIuaXRlcl93cHR0
ZXN0KToKKyAgICAgICAgKFRlc3RMb2FkZXIuX2xvYWRfdGVzdHMpOgorICAgICAgICAoVGVzdExv
YWRlci5ncm91cHMpOgorICAgICAgICAoVGVzdFNvdXJjZSk6CisgICAgICAgIChUZXN0U291cmNl
LnF1ZXVlX3Rlc3RzKToKKyAgICAgICAgKFRlc3RTb3VyY2UucmVxdWV1ZV90ZXN0KToKKyAgICAg
ICAgKFRlc3RTb3VyY2UuX19lbnRlcl9fKToKKyAgICAgICAgKFRlc3RTb3VyY2UuX19leGl0X18p
OgorICAgICAgICAoU2luZ2xlVGVzdFNvdXJjZSk6CisgICAgICAgIChTaW5nbGVUZXN0U291cmNl
Ll9faW5pdF9fKToKKyAgICAgICAgKFNpbmdsZVRlc3RTb3VyY2UucXVldWVfdGVzdHMpOgorICAg
ICAgICAoU2luZ2xlVGVzdFNvdXJjZS5nZXRfcXVldWUpOgorICAgICAgICAoU2luZ2xlVGVzdFNv
dXJjZS5yZXF1ZXVlX3Rlc3QpOgorICAgICAgICAoUGF0aEdyb3VwZWRTb3VyY2UpOgorICAgICAg
ICAoUGF0aEdyb3VwZWRTb3VyY2UuX19pbml0X18pOgorICAgICAgICAoUGF0aEdyb3VwZWRTb3Vy
Y2UucXVldWVfdGVzdHMpOgorICAgICAgICAoUGF0aEdyb3VwZWRTb3VyY2UuZ2V0X3F1ZXVlKToK
KyAgICAgICAgKFBhdGhHcm91cGVkU291cmNlLnJlcXVldWVfdGVzdCk6CisgICAgICAgIChQYXRo
R3JvdXBlZFNvdXJjZS5fX2V4aXRfXyk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHJ1bm5lci5weTogQWRkZWQuCisgICAgICAgIChN
ZXNzYWdlTG9nZ2VyKToKKyAgICAgICAgKE1lc3NhZ2VMb2dnZXIuX19pbml0X18pOgorICAgICAg
ICAoTWVzc2FnZUxvZ2dlci5fbG9nX2RhdGEpOgorICAgICAgICAoTWVzc2FnZUxvZ2dlci5wcm9j
ZXNzX291dHB1dCk6CisgICAgICAgIChfbG9nX2Z1bmMpOgorICAgICAgICAoX2xvZ19mdW5jLmxv
Zyk6CisgICAgICAgIChUZXN0UnVubmVyKToKKyAgICAgICAgKFRlc3RSdW5uZXIuX19pbml0X18p
OgorICAgICAgICAoVGVzdFJ1bm5lci5fX2luaXRfXy5kZWxlZ2F0ZXMpOgorICAgICAgICAoVGVz
dFJ1bm5lci5fX2VudGVyX18pOgorICAgICAgICAoVGVzdFJ1bm5lci5fX2V4aXRfXyk6CisgICAg
ICAgIChUZXN0UnVubmVyLnNldHVwKToKKyAgICAgICAgKFRlc3RSdW5uZXIudGVhcmRvd24pOgor
ICAgICAgICAoVGVzdFJ1bm5lci5ydW4pOgorICAgICAgICAoVGVzdFJ1bm5lci5zdG9wKToKKyAg
ICAgICAgKFRlc3RSdW5uZXIucnVuX3Rlc3QpOgorICAgICAgICAoVGVzdFJ1bm5lci53YWl0KToK
KyAgICAgICAgKFRlc3RSdW5uZXIuc2VuZF9tZXNzYWdlKToKKyAgICAgICAgKHN0YXJ0X3J1bm5l
cik6CisgICAgICAgIChuZXh0X21hbmFnZXJfbnVtYmVyKToKKyAgICAgICAgKEJyb3dzZXJNYW5h
Z2VyKToKKyAgICAgICAgKEJyb3dzZXJNYW5hZ2VyLl9faW5pdF9fKToKKyAgICAgICAgKEJyb3dz
ZXJNYW5hZ2VyLmluaXQpOgorICAgICAgICAoQnJvd3Nlck1hbmFnZXIuc2VuZF9tZXNzYWdlKToK
KyAgICAgICAgKEJyb3dzZXJNYW5hZ2VyLmluaXRfdGltZW91dCk6CisgICAgICAgIChCcm93c2Vy
TWFuYWdlci5hZnRlcl9pbml0KToKKyAgICAgICAgKEJyb3dzZXJNYW5hZ2VyLnN0b3ApOgorICAg
ICAgICAoQnJvd3Nlck1hbmFnZXIuY2xlYW51cCk6CisgICAgICAgIChCcm93c2VyTWFuYWdlci5s
b2dfY3Jhc2gpOgorICAgICAgICAoQnJvd3Nlck1hbmFnZXIuaXNfYWxpdmUpOgorICAgICAgICAo
X1J1bm5lck1hbmFnZXJTdGF0ZSk6CisgICAgICAgIChUZXN0UnVubmVyTWFuYWdlcik6CisgICAg
ICAgIChUZXN0UnVubmVyTWFuYWdlci5fX2luaXRfXyk6CisgICAgICAgIChUZXN0UnVubmVyTWFu
YWdlci5ydW4pOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIud2FpdF9ldmVudCk6CisgICAg
ICAgIChUZXN0UnVubmVyTWFuYWdlci5zaG91bGRfc3RvcCk6CisgICAgICAgIChUZXN0UnVubmVy
TWFuYWdlci5zdGFydF9pbml0KToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLmluaXQpOgor
ICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIuc3RhcnRfdGVzdF9ydW5uZXIpOgorICAgICAgICAo
VGVzdFJ1bm5lck1hbmFnZXIuaW5pdF9zdWNjZWVkZWQpOgorICAgICAgICAoVGVzdFJ1bm5lck1h
bmFnZXIuaW5pdF9mYWlsZWQpOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIuZ2V0X25leHRf
dGVzdCk6CisgICAgICAgIChUZXN0UnVubmVyTWFuYWdlci5ydW5fdGVzdCk6CisgICAgICAgIChU
ZXN0UnVubmVyTWFuYWdlci50ZXN0X2VuZGVkKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2Vy
LndhaXRfZmluaXNoZWQpOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIuYWZ0ZXJfdGVzdF9l
bmQpOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIucmVzdGFydF9ydW5uZXIpOgorICAgICAg
ICAoVGVzdFJ1bm5lck1hbmFnZXIubG9nKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLmVy
cm9yKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLnN0b3BfcnVubmVyKToKKyAgICAgICAg
KFRlc3RSdW5uZXJNYW5hZ2VyLnRlYXJkb3duKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2Vy
LmVuc3VyZV9ydW5uZXJfc3RvcHBlZCk6CisgICAgICAgIChUZXN0UnVubmVyTWFuYWdlci5ydW5u
ZXJfdGVhcmRvd24pOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIuc2VuZF9tZXNzYWdlKToK
KyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLmNsZWFudXApOgorICAgICAgICAoVGVzdFF1ZXVl
KToKKyAgICAgICAgKFRlc3RRdWV1ZS5fX2luaXRfXyk6CisgICAgICAgIChUZXN0UXVldWUuX19l
bnRlcl9fKToKKyAgICAgICAgKFRlc3RRdWV1ZS5fX2V4aXRfXyk6CisgICAgICAgIChNYW5hZ2Vy
R3JvdXApOgorICAgICAgICAoTWFuYWdlckdyb3VwLl9faW5pdF9fKToKKyAgICAgICAgKE1hbmFn
ZXJHcm91cC5fX2VudGVyX18pOgorICAgICAgICAoTWFuYWdlckdyb3VwLl9fZXhpdF9fKToKKyAg
ICAgICAgKE1hbmFnZXJHcm91cC5ydW4pOgorICAgICAgICAoTWFuYWdlckdyb3VwLmlzX2FsaXZl
KToKKyAgICAgICAgKE1hbmFnZXJHcm91cC53YWl0KToKKyAgICAgICAgKE1hbmFnZXJHcm91cC5z
dG9wKToKKyAgICAgICAgKE1hbmFnZXJHcm91cC51bmV4cGVjdGVkX2NvdW50KToKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy9fX2lu
aXRfXy5weTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF9jaHVua2VyLnB5OiBBZGRlZC4KKyAgICAgICAgKE1v
Y2tUZXN0KToKKyAgICAgICAgKE1vY2tUZXN0Ll9faW5pdF9fKToKKyAgICAgICAgKG1ha2VfbW9j
a19tYW5pZmVzdCk6CisgICAgICAgIChUZXN0RXF1YWxUaW1lQ2h1bmtlcik6CisgICAgICAgIChU
ZXN0RXF1YWxUaW1lQ2h1bmtlci50ZXN0X2luY2x1ZGVfYWxsKToKKyAgICAgICAgKFRlc3RFcXVh
bFRpbWVDaHVua2VyLnRlc3RfaW5jbHVkZV9hbGxfMSk6CisgICAgICAgIChUZXN0RXF1YWxUaW1l
Q2h1bmtlci50ZXN0X2xvbmcpOgorICAgICAgICAoVGVzdEVxdWFsVGltZUNodW5rZXIudGVzdF9s
b25nXzEpOgorICAgICAgICAoVGVzdEVxdWFsVGltZUNodW5rZXIudGVzdF90b29fZmV3X2RpcnMp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3Rlc3RzL3Rlc3RfaG9zdHMucHk6IEFkZGVkLgorICAgICAgICAoSG9zdHNUZXN0KToKKyAgICAg
ICAgKEhvc3RzVGVzdC5kb190ZXN0KToKKyAgICAgICAgKEhvc3RzVGVzdC50ZXN0X3NpbXBsZSk6
CisgICAgICAgICh0ZXN0X2JsYW5rX2xpbmVzKToKKyAgICAgICAgKHRlc3Rfd2hpdGVzcGFjZSk6
CisgICAgICAgICh0ZXN0X2FsaWdubWVudCk6CisgICAgICAgICh0ZXN0X211bHRpcGxlX3NhbWVf
bmFtZSk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvdGVzdHMvdGVzdF90ZXN0bG9hZGVyLnB5OiBBZGRlZC4KKyAgICAgICAgKHRlc3RfZmls
dGVyX3VuaWNvZGUpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfdXBkYXRlLnB5OiBBZGRlZC4KKyAgICAgICAgKFRlc3RF
eHBlY3RlZFVwZGF0ZXIpOgorICAgICAgICAoVGVzdEV4cGVjdGVkVXBkYXRlci5jcmVhdGVfbWFu
aWZlc3QpOgorICAgICAgICAoVGVzdEV4cGVjdGVkVXBkYXRlci5jcmVhdGVfdXBkYXRlcik6Cisg
ICAgICAgIChUZXN0RXhwZWN0ZWRVcGRhdGVyLmNyZWF0ZV9sb2cpOgorICAgICAgICAoVGVzdEV4
cGVjdGVkVXBkYXRlci5jb2FsZXNjZV9yZXN1bHRzKToKKyAgICAgICAgKFRlc3RFeHBlY3RlZFVw
ZGF0ZXIudGVzdF91cGRhdGVfMCk6CisgICAgICAgIChUZXN0RXhwZWN0ZWRVcGRhdGVyLnRlc3Rf
dXBkYXRlXzEpOgorICAgICAgICAoVGVzdEV4cGVjdGVkVXBkYXRlci50ZXN0X25ld19zdWJ0ZXN0
KToKKyAgICAgICAgKFRlc3RFeHBlY3RlZFVwZGF0ZXIudGVzdF91cGRhdGVfbXVsdGlwbGVfMCk6
CisgICAgICAgIChUZXN0RXhwZWN0ZWRVcGRhdGVyLnRlc3RfdXBkYXRlX211bHRpcGxlXzEpOgor
ICAgICAgICAoVGVzdEV4cGVjdGVkVXBkYXRlci50ZXN0X3VwZGF0ZV9tdWx0aXBsZV8yKToKKyAg
ICAgICAgKFRlc3RFeHBlY3RlZFVwZGF0ZXIudGVzdF91cGRhdGVfbXVsdGlwbGVfMyk6CisgICAg
ICAgIChUZXN0RXhwZWN0ZWRVcGRhdGVyLnRlc3RfdXBkYXRlX2lnbm9yZV9leGlzdGluZyk6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVz
dHMvdzNjLWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvcGVyZm9ybWFu
Y2UvdzNjLWltcG9ydC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL19faW5pdF9fLnB5OiBBZGRlZC4KKyAgICAgICAgKHJl
bW92ZV9sb2dnaW5nX2FyZ3MpOgorICAgICAgICAoc2V0dXBfbG9nZ2luZyk6CisgICAgICAgIChy
dW5fdXBkYXRlKToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9iYXNlLnB5OiBBZGRlZC4KKyAgICAg
ICAgKFN0ZXApOgorICAgICAgICAoU3RlcC5fX2luaXRfXyk6CisgICAgICAgIChTdGVwLnJ1bik6
CisgICAgICAgIChTdGVwLnJ1bi5mb3IpOgorICAgICAgICAoU3RlcC5jcmVhdGUpOgorICAgICAg
ICAoU3RlcC5yZXN0b3JlKToKKyAgICAgICAgKFN0ZXBSdW5uZXIpOgorICAgICAgICAoU3RlcFJ1
bm5lci5fX2luaXRfXyk6CisgICAgICAgIChTdGVwUnVubmVyLnJ1bik6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL21ldGFkYXRh
LnB5OiBBZGRlZC4KKyAgICAgICAgKEdldFVwZGF0ZVByb3BlcnR5TGlzdCk6CisgICAgICAgIChH
ZXRVcGRhdGVQcm9wZXJ0eUxpc3QuY3JlYXRlKToKKyAgICAgICAgKFVwZGF0ZUV4cGVjdGVkKToK
KyAgICAgICAgKFVwZGF0ZUV4cGVjdGVkLmNyZWF0ZSk6CisgICAgICAgIChDcmVhdGVNZXRhZGF0
YVBhdGNoKToKKyAgICAgICAgKENyZWF0ZU1ldGFkYXRhUGF0Y2guY3JlYXRlKToKKyAgICAgICAg
KE1ldGFkYXRhVXBkYXRlUnVubmVyKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvc3RhdGUucHk6IEFkZGVkLgorICAgICAgICAo
U3RhdGUpOgorICAgICAgICAoU3RhdGUuX19uZXdfXyk6CisgICAgICAgIChTdGF0ZS5fX2luaXRf
Xyk6CisgICAgICAgIChTdGF0ZS5fX2dldHN0YXRlX18pOgorICAgICAgICAoU3RhdGUubG9hZCk6
CisgICAgICAgIChTdGF0ZS5wdXNoKToKKyAgICAgICAgKFN0YXRlLnNhdmUpOgorICAgICAgICAo
U3RhdGUuaXNfZW1wdHkpOgorICAgICAgICAoU3RhdGUuY2xlYXIpOgorICAgICAgICAoU3RhdGUu
X19zZXRhdHRyX18pOgorICAgICAgICAoU3RhdGUuX19nZXRhdHRyX18pOgorICAgICAgICAoU3Rh
dGUuX19jb250YWluc19fKToKKyAgICAgICAgKFN0YXRlLnVwZGF0ZSk6CisgICAgICAgIChTdGF0
ZS5rZXlzKToKKyAgICAgICAgKFN0YXRlQ29udGV4dCk6CisgICAgICAgIChTdGF0ZUNvbnRleHQu
X19pbml0X18pOgorICAgICAgICAoU3RhdGVDb250ZXh0Ll9fZW50ZXJfXyk6CisgICAgICAgIChT
dGF0ZUNvbnRleHQuX19leGl0X18pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zeW5jLnB5OiBBZGRlZC4KKyAgICAgICAgKGNv
cHlfd3B0X3RyZWUpOgorICAgICAgICAoYWRkX2xpY2Vuc2UpOgorICAgICAgICAoVXBkYXRlQ2hl
Y2tvdXQpOgorICAgICAgICAoVXBkYXRlQ2hlY2tvdXQuY3JlYXRlKToKKyAgICAgICAgKFVwZGF0
ZUNoZWNrb3V0LnJlc3RvcmUpOgorICAgICAgICAoR2V0U3luY1RhcmdldENvbW1pdCk6CisgICAg
ICAgIChHZXRTeW5jVGFyZ2V0Q29tbWl0LmNyZWF0ZSk6CisgICAgICAgIChMb2FkTWFuaWZlc3Qp
OgorICAgICAgICAoTG9hZE1hbmlmZXN0LmNyZWF0ZSk6CisgICAgICAgIChVcGRhdGVNYW5pZmVz
dCk6CisgICAgICAgIChVcGRhdGVNYW5pZmVzdC5jcmVhdGUpOgorICAgICAgICAoQ29weVdvcmtU
cmVlKToKKyAgICAgICAgKENvcHlXb3JrVHJlZS5jcmVhdGUpOgorICAgICAgICAoQ3JlYXRlU3lu
Y1BhdGNoKToKKyAgICAgICAgKENyZWF0ZVN5bmNQYXRjaC5jcmVhdGUpOgorICAgICAgICAoU3lu
Y0Zyb21VcHN0cmVhbVJ1bm5lcik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3RyZWUucHk6IEFkZGVkLgorICAgICAgICAoZ2V0
X3VuaXF1ZV9uYW1lKToKKyAgICAgICAgKE5vVkNTVHJlZSk6CisgICAgICAgIChOb1ZDU1RyZWUu
X19pbml0X18pOgorICAgICAgICAoTm9WQ1NUcmVlLmlzX3R5cGUpOgorICAgICAgICAoTm9WQ1NU
cmVlLmlzX2NsZWFuKToKKyAgICAgICAgKE5vVkNTVHJlZS5hZGRfbmV3KToKKyAgICAgICAgKE5v
VkNTVHJlZS5jcmVhdGVfcGF0Y2gpOgorICAgICAgICAoTm9WQ1NUcmVlLnVwZGF0ZV9wYXRjaCk6
CisgICAgICAgIChOb1ZDU1RyZWUuY29tbWl0X3BhdGNoKToKKyAgICAgICAgKEhnVHJlZSk6Cisg
ICAgICAgIChIZ1RyZWUuX19pbml0X18pOgorICAgICAgICAoSGdUcmVlLl9fZ2V0c3RhdGVfXyk6
CisgICAgICAgIChIZ1RyZWUuX19zZXRzdGF0ZV9fKToKKyAgICAgICAgKEhnVHJlZS5pc190eXBl
KToKKyAgICAgICAgKEhnVHJlZS5pc19jbGVhbik6CisgICAgICAgIChIZ1RyZWUuYWRkX25ldyk6
CisgICAgICAgIChIZ1RyZWUuY3JlYXRlX3BhdGNoKToKKyAgICAgICAgKEhnVHJlZS51cGRhdGVf
cGF0Y2gpOgorICAgICAgICAoSGdUcmVlLmNvbW1pdF9wYXRjaCk6CisgICAgICAgIChIZ1RyZWUu
Y29udGFpbnNfY29tbWl0KToKKyAgICAgICAgKEdpdFRyZWUpOgorICAgICAgICAoR2l0VHJlZS5f
X2luaXRfXyk6CisgICAgICAgIChHaXRUcmVlLl9fZ2V0c3RhdGVfXyk6CisgICAgICAgIChHaXRU
cmVlLl9fc2V0c3RhdGVfXyk6CisgICAgICAgIChHaXRUcmVlLmlzX3R5cGUpOgorICAgICAgICAo
R2l0VHJlZS5yZXYpOgorICAgICAgICAoR2l0VHJlZS5pc19jbGVhbik6CisgICAgICAgIChHaXRU
cmVlLmFkZF9uZXcpOgorICAgICAgICAoR2l0VHJlZS5saXN0X3JlZnMpOgorICAgICAgICAoR2l0
VHJlZS5saXN0X3JlbW90ZSk6CisgICAgICAgIChHaXRUcmVlLmdldF9yZW1vdGVfc2hhMSk6Cisg
ICAgICAgIChHaXRUcmVlLmNyZWF0ZV9wYXRjaCk6CisgICAgICAgIChHaXRUcmVlLnVwZGF0ZV9w
YXRjaCk6CisgICAgICAgIChHaXRUcmVlLmNvbW1pdF9wYXRjaCk6CisgICAgICAgIChHaXRUcmVl
LmluaXQpOgorICAgICAgICAoR2l0VHJlZS5jaGVja291dCk6CisgICAgICAgIChHaXRUcmVlLnVw
ZGF0ZSk6CisgICAgICAgIChHaXRUcmVlLmNsZWFuKToKKyAgICAgICAgKEdpdFRyZWUucGF0aHMp
OgorICAgICAgICAoR2l0VHJlZS5zdWJtb2R1bGVzKToKKyAgICAgICAgKEdpdFRyZWUuY29udGFp
bnNfY29tbWl0KToKKyAgICAgICAgKENvbW1pdE1lc3NhZ2UpOgorICAgICAgICAoQ29tbWl0TWVz
c2FnZS5fX2luaXRfXyk6CisgICAgICAgIChDb21taXRNZXNzYWdlLl9fc3RyX18pOgorICAgICAg
ICAoQ29tbWl0TWVzc2FnZS5fcGFyc2VfbWVzc2FnZSk6CisgICAgICAgIChDb21taXQpOgorICAg
ICAgICAoQ29tbWl0Ll9faW5pdF9fKToKKyAgICAgICAgKENvbW1pdC5fX2dldHN0YXRlX18pOgor
ICAgICAgICAoQ29tbWl0Ll9fc2V0c3RhdGVfXyk6CisgICAgICAgIChDb21taXQuX2dldF9tZXRh
KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci91cGRhdGUvdXBkYXRlLnB5OiBBZGRlZC4KKyAgICAgICAgKHNldHVwX3BhdGhzKToKKyAgICAg
ICAgKExvYWRDb25maWcpOgorICAgICAgICAoTG9hZENvbmZpZy5jcmVhdGUpOgorICAgICAgICAo
TG9hZFRyZWVzKToKKyAgICAgICAgKExvYWRUcmVlcy5jcmVhdGUpOgorICAgICAgICAoU3luY0Zy
b21VcHN0cmVhbSk6CisgICAgICAgIChTeW5jRnJvbVVwc3RyZWFtLmNyZWF0ZSk6CisgICAgICAg
IChVcGRhdGVNZXRhZGF0YSk6CisgICAgICAgIChVcGRhdGVNZXRhZGF0YS5jcmVhdGUpOgorICAg
ICAgICAoVXBkYXRlUnVubmVyKToKKyAgICAgICAgKFdQVFVwZGF0ZSk6CisgICAgICAgIChXUFRV
cGRhdGUuX19pbml0X18pOgorICAgICAgICAoV1BUVXBkYXRlLl9faW5pdF9fLmhvbGRpbmcpOgor
ICAgICAgICAoV1BUVXBkYXRlLnJ1bik6CisgICAgICAgIChXUFRVcGRhdGUuYWJvcnQpOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0
ZS93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdmNzLnB5OiBBZGRlZC4KKyAgICAgICAgKHZjcyk6Cisg
ICAgICAgICh2Y3MuaW5uZXIpOgorICAgICAgICAoYmluZF90b19yZXBvKToKKyAgICAgICAgKGlz
X2dpdF9yb290KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd2ViZHJpdmVyX3NlcnZlci5weTogQWRk
ZWQuCisgICAgICAgIChXZWJEcml2ZXJTZXJ2ZXIpOgorICAgICAgICAoV2ViRHJpdmVyU2VydmVy
Ll9faW5pdF9fKToKKyAgICAgICAgKFdlYkRyaXZlclNlcnZlci5tYWtlX2NvbW1hbmQpOgorICAg
ICAgICAoV2ViRHJpdmVyU2VydmVyLnN0YXJ0KToKKyAgICAgICAgKFdlYkRyaXZlclNlcnZlci5f
cnVuKToKKyAgICAgICAgKFdlYkRyaXZlclNlcnZlci5zdG9wKToKKyAgICAgICAgKFdlYkRyaXZl
clNlcnZlci5pc19hbGl2ZSk6CisgICAgICAgIChXZWJEcml2ZXJTZXJ2ZXIub25fb3V0cHV0KToK
KyAgICAgICAgKFdlYkRyaXZlclNlcnZlci5waWQpOgorICAgICAgICAoV2ViRHJpdmVyU2VydmVy
LnVybCk6CisgICAgICAgIChXZWJEcml2ZXJTZXJ2ZXIucG9ydCk6CisgICAgICAgIChXZWJEcml2
ZXJTZXJ2ZXIuX2ZpbmRfbmV4dF9mcmVlX3BvcnQpOgorICAgICAgICAoU2VsZW5pdW1TZXJ2ZXIp
OgorICAgICAgICAoU2VsZW5pdW1TZXJ2ZXIubWFrZV9jb21tYW5kKToKKyAgICAgICAgKENocm9t
ZURyaXZlclNlcnZlcik6CisgICAgICAgIChDaHJvbWVEcml2ZXJTZXJ2ZXIuX19pbml0X18pOgor
ICAgICAgICAoQ2hyb21lRHJpdmVyU2VydmVyLm1ha2VfY29tbWFuZCk6CisgICAgICAgIChFZGdl
RHJpdmVyU2VydmVyKToKKyAgICAgICAgKEVkZ2VEcml2ZXJTZXJ2ZXIuX19pbml0X18pOgorICAg
ICAgICAoRWRnZURyaXZlclNlcnZlci5tYWtlX2NvbW1hbmQpOgorICAgICAgICAoR2Vja29Ecml2
ZXJTZXJ2ZXIpOgorICAgICAgICAoR2Vja29Ecml2ZXJTZXJ2ZXIuX19pbml0X18pOgorICAgICAg
ICAoR2Vja29Ecml2ZXJTZXJ2ZXIubWFrZV9jb21tYW5kKToKKyAgICAgICAgKFNlcnZvRHJpdmVy
U2VydmVyKToKKyAgICAgICAgKFNlcnZvRHJpdmVyU2VydmVyLl9faW5pdF9fKToKKyAgICAgICAg
KFNlcnZvRHJpdmVyU2VydmVyLm1ha2VfY29tbWFuZCk6CisgICAgICAgIChjbWRfYXJnKToKKyAg
ICAgICAgKGdldF9mcmVlX3BvcnQpOgorICAgICAgICAod2FpdF9mb3Jfc2VydmljZSk6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0Y29t
bWFuZGxpbmUucHk6IEFkZGVkLgorICAgICAgICAoYWJzX3BhdGgpOgorICAgICAgICAodXJsX29y
X3BhdGgpOgorICAgICAgICAocmVxdWlyZV9hcmcpOgorICAgICAgICAoY3JlYXRlX3BhcnNlcik6
CisgICAgICAgIChzZXRfZnJvbV9jb25maWcpOgorICAgICAgICAoZ2V0X3Rlc3RfcGF0aHMpOgor
ICAgICAgICAoZXhlX3BhdGgpOgorICAgICAgICAoY2hlY2tfYXJncyk6CisgICAgICAgIChjaGVj
a19hcmdzX3VwZGF0ZSk6CisgICAgICAgIChjcmVhdGVfcGFyc2VyX3VwZGF0ZSk6CisgICAgICAg
IChjcmVhdGVfcGFyc2VyX3JlZHVjZSk6CisgICAgICAgIChwYXJzZV9hcmdzKToKKyAgICAgICAg
KHBhcnNlX2FyZ3NfdXBkYXRlKToKKyAgICAgICAgKHBhcnNlX2FyZ3NfcmVkdWNlKToKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRsb2dn
aW5nLnB5OiBBZGRlZC4KKyAgICAgICAgKHNldHVwKToKKyAgICAgICAgKHNldHVwX3N0ZGxpYl9s
b2dnZXIpOgorICAgICAgICAoTG9nTGV2ZWxSZXdyaXRlcik6CisgICAgICAgIChMb2dMZXZlbFJl
d3JpdGVyLl9faW5pdF9fKToKKyAgICAgICAgKExvZ0xldmVsUmV3cml0ZXIuX19jYWxsX18pOgor
ICAgICAgICAoTG9nVGhyZWFkKToKKyAgICAgICAgKExvZ1RocmVhZC5fX2luaXRfXyk6CisgICAg
ICAgIChMb2dUaHJlYWQucnVuKToKKyAgICAgICAgKExvZ2dpbmdXcmFwcGVyKToKKyAgICAgICAg
KExvZ2dpbmdXcmFwcGVyLl9faW5pdF9fKToKKyAgICAgICAgKExvZ2dpbmdXcmFwcGVyLndyaXRl
KToKKyAgICAgICAgKExvZ2dpbmdXcmFwcGVyLmZsdXNoKToKKyAgICAgICAgKENhcHR1cmVJTyk6
CisgICAgICAgIChDYXB0dXJlSU8uX19pbml0X18pOgorICAgICAgICAoQ2FwdHVyZUlPLl9fZW50
ZXJfXyk6CisgICAgICAgIChDYXB0dXJlSU8uX19leGl0X18pOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L19faW5pdF9f
LnB5OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9fX2luaXRfXy5weTogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFu
aWZlc3QvYmFja2VuZHMvY29uZGl0aW9uYWwucHk6IEFkZGVkLgorICAgICAgICAoQ29uZGl0aW9u
YWxWYWx1ZSk6CisgICAgICAgIChDb25kaXRpb25hbFZhbHVlLl9faW5pdF9fKToKKyAgICAgICAg
KENvbmRpdGlvbmFsVmFsdWUudmFsdWUpOgorICAgICAgICAoQ29uZGl0aW9uYWxWYWx1ZS5fX2Nh
bGxfXyk6CisgICAgICAgIChDb25kaXRpb25hbFZhbHVlLnNldF92YWx1ZSk6CisgICAgICAgIChD
b25kaXRpb25hbFZhbHVlLnJlbW92ZSk6CisgICAgICAgIChDb21waWxlcik6CisgICAgICAgIChD
b21waWxlci5jb21waWxlKToKKyAgICAgICAgKENvbXBpbGVyLmNvbXBpbGUub2YpOgorICAgICAg
ICAoQ29tcGlsZXIuY29tcGlsZV9jb25kaXRpb24pOgorICAgICAgICAoQ29tcGlsZXIuX2luaXRp
YWxfb3V0cHV0X25vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfRGF0YU5vZGUpOgorICAg
ICAgICAoQ29tcGlsZXIudmlzaXRfS2V5VmFsdWVOb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZp
c2l0X0xpc3ROb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X1ZhbHVlTm9kZSk6CisgICAg
ICAgIChDb21waWxlci52aXNpdF9BdG9tTm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9D
b25kaXRpb25hbE5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfU3RyaW5nTm9kZSk6Cisg
ICAgICAgIChDb21waWxlci52aXNpdF9TdHJpbmdOb2RlLnZhbHVlKToKKyAgICAgICAgKENvbXBp
bGVyLnZpc2l0X051bWJlck5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfVmFyaWFibGVO
b2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X1ZhcmlhYmxlTm9kZS52YWx1ZSk6CisgICAg
ICAgIChDb21waWxlci52aXNpdF9JbmRleE5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRf
VW5hcnlFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9CaW5hcnlFeHBy
ZXNzaW9uTm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9VbmFyeU9wZXJhdG9yTm9kZSk6
CisgICAgICAgIChDb21waWxlci52aXNpdF9CaW5hcnlPcGVyYXRvck5vZGUpOgorICAgICAgICAo
TWFuaWZlc3RJdGVtKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5fX2luaXRfXyk6CisgICAgICAg
IChNYW5pZmVzdEl0ZW0uX19yZXByX18pOgorICAgICAgICAoTWFuaWZlc3RJdGVtLl9fc3RyX18p
OgorICAgICAgICAoTWFuaWZlc3RJdGVtLl9fY29udGFpbnNfXyk6CisgICAgICAgIChNYW5pZmVz
dEl0ZW0uaXNfZW1wdHkpOgorICAgICAgICAoTWFuaWZlc3RJdGVtLnJvb3QpOgorICAgICAgICAo
TWFuaWZlc3RJdGVtLm5hbWUpOgorICAgICAgICAoTWFuaWZlc3RJdGVtLmhhc19rZXkpOgorICAg
ICAgICAoTWFuaWZlc3RJdGVtLmdldCk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uc2V0KToKKyAg
ICAgICAgKE1hbmlmZXN0SXRlbS5fYWRkX2tleV92YWx1ZSk6CisgICAgICAgIChNYW5pZmVzdEl0
ZW0uYXBwZW5kKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5yZW1vdmUpOgorICAgICAgICAoTWFu
aWZlc3RJdGVtLl9yZW1vdmVfY2hpbGQpOgorICAgICAgICAoTWFuaWZlc3RJdGVtLml0ZXJjaGls
ZHJlbik6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uX2ZsYXR0ZW4pOgorICAgICAgICAoTWFuaWZl
c3RJdGVtLml0ZXJpdGVtcyk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uaXRlcmtleXMpOgorICAg
ICAgICAoTWFuaWZlc3RJdGVtLnJlbW92ZV92YWx1ZSk6CisgICAgICAgIChjb21waWxlX2FzdCk6
CisgICAgICAgIChjb21waWxlKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9zdGF0aWMucHk6IEFkZGVk
LgorICAgICAgICAoQ29tcGlsZXIpOgorICAgICAgICAoQ29tcGlsZXIuY29tcGlsZSk6CisgICAg
ICAgIChDb21waWxlci5jb21waWxlLm9mKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X0RhdGFO
b2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X0tleVZhbHVlTm9kZSk6CisgICAgICAgIChD
b21waWxlci52aXNpdF9WYWx1ZU5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfQXRvbU5v
ZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfTGlzdE5vZGUpOgorICAgICAgICAoQ29tcGls
ZXIudmlzaXRfQ29uZGl0aW9uYWxOb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X1N0cmlu
Z05vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfTnVtYmVyTm9kZSk6CisgICAgICAgIChD
b21waWxlci52aXNpdF9WYXJpYWJsZU5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfSW5k
ZXhOb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X1VuYXJ5RXhwcmVzc2lvbk5vZGUpOgor
ICAgICAgICAoQ29tcGlsZXIudmlzaXRfQmluYXJ5RXhwcmVzc2lvbk5vZGUpOgorICAgICAgICAo
Q29tcGlsZXIudmlzaXRfVW5hcnlPcGVyYXRvck5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlz
aXRfQmluYXJ5T3BlcmF0b3JOb2RlKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbSk6CisgICAgICAg
IChNYW5pZmVzdEl0ZW0uX19pbml0X18pOgorICAgICAgICAoTWFuaWZlc3RJdGVtLl9fcmVwcl9f
KToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5fX3N0cl9fKToKKyAgICAgICAgKE1hbmlmZXN0SXRl
bS5pc19lbXB0eSk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0ucm9vdCk6CisgICAgICAgIChNYW5p
ZmVzdEl0ZW0uaGFzX2tleSk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uZ2V0KToKKyAgICAgICAg
KE1hbmlmZXN0SXRlbS5zZXQpOgorICAgICAgICAoTWFuaWZlc3RJdGVtLnJlbW92ZSk6CisgICAg
ICAgIChNYW5pZmVzdEl0ZW0uX3JlbW92ZV9jaGlsZCk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0u
aXRlcmNoaWxkcmVuKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5fZmxhdHRlbik6CisgICAgICAg
IChNYW5pZmVzdEl0ZW0uaXRlcml0ZW1zKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5pdGVya2V5
cyk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uaXRlcnZhbHVlcyk6CisgICAgICAgIChNYW5pZmVz
dEl0ZW0uYXBwZW5kKToKKyAgICAgICAgKGNvbXBpbGVfYXN0KToKKyAgICAgICAgKGNvbXBpbGUp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3dwdG1hbmlmZXN0L2JhY2tlbmRzL3czYy1pbXBvcnQubG9nOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1
bGliL3Rlc3RzL3BlcmZvcm1hbmNlL3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L25vZGUucHk6
IEFkZGVkLgorICAgICAgICAoTm9kZVZpc2l0b3IpOgorICAgICAgICAoTm9kZVZpc2l0b3Iudmlz
aXQpOgorICAgICAgICAoTm9kZVZpc2l0b3IudmlzaXQuYm9keSk6CisgICAgICAgIChOb2RlKToK
KyAgICAgICAgKE5vZGUuX19pbml0X18pOgorICAgICAgICAoTm9kZS5hcHBlbmQpOgorICAgICAg
ICAoTm9kZS5yZW1vdmUpOgorICAgICAgICAoTm9kZS5fX3JlcHJfXyk6CisgICAgICAgIChOb2Rl
Ll9fc3RyX18pOgorICAgICAgICAoTm9kZS5fX2VxX18pOgorICAgICAgICAoTm9kZS5jb3B5KToK
KyAgICAgICAgKERhdGFOb2RlKToKKyAgICAgICAgKERhdGFOb2RlLmFwcGVuZCk6CisgICAgICAg
IChLZXlWYWx1ZU5vZGUpOgorICAgICAgICAoS2V5VmFsdWVOb2RlLmFwcGVuZCk6CisgICAgICAg
IChMaXN0Tm9kZSk6CisgICAgICAgIChMaXN0Tm9kZS5hcHBlbmQpOgorICAgICAgICAoVmFsdWVO
b2RlKToKKyAgICAgICAgKFZhbHVlTm9kZS5hcHBlbmQpOgorICAgICAgICAoQXRvbU5vZGUpOgor
ICAgICAgICAoQ29uZGl0aW9uYWxOb2RlKToKKyAgICAgICAgKFVuYXJ5RXhwcmVzc2lvbk5vZGUp
OgorICAgICAgICAoVW5hcnlFeHByZXNzaW9uTm9kZS5fX2luaXRfXyk6CisgICAgICAgIChVbmFy
eUV4cHJlc3Npb25Ob2RlLmFwcGVuZCk6CisgICAgICAgIChVbmFyeUV4cHJlc3Npb25Ob2RlLmNv
cHkpOgorICAgICAgICAoQmluYXJ5RXhwcmVzc2lvbk5vZGUpOgorICAgICAgICAoQmluYXJ5RXhw
cmVzc2lvbk5vZGUuX19pbml0X18pOgorICAgICAgICAoQmluYXJ5RXhwcmVzc2lvbk5vZGUuYXBw
ZW5kKToKKyAgICAgICAgKEJpbmFyeUV4cHJlc3Npb25Ob2RlLmNvcHkpOgorICAgICAgICAoVW5h
cnlPcGVyYXRvck5vZGUpOgorICAgICAgICAoVW5hcnlPcGVyYXRvck5vZGUuYXBwZW5kKToKKyAg
ICAgICAgKEJpbmFyeU9wZXJhdG9yTm9kZSk6CisgICAgICAgIChCaW5hcnlPcGVyYXRvck5vZGUu
YXBwZW5kKToKKyAgICAgICAgKEluZGV4Tm9kZSk6CisgICAgICAgIChWYXJpYWJsZU5vZGUpOgor
ICAgICAgICAoU3RyaW5nTm9kZSk6CisgICAgICAgIChOdW1iZXJOb2RlKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9w
YXJzZXIucHk6IEFkZGVkLgorICAgICAgICAoUGFyc2VFcnJvcik6CisgICAgICAgIChQYXJzZUVy
cm9yLl9faW5pdF9fKToKKyAgICAgICAgKGRlY29kZSk6CisgICAgICAgIChwcmVjZWRlbmNlKToK
KyAgICAgICAgKFRva2VuVHlwZXMpOgorICAgICAgICAoVG9rZW5UeXBlcy5fX2luaXRfXyk6Cisg
ICAgICAgIChUb2tlbml6ZXIpOgorICAgICAgICAoVG9rZW5pemVyLl9faW5pdF9fKToKKyAgICAg
ICAgKFRva2VuaXplci5yZXNldCk6CisgICAgICAgIChUb2tlbml6ZXIudG9rZW5pemUpOgorICAg
ICAgICAoVG9rZW5pemVyLmNoYXIpOgorICAgICAgICAoVG9rZW5pemVyLmNvbnN1bWUpOgorICAg
ICAgICAoVG9rZW5pemVyLnBlZWspOgorICAgICAgICAoVG9rZW5pemVyLnNraXBfd2hpdGVzcGFj
ZSk6CisgICAgICAgIChUb2tlbml6ZXIuZW9sX3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5s
aW5lX3N0YXJ0X3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5kYXRhX2xpbmVfc3RhdGUpOgor
ICAgICAgICAoVG9rZW5pemVyLmhlYWRpbmdfc3RhdGUpOgorICAgICAgICAoVG9rZW5pemVyLmtl
eV9zdGF0ZSk6CisgICAgICAgIChUb2tlbml6ZXIuYWZ0ZXJfa2V5X3N0YXRlKToKKyAgICAgICAg
KFRva2VuaXplci5saXN0X3N0YXJ0X3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5saXN0X3Zh
bHVlX3N0YXJ0X3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5saXN0X3ZhbHVlX3N0YXRlKToK
KyAgICAgICAgKFRva2VuaXplci5saXN0X3ZhbHVlX2F0b21fc3RhdGUpOgorICAgICAgICAoVG9r
ZW5pemVyLmxpc3RfZW5kX3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci52YWx1ZV9zdGF0ZSk6
CisgICAgICAgIChUb2tlbml6ZXIudmFsdWVfaW5uZXJfc3RhdGUpOgorICAgICAgICAoVG9rZW5p
emVyLmNvbW1lbnRfc3RhdGUpOgorICAgICAgICAoVG9rZW5pemVyLmxpbmVfZW5kX3N0YXRlKToK
KyAgICAgICAgKFRva2VuaXplci5jb25zdW1lX3N0cmluZyk6CisgICAgICAgIChUb2tlbml6ZXIu
ZXhwcl9vcl92YWx1ZV9zdGF0ZSk6CisgICAgICAgIChUb2tlbml6ZXIuZXhwcl9zdGF0ZSk6Cisg
ICAgICAgIChUb2tlbml6ZXIub3BlcmF0b3Jfc3RhdGUpOgorICAgICAgICAoVG9rZW5pemVyLmRp
Z2l0X3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5pZGVudF9zdGF0ZSk6CisgICAgICAgIChU
b2tlbml6ZXIuY29uc3VtZV9lc2NhcGUpOgorICAgICAgICAoVG9rZW5pemVyLmRlY29kZV9lc2Nh
cGUpOgorICAgICAgICAoVG9rZW5pemVyLmVzY2FwZV92YWx1ZSk6CisgICAgICAgIChQYXJzZXIp
OgorICAgICAgICAoUGFyc2VyLl9faW5pdF9fKToKKyAgICAgICAgKFBhcnNlci5yZXNldCk6Cisg
ICAgICAgIChQYXJzZXIucGFyc2UpOgorICAgICAgICAoUGFyc2VyLmNvbnN1bWUpOgorICAgICAg
ICAoUGFyc2VyLmV4cGVjdCk6CisgICAgICAgIChQYXJzZXIubWFuaWZlc3QpOgorICAgICAgICAo
UGFyc2VyLmRhdGFfYmxvY2spOgorICAgICAgICAoUGFyc2VyLmVvZl9vcl9lbmRfZ3JvdXApOgor
ICAgICAgICAoUGFyc2VyLnZhbHVlX2Jsb2NrKToKKyAgICAgICAgKFBhcnNlci5saXN0X3ZhbHVl
KToKKyAgICAgICAgKFBhcnNlci5leHByZXNzaW9uX3ZhbHVlcyk6CisgICAgICAgIChQYXJzZXIu
dmFsdWUpOgorICAgICAgICAoUGFyc2VyLmF0b20pOgorICAgICAgICAoUGFyc2VyLmV4cHJfc3Rh
cnQpOgorICAgICAgICAoUGFyc2VyLmV4cHIpOgorICAgICAgICAoUGFyc2VyLmV4cHJfb3BlcmFu
ZCk6CisgICAgICAgIChQYXJzZXIuZXhwcl91bmFyeV9vcCk6CisgICAgICAgIChQYXJzZXIuZXhw
cl9iaW5fb3ApOgorICAgICAgICAoUGFyc2VyLmV4cHJfdmFsdWUpOgorICAgICAgICAoUGFyc2Vy
LmV4cHJfbnVtYmVyKToKKyAgICAgICAgKFRyZWVidWlsZGVyKToKKyAgICAgICAgKFRyZWVidWls
ZGVyLl9faW5pdF9fKToKKyAgICAgICAgKFRyZWVidWlsZGVyLmFwcGVuZCk6CisgICAgICAgIChU
cmVlYnVpbGRlci5wb3ApOgorICAgICAgICAoRXhwcmVzc2lvbkJ1aWxkZXIpOgorICAgICAgICAo
RXhwcmVzc2lvbkJ1aWxkZXIuX19pbml0X18pOgorICAgICAgICAoRXhwcmVzc2lvbkJ1aWxkZXIu
ZmluaXNoKToKKyAgICAgICAgKEV4cHJlc3Npb25CdWlsZGVyLmxlZnRfcGFyZW4pOgorICAgICAg
ICAoRXhwcmVzc2lvbkJ1aWxkZXIucmlnaHRfcGFyZW4pOgorICAgICAgICAoRXhwcmVzc2lvbkJ1
aWxkZXIucHVzaF9vcGVyYXRvcik6CisgICAgICAgIChFeHByZXNzaW9uQnVpbGRlci5wb3Bfb3Bl
cmF0b3IpOgorICAgICAgICAoRXhwcmVzc2lvbkJ1aWxkZXIucHVzaF9vcGVyYW5kKToKKyAgICAg
ICAgKEV4cHJlc3Npb25CdWlsZGVyLnBvcF9vcGVyYW5kKToKKyAgICAgICAgKEV4cHJlc3Npb25C
dWlsZGVyLmlzX2VtcHR5KToKKyAgICAgICAgKEV4cHJlc3Npb25CdWlsZGVyLnByZWNlZGVuY2Up
OgorICAgICAgICAocGFyc2UpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3NlcmlhbGl6ZXIucHk6IEFkZGVkLgorICAg
ICAgICAoZXNjYXBlKToKKyAgICAgICAgKE1hbmlmZXN0U2VyaWFsaXplcik6CisgICAgICAgIChN
YW5pZmVzdFNlcmlhbGl6ZXIuX19pbml0X18pOgorICAgICAgICAoTWFuaWZlc3RTZXJpYWxpemVy
LnNlcmlhbGl6ZSk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfRGF0YU5vZGUp
OgorICAgICAgICAoTWFuaWZlc3RTZXJpYWxpemVyLnZpc2l0X0tleVZhbHVlTm9kZSk6CisgICAg
ICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfTGlzdE5vZGUpOgorICAgICAgICAoTWFuaWZl
c3RTZXJpYWxpemVyLnZpc2l0X1ZhbHVlTm9kZSk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6
ZXIudmlzaXRfQXRvbU5vZGUpOgorICAgICAgICAoTWFuaWZlc3RTZXJpYWxpemVyLnZpc2l0X0Nv
bmRpdGlvbmFsTm9kZSk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfU3RyaW5n
Tm9kZSk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfTnVtYmVyTm9kZSk6Cisg
ICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfVmFyaWFibGVOb2RlKToKKyAgICAgICAg
KE1hbmlmZXN0U2VyaWFsaXplci52aXNpdF9JbmRleE5vZGUpOgorICAgICAgICAoTWFuaWZlc3RT
ZXJpYWxpemVyLnZpc2l0X1VuYXJ5RXhwcmVzc2lvbk5vZGUpOgorICAgICAgICAoTWFuaWZlc3RT
ZXJpYWxpemVyLnZpc2l0X0JpbmFyeUV4cHJlc3Npb25Ob2RlKToKKyAgICAgICAgKE1hbmlmZXN0
U2VyaWFsaXplci52aXNpdF9VbmFyeU9wZXJhdG9yTm9kZSk6CisgICAgICAgIChNYW5pZmVzdFNl
cmlhbGl6ZXIudmlzaXRfQmluYXJ5T3BlcmF0b3JOb2RlKToKKyAgICAgICAgKHNlcmlhbGl6ZSk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
d3B0bWFuaWZlc3QvdGVzdHMvX19pbml0X18ucHk6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rl
c3RfY29uZGl0aW9uYWwucHk6IEFkZGVkLgorICAgICAgICAoVGVzdENvbmRpdGlvbmFsKToKKyAg
ICAgICAgKFRlc3RDb25kaXRpb25hbC5jb21waWxlKToKKyAgICAgICAgKFRlc3RDb25kaXRpb25h
bC50ZXN0X2dldF8wKToKKyAgICAgICAgKHRlc3RfZ2V0XzEpOgorICAgICAgICAodGVzdF9nZXRf
Mik6CisgICAgICAgICh0ZXN0X2dldF8zKToKKyAgICAgICAgKHRlc3Rfc2V0XzApOgorICAgICAg
ICAodGVzdF9zZXRfMSk6CisgICAgICAgICh0ZXN0X3NldF8yKToKKyAgICAgICAgKHRlc3RfYXBp
XzApOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3RfcGFyc2VyLnB5OiBBZGRlZC4KKyAgICAgICAgKFRl
c3RFeHByZXNzaW9uKToKKyAgICAgICAgKFRlc3RFeHByZXNzaW9uLnNldFVwKToKKyAgICAgICAg
KFRlc3RFeHByZXNzaW9uLnBhcnNlKToKKyAgICAgICAgKFRlc3RFeHByZXNzaW9uLmNvbXBhcmUp
OgorICAgICAgICAoVGVzdEV4cHJlc3Npb24ubWF0Y2gpOgorICAgICAgICAoVGVzdEV4cHJlc3Np
b24udGVzdF9leHByXzApOgorICAgICAgICAodGVzdF9leHByXzEpOgorICAgICAgICAodGVzdF9h
dG9tXzApOgorICAgICAgICAodGVzdF9hdG9tXzEpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3Rfc2Vy
aWFsaXplci5weTogQWRkZWQuCisgICAgICAgIChUb2tlbml6ZXJUZXN0KToKKyAgICAgICAgKFRv
a2VuaXplclRlc3Quc2V0VXApOgorICAgICAgICAoVG9rZW5pemVyVGVzdC5zZXJpYWxpemUpOgor
ICAgICAgICAoVG9rZW5pemVyVGVzdC5jb21wYXJlKToKKyAgICAgICAgKFRva2VuaXplclRlc3Qu
dGVzdF8wKToKKyAgICAgICAgKHRlc3RfMSk6CisgICAgICAgICh0ZXN0XzIpOgorICAgICAgICAo
dGVzdF8zKToKKyAgICAgICAgKHRlc3RfNCk6CisgICAgICAgICh0ZXN0XzUpOgorICAgICAgICAo
dGVzdF82KToKKyAgICAgICAgKHRlc3RfNyk6CisgICAgICAgICh0ZXN0XzgpOgorICAgICAgICAo
dGVzdF85KToKKyAgICAgICAgKHRlc3RfMTApOgorICAgICAgICAodGVzdF8xMSk6CisgICAgICAg
ICh0ZXN0XzEyKToKKyAgICAgICAgKHRlc3RfMTMpOgorICAgICAgICAodGVzdF8xNCk6CisgICAg
ICAgICh0ZXN0XzE1KToKKyAgICAgICAgKHRlc3RfMTYpOgorICAgICAgICAodGVzdF8xNyk6Cisg
ICAgICAgICh0ZXN0XzE4KToKKyAgICAgICAgKHRlc3RfZXNjYXBlXzApOgorICAgICAgICAodGVz
dF9lc2NhcGVfMSk6CisgICAgICAgICh0ZXN0X2VzY2FwZV8yKToKKyAgICAgICAgKHRlc3RfZXNj
YXBlXzMpOgorICAgICAgICAodGVzdF9lc2NhcGVfNCk6CisgICAgICAgICh0ZXN0X2VzY2FwZV81
KToKKyAgICAgICAgKHRlc3RfZXNjYXBlXzYpOgorICAgICAgICAodGVzdF9lc2NhcGVfNyk6Cisg
ICAgICAgICh0ZXN0X2VzY2FwZV84KToKKyAgICAgICAgKHRlc3RfZXNjYXBlXzkpOgorICAgICAg
ICAodGVzdF9lc2NhcGVfMTApOgorICAgICAgICAodGVzdF9lc2NhcGVfMTEpOgorICAgICAgICAo
dGVzdF9hdG9tXzEpOgorICAgICAgICAodGVzdF9hdG9tXzIpOgorICAgICAgICAodGVzdF9hdG9t
XzMpOgorICAgICAgICAodGVzdF9hdG9tXzQpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3Rfc3RhdGlj
LnB5OiBBZGRlZC4KKyAgICAgICAgKFRlc3RTdGF0aWMpOgorICAgICAgICAoVGVzdFN0YXRpYy5j
b21waWxlKToKKyAgICAgICAgKFRlc3RTdGF0aWMudGVzdF9nZXRfMCk6CisgICAgICAgICh0ZXN0
X2dldF8xKToKKyAgICAgICAgKHRlc3RfZ2V0XzMpOgorICAgICAgICAodGVzdF9nZXRfNCk6Cisg
ICAgICAgICh0ZXN0X2FwaSk6CisgICAgICAgICh0ZXN0X2lzX2VtcHR5XzEpOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0
L3Rlc3RzL3Rlc3RfdG9rZW5pemVyLnB5OiBBZGRlZC4KKyAgICAgICAgKFRva2VuaXplclRlc3Qp
OgorICAgICAgICAoVG9rZW5pemVyVGVzdC5zZXRVcCk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0
LnRva2VuaXplKToKKyAgICAgICAgKFRva2VuaXplclRlc3QuY29tcGFyZSk6CisgICAgICAgIChU
b2tlbml6ZXJUZXN0LnRlc3RfaGVhZGluZ18wKToKKyAgICAgICAgKFRva2VuaXplclRlc3QudGVz
dF9oZWFkaW5nXzEpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2hlYWRpbmdfMik6Cisg
ICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3RfaGVhZGluZ18zKToKKyAgICAgICAgKFRva2VuaXpl
clRlc3QudGVzdF9oZWFkaW5nXzQpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2hlYWRp
bmdfNSk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3RfaGVhZGluZ182KToKKyAgICAgICAg
KFRva2VuaXplclRlc3QudGVzdF9rZXlfMCk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3Rf
a2V5XzEpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2tleV8yKToKKyAgICAgICAgKFRv
a2VuaXplclRlc3QudGVzdF9rZXlfMyk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3Rfa2V5
XzQpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2tleV81KToKKyAgICAgICAgKFRva2Vu
aXplclRlc3QudGVzdF9rZXlfNik6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3Rfa2V5Xzcp
OgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2tleV84KToKKyAgICAgICAgKFRva2VuaXpl
clRlc3QudGVzdF9rZXlfOSk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3Rfa2V5XzEwKToK
KyAgICAgICAgKFRva2VuaXplclRlc3QudGVzdF9rZXlfMTEpOgorICAgICAgICAoVG9rZW5pemVy
VGVzdC50ZXN0X2tleV8xMik6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3Rfa2V5XzEzKToK
KyAgICAgICAgKFRva2VuaXplclRlc3QudGVzdF9rZXlfMTQpOgorICAgICAgICAoVG9rZW5pemVy
VGVzdC50ZXN0X2xpc3RfMCk6CisgICAgICAgICh0ZXN0X2xpc3RfMSk6CisgICAgICAgICh0ZXN0
X2xpc3RfMik6CisgICAgICAgICh0ZXN0X2xpc3RfMyk6CisgICAgICAgICh0ZXN0X2xpc3RfNCk6
CisgICAgICAgICh0ZXN0X2xpc3RfNSk6CisgICAgICAgICh0ZXN0X2xpc3RfNik6CisgICAgICAg
ICh0ZXN0X2V4cHJfMCk6CisgICAgICAgICh0ZXN0X2V4cHJfMSk6CisgICAgICAgICh0ZXN0X2V4
cHJfMik6CisgICAgICAgICh0ZXN0X2V4cHJfMyk6CisgICAgICAgICh0ZXN0X2V4cHJfNCk6Cisg
ICAgICAgICh0ZXN0X2V4cHJfNSk6CisgICAgICAgICh0ZXN0X2V4cHJfNik6CisgICAgICAgICh0
ZXN0X2V4cHJfNyk6CisgICAgICAgICh0ZXN0X2V4cHJfOCk6CisgICAgICAgICh0ZXN0X2V4cHJf
OSk6CisgICAgICAgICh0ZXN0X2V4cHJfMTApOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3czYy1pbXBvcnQu
bG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93cHRtYW5pZmVzdC93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvdzNj
LWltcG9ydC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0cnVubmVyLnB5OiBBZGRlZC4KKyAgICAgICAgKHNldHVwX2xvZ2dpbmcp
OgorICAgICAgICAoZ2V0X2xvYWRlcik6CisgICAgICAgIChsaXN0X3Rlc3RfZ3JvdXBzKToKKyAg
ICAgICAgKGxpc3RfZGlzYWJsZWQpOgorICAgICAgICAoZ2V0X3BhdXNlX2FmdGVyX3Rlc3QpOgor
ICAgICAgICAocnVuX3Rlc3RzKToKKyAgICAgICAgKHN0YXJ0KToKKyAgICAgICAgKG1haW4pOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dw
dHRlc3QucHk6IEFkZGVkLgorICAgICAgICAoUmVzdWx0KToKKyAgICAgICAgKFJlc3VsdC5fX2lu
aXRfXyk6CisgICAgICAgIChSZXN1bHQuX19yZXByX18pOgorICAgICAgICAoU3VidGVzdFJlc3Vs
dCk6CisgICAgICAgIChTdWJ0ZXN0UmVzdWx0Ll9faW5pdF9fKToKKyAgICAgICAgKFN1YnRlc3RS
ZXN1bHQuX19yZXByX18pOgorICAgICAgICAoVGVzdGhhcm5lc3NSZXN1bHQpOgorICAgICAgICAo
VGVzdGhhcm5lc3NTdWJ0ZXN0UmVzdWx0KToKKyAgICAgICAgKFJlZnRlc3RSZXN1bHQpOgorICAg
ICAgICAoV2RzcGVjUmVzdWx0KToKKyAgICAgICAgKFdkc3BlY1N1YnRlc3RSZXN1bHQpOgorICAg
ICAgICAoZ2V0X3J1bl9pbmZvKToKKyAgICAgICAgKFJ1bkluZm8pOgorICAgICAgICAoUnVuSW5m
by5fX2luaXRfXyk6CisgICAgICAgIChSdW5JbmZvLl91cGRhdGVfbW96aW5mbyk6CisgICAgICAg
IChUZXN0KToKKyAgICAgICAgKFRlc3QuX19pbml0X18pOgorICAgICAgICAoVGVzdC5fX2VxX18p
OgorICAgICAgICAoVGVzdC5mcm9tX21hbmlmZXN0KToKKyAgICAgICAgKFRlc3QuaWQpOgorICAg
ICAgICAoVGVzdC5rZXlzKToKKyAgICAgICAgKFRlc3QuYWJzX3BhdGgpOgorICAgICAgICAoVGVz
dC5fZ2V0X21ldGFkYXRhKToKKyAgICAgICAgKFRlc3QuaXRlcm1ldGEpOgorICAgICAgICAoVGVz
dC5kaXNhYmxlZCk6CisgICAgICAgIChUZXN0LnJlc3RhcnRfYWZ0ZXIpOgorICAgICAgICAoVGVz
dC50YWdzKToKKyAgICAgICAgKFRlc3QucHJlZnMpOgorICAgICAgICAoVGVzdC5leHBlY3RlZCk6
CisgICAgICAgIChUZXN0Ll9fcmVwcl9fKToKKyAgICAgICAgKFRlc3RoYXJuZXNzVGVzdCk6Cisg
ICAgICAgIChUZXN0aGFybmVzc1Rlc3QuaWQpOgorICAgICAgICAoTWFudWFsVGVzdCk6CisgICAg
ICAgIChNYW51YWxUZXN0LmlkKToKKyAgICAgICAgKFJlZnRlc3RUZXN0KToKKyAgICAgICAgKFJl
ZnRlc3RUZXN0Ll9faW5pdF9fKToKKyAgICAgICAgKFJlZnRlc3RUZXN0LmZyb21fbWFuaWZlc3Qp
OgorICAgICAgICAoUmVmdGVzdFRlc3QuaWQpOgorICAgICAgICAoUmVmdGVzdFRlc3Qua2V5cyk6
CisgICAgICAgIChXZHNwZWNUZXN0KToKKyAgICAgICAgKGZyb21fbWFuaWZlc3QpOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS9kb2NzL3czYy1pbXBvcnQubG9n
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5j
dGlvbmFsL2RvY3Jvb3Qvc3ViZGlyL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5jdGlvbmFsL2RvY3Jvb3QvdzNjLWlt
cG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rl
c3RzL2Z1bmN0aW9uYWwvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHNlcnZlL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdXJsL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0OgorCisyMDE3
LTA1LTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgU2V0dGlu
ZyBVUkwuc2VhcmNoIHRvICcnIHJlc3VsdHMgaW4gYSBzdHJpbmdpZmllZCBVUkwgZW5kaW5nIGlu
ICc/JwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYy
MzQ1CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTgwMDQ0MT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9pZGxoYXJuZXNz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvRmlsZUFQSS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCA1YTZjN2I4MjNmYjE3OGM3
YjdmNTBkYWJkNTg0OWM3MGE3YTY1OWZmLi42Yjg4MzdkZTY0MWE5NWM3ZjIxYmNiYzExM2FjZDhh
MGRlNTViZGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0ZpbGVBUEkvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2lkbGhhcm5lc3MtZXhw
ZWN0ZWQudHh0CkBAIC0xMiw4ICsxMiw2IEBAIFBBU1MgQmxvYiBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjCiBQQVNT
IEJsb2IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2l6ZSAKIFBBU1MgQmxvYiBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSB0eXBlIAogUEFTUyBCbG9iIGludGVyZmFjZTogb3BlcmF0aW9uIHNsaWNlKGxvbmcg
bG9uZyxsb25nIGxvbmcsRE9NU3RyaW5nKSAKLVBBU1MgQmxvYiBtdXN0IGJlIHByaW1hcnkgaW50
ZXJmYWNlIG9mIG5ldyBCbG9iKFsiVEVTVCJdKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5l
dyBCbG9iKFsiVEVTVCJdKSAKIFBBU1MgQmxvYiBpbnRlcmZhY2U6IG5ldyBCbG9iKFsiVEVTVCJd
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNpemUiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAK
IFBBU1MgQmxvYiBpbnRlcmZhY2U6IG5ldyBCbG9iKFsiVEVTVCJdKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgInR5cGUiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgQmxvYiBpbnRlcmZh
Y2U6IG5ldyBCbG9iKFsiVEVTVCJdKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNsaWNlIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC0yNSw4ICsyMyw2IEBAIFBBU1MgRmlsZSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dAogUEFTUyBGaWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgRmls
ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAogUEFTUyBGaWxlIGludGVyZmFjZTogYXR0cmli
dXRlIGxhc3RNb2RpZmllZCAKLVBBU1MgRmlsZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9m
IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIAotUEFTUyBTdHJpbmdpZmlj
YXRpb24gb2YgbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgCiBQQVNTIEZp
bGUgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm5hbWUiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1Mg
RmlsZSBpbnRlcmZhY2U6IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFzdE1vZGlmaWVkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MSkgCiBQQVNTIEJsb2IgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15Rmls
ZU5hbWUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNpemUiIHdpdGggdGhlIHByb3BlciB0eXBl
ICgwKSAKQEAgLTQwLDggKzM2LDYgQEAgUEFTUyBGaWxlTGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAogUEFTUyBGaWxl
TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIEZpbGVMaXN0IGlu
dGVyZmFjZTogb3BlcmF0aW9uIGl0ZW0odW5zaWduZWQgbG9uZykgCiBQQVNTIEZpbGVMaXN0IGlu
dGVyZmFjZTogYXR0cmlidXRlIGxlbmd0aCAKLVBBU1MgRmlsZUxpc3QgbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBmaWxlX2lucHV0LmZpbGVzIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2Yg
ZmlsZV9pbnB1dC5maWxlcyAKIFBBU1MgRmlsZUxpc3QgaW50ZXJmYWNlOiBmaWxlX2lucHV0LmZp
bGVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaXRlbSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDAp
IAogUEFTUyBGaWxlTGlzdCBpbnRlcmZhY2U6IGNhbGxpbmcgaXRlbSh1bnNpZ25lZCBsb25nKSBv
biBmaWxlX2lucHV0LmZpbGVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCiBQQVNTIEZpbGVMaXN0IGludGVyZmFjZTogZmlsZV9pbnB1dC5maWxlcyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImxlbmd0aCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIApAQCAtNzAs
OCArNjQsNiBAQCBQQVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25sb2FkCiBQ
QVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9ydCAKIFBBU1MgRmlsZVJl
YWRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVycm9yIAogUEFTUyBGaWxlUmVhZGVyIGludGVy
ZmFjZTogYXR0cmlidXRlIG9ubG9hZGVuZCAKLVBBU1MgRmlsZVJlYWRlciBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIG5ldyBGaWxlUmVhZGVyKCkgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBv
ZiBuZXcgRmlsZVJlYWRlcigpIAogUEFTUyBGaWxlUmVhZGVyIGludGVyZmFjZTogbmV3IEZpbGVS
ZWFkZXIoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlYWRBc0FycmF5QnVmZmVyIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBjYWxsaW5nIHJl
YWRBc0FycmF5QnVmZmVyKEJsb2IpIG9uIG5ldyBGaWxlUmVhZGVyKCkgd2l0aCB0b28gZmV3IGFy
Z3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRmlsZVJlYWRlciBpbnRlcmZhY2U6
IG5ldyBGaWxlUmVhZGVyKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZWFkQXNCaW5hcnlTdHJp
bmciIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9pZGxoYXJuZXNzLndvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0ZpbGVBUEkvaWRsaGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDRiOTdkMzc3M2Y2
Mjg4NDgxOGYxNDZmNWVlY2JlYjE1Y2VlMzViMWIuLmJlNDQyNjI0ZGI4NGI1NDU3YTE0NTdjOGEz
YjllMmM0NjEyYzY3ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9pZGxoYXJuZXNzLndvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2lk
bGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMTQsOCArMTQsNiBAQCBQQVNTIEJsb2Ig
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiYwogUEFTUyBCbG9iIGludGVyZmFjZTogYXR0cmlidXRlIHNpemUgCiBQQVNT
IEJsb2IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdHlwZSAKIFBBU1MgQmxvYiBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBzbGljZShsb25nIGxvbmcsbG9uZyBsb25nLERPTVN0cmluZykgCi1QQVNTIEJsb2Ig
bXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgQmxvYihbIlRFU1QiXSkgCi1QQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiBuZXcgQmxvYihbIlRFU1QiXSkgCiBQQVNTIEJsb2IgaW50ZXJmYWNl
OiBuZXcgQmxvYihbIlRFU1QiXSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzaXplIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIEJsb2IgaW50ZXJmYWNlOiBuZXcgQmxvYihbIlRFU1Qi
XSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0eXBlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkg
CiBQQVNTIEJsb2IgaW50ZXJmYWNlOiBuZXcgQmxvYihbIlRFU1QiXSkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJzbGljZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtMjcsOCArMjUsNiBA
QCBGQUlMIEZpbGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZQogRkFJTCBGaWxlIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVj
dG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJGaWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZSIgbWlzc2luZwogRkFJTCBG
aWxlIGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGUi
IG1pc3NpbmcKIEZBSUwgRmlsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYXN0TW9kaWZpZWQgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZSIg
ZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGUiIG1pc3NpbmcKLUZBSUwgRmlsZSBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIGFz
c2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3Qg
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IEZpbGUiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRmlsZShbIm15Rmls
ZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBGaWxlIgogRkFJTCBGaWxlIGludGVy
ZmFjZTogbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJuYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgYXNzZXJ0X2VxdWFsczog
VW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxs
IGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmls
ZSIKIEZBSUwgRmlsZSBpbnRlcmZhY2U6IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxl
TmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFzdE1vZGlmaWVkIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMSkgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFs
dWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSIKIEZBSUwgQmxvYiBpbnRlcmZhY2U6IG5ldyBG
aWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
c2l6ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQg
ZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9i
amVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEZpbGUiCkBAIC02Nyw4
ICs2Myw2IEBAIFBBU1MgRmlsZVJlYWRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWQKIFBB
U1MgRmlsZVJlYWRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFib3J0IAogUEFTUyBGaWxlUmVh
ZGVyIGludGVyZmFjZTogYXR0cmlidXRlIG9uZXJyb3IgCiBQQVNTIEZpbGVSZWFkZXIgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25sb2FkZW5kIAotUEFTUyBGaWxlUmVhZGVyIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgbmV3IEZpbGVSZWFkZXIoKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9m
IG5ldyBGaWxlUmVhZGVyKCkgCiBQQVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBuZXcgRmlsZVJl
YWRlcigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVhZEFzQXJyYXlCdWZmZXIiIHdpdGggdGhl
IHByb3BlciB0eXBlICgwKSAKIFBBU1MgRmlsZVJlYWRlciBpbnRlcmZhY2U6IGNhbGxpbmcgcmVh
ZEFzQXJyYXlCdWZmZXIoQmxvYikgb24gbmV3IEZpbGVSZWFkZXIoKSB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBGaWxlUmVhZGVyIGludGVyZmFjZTog
bmV3IEZpbGVSZWFkZXIoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlYWRBc0JpbmFyeVN0cmlu
ZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIApAQCAtOTksOCArOTMsNiBAQCBQQVNTIEZpbGVS
ZWFkZXJTeW5jIGludGVyZmFjZTogb3BlcmF0aW9uIHJlYWRBc0FycmF5QnVmZmVyKEJsb2IpCiBQ
QVNTIEZpbGVSZWFkZXJTeW5jIGludGVyZmFjZTogb3BlcmF0aW9uIHJlYWRBc0JpbmFyeVN0cmlu
ZyhCbG9iKSAKIFBBU1MgRmlsZVJlYWRlclN5bmMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVhZEFz
VGV4dChCbG9iLERPTVN0cmluZykgCiBQQVNTIEZpbGVSZWFkZXJTeW5jIGludGVyZmFjZTogb3Bl
cmF0aW9uIHJlYWRBc0RhdGFVUkwoQmxvYikgCi1QQVNTIEZpbGVSZWFkZXJTeW5jIG11c3QgYmUg
cHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZpbGVSZWFkZXJTeW5jKCkgCi1QQVNTIFN0cmluZ2lm
aWNhdGlvbiBvZiBuZXcgRmlsZVJlYWRlclN5bmMoKSAKIFBBU1MgRmlsZVJlYWRlclN5bmMgaW50
ZXJmYWNlOiBuZXcgRmlsZVJlYWRlclN5bmMoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlYWRB
c0FycmF5QnVmZmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIEZpbGVSZWFkZXJT
eW5jIGludGVyZmFjZTogY2FsbGluZyByZWFkQXNBcnJheUJ1ZmZlcihCbG9iKSBvbiBuZXcgRmls
ZVJlYWRlclN5bmMoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IAogUEFTUyBGaWxlUmVhZGVyU3luYyBpbnRlcmZhY2U6IG5ldyBGaWxlUmVhZGVyU3luYygpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVhZEFzQmluYXJ5U3RyaW5nIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAoMSkgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0ZpbGVBUEkvdXJsL211bHRpLWdsb2JhbC1vcmlnaW4tc2VyaWFsaXphdGlvbi5z
dWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9GaWxlQVBJL3VybC9tdWx0aS1nbG9iYWwtb3JpZ2luLXNlcmlhbGl6YXRpb24uc3ViLWV4
cGVjdGVkLnR4dAppbmRleCA0ZmQwNWYzM2IyZWFmNmE3MGU5ZTFjYmEzYzY2NDRhNjk0MTBhNWJj
Li4wNjc3ODYyY2YyNTRkYjNmMGQzNTMyYTk5Mzc3YjEyODMzY2VhZGNiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvdXJsL211
bHRpLWdsb2JhbC1vcmlnaW4tc2VyaWFsaXphdGlvbi5zdWItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS91cmwvbXVs
dGktZ2xvYmFsLW9yaWdpbi1zZXJpYWxpemF0aW9uLnN1Yi1leHBlY3RlZC50eHQKQEAgLTIsNiAr
Miw1IEBAIEJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwOi8vd3d3LmxvY2FsaG9z
dDo4ODAwL0ZpbGVBUEkvc3VwcG9ydC9pbmN1bWJlCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6
IFR5cGVFcnJvcjogZnJhbWVzWzBdLmNyZWF0ZUJsb2JVUkwgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZnJhbWVzWzBdLmNyZWF0ZUJsb2JVUkwoKScsICdmcmFtZXNbMF0uY3JlYXRlQmxvYlVSTCcg
aXMgdW5kZWZpbmVkKQogCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVy
cm9yOiBmcmFtZXNbMF0uY3JlYXRlQmxvYlVSTCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdmcmFt
ZXNbMF0uY3JlYXRlQmxvYlVSTCgpJywgJ2ZyYW1lc1swXS5jcmVhdGVCbG9iVVJMJyBpcyB1bmRl
ZmluZWQpCi0KK0ZBSUwgQmxvYiBVUkwgc2VyaWFsaXphdGlvbiAoc3BlY2lmaWNhbGx5IHRoZSBv
cmlnaW4pIGluIG11bHRpLWdsb2JhbCBzaXR1YXRpb25zIFR5cGVFcnJvcjogZnJhbWVzWzBdLmNy
ZWF0ZUJsb2JVUkwgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZnJhbWVzWzBdLmNyZWF0ZUJsb2JV
UkwoKScsICdmcmFtZXNbMF0uY3JlYXRlQmxvYlVSTCcgaXMgdW5kZWZpbmVkKQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4IGVh
MTQ0MzdkNGRmYzUxYWMxMmI0N2U0N2VkOTU2ZDdlOGViMGNmMTIuLmVmNzI0MzNmZTFmNTAzYmEy
NTM4YWY3YzRlN2YzMDg5NDQ5OTE0YTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0yOSw4ICsyOSw2IEBAIFBBU1MgSURCVmVy
c2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90CiBQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbGRWZXJzaW9uIAogUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgbmV3VmVyc2lvbiAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IElEQlZlcnNpb25DaGFuZ2VFdmVudCgnZm9v
JykgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgSURCVmVyc2lvbkNoYW5nZUV2ZW50KCdm
b28nKSAKIFBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogbmV3IElEQlZlcnNp
b25DaGFuZ2VFdmVudCgnZm9vJykgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbGRWZXJzaW9uIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRl
cmZhY2U6IG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQoJ2ZvbycpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAibmV3VmVyc2lvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBJREJGYWN0
b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCkBAIC00MSw4ICszOSw2IEBAIFBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjCiBQQVNTIElEQkZh
Y3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbihET01TdHJpbmcsdW5zaWduZWQgbG9uZyBs
b25nKSAKIFBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVEYXRhYmFz
ZShET01TdHJpbmcpIAogUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogb3BlcmF0aW9uIGNtcChh
bnksYW55KSAKLVBBU1MgSURCRmFjdG9yeSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHdp
bmRvdy5pbmRleGVkREIgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiB3aW5kb3cuaW5kZXhlZERC
IAogUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogd2luZG93LmluZGV4ZWREQiBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9wZW4iIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgSURCRmFj
dG9yeSBpbnRlcmZhY2U6IGNhbGxpbmcgb3BlbihET01TdHJpbmcsdW5zaWduZWQgbG9uZyBsb25n
KSBvbiB3aW5kb3cuaW5kZXhlZERCIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgCiBQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiB3aW5kb3cuaW5kZXhlZERCIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVsZXRlRGF0YWJhc2UiIHdpdGggdGhlIHByb3BlciB0eXBl
ICgxKSAKQEAgLTEyMCw4ICsxMTYsNiBAQCBQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3Bl
cmF0aW9uIGxvd2VyQm91bmQoYW55LGJvb2xlYW4pCiBQQVNTIElEQktleVJhbmdlIGludGVyZmFj
ZTogb3BlcmF0aW9uIHVwcGVyQm91bmQoYW55LGJvb2xlYW4pIAogUEFTUyBJREJLZXlSYW5nZSBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBib3VuZChhbnksYW55LGJvb2xlYW4sYm9vbGVhbikgCiBQQVNT
IElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIGluY2x1ZGVzKGFueSkgCi1QQVNTIElE
QktleVJhbmdlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgSURCS2V5UmFuZ2Uub25seSgw
KSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIElEQktleVJhbmdlLm9ubHkoMCkgCiBQQVNTIElE
QktleVJhbmdlIGludGVyZmFjZTogSURCS2V5UmFuZ2Uub25seSgwKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImxvd2VyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIElEQktleVJhbmdl
IGludGVyZmFjZTogSURCS2V5UmFuZ2Uub25seSgwKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVw
cGVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIElEQktleVJhbmdlIGludGVyZmFj
ZTogSURCS2V5UmFuZ2Uub25seSgwKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvd2VyT3BlbiIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy53b3JrZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaW50ZXJmYWNlcy53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGM2NGYwZjA2MDNj
NmQyYTNkMjgyOGY3MGJhNDA0MWViZDE1MmUwMTIuLjQ1NmRlMDY3YmJjYTExNjMwZDliMTY0MTQz
YzFhMGRjYTIwMTVkMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMud29ya2VyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pbnRlcmZhY2VzLndvcmtlci1leHBlY3RlZC50eHQKQEAgLTI3LDggKzI3LDYgQEAgUEFTUyBJ
REJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3QKIFBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
ImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9sZFZlcnNpb24gCiBQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBuZXdWZXJzaW9uIAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZl
bnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgSURCVmVyc2lvbkNoYW5nZUV2ZW50
KCdmb28nKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZl
bnQoJ2ZvbycpIAogUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBuZXcgSURC
VmVyc2lvbkNoYW5nZUV2ZW50KCdmb28nKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9sZFZlcnNp
b24iIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50
IGludGVyZmFjZTogbmV3IElEQlZlcnNpb25DaGFuZ2VFdmVudCgnZm9vJykgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJuZXdWZXJzaW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIElE
QkZhY3RvcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdCAKQEAgLTM5LDggKzM3LDYgQEAgUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWMKIFBBU1Mg
SURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuKERPTVN0cmluZyx1bnNpZ25lZCBs
b25nIGxvbmcpIAogUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZURh
dGFiYXNlKERPTVN0cmluZykgCiBQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24g
Y21wKGFueSxhbnkpIAotUEFTUyBJREJGYWN0b3J5IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ug
b2Ygc2VsZi5pbmRleGVkREIgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBzZWxmLmluZGV4ZWRE
QiAKIFBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IHNlbGYuaW5kZXhlZERCIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib3BlbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBJREJGYWN0
b3J5IGludGVyZmFjZTogY2FsbGluZyBvcGVuKERPTVN0cmluZyx1bnNpZ25lZCBsb25nIGxvbmcp
IG9uIHNlbGYuaW5kZXhlZERCIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCiBQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBzZWxmLmluZGV4ZWREQiBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImRlbGV0ZURhdGFiYXNlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkg
CkBAIC0xMTgsOCArMTE0LDYgQEAgUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlv
biBsb3dlckJvdW5kKGFueSxib29sZWFuKQogUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiB1cHBlckJvdW5kKGFueSxib29sZWFuKSAKIFBBU1MgSURCS2V5UmFuZ2UgaW50ZXJm
YWNlOiBvcGVyYXRpb24gYm91bmQoYW55LGFueSxib29sZWFuLGJvb2xlYW4pIAogUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpbmNsdWRlcyhhbnkpIAotUEFTUyBJREJLZXlS
YW5nZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIElEQktleVJhbmdlLm9ubHkoMCkgCi1Q
QVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBJREJLZXlSYW5nZS5vbmx5KDApIAogUEFTUyBJREJLZXlS
YW5nZSBpbnRlcmZhY2U6IElEQktleVJhbmdlLm9ubHkoMCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJsb3dlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBJREJLZXlSYW5nZSBpbnRl
cmZhY2U6IElEQktleVJhbmdlLm9ubHkoMCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cHBlciIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IElE
QktleVJhbmdlLm9ubHkoMCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dlck9wZW4iIHdpdGgg
dGhlIHByb3BlciB0eXBlICgyKSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2Rlcml2ZV9iaXRzX2tleXMvdGVzdF9l
Y2RoX2JpdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZGVyaXZlX2JpdHNfa2V5cy90ZXN0X2VjZGhfYml0cy1l
eHBlY3RlZC50eHQKaW5kZXggODI3YWQ0NTY1NWMyODYxYWEwNDM4ZmNlNjgxY2RmNmE5ZjI4MDc3
MS4uOWY0NWViYjNlYTI0MWVhZjhiNTZhMGZjYzJlYWIzYjIwODgyNDIyYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkv
ZGVyaXZlX2JpdHNfa2V5cy90ZXN0X2VjZGhfYml0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZGVyaXZl
X2JpdHNfa2V5cy90ZXN0X2VjZGhfYml0cy1leHBlY3RlZC50eHQKQEAgLTIsNiArMiw1IEBAIENP
TlNPTEUgTUVTU0FHRTogbGluZSAxOTg6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogRGF0
YUVycm9yIChET00gRXhjZXB0aW9uCiBkZXJpdmVCaXRzIFRlc3RzIGZvciBFQ0RICiAKIAotSGFy
bmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlv
biBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cwotCitGQUlMIFdlYkNyeXB0b0FQSTogZGVyaXZl
Qml0cygpIFVzaW5nIEVDREggRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3Qg
bWVldCByZXF1aXJlbWVudHMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZGVyaXZlX2JpdHNfa2V5cy90ZXN0X2Vj
ZGhfa2V5cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9kZXJpdmVfYml0c19rZXlzL3Rlc3RfZWNkaF9rZXlzLWV4
cGVjdGVkLnR4dAppbmRleCA5YmIyMWMxMzcxZWNjZDczZDcxOTViYTIyZTMxZjg4ZTIxMjNjOTQ5
Li4wZTM3ZDQ2MWEzYzA4Y2Q0ZTJmMTMxNjFiYTc1MDM5OTdiY2FkYTQ0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9k
ZXJpdmVfYml0c19rZXlzL3Rlc3RfZWNkaF9rZXlzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9kZXJpdmVf
Yml0c19rZXlzL3Rlc3RfZWNkaF9rZXlzLWV4cGVjdGVkLnR4dApAQCAtMiw2ICsyLDUgQEAgQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE2NzogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBEYXRh
RXJyb3IgKERPTSBFeGNlcHRpb24KIGRlcml2ZUtleSBUZXN0cyBmb3IgRUNESAogCiAKLUhhcm5l
c3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24g
ZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMKLQorRkFJTCBXZWJDcnlwdG9BUEk6ZGVyaXZlS2V5
KCkgVXNpbmcgRUNESCBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0
IHJlcXVpcmVtZW50cwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2lk
bGhhcm5lc3MtZXhwZWN0ZWQudHh0CmluZGV4IDk3MjVhNTM5NWRjNzlmODMzMzQ2ZDFjNTVhMThi
ZTY2NGE4NjBlNmYuLjQyNTU2YjA1NjRjMGNhMDAzZWUzNGFjMzgyNzdmZDVjZGQ3NDYwOWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2Vi
Q3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0
ZWQudHh0CkBAIC0xMCw4ICsxMCw2IEBAIFBBU1MgQ3J5cHRvIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CiBQQVNTIENyeXB0
byBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIENyeXB0byBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBzdWJ0bGUgCiBQQVNTIENyeXB0byBpbnRlcmZhY2U6IG9wZXJhdGlvbiBn
ZXRSYW5kb21WYWx1ZXMoQXJyYXlCdWZmZXJWaWV3KSAKLVBBU1MgQ3J5cHRvIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgY3J5cHRvIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgY3J5cHRv
IAogUEFTUyBDcnlwdG8gaW50ZXJmYWNlOiBjcnlwdG8gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJz
dWJ0bGUiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgQ3J5cHRvIGludGVyZmFjZTog
Y3J5cHRvIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZ2V0UmFuZG9tVmFsdWVzIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMSkgCiBQQVNTIENyeXB0byBpbnRlcmZhY2U6IGNhbGxpbmcgZ2V0UmFuZG9t
VmFsdWVzKEFycmF5QnVmZmVyVmlldykgb24gY3J5cHRvIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgCkBAIC00MSw4ICszOSw2IEBAIFBBU1MgU3VidGxlQ3J5cHRv
IGludGVyZmFjZTogb3BlcmF0aW9uIGltcG9ydEtleShLZXlGb3JtYXQsW29iamVjdCBPYmplY3Rd
LFtvYmplCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IG9wZXJhdGlvbiBleHBvcnRLZXko
S2V5Rm9ybWF0LENyeXB0b0tleSkgCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IG9wZXJh
dGlvbiB3cmFwS2V5KEtleUZvcm1hdCxDcnlwdG9LZXksQ3J5cHRvS2V5LEFsZ29yaXRobUlkZW50
aWZpZXIpIAogUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBvcGVyYXRpb24gdW53cmFwS2V5
KEtleUZvcm1hdCxCdWZmZXJTb3VyY2UsQ3J5cHRvS2V5LEFsZ29yaXRobUlkZW50aWZpZXIsQWxn
b3JpdGhtSWRlbnRpZmllcixib29sZWFuLFtvYmplY3QgT2JqZWN0XSkgCi1QQVNTIFN1YnRsZUNy
eXB0byBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGNyeXB0by5zdWJ0bGUgCi1QQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiBjcnlwdG8uc3VidGxlIAogUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJm
YWNlOiBjcnlwdG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZW5jcnlwdCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjYWxsaW5n
IGVuY3J5cHQoQWxnb3JpdGhtSWRlbnRpZmllcixDcnlwdG9LZXksQnVmZmVyU291cmNlKSBvbiBj
cnlwdG8uc3VidGxlIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJkZWNyeXB0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQ
SS9pZGxoYXJuZXNzLndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLndvcmtlci1leHBl
Y3RlZC50eHQKaW5kZXggMTE4M2QzYjRkZThmZWE4OWUwM2I0YmI0YzIxMzI1MDA3ZGU1NGEzYS4u
OGM4M2FhZmMwZWI3MzkxMjkwYzhhOTQ0MTY0MmVlOGQ3ODhjODAxMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvaWRs
aGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtOSw4ICs5LDYgQEAgUEFTUyBDcnlwdG8gaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKIFBBU1MgQ3J5cHRv
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgQ3J5cHRvIGludGVyZmFj
ZTogYXR0cmlidXRlIHN1YnRsZSAKIFBBU1MgQ3J5cHRvIGludGVyZmFjZTogb3BlcmF0aW9uIGdl
dFJhbmRvbVZhbHVlcyhBcnJheUJ1ZmZlclZpZXcpIAotUEFTUyBDcnlwdG8gbXVzdCBiZSBwcmlt
YXJ5IGludGVyZmFjZSBvZiBjcnlwdG8gCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBjcnlwdG8g
CiBQQVNTIENyeXB0byBpbnRlcmZhY2U6IGNyeXB0byBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN1
YnRsZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBDcnlwdG8gaW50ZXJmYWNlOiBj
cnlwdG8gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJnZXRSYW5kb21WYWx1ZXMiIHdpdGggdGhlIHBy
b3BlciB0eXBlICgxKSAKIFBBU1MgQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBnZXRSYW5kb21W
YWx1ZXMoQXJyYXlCdWZmZXJWaWV3KSBvbiBjcnlwdG8gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBt
dXN0IHRocm93IFR5cGVFcnJvciAKQEAgLTQwLDggKzM4LDYgQEAgUEFTUyBTdWJ0bGVDcnlwdG8g
aW50ZXJmYWNlOiBvcGVyYXRpb24gaW1wb3J0S2V5KEtleUZvcm1hdCxbb2JqZWN0IE9iamVjdF0s
W29iamUKIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogb3BlcmF0aW9uIGV4cG9ydEtleShL
ZXlGb3JtYXQsQ3J5cHRvS2V5KSAKIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogb3BlcmF0
aW9uIHdyYXBLZXkoS2V5Rm9ybWF0LENyeXB0b0tleSxDcnlwdG9LZXksQWxnb3JpdGhtSWRlbnRp
ZmllcikgCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1bndyYXBLZXko
S2V5Rm9ybWF0LEJ1ZmZlclNvdXJjZSxDcnlwdG9LZXksQWxnb3JpdGhtSWRlbnRpZmllcixBbGdv
cml0aG1JZGVudGlmaWVyLGJvb2xlYW4sW29iamVjdCBPYmplY3RdKSAKLVBBU1MgU3VidGxlQ3J5
cHRvIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgY3J5cHRvLnN1YnRsZSAKLVBBU1MgU3Ry
aW5naWZpY2F0aW9uIG9mIGNyeXB0by5zdWJ0bGUgCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZh
Y2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJlbmNyeXB0IiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNhbGxpbmcg
ZW5jcnlwdChBbGdvcml0aG1JZGVudGlmaWVyLENyeXB0b0tleSxCdWZmZXJTb3VyY2UpIG9uIGNy
eXB0by5zdWJ0bGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAK
IFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImRlY3J5cHQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVl
c3QvZm9ybWRhdGEtZm9yZWFjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L2Zvcm1kYXRhLWZvcmVhY2gtZXhw
ZWN0ZWQudHh0CmluZGV4IGYzZjhmOGE5NDk4YTE0OGM3OTc0YjVlZGMzZjU1ZDE0ZTVlNTBkZTku
LjJkNmVhZDNjYzZjNDFiZWJhZWU1NjM5ZDk0NDViNmI3YzUyMzAwMDAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3Qv
Zm9ybWRhdGEtZm9yZWFjaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9mb3JtZGF0YS1mb3JlYWNoLWV4
cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogVHlw
ZUVycm9yOiBmZC5kZWxldGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZmQuZGVsZXRlKCduMicp
JywgJ2ZkLmRlbGV0ZScgaXMgdW5kZWZpbmVkKQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVz
c2FnZSA9IFR5cGVFcnJvcjogZmQuZGVsZXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2ZkLmRl
bGV0ZSgnbjInKScsICdmZC5kZWxldGUnIGlzIHVuZGVmaW5lZCkKLQorRkFJTCBGb3JtRGF0YTog
Zm9yZWFjaCBUeXBlRXJyb3I6IGZkLmRlbGV0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdmZC5k
ZWxldGUoJ24yJyknLCAnZmQuZGVsZXRlJyBpcyB1bmRlZmluZWQpCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3Qv
aW50ZXJmYWNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4
IDYxNzdmZWJhOGI0NDc2ZjEyNDc0OWU3NDZjMjg0ODhkNjAxM2Q4ODYuLjU1NGVlMTQwNTU0NmZi
NGRhMTJmMGUyNmNmZWYyN2MwNmM0NWQ5ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3QvaW50ZXJmYWNlcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9YTUxIdHRwUmVxdWVzdC9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dApAQCAtMTksOCArMTksNiBA
QCBQQVNTIFhNTEh0dHBSZXF1ZXN0VXBsb2FkIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCiBQQVNT
IFhNTEh0dHBSZXF1ZXN0VXBsb2FkIGludGVyZmFjZSBvYmplY3QgbmFtZSAKIFBBU1MgWE1MSHR0
cFJlcXVlc3RVcGxvYWQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCiBQQVNTIFhNTEh0dHBSZXF1ZXN0VXBsb2FkIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgWE1MSHR0cFJlcXVlc3RVcGxvYWQg
bXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVwbG9h
ZCAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2Fk
IAogUEFTUyBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0IGludGVyZmFjZTogKG5ldyBYTUxIdHRw
UmVxdWVzdCgpKS51cGxvYWQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmxvYWRzdGFydCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0IGlu
dGVyZmFjZTogKG5ldyBYTUxIdHRwUmVxdWVzdCgpKS51cGxvYWQgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbnByb2dyZXNzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIFhNTEh0dHBS
ZXF1ZXN0RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVwbG9h
ZCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uYWJvcnQiIHdpdGggdGhlIHByb3BlciB0eXBlICgy
KSAKQEAgLTI4LDEyICsyNiw2IEBAIFBBU1MgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCBpbnRl
cmZhY2U6IChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2FkIG11c3QgaW5oCiBQQVNTIFhNTEh0
dHBSZXF1ZXN0RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVw
bG9hZCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubG9hZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDQpIAogUEFTUyBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0IGludGVyZmFjZTogKG5ldyBYTUxI
dHRwUmVxdWVzdCgpKS51cGxvYWQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRpbWVvdXQiIHdp
dGggdGhlIHByb3BlciB0eXBlICg1KSAKIFBBU1MgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCBp
bnRlcmZhY2U6IChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2FkIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25sb2FkZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoNikgCi1QQVNTIEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogKG5ldyBYTUxIdHRwUmVxdWVzdCgpKS51cGxvYWQgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCi1Q
QVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBhZGRFdmVudExpc3RlbmVyKERPTVN0
cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4pIG9uIChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBs
b2FkIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2
ZW50VGFyZ2V0IGludGVyZmFjZTogKG5ldyBYTUxIdHRwUmVxdWVzdCgpKS51cGxvYWQgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJyZW1vdmVFdmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMSkgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExp
c3RlbmVyKERPTVN0cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4pIG9uIChuZXcgWE1MSHR0cFJl
cXVlc3QoKSkudXBsb2FkIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogKG5ldyBYTUxIdHRwUmVxdWVzdCgpKS51
cGxvYWQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaXNwYXRjaEV2ZW50IiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMikgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBkaXNwYXRj
aEV2ZW50KEV2ZW50KSBvbiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVwbG9hZCB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBYTUxIdHRwUmVxdWVzdCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAog
UEFTUyBYTUxIdHRwUmVxdWVzdCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgWE1MSHR0
cFJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBuYW1lIApAQCAtNjksOCArNjEsNiBAQCBQQVNTIFhN
TEh0dHBSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIHJlc3BvbnNlVHlwZQogUEFTUyBYTUxI
dHRwUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZXNwb25zZSAKIFBBU1MgWE1MSHR0cFJl
cXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVzcG9uc2VUZXh0IAogUEFTUyBYTUxIdHRwUmVx
dWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZXNwb25zZVhNTCAKLVBBU1MgWE1MSHR0cFJlcXVl
c3QgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgWE1MSHR0cFJlcXVlc3QoKSAKLVBB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBYTUxIdHRwUmVxdWVzdCgpIAogUEFTUyBYTUxIdHRw
UmVxdWVzdCBpbnRlcmZhY2U6IG5ldyBYTUxIdHRwUmVxdWVzdCgpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25yZWFkeXN0YXRlY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNT
IFhNTEh0dHBSZXF1ZXN0IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJVTlNFTlQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgWE1M
SHR0cFJlcXVlc3QgaW50ZXJmYWNlOiBuZXcgWE1MSHR0cFJlcXVlc3QoKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIk9QRU5FRCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtMTA5LDEyICs5
OSw2IEBAIFBBU1MgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBYTUxI
dHRwUmVxdWVzdCgpIG11c3QgaW5oZXJpdCBwcm9wCiBQQVNTIFhNTEh0dHBSZXF1ZXN0RXZlbnRU
YXJnZXQgaW50ZXJmYWNlOiBuZXcgWE1MSHR0cFJlcXVlc3QoKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ubG9hZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDQpIAogUEFTUyBYTUxIdHRwUmVxdWVz
dEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbnRpbWVvdXQiIHdpdGggdGhlIHByb3BlciB0eXBlICg1KSAKIFBBU1MgWE1M
SHR0cFJlcXVlc3RFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBYTUxIdHRwUmVxdWVzdCgpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25sb2FkZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoNikg
Ci1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MCkgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBhZGRFdmVudExpc3RlbmVy
KERPTVN0cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4pIG9uIG5ldyBYTUxIdHRwUmVxdWVzdCgp
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2ZW50
VGFyZ2V0IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJyZW1vdmVFdmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCi1QQVNT
IEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0
cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4pIG9uIG5ldyBYTUxIdHRwUmVxdWVzdCgpIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJk
aXNwYXRjaEV2ZW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCi1QQVNTIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogY2FsbGluZyBkaXNwYXRjaEV2ZW50KEV2ZW50KSBvbiBuZXcgWE1MSHR0cFJl
cXVlc3QoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFT
UyBGb3JtRGF0YSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAogUEFTUyBGb3JtRGF0YSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1Mg
Rm9ybURhdGEgaW50ZXJmYWNlIG9iamVjdCBuYW1lIApAQCAtMTI4LDggKzExMiw2IEBAIEZBSUwg
Rm9ybURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QWxsKFVTVlN0cmluZykgYXNzZXJ0X293
bl9wcm9wZXJ0eTogaW50ZXJmCiBGQUlMIEZvcm1EYXRhIGludGVyZmFjZTogb3BlcmF0aW9uIGhh
cyhVU1ZTdHJpbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgImhhcyIg
bWlzc2luZwogRkFJTCBGb3JtRGF0YSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXQoVVNWU3RyaW5n
LEJsb2IsVVNWU3RyaW5nKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJz
ZXQiIG1pc3NpbmcKIEZBSUwgRm9ybURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0KFVTVlN0
cmluZyxVU1ZTdHJpbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgInNl
dCIgbWlzc2luZwotUEFTUyBGb3JtRGF0YSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5l
dyBGb3JtRGF0YSgpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEZvcm1EYXRhKCkgCiBQ
QVNTIEZvcm1EYXRhIGludGVyZmFjZTogbmV3IEZvcm1EYXRhKCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJhcHBlbmQiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgRm9ybURhdGEgaW50
ZXJmYWNlOiBjYWxsaW5nIGFwcGVuZChVU1ZTdHJpbmcsQmxvYixVU1ZTdHJpbmcpIG9uIG5ldyBG
b3JtRGF0YSgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQ
QVNTIEZvcm1EYXRhIGludGVyZmFjZTogbmV3IEZvcm1EYXRhKCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJhcHBlbmQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKQEAgLTE0Niw4ICsxMjgsNiBA
QCBGQUlMIEZvcm1EYXRhIGludGVyZmFjZTogbmV3IEZvcm1EYXRhKCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJzZXQiIHdpdGggdGhlIHBybwogRkFJTCBGb3JtRGF0YSBpbnRlcmZhY2U6IGNhbGxp
bmcgc2V0KFVTVlN0cmluZyxCbG9iLFVTVlN0cmluZykgb24gbmV3IEZvcm1EYXRhKCkgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJzZXQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgRm9ybURhdGEg
aW50ZXJmYWNlOiBuZXcgRm9ybURhdGEoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNldCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDcpIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInNldCIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgogRkFJTCBGb3JtRGF0YSBpbnRlcmZhY2U6IGNhbGxp
bmcgc2V0KFVTVlN0cmluZyxVU1ZTdHJpbmcpIG9uIG5ldyBGb3JtRGF0YSgpIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0
eSAic2V0IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1QQVNTIEZvcm1EYXRhIG11c3Qg
YmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZvcm1EYXRhKGZvcm0pIAotUEFTUyBTdHJpbmdp
ZmljYXRpb24gb2YgbmV3IEZvcm1EYXRhKGZvcm0pIAogUEFTUyBGb3JtRGF0YSBpbnRlcmZhY2U6
IG5ldyBGb3JtRGF0YShmb3JtKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFwcGVuZCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBGb3JtRGF0YSBpbnRlcmZhY2U6IGNhbGxpbmcgYXBw
ZW5kKFVTVlN0cmluZyxCbG9iLFVTVlN0cmluZykgb24gbmV3IEZvcm1EYXRhKGZvcm0pIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIEZvcm1EYXRhIGlu
dGVyZmFjZTogbmV3IEZvcm1EYXRhKGZvcm0pIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXBwZW5k
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNldHlwZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNldHlwZS1leHBlY3RlZC50eHQKaW5kZXggOTJmNjhiOTA0
MWEzNGUxYjQ5ZDMxNWMwZmEwNzE4Mjk0NzEwM2ExZS4uNWMzZjQzODlhOTk1ZjQ3ODQ5YzBhN2Iz
YzFiYzZhMDZiMjczMTU2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9yZXNwb25zZXR5cGUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0
cFJlcXVlc3QvcmVzcG9uc2V0eXBlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMTc0OiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90
IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRo
ZSB3aW5kb3cgY29udGV4dC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTc0OiBYTUxIdHRwUmVx
dWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAo
UykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxMTc0OiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5n
ZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cg
Y29udGV4dC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTc0OiBYTUxIdHRwUmVxdWVzdC5yZXNw
b25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVz
dHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
MTc0OiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5
bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4K
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTc0OiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUg
Y2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBm
cm9tIHRoZSB3aW5kb3cgY29udGV4dC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTczOiBYTUxI
dHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3Vz
IEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxMTczOiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJl
IGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3
aW5kb3cgY29udGV4dC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTczOiBYTUxIdHRwUmVxdWVz
dC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykg
cmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMTczOiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQg
Zm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29u
dGV4dC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTczOiBYTUxIdHRwUmVxdWVzdC5yZXNwb25z
ZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMg
bWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTcz
OiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNo
cm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KIAog
UEFTUyBJbml0aWFsIHZhbHVlIG9mIHJlc3BvbnNlVHlwZSAKIFBBU1MgU2V0IHJlc3BvbnNlVHlw
ZSB0byAiIiB3aGVuIHJlYWR5U3RhdGUgaXMgVU5TRU5ULiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3QvdGltZW91
dC1zeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvWE1MSHR0cFJlcXVlc3QvdGltZW91dC1zeW5jLWV4cGVjdGVkLnR4dAppbmRleCAz
N2RkMDVmYTk2MjMyNzBhYzA4MTI4NDVkNzI3YTFjMWYwOTVmM2M5Li5kMzhjN2RjZTgzMTgwYzhm
ZmM3M2FlNDMxZDZjZjE4OGYyNmYxOWFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3RpbWVvdXQtc3luYy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9YTUxIdHRwUmVxdWVzdC90aW1lb3V0LXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBA
QAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExNzQ6IFhNTEh0dHBSZXF1ZXN0LnRpbWVvdXQgY2Fu
bm90IGJlIHNldCBmb3Igc3luY2hyb25vdXMgSFRUUChTKSByZXF1ZXN0cyBtYWRlIGZyb20gdGhl
IHdpbmRvdyBjb250ZXh0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExNzM6IFhNTEh0dHBSZXF1
ZXN0LnRpbWVvdXQgY2Fubm90IGJlIHNldCBmb3Igc3luY2hyb25vdXMgSFRUUChTKSByZXF1ZXN0
cyBtYWRlIGZyb20gdGhlIHdpbmRvdyBjb250ZXh0LgogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIx
OiBTeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdHMgbXVzdCBub3QgaGF2ZSBhIHRpbWVvdXQgdmFs
dWUgc2V0LgogCiBQQVNTIHNldHRpbmcgdGltZW91dCBhdHRyaWJ1dGUgb24gc3luYyByZXF1ZXN0
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9iYWNrZ3JvdW5kLWZldGNoL2ludGVyZmFjZXMud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmFja2dyb3VuZC1mZXRjaC9p
bnRlcmZhY2VzLndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggY2QzZmY5OWIzYmM2MDlmNGU1YjUx
NDhhNjFiYmJmYzhkOGFjN2MxMS4uNWNlZTA3YTdiMTI4NTQ4OTQ5ZjliZWE0MDgxZDUxZjFmNDc5
NzBjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9iYWNrZ3JvdW5kLWZldGNoL2ludGVyZmFjZXMud29ya2VyLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JhY2tncm91bmQt
ZmV0Y2gvaW50ZXJmYWNlcy53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0zLDEwICszLDcgQEAgSGFy
bmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAKIFBBU1MgRXhwb3NlZCBpbnRl
cmZhY2VzIGluIGEgU2VydmljZSBXb3JrZXIuIAogUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCi1GQUlMIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bmJhY2tncm91bmRmZXRjaGVkIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSIgbWlzc2luZwotRkFJTCBTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25iYWNrZ3JvdW5kZmV0Y2hmYWlsIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZSIgZXhwZWN0ZWQgcHJvcGVydHkgIlNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZSIgbWlzc2luZwotRkFJTCBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25iYWNrZ3JvdW5kZmV0Y2hhYm9ydCBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUi
IGV4cGVjdGVkIHByb3BlcnR5ICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUiIG1pc3NpbmcKLUZB
SUwgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogYXR0cmlidXRlIG9uYmFja2dy
b3VuZGZldGNoY2xpY2sgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIiBleHBlY3RlZCBwcm9wZXJ0eSAi
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlIiBtaXNzaW5nCitQQVNTIFNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAogRkFJTCBCYWNrZ3JvdW5kRmV0Y2hNYW5hZ2VyIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoTWFuYWdlciIg
ZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaE1hbmFnZXIiIG1pc3NpbmcKIEZBSUwg
QmFja2dyb3VuZEZldGNoTWFuYWdlciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0
Y2hNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoTWFuYWdlciIgbWlz
c2luZwogRkFJTCBCYWNrZ3JvdW5kRmV0Y2hNYW5hZ2VyIGludGVyZmFjZSBvYmplY3QgbmFtZSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNr
Z3JvdW5kRmV0Y2hNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoTWFu
YWdlciIgbWlzc2luZwpAQCAtMzgsMzUgKzM1LDkgQEAgRkFJTCBCYWNrZ3JvdW5kRmV0Y2hBY3Rp
dmVGZXRjaGVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWwK
IEZBSUwgQmFja2dyb3VuZEZldGNoQWN0aXZlRmV0Y2hlcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hB
Y3RpdmVGZXRjaGVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQWN0aXZlRmV0
Y2hlcyIgbWlzc2luZwogRkFJTCBCYWNrZ3JvdW5kRmV0Y2hBY3RpdmVGZXRjaGVzIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hBY3RpdmVGZXRjaGVzIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQWN0aXZlRmV0Y2hlcyIgbWlzc2luZwogRkFJ
TCBCYWNrZ3JvdW5kRmV0Y2hBY3RpdmVGZXRjaGVzIGludGVyZmFjZTogYXR0cmlidXRlIHJlc3Bv
bnNlUmVhZHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiQmFja2dyb3VuZEZldGNoQWN0aXZlRmV0Y2hlcyIgZXhwZWN0ZWQgcHJvcGVydHkgIkJh
Y2tncm91bmRGZXRjaEFjdGl2ZUZldGNoZXMiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNo
RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJCYWNrZ3JvdW5kRmV0Y2hFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRj
aEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaEV2ZW50IGludGVyZmFjZSBvYmpl
Y3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkJhY2tncm91bmRGZXRjaEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3Vu
ZEZldGNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRXZlbnQgaW50ZXJmYWNl
IG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dy
b3VuZEZldGNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRXZlbnQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
QmFja2dyb3VuZEZldGNoRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hF
dmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hFdmVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJC
YWNrZ3JvdW5kRmV0Y2hFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hFdmVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSB0YWcgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRXZlbnQiIGV4cGVjdGVkIHByb3Bl
cnR5ICJCYWNrZ3JvdW5kRmV0Y2hFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hF
bmRFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIkJhY2tncm91bmRGZXRjaEVuZEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3Vu
ZEZldGNoRW5kRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRW5kRXZlbnQgaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRW5kRXZlbnQiIGV4cGVjdGVkIHByb3Bl
cnR5ICJCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0
Y2hFbmRFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRW5kRXZlbnQiIGV4
cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCIgbWlzc2luZwotRkFJTCBC
YWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCIgZXhw
ZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEVuZEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJh
Y2tncm91bmRGZXRjaEVuZEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNr
Z3JvdW5kRmV0Y2hFbmRFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEVu
ZEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaEVuZEV2ZW50IGludGVyZmFjZTog
YXR0cmlidXRlIGNvbXBsZXRlRmV0Y2hlcyBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCIgZXhwZWN0ZWQg
cHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEVuZEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91
bmRGZXRjaEVuZEV2ZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHVwZGF0ZVVJKERPTVN0cmluZykg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFj
a2dyb3VuZEZldGNoRW5kRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hF
bmRFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91
bmRGZXRjaFNldHRsZWRGZXRjaGVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNo
U2V0dGxlZEZldGNoZXMiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoU2V0dGxlZEZldGNo
ZXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoU2V0dGxlZEZldGNoZXMiIGV4
cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyIgbWlzc2luZwot
RkFJTCBCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFj
a2dyb3VuZEZldGNoU2V0dGxlZEZldGNoZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5k
RmV0Y2hTZXR0bGVkRmV0Y2hlcyIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVk
RmV0Y2hlcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyIgZXhwZWN0ZWQgcHJv
cGVydHkgIkJhY2tncm91bmRGZXRjaFNldHRsZWRGZXRjaGVzIiBtaXNzaW5nCi1GQUlMIEJhY2tn
cm91bmRGZXRjaFNldHRsZWRGZXRjaGVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJC
YWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91
bmRGZXRjaFNldHRsZWRGZXRjaGVzIiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaFNldHRs
ZWRGZXRjaGVzIGludGVyZmFjZTogYXR0cmlidXRlIHJlc3BvbnNlIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaFNldHRs
ZWRGZXRjaGVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoU2V0dGxlZEZldGNo
ZXMiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRmFpbEV2ZW50IGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRmFp
bEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRmFpbEV2ZW50IiBtaXNz
aW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaEZhaWxFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJC
YWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0
Y2hGYWlsRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRmFpbEV2ZW50IGludGVy
ZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5
ICJCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNo
RmFpbEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEZhaWxFdmVudCIgZXhwZWN0ZWQgcHJvcGVy
dHkgIkJhY2tncm91bmRGZXRjaEZhaWxFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0
Y2hGYWlsRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRj
aEZhaWxFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEZhaWxFdmVudCIg
bWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgZmFpbGVkRmV0Y2hlcyBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5
ICJCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNo
Q2xpY2tFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkJhY2tncm91bmRGZXRjaENsaWNrRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNr
Z3JvdW5kRmV0Y2hDbGlja0V2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaENsaWNr
RXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQ2xpY2tFdmVudCIgZXhw
ZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaENsaWNrRXZlbnQiIG1pc3NpbmcKLUZBSUwg
QmFja2dyb3VuZEZldGNoQ2xpY2tFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZl
dGNoQ2xpY2tFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaENsaWNrRXZl
bnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoQ2xpY2tFdmVudCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3Jv
dW5kRmV0Y2hDbGlja0V2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQ2xp
Y2tFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2ZW50IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2ZW50IiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQ2xpY2tFdmVudCIgbWlzc2luZwotRkFJTCBCYWNr
Z3JvdW5kRmV0Y2hDbGlja0V2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRG
ZXRjaENsaWNrRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2
ZW50IiBtaXNzaW5nCitQQVNTIEJhY2tncm91bmRGZXRjaEV2ZW50IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIEJhY2tncm91bmRG
ZXRjaEVuZEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCitQQVNTIEJhY2tncm91bmRGZXRjaFNldHRsZWRGZXRjaGVzIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIEJh
Y2tncm91bmRGZXRjaEZhaWxFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2ZW50IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29ycy9vcmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL29yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggOThhZWRmMmViOTI0
OTBhYzVjMjkyZWM2ZTUzZDE1NTI5ZDc0MDZjMC4uM2UxNDk1NDYzZjkxMTg1NDMxNDcyZWQxYTRh
ZmNhOWVmYTg0OGIwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL29yaWdpbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL29yaWdpbi1leHBlY3RlZC50eHQK
QEAgLTU5LDYgKzU5LDggQEAgQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93
d3cxLmxvY2FsaG9zdDo4ODAwL2NvcnMvL3Jlc291cmNlcy9jb3JzLW0KIEFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbiBoYW5kbGluZwogCiAKK0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdl
ID0gMSBkdXBsaWNhdGUgdGVzdCBuYW1lOiAiRGlzYWxsb3cgb3JpZ2luOiBsb2NhbGhvc3Q6ODgw
MCIKKwogRkFJTCBBbGxvdyBvcmlnaW46ICogVGhlIG9wZXJhdGlvbiB3YXMgYWJvcnRlZC4KIEZB
SUwgQWxsb3cgb3JpZ2luOiBfKl9fIFRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQuCiBGQUlMIEFs
bG93IG9yaWdpbjogW3RhYl0qIFRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9jdXN0b20tZWxlbWVudC1yZWdpc3RyeS9kZWZpbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3Vz
dG9tLWVsZW1lbnQtcmVnaXN0cnkvZGVmaW5lLWV4cGVjdGVkLnR4dAppbmRleCA2YjdkNDcwMDZl
MmEzYzFhYTc0NDY3MTRkZDYzYzk2ZTNjMTg3ZTU1Li4wZTY1Y2ZmNDk5YjAyYTFiYWUzODRlYjc1
NGMwYjExMjRkMjFlZTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWdpc3RyeS9k
ZWZpbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlZ2lzdHJ5L2RlZmlu
ZS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6
IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2lmcmFt
ZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXcnKQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwg
bWVzc2FnZSA9IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ2lmcmFtZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXcnKQotCitGQUlMIEN1c3RvbSBF
bGVtZW50czogRWxlbWVudCBkZWZpbml0aW9uIFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ2lmcmFtZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXcn
KQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLWZhbGxzYmFjay10by11bmtub3duLWVs
ZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci1mYWxsc2JhY2stdG8tdW5rbm93
bi1lbGVtZW50LWV4cGVjdGVkLnR4dAppbmRleCA2ZjZkYzg3MTdjZmVlYjE0ODhhZDlkOTU3YmVh
YzVjODQyYWM0YmFlLi42ZmI1MzgwOWEzMjIxNThhYTdhODdmMTcxNGMzMWIzOGQ5NDMyNTIzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLWZhbGxzYmFjay10by11bmtub3duLWVsZW1lbnQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItZmFsbHNiYWNrLXRvLXVua25vd24t
ZWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTIsOSArMiw3IEBAIENPTlNPTEUgTUVTU0FHRTogVHlw
ZUVycm9yOiBUaGUgcmVzdWx0IG9mIGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50IG11c3Qg
YmUKIENPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBUaGUgcmVzdWx0IG9mIGNvbnN0cnVjdGlu
ZyBhIGN1c3RvbSBlbGVtZW50IG11c3QgYmUgYSBIVE1MRWxlbWVudAogQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDM1OiBSZWZlcmVuY2VFcnJvcjogQ2Fubm90IGFjY2VzcyB1bmluaXRpYWxpemVkIHZh
cmlhYmxlLgogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBCYWQKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMzIxOiBFcnJvcjogVHJpZWQgdG8gY3JlYXRlIGEgdGVzdCB3aXRoIGZpbGVfaXNfdGVz
dAogCi1QQVNTIEhUTUwgcGFyc2VyIG11c3QgY3JlYXRlIGEgZmFsbGJhY2sgSFRNTFVua25vd25F
bGVtZW50IHdoZW4gYSBjdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvciByZXR1cm5zIGEgVGV4dCBu
b2RlIAotUEFTUyBIVE1MIHBhcnNlciBtdXN0IGNyZWF0ZSBhIGZhbGxiYWNrIEhUTUxVbmtub3du
RWxlbWVudCB3aGVuIGEgY3VzdG9tIGVsZW1lbnQgY29uc3RydWN0b3IgcmV0dXJucyBub24tRWxl
bWVudCBvYmplY3QgCi1QQVNTIEhUTUwgcGFyc2VyIG11c3QgY3JlYXRlIGEgZmFsbGJhY2sgSFRN
TFVua25vd25FbGVtZW50IHdoZW4gYSBjdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvciBkb2VzIG5v
dCBjYWxsIHN1cGVyKCkgCi1QQVNTIEhUTUwgcGFyc2VyIG11c3QgY3JlYXRlIGEgZmFsbGJhY2sg
SFRNTFVua25vd25FbGVtZW50IHdoZW4gYSBjdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvciB0aHJv
d3MgYW4gZXhjZXB0aW9uIAorUEFTUyBDdXN0b20gRWxlbWVudHM6IENoYW5nZXMgdG8gdGhlIEhU
TUwgcGFyc2VyIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0
CmluZGV4IGU5ZDBlYWM5ZGM5ZjkwODE3YmU3NTUzNzFhNjUwN2U4MTk5MDRhOWYuLmYxYzE5ODBh
NjI4OGIwN2IxMWZjNzVlOTJiNTc1OGI4ODhhYzg1MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFjZXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0yNyw4ICsyNyw2IEBAIFBBU1MgRXZlbnQgaW50
ZXJmYWNlOiBvcGVyYXRpb24gcHJldmVudERlZmF1bHQoKQogUEFTUyBFdmVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBkZWZhdWx0UHJldmVudGVkIAogUEFTUyBFdmVudCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSB0aW1lU3RhbXAgCiBQQVNTIEV2ZW50IGludGVyZmFjZTogb3BlcmF0aW9uIGluaXRFdmVu
dChET01TdHJpbmcsYm9vbGVhbixib29sZWFuKSAKLVBBU1MgRXZlbnQgbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBkb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSAKLVBBU1MgU3RyaW5n
aWZpY2F0aW9uIG9mIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpIAogUEFTUyBFdmVudCBp
bnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAidHlwZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBFdmVudCBpbnRlcmZh
Y2U6IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
dGFyZ2V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIEV2ZW50IGludGVyZmFjZTog
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjdXJy
ZW50VGFyZ2V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC00Nyw4ICs0NSw2IEBAIFBB
U1MgRXZlbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSBtdXN0IGhh
dmUgb3duIHByb3BlcnR5ICJpc1RyCiBQQVNTIEV2ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoIkV2ZW50IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0aW1lU3RhbXAiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgxNSkgCiBQQVNTIEV2ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoIkV2ZW50IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbml0RXZlbnQiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgxNikgCiBQQVNTIEV2ZW50IGludGVyZmFjZTogY2FsbGluZyBpbml0
RXZlbnQoRE9NU3RyaW5nLGJvb2xlYW4sYm9vbGVhbikgb24gZG9jdW1lbnQuY3JlYXRlRXZlbnQo
IkV2ZW50Iikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBB
U1MgRXZlbnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgRXZlbnQoImZvbyIpIAot
UEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEV2ZW50KCJmb28iKSAKIFBBU1MgRXZlbnQgaW50
ZXJmYWNlOiBuZXcgRXZlbnQoImZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidHlwZSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBFdmVudCBpbnRlcmZhY2U6IG5ldyBFdmVudCgi
Zm9vIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0YXJnZXQiIHdpdGggdGhlIHByb3BlciB0eXBl
ICgxKSAKIFBBU1MgRXZlbnQgaW50ZXJmYWNlOiBuZXcgRXZlbnQoImZvbyIpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiY3VycmVudFRhcmdldCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAt
NzQsOCArNzAsNiBAQCBQQVNTIEN1c3RvbUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZQogUEFTUyBDdXN0b21FdmVudCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIEN1c3RvbUV2ZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIGRldGFpbCAKIFBBU1MgQ3VzdG9tRXZlbnQgaW50ZXJmYWNlOiBvcGVy
YXRpb24gaW5pdEN1c3RvbUV2ZW50KERPTVN0cmluZyxib29sZWFuLGJvb2xlYW4sYW55KSAKLVBB
U1MgQ3VzdG9tRXZlbnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgQ3VzdG9tRXZl
bnQoImZvbyIpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEN1c3RvbUV2ZW50KCJmb28i
KSAKIFBBU1MgQ3VzdG9tRXZlbnQgaW50ZXJmYWNlOiBuZXcgQ3VzdG9tRXZlbnQoImZvbyIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGV0YWlsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQ
QVNTIEN1c3RvbUV2ZW50IGludGVyZmFjZTogbmV3IEN1c3RvbUV2ZW50KCJmb28iKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImluaXRDdXN0b21FdmVudCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEp
IAogUEFTUyBDdXN0b21FdmVudCBpbnRlcmZhY2U6IGNhbGxpbmcgaW5pdEN1c3RvbUV2ZW50KERP
TVN0cmluZyxib29sZWFuLGJvb2xlYW4sYW55KSBvbiBuZXcgQ3VzdG9tRXZlbnQoImZvbyIpIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCkBAIC0xMTYsOCArMTEw
LDYgQEAgUEFTUyBOb2RlTGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAogUEFTUyBOb2RlTGlzdCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIE5vZGVMaXN0IGludGVyZmFjZTogb3BlcmF0aW9u
IGl0ZW0odW5zaWduZWQgbG9uZykgCiBQQVNTIE5vZGVMaXN0IGludGVyZmFjZTogYXR0cmlidXRl
IGxlbmd0aCAKLVBBU1MgTm9kZUxpc3QgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJzY3JpcHQiKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9m
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdCIpIAogUEFTUyBOb2RlTGlzdCBpbnRl
cmZhY2U6IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdCIpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiaXRlbSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBOb2RlTGlzdCBp
bnRlcmZhY2U6IGNhbGxpbmcgaXRlbSh1bnNpZ25lZCBsb25nKSBvbiBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCJzY3JpcHQiKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIAogUEFTUyBOb2RlTGlzdCBpbnRlcmZhY2U6IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoInNjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGVuZ3RoIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMSkgCkBAIC0xMjksOCArMTIxLDYgQEAgUEFTUyBIVE1MQ29sbGVjdGlvbiBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG8K
IFBBU1MgSFRNTENvbGxlY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGVuZ3RoIAogUEFTUyBI
VE1MQ29sbGVjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpdGVtKHVuc2lnbmVkIGxvbmcpIAog
UEFTUyBIVE1MQ29sbGVjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBuYW1lZEl0ZW0oRE9NU3Ry
aW5nKSAKLVBBU1MgSFRNTENvbGxlY3Rpb24gbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBk
b2N1bWVudC5ib2R5LmNoaWxkcmVuIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQu
Ym9keS5jaGlsZHJlbiAKIFBBU1MgSFRNTENvbGxlY3Rpb24gaW50ZXJmYWNlOiBkb2N1bWVudC5i
b2R5LmNoaWxkcmVuIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGVuZ3RoIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMCkgCiBQQVNTIEhUTUxDb2xsZWN0aW9uIGludGVyZmFjZTogZG9jdW1lbnQuYm9k
eS5jaGlsZHJlbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgIml0ZW0iIHdpdGggdGhlIHByb3BlciB0
eXBlICgxKSAKIFBBU1MgSFRNTENvbGxlY3Rpb24gaW50ZXJmYWNlOiBjYWxsaW5nIGl0ZW0odW5z
aWduZWQgbG9uZykgb24gZG9jdW1lbnQuYm9keS5jaGlsZHJlbiB3aXRoIHRvbyBmZXcgYXJndW1l
bnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIApAQCAtMjcxLDggKzI2MSw2IEBAIFBBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcHJlcGVuZChbb2JqZWN0IE9iamVjdF0sW29iamVjdCBP
YmplY3RdKQogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhcHBlbmQoW29iamVj
dCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogb3Bl
cmF0aW9uIHF1ZXJ5U2VsZWN0b3IoRE9NU3RyaW5nKSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBvcGVyYXRpb24gcXVlcnlTZWxlY3RvckFsbChET01TdHJpbmcpIAotUEFTUyBEb2N1bWVudCBt
dXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBEb2N1bWVudCgpIAotUEFTUyBTdHJpbmdp
ZmljYXRpb24gb2YgbmV3IERvY3VtZW50KCkgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3
IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbXBsZW1lbnRhdGlvbiIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVu
dCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiVVJMIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkg
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJkb2N1bWVudFVSSSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtNDAzLDgg
KzM5MSw2IEBAIFBBU1MgWE1MRG9jdW1lbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKIFBBU1Mg
WE1MRG9jdW1lbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAogUEFTUyBYTUxEb2N1bWVudCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKIFBBU1MgWE1MRG9jdW1lbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5
IAotUEFTUyBYTUxEb2N1bWVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHhtbERvYyAK
LVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHhtbERvYyAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiB4bWxEb2MgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbXBsZW1lbnRhdGlvbiIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgKDApIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIlVSTCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBEb2N1
bWVudCBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRvY3VtZW50VVJJ
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC01MzksOCArNTI1LDYgQEAgUEFTUyBET01J
bXBsZW1lbnRhdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVEb2N1bWVudFR5cGUoRE9N
U3RyaW5nLERPTVN0cmkKIFBBU1MgRE9NSW1wbGVtZW50YXRpb24gaW50ZXJmYWNlOiBvcGVyYXRp
b24gY3JlYXRlRG9jdW1lbnQoRE9NU3RyaW5nLERPTVN0cmluZyxEb2N1bWVudFR5cGUpIAogUEFT
UyBET01JbXBsZW1lbnRhdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVIVE1MRG9jdW1l
bnQoRE9NU3RyaW5nKSAKIFBBU1MgRE9NSW1wbGVtZW50YXRpb24gaW50ZXJmYWNlOiBvcGVyYXRp
b24gaGFzRmVhdHVyZSgpIAotUEFTUyBET01JbXBsZW1lbnRhdGlvbiBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIGRvY3VtZW50LmltcGxlbWVudGF0aW9uIAotUEFTUyBTdHJpbmdpZmljYXRp
b24gb2YgZG9jdW1lbnQuaW1wbGVtZW50YXRpb24gCiBQQVNTIERPTUltcGxlbWVudGF0aW9uIGlu
dGVyZmFjZTogZG9jdW1lbnQuaW1wbGVtZW50YXRpb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJj
cmVhdGVEb2N1bWVudFR5cGUiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgRE9NSW1w
bGVtZW50YXRpb24gaW50ZXJmYWNlOiBjYWxsaW5nIGNyZWF0ZURvY3VtZW50VHlwZShET01TdHJp
bmcsRE9NU3RyaW5nLERPTVN0cmluZykgb24gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24gd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRE9NSW1wbGVtZW50
YXRpb24gaW50ZXJmYWNlOiBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbiBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImNyZWF0ZURvY3VtZW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCkBAIC01NjAs
OCArNTQ0LDYgQEAgUEFTUyBEb2N1bWVudFR5cGUgaW50ZXJmYWNlOiBvcGVyYXRpb24gYmVmb3Jl
KFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pCiBQQVNTIERvY3VtZW50VHlwZSBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBhZnRlcihbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSAK
IFBBU1MgRG9jdW1lbnRUeXBlIGludGVyZmFjZTogb3BlcmF0aW9uIHJlcGxhY2VXaXRoKFtvYmpl
Y3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBEb2N1bWVudFR5cGUgaW50ZXJmYWNl
OiBvcGVyYXRpb24gcmVtb3ZlKCkgCi1QQVNTIERvY3VtZW50VHlwZSBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIGRvY3VtZW50LmRvY3R5cGUgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBk
b2N1bWVudC5kb2N0eXBlIAogUEFTUyBEb2N1bWVudFR5cGUgaW50ZXJmYWNlOiBkb2N1bWVudC5k
b2N0eXBlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmFtZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDApIAogUEFTUyBEb2N1bWVudFR5cGUgaW50ZXJmYWNlOiBkb2N1bWVudC5kb2N0eXBlIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAicHVibGljSWQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBB
U1MgRG9jdW1lbnRUeXBlIGludGVyZmFjZTogZG9jdW1lbnQuZG9jdHlwZSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInN5c3RlbUlkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC02NTIsOCAr
NjM0LDYgQEAgUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHByZXBl
bmQoW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWMKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBhcHBlbmQoW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0
XSkgCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnlTZWxl
Y3RvcihET01TdHJpbmcpIAogUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogb3BlcmF0
aW9uIHF1ZXJ5U2VsZWN0b3JBbGwoRE9NU3RyaW5nKSAKLVBBU1MgRG9jdW1lbnRGcmFnbWVudCBt
dXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21l
bnQoKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJh
Z21lbnQoKSAKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0
ZURvY3VtZW50RnJhZ21lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImdldEVsZW1lbnRCeUlk
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJm
YWNlOiBjYWxsaW5nIGdldEVsZW1lbnRCeUlkKERPTVN0cmluZykgb24gZG9jdW1lbnQuY3JlYXRl
RG9jdW1lbnRGcmFnbWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVE
b2N1bWVudEZyYWdtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjaGlsZHJlbiIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDEpIApAQCAtNzk1LDggKzc3NSw2IEBAIFBBU1MgRWxlbWVudCBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBhZnRlcihbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKQog
UEFTUyBFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHJlcGxhY2VXaXRoKFtvYmplY3QgT2Jq
ZWN0XSxbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9u
IHJlbW92ZSgpIAogUEFTUyBFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIGFzc2lnbmVkU2xv
dCAKLVBBU1MgRWxlbWVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGVsZW1lbnQgCi1Q
QVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBlbGVtZW50IAogUEFTUyBFbGVtZW50IGludGVyZmFjZTog
ZWxlbWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5hbWVzcGFjZVVSSSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDApIAogUEFTUyBFbGVtZW50IGludGVyZmFjZTogZWxlbWVudCBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInByZWZpeCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBFbGVt
ZW50IGludGVyZmFjZTogZWxlbWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvY2FsTmFtZSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtOTY2LDggKzk0NCw2IEBAIFBBU1MgQXR0ciBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lCiBQQVNTIEF0dHIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
dmFsdWUgCiBQQVNTIEF0dHIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb3duZXJFbGVtZW50IAogUEFT
UyBBdHRyIGludGVyZmFjZTogYXR0cmlidXRlIHNwZWNpZmllZCAKLVBBU1MgQXR0ciBtdXN0IGJl
IHByaW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIltpZF0iKS5hdHRy
aWJ1dGVzWzBdIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiW2lkXSIpLmF0dHJpYnV0ZXNbMF0gCiBQQVNTIEF0dHIgaW50ZXJmYWNlOiBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCJbaWRdIikuYXR0cmlidXRlc1swXSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im5hbWVzcGFjZVVSSSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBBdHRyIGludGVy
ZmFjZTogZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiW2lkXSIpLmF0dHJpYnV0ZXNbMF0gbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJwcmVmaXgiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1Mg
QXR0ciBpbnRlcmZhY2U6IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIltpZF0iKS5hdHRyaWJ1dGVz
WzBdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG9jYWxOYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMikgCkBAIC0xMDY3LDggKzEwNDMsNiBAQCBQQVNTIFRleHQgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiYwogUEFT
UyBUZXh0IGludGVyZmFjZTogb3BlcmF0aW9uIHNwbGl0VGV4dCh1bnNpZ25lZCBsb25nKSAKIFBB
U1MgVGV4dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB3aG9sZVRleHQgCiBQQVNTIFRleHQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgYXNzaWduZWRTbG90IAotUEFTUyBUZXh0IG11c3QgYmUgcHJpbWFyeSBp
bnRlcmZhY2Ugb2YgZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImFiYyIpIAotUEFTUyBTdHJpbmdp
ZmljYXRpb24gb2YgZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImFiYyIpIAogUEFTUyBUZXh0IGlu
dGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImFiYyIpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAic3BsaXRUZXh0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIFRleHQgaW50
ZXJmYWNlOiBjYWxsaW5nIHNwbGl0VGV4dCh1bnNpZ25lZCBsb25nKSBvbiBkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgiYWJjIikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciAKIFBBU1MgVGV4dCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJhYmMi
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIndob2xlVGV4dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDEpIApAQCAtMTE3MSw4ICsxMTQ1LDYgQEAgUEFTUyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW50
ZXJmYWNlIG9iamVjdCBuYW1lCiBQQVNTIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAK
IFBBU1MgUHJvY2Vzc2luZ0luc3RydWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSAKIFBBU1MgUHJvY2Vzc2luZ0luc3RydWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIHRh
cmdldCAKLVBBU1MgUHJvY2Vzc2luZ0luc3RydWN0aW9uIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgeG1sRG9jLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbigiYWJjIiwgImRlZiIpIAot
UEFTUyBTdHJpbmdpZmljYXRpb24gb2YgeG1sRG9jLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlv
bigiYWJjIiwgImRlZiIpIAogUEFTUyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW50ZXJmYWNlOiB4
bWxEb2MuY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKCJhYmMiLCAiZGVmIikgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJ0YXJnZXQiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgQ2hh
cmFjdGVyRGF0YSBpbnRlcmZhY2U6IHhtbERvYy5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24o
ImFiYyIsICJkZWYiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRhdGEiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgwKSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBpbnRlcmZhY2U6IHhtbERvYy5jcmVhdGVQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24oImFiYyIsICJkZWYiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Imxlbmd0aCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIApAQCAtMTI2Niw4ICsxMjM4LDYgQEAg
UEFTUyBDb21tZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCiBQQVNTIENvbW1lbnQgaW50ZXJm
YWNlIG9iamVjdCBuYW1lIAogUEFTUyBDb21tZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFTUyBDb21tZW50IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgQ29tbWVudCBtdXN0IGJlIHBy
aW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoImFiYyIpIAotUEFTUyBT
dHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiYWJjIikgCiBQQVNTIENo
YXJhY3RlckRhdGEgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVDb21tZW50KCJhYmMiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImRhdGEiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1Mg
Q2hhcmFjdGVyRGF0YSBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoImFiYyIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGVuZ3RoIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQ
QVNTIENoYXJhY3RlckRhdGEgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVDb21tZW50KCJhYmMi
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN1YnN0cmluZ0RhdGEiIHdpdGggdGhlIHByb3BlciB0
eXBlICgyKSAKQEAgLTEzOTUsOCArMTM2NSw2IEBAIFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBvcGVy
YXRpb24gaXNQb2ludEluUmFuZ2UoTm9kZSx1bnNpZ25lZCBsb25nKQogUEFTUyBSYW5nZSBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBjb21wYXJlUG9pbnQoTm9kZSx1bnNpZ25lZCBsb25nKSAKIFBBU1Mg
UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW50ZXJzZWN0c05vZGUoTm9kZSkgCiBQQVNTIFJh
bmdlIGludGVyZmFjZTogc3RyaW5naWZpZXIgCi1QQVNTIFJhbmdlIG11c3QgYmUgcHJpbWFyeSBp
bnRlcmZhY2Ugb2YgZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9u
IG9mIGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkgCiBQQVNTIFJhbmdlIGludGVyZmFjZTogZG9jdW1l
bnQuY3JlYXRlUmFuZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXJ0Q29udGFpbmVyIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIFJhbmdlIGludGVyZmFjZTogZG9jdW1lbnQu
Y3JlYXRlUmFuZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXJ0T2Zmc2V0IiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIFJhbmdlIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRl
UmFuZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVuZENvbnRhaW5lciIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDIpIApAQCAtMTQ0Miw4ICsxNDEwLDYgQEAgUEFTUyBSYW5nZSBpbnRlcmZhY2U6
IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb21wYXJlUG9p
bnQKIFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIGNvbXBhcmVQb2ludChOb2RlLHVuc2ln
bmVkIGxvbmcpIG9uIGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50
cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBkb2N1bWVudC5j
cmVhdGVSYW5nZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaW50ZXJzZWN0c05vZGUiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgyOSkgCiBQQVNTIFJhbmdlIGludGVyZmFjZTogY2FsbGluZyBpbnRl
cnNlY3RzTm9kZShOb2RlKSBvbiBkb2N1bWVudC5jcmVhdGVSYW5nZSgpIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIFJhbmdlIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgZGV0YWNoZWRSYW5nZSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGRl
dGFjaGVkUmFuZ2UgCiBQQVNTIFJhbmdlIGludGVyZmFjZTogZGV0YWNoZWRSYW5nZSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgInN0YXJ0Q29udGFpbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkg
CiBQQVNTIFJhbmdlIGludGVyZmFjZTogZGV0YWNoZWRSYW5nZSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInN0YXJ0T2Zmc2V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIFJhbmdlIGlu
dGVyZmFjZTogZGV0YWNoZWRSYW5nZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVuZENvbnRhaW5l
ciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtMTUwMiw4ICsxNDY4LDYgQEAgUEFTUyBO
b2RlSXRlcmF0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZmlsdGVyCiBQQVNTIE5vZGVJdGVyYXRv
ciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBuZXh0Tm9kZSgpIAogUEFTUyBOb2RlSXRlcmF0b3IgaW50
ZXJmYWNlOiBvcGVyYXRpb24gcHJldmlvdXNOb2RlKCkgCiBQQVNTIE5vZGVJdGVyYXRvciBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBkZXRhY2goKSAKLVBBU1MgTm9kZUl0ZXJhdG9yIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgZG9jdW1lbnQuY3JlYXRlTm9kZUl0ZXJhdG9yKGRvY3VtZW50LmJv
ZHksIE5vZGVGaWx0ZXIuU0hPV19BTEwsIG51bGwsIGZhbHNlKSAKLVBBU1MgU3RyaW5naWZpY2F0
aW9uIG9mIGRvY3VtZW50LmNyZWF0ZU5vZGVJdGVyYXRvcihkb2N1bWVudC5ib2R5LCBOb2RlRmls
dGVyLlNIT1dfQUxMLCBudWxsLCBmYWxzZSkgCiBQQVNTIE5vZGVJdGVyYXRvciBpbnRlcmZhY2U6
IGRvY3VtZW50LmNyZWF0ZU5vZGVJdGVyYXRvcihkb2N1bWVudC5ib2R5LCBOb2RlRmlsdGVyLlNI
T1dfQUxMLCBudWxsLCBmYWxzZSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyb290IiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIE5vZGVJdGVyYXRvciBpbnRlcmZhY2U6IGRvY3VtZW50
LmNyZWF0ZU5vZGVJdGVyYXRvcihkb2N1bWVudC5ib2R5LCBOb2RlRmlsdGVyLlNIT1dfQUxMLCBu
dWxsLCBmYWxzZSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZWZlcmVuY2VOb2RlIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIE5vZGVJdGVyYXRvciBpbnRlcmZhY2U6IGRvY3VtZW50
LmNyZWF0ZU5vZGVJdGVyYXRvcihkb2N1bWVudC5ib2R5LCBOb2RlRmlsdGVyLlNIT1dfQUxMLCBu
dWxsLCBmYWxzZSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwb2ludGVyQmVmb3JlUmVmZXJlbmNl
Tm9kZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtMTUyOCw4ICsxNDkyLDYgQEAgUEFT
UyBUcmVlV2Fsa2VyIGludGVyZmFjZTogb3BlcmF0aW9uIHByZXZpb3VzU2libGluZygpCiBQQVNT
IFRyZWVXYWxrZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gbmV4dFNpYmxpbmcoKSAKIFBBU1MgVHJl
ZVdhbGtlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwcmV2aW91c05vZGUoKSAKIFBBU1MgVHJlZVdh
bGtlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBuZXh0Tm9kZSgpIAotUEFTUyBUcmVlV2Fsa2VyIG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1
bWVudC5ib2R5LCBOb2RlRmlsdGVyLlNIT1dfQUxMLCBudWxsLCBmYWxzZSkgCi1QQVNTIFN0cmlu
Z2lmaWNhdGlvbiBvZiBkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGRvY3VtZW50LmJvZHksIE5v
ZGVGaWx0ZXIuU0hPV19BTEwsIG51bGwsIGZhbHNlKSAKIFBBU1MgVHJlZVdhbGtlciBpbnRlcmZh
Y2U6IGRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoZG9jdW1lbnQuYm9keSwgTm9kZUZpbHRlci5T
SE9XX0FMTCwgbnVsbCwgZmFsc2UpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicm9vdCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBUcmVlV2Fsa2VyIGludGVyZmFjZTogZG9jdW1lbnQu
Y3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudC5ib2R5LCBOb2RlRmlsdGVyLlNIT1dfQUxMLCBudWxs
LCBmYWxzZSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ3aGF0VG9TaG93IiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMSkgCiBQQVNTIFRyZWVXYWxrZXIgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVU
cmVlV2Fsa2VyKGRvY3VtZW50LmJvZHksIE5vZGVGaWx0ZXIuU0hPV19BTEwsIG51bGwsIGZhbHNl
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImZpbHRlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIp
IApAQCAtMTU5Myw4ICsxNTU1LDYgQEAgUEFTUyBET01Ub2tlbkxpc3QgaW50ZXJmYWNlOiBvcGVy
YXRpb24gcmVwbGFjZShET01TdHJpbmcsRE9NU3RyaW5nKQogUEFTUyBET01Ub2tlbkxpc3QgaW50
ZXJmYWNlOiBvcGVyYXRpb24gc3VwcG9ydHMoRE9NU3RyaW5nKSAKIFBBU1MgRE9NVG9rZW5MaXN0
IGludGVyZmFjZTogYXR0cmlidXRlIHZhbHVlIAogUEFTUyBET01Ub2tlbkxpc3QgaW50ZXJmYWNl
OiBzdHJpbmdpZmllciAKLVBBU1MgRE9NVG9rZW5MaXN0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBk
b2N1bWVudC5ib2R5LmNsYXNzTGlzdCAKIFBBU1MgRE9NVG9rZW5MaXN0IGludGVyZmFjZTogZG9j
dW1lbnQuYm9keS5jbGFzc0xpc3QgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsZW5ndGgiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgRE9NVG9rZW5MaXN0IGludGVyZmFjZTogZG9jdW1l
bnQuYm9keS5jbGFzc0xpc3QgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpdGVtIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMSkgCiBQQVNTIERPTVRva2VuTGlzdCBpbnRlcmZhY2U6IGNhbGxpbmcgaXRl
bSh1bnNpZ25lZCBsb25nKSBvbiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY29udGVu
dFR5cGUvY29udGVudFR5cGUvY29udGVudHR5cGVfZGF0YXVyaV8wMS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1
bWVudC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRhdXJpXzAxLWV4cGVj
dGVkLnR4dAppbmRleCA2NWFiZDgyMmFmNDk0YjIwMmFlZDRkZTJmMWJmNDdkMDhlNGI3MGRmLi5h
YTJiZWVkYzJlNzI3M2ZhZjIzMTBjNDNhNTM3Yjc4ZjNlZDI3ZTMwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVu
dC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRhdXJpXzAxLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ub2Rlcy9Eb2N1bWVudC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRh
dXJpXzAxLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxNDA2OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAibnVsbCIuICBUaGUgZnJhbWUg
cmVxdWVzdGluZyBhY2Nlc3MgaGFzIGEgcHJvdG9jb2wgb2YgImh0dHAiLCB0aGUgZnJhbWUgYmVp
bmcgYWNjZXNzZWQgaGFzIGEgcHJvdG9jb2wgb2YgImRhdGEiLiBQcm90b2NvbHMgbXVzdCBtYXRj
aC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmln
aW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9y
aWdpbiAibnVsbCIuICBUaGUgZnJhbWUgcmVxdWVzdGluZyBhY2Nlc3MgaGFzIGEgcHJvdG9jb2wg
b2YgImh0dHAiLCB0aGUgZnJhbWUgYmVpbmcgYWNjZXNzZWQgaGFzIGEgcHJvdG9jb2wgb2YgImRh
dGEiLiBQcm90b2NvbHMgbXVzdCBtYXRjaC4KIAogCiBGQUlMIERhdGEgVVJJIGRvY3VtZW50LmNv
bnRlbnRUeXBlID09PSAndGV4dC9wbGFpbicgd2hlbiBkYXRhIFVSSSBNSU1FIHR5cGUgaXMgbm90
IHNldCBudWxsIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2lmcmFtZS5jb250ZW50RG9j
dW1lbnQuY29udGVudFR5cGUnKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY29udGVudFR5cGUvY29udGVu
dFR5cGUvY29udGVudHR5cGVfZGF0YXVyaV8wMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jb250ZW50
VHlwZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRhdXJpXzAyLWV4cGVjdGVkLnR4dAppbmRl
eCAyZTgwMWY1ZjIzMDE2OWI1NTUwYjNhMjExODFkZGVlNzA3MTNjZDk5Li4wYjJjMjQ5YzVjZTg1
NGJlMThkMjllZDE0ZjZhN2E5MmVmMzJiMmEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jb250ZW50VHlw
ZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRhdXJpXzAyLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1
bWVudC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRhdXJpXzAyLWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBCbG9j
a2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMCIgZnJvbSBhY2Nl
c3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAibnVsbCIuICBUaGUgZnJhbWUgcmVxdWVzdGluZyBh
Y2Nlc3MgaGFzIGEgcHJvdG9jb2wgb2YgImh0dHAiLCB0aGUgZnJhbWUgYmVpbmcgYWNjZXNzZWQg
aGFzIGEgcHJvdG9jb2wgb2YgImRhdGEiLiBQcm90b2NvbHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxNDA1OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9s
b2NhbGhvc3Q6ODgwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAibnVsbCIu
ICBUaGUgZnJhbWUgcmVxdWVzdGluZyBhY2Nlc3MgaGFzIGEgcHJvdG9jb2wgb2YgImh0dHAiLCB0
aGUgZnJhbWUgYmVpbmcgYWNjZXNzZWQgaGFzIGEgcHJvdG9jb2wgb2YgImRhdGEiLiBQcm90b2Nv
bHMgbXVzdCBtYXRjaC4KIAogCiBGQUlMIERhdGEgVVJJIGRvY3VtZW50LmNvbnRlbnRUeXBlID09
PSAndGV4dC9odG1sJyB3aGVuIGRhdGEgVVJJIE1JTUUgdHlwZSBpcyBzZXQgbnVsbCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICdpZnJhbWUuY29udGVudERvY3VtZW50LmNvbnRlbnRUeXBl
JykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZW5jb2RpbmcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2VuY29kaW5nL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0
CmluZGV4IDE2YTA3NmMzNjg2MDBlMmRjYmY0YjU4YmVlMTVlZWIzMGUwNjYzNDYuLjE3MjEwMWE4
MzkwZDJhYTVhMTVlN2QwODAwMTUzNWY1NTRjMGY2NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZW5jb2RpbmcvaWRsaGFybmVzcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9lbmNvZGluZy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtMTIsOCArMTIsNiBAQCBQQVNT
IFRleHREZWNvZGVyIGludGVyZmFjZTogYXR0cmlidXRlIGVuY29kaW5nCiBQQVNTIFRleHREZWNv
ZGVyIGludGVyZmFjZTogYXR0cmlidXRlIGZhdGFsIAogUEFTUyBUZXh0RGVjb2RlciBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBpZ25vcmVCT00gCiBQQVNTIFRleHREZWNvZGVyIGludGVyZmFjZTogb3Bl
cmF0aW9uIGRlY29kZShCdWZmZXJTb3VyY2UsVGV4dERlY29kZU9wdGlvbnMpIAotUEFTUyBUZXh0
RGVjb2RlciBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBUZXh0RGVjb2RlcigpIAot
UEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IFRleHREZWNvZGVyKCkgCiBQQVNTIFRleHREZWNv
ZGVyIGludGVyZmFjZTogbmV3IFRleHREZWNvZGVyKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJl
bmNvZGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBUZXh0RGVjb2RlciBpbnRl
cmZhY2U6IG5ldyBUZXh0RGVjb2RlcigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZmF0YWwiIHdp
dGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgVGV4dERlY29kZXIgaW50ZXJmYWNlOiBuZXcg
VGV4dERlY29kZXIoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImlnbm9yZUJPTSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgKDIpIApAQCAtMjYsOCArMjQsNiBAQCBQQVNTIFRleHRFbmNvZGVyIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZQogUEFTUyBUZXh0RW5jb2RlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQ
QVNTIFRleHRFbmNvZGVyIGludGVyZmFjZTogYXR0cmlidXRlIGVuY29kaW5nIAogUEFTUyBUZXh0
RW5jb2RlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBlbmNvZGUoVVNWU3RyaW5nKSAKLVBBU1MgVGV4
dEVuY29kZXIgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgVGV4dEVuY29kZXIoKSAK
LVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBUZXh0RW5jb2RlcigpIAogUEFTUyBUZXh0RW5j
b2RlciBpbnRlcmZhY2U6IG5ldyBUZXh0RW5jb2RlcigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
ZW5jb2RpbmciIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgVGV4dEVuY29kZXIgaW50
ZXJmYWNlOiBuZXcgVGV4dEVuY29kZXIoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVuY29kZSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBUZXh0RW5jb2RlciBpbnRlcmZhY2U6IGNh
bGxpbmcgZW5jb2RlKFVTVlN0cmluZykgb24gbmV3IFRleHRFbmNvZGVyKCkgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL2ludGVncml0
eS1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvaW50ZWdyaXR5LXNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQKaW5kZXggZDc0OTJlNDQzODY1YWNiMGFmNGY2ZWUyNzZlOTYxOTExOWQxY2Ez
MS4uMzhlN2MyMDg0MzEyZWRjY2IwMjkzZjc4ODhhZDFmZjQ2OTI1ZWVlMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFz
aWMvaW50ZWdyaXR5LXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvaW50ZWdyaXR5
LXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTI6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRX
b3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgRmV0Y2ggaW4gc2hhcmVk
d29ya2VyOiBpbnRlZ3JpdHkgaGFuZGxpbmcgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9oZWFkZXJzL2hlYWRlcnMtaWRsLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvYXBpL2hlYWRlcnMvaGVhZGVycy1pZGwtZXhwZWN0ZWQudHh0CmluZGV4IDM5ZjA0MGFkM2Q2
ZWNmYTVmZmJlNjBjMDM2NWI2Yjk1NTQ0ZGNlYzAuLmJjZTFlMmJjZjJhYTM1OGYwMTFjYTViMmI4
YjcxOWY0NTA4YWFhMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2hlYWRlcnMvaGVhZGVycy1pZGwtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2hlYWRlcnMvaGVhZGVycy1pZGwtZXhwZWN0ZWQudHh0CkBAIC0xMCwxNyArMTAsMTUgQEAg
UEFTUyBIZWFkZXJzIGludGVyZmFjZTogb3BlcmF0aW9uIGdldChCeXRlU3RyaW5nKQogUEFTUyBI
ZWFkZXJzIGludGVyZmFjZTogb3BlcmF0aW9uIGhhcyhCeXRlU3RyaW5nKSAKIFBBU1MgSGVhZGVy
cyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXQoQnl0ZVN0cmluZyxCeXRlU3RyaW5nKSAKIEZBSUwg
VGVzdGluZyBTeW1ib2wuaXRlcmF0b3IgcHJvcGVydHkgb2YgaXRlcmFibGUgaW50ZXJmYWNlIEhl
YWRlcnMgYXNzZXJ0X2VxdWFsczogQEBpdGVyYXRvciBmdW5jdGlvbiBkb2VzIG5vdCBoYXZlIHRo
ZSByaWdodCBuYW1lIGV4cGVjdGVkICJlbnRyaWVzIiBidXQgZ290ICJbU3ltYm9sLkl0ZXJhdG9y
XSIKLUZBSUwgVGVzdGluZyBwYWlyIGl0ZXJhYmxlIGludGVyZmFjZSBIZWFkZXJzIGFzc2VydF9l
cXVhbHM6IGVudHJpZXMgbWV0aG9kIGlzIG5vdCB0aGUgc2FtZSBhcyBAQGl0ZXJhdG9yIGV4cGVj
dGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBbU3ltYm9sLkl0ZXJhdG9yXSgpIHsKK0ZBSUwgVGVzdGlu
ZyBwYWlyIGl0ZXJhYmxlIGludGVyZmFjZSBIZWFkZXJzIGFzc2VydF9lcXVhbHM6IGVudHJpZXMg
bWV0aG9kIGlzIG5vdCB0aGUgc2FtZSBhcyBAQGl0ZXJhdG9yIGV4cGVjdGVkIGZ1bmN0aW9uICJm
dW5jdGlvbiBlbnRyaWVzKCkgewogICAgIFtuYXRpdmUgY29kZV0KLX0iIGJ1dCBnb3QgZnVuY3Rp
b24gImZ1bmN0aW9uIGVudHJpZXMoKSB7Cit9IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBb
U3ltYm9sLkl0ZXJhdG9yXSgpIHsKICAgICBbbmF0aXZlIGNvZGVdCiB9IgogUEFTUyBIZWFkZXJz
IGludGVyZmFjZTogb3BlcmF0aW9uIGVudHJpZXMoKSAKIFBBU1MgSGVhZGVycyBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBrZXlzKCkgCiBQQVNTIEhlYWRlcnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gdmFs
dWVzKCkgCiBQQVNTIEhlYWRlcnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZm9yRWFjaChmdW5jdGlv
bixhbnkpIAotUEFTUyBIZWFkZXJzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEhl
YWRlcnMoKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBIZWFkZXJzKCkgCiBQQVNTIEhl
YWRlcnMgaW50ZXJmYWNlOiBuZXcgSGVhZGVycygpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXBw
ZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIEhlYWRlcnMgaW50ZXJmYWNlOiBj
YWxsaW5nIGFwcGVuZChCeXRlU3RyaW5nLEJ5dGVTdHJpbmcpIG9uIG5ldyBIZWFkZXJzKCkgd2l0
aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgSGVhZGVycyBp
bnRlcmZhY2U6IG5ldyBIZWFkZXJzKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWxldGUiIHdp
dGggdGhlIHByb3BlciB0eXBlICgxKSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1pZGwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50eHQKaW5kZXggNDg1YWY3NjA3
MDViNTJjNDVhMWE1NTcyZjU4YzljYzlkYmRhMmY3NC4uYzg0MThlMWMzMzNlNTE1N2ZmMzM2ZGQ1
YmJmZjE4MWY1NmIzOTIxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50eHQKQEAgLTI0LDggKzI0LDYgQEAg
UEFTUyBSZXF1ZXN0IGludGVyZmFjZTogb3BlcmF0aW9uIGJsb2IoKQogRkFJTCBSZXF1ZXN0IGlu
dGVyZmFjZTogb3BlcmF0aW9uIGZvcm1EYXRhKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiZm9ybURhdGEiIG1pc3NpbmcKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBqc29uKCkgCiBQQVNTIFJlcXVlc3QgaW50ZXJmYWNlOiBvcGVyYXRpb24gdGV4dCgp
IAotUEFTUyBSZXF1ZXN0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IFJlcXVlc3Qo
IiIpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IFJlcXVlc3QoIiIpIAogUEFTUyBSZXF1
ZXN0IGludGVyZmFjZTogbmV3IFJlcXVlc3QoIiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWV0
aG9kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIFJlcXVlc3QgaW50ZXJmYWNlOiBu
ZXcgUmVxdWVzdCgiIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cmwiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgxKSAKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6IG5ldyBSZXF1ZXN0KCIiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImhlYWRlcnMiIHdpdGggdGhlIHByb3BlciB0eXBlICgyKSAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvYXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWlkbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9yZXNwb25z
ZS1pZGwtZXhwZWN0ZWQudHh0CmluZGV4IDM0MjQyMDA1NTdkZmI4ODg0NTE3NTkxMzllODhiN2Rk
MTEyMTA0MzEuLjU4MDI3YzZhZjE5ZGVkZGNjODM3ZjY5ZDlmMGU2NWQwNDQ3MDFhY2IgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWlkbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9u
c2UtaWRsLWV4cGVjdGVkLnR4dApAQCAtMjEsOCArMjEsNiBAQCBQQVNTIFJlc3BvbnNlIGludGVy
ZmFjZTogb3BlcmF0aW9uIGJsb2IoKQogUEFTUyBSZXNwb25zZSBpbnRlcmZhY2U6IG9wZXJhdGlv
biBmb3JtRGF0YSgpIAogUEFTUyBSZXNwb25zZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBqc29uKCkg
CiBQQVNTIFJlc3BvbnNlIGludGVyZmFjZTogb3BlcmF0aW9uIHRleHQoKSAKLVBBU1MgUmVzcG9u
c2UgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgUmVzcG9uc2UoKSAKLVBBU1MgU3Ry
aW5naWZpY2F0aW9uIG9mIG5ldyBSZXNwb25zZSgpIAogUEFTUyBSZXNwb25zZSBpbnRlcmZhY2U6
IG5ldyBSZXNwb25zZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZXJyb3IiIHdpdGggdGhlIHBy
b3BlciB0eXBlICgwKSAKIFBBU1MgUmVzcG9uc2UgaW50ZXJmYWNlOiBuZXcgUmVzcG9uc2UoKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgInJlZGlyZWN0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkg
CiBQQVNTIFJlc3BvbnNlIGludGVyZmFjZTogY2FsbGluZyByZWRpcmVjdChVU1ZTdHJpbmcsdW5z
aWduZWQgc2hvcnQpIG9uIG5ldyBSZXNwb25zZSgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVz
dCB0aHJvdyBUeXBlRXJyb3IgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2hyLXRpbWUvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2hyLXRpbWUvaWRsaGFybmVz
cy1leHBlY3RlZC50eHQKaW5kZXggMGE3YTRjYWQ2MDJjZTk2NDg5ODc3NWJkMGI4ZTAzOGE4ZGU3
OTkzMi4uOWQ1YTdmZDNjMTFkNjc0YjYzYmM1NzBhNmNiZDBiNjlkMzkzMzE1OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9oci10aW1lL2lk
bGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHItdGltZS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtOSw4ICs5
LDYgQEAgUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKIFBBU1MgUGVyZm9y
bWFuY2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgCiBQQVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKIFBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gbm93KCkg
Ci1QQVNTIFBlcmZvcm1hbmNlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygd2luZG93LnBl
cmZvcm1hbmNlIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygd2luZG93LnBlcmZvcm1hbmNlIAog
UEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IHdpbmRvdy5wZXJmb3JtYW5jZSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm5vdyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogdHlwZWRlZiBkb3Vi
bGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmln
aW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Ny
b3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLWV4cGVjdGVkLnR4dAppbmRl
eCBhYWEzZjJlZmI3NGQ0ZTU1MzE1ZGM5NGIyODg3OTM0NzZkYmRmZjAyLi4xZTkzMDg4YTFkNDdj
ZjRiYjVmN2JkZDY3NWFiOWQ2ZjZkZjM4OWM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3NzLW9y
aWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3Jp
Z2luL2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLWV4cGVjdGVkLnR4
dApAQCAtMSw0NiArMSwyNSBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQwMzogQmxvY2tlZCBh
IGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0Ojg4MDAiIGZyb20gYWNjZXNzaW5n
IGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODgwMCIuIFByb3RvY29scywg
ZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDAz
OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMCIgZnJv
bSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4ODAwIi4g
UHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAzODQ6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9z
dDo4ODAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAu
MC4xOjg4MDAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDM4NDogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRw
Oi8vbG9jYWxob3N0Ojg4MDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0
dHA6Ly8xMjcuMC4wLjE6ODgwMCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3Qg
bWF0Y2guCiAKIFBBU1MgQmFzaWMgc2FuaXR5LWNoZWNraW5nIAotUEFTUyBCYXNpYyBzYW5pdHkt
Y2hlY2tpbmcgKGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgT25seSB3aGl0ZWxpc3RlZCBwcm9wZXJ0
aWVzIGFyZSBhY2Nlc3NpYmxlIGNyb3NzLW9yaWdpbiAKLVBBU1MgT25seSB3aGl0ZWxpc3RlZCBw
cm9wZXJ0aWVzIGFyZSBhY2Nlc3NpYmxlIGNyb3NzLW9yaWdpbiAoZXhjZXB0aW9uIHR5cGUpIAog
UEFTUyBbW0dldFByb3RvdHlwZU9mXV0gc2hvdWxkIHJldHVybiBudWxsIAotUEFTUyBbW0dldFBy
b3RvdHlwZU9mXV0gc2hvdWxkIHJldHVybiBudWxsIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFtb
U2V0UHJvdG90eXBlT2ZdXSBzaG91bGQgcmV0dXJuIGZhbHNlIAotUEFTUyBbW1NldFByb3RvdHlw
ZU9mXV0gc2hvdWxkIHJldHVybiBmYWxzZSAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBbW0lzRXh0
ZW5zaWJsZV1dIHNob3VsZCByZXR1cm4gdHJ1ZSBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVjdHMgCi1Q
QVNTIFtbSXNFeHRlbnNpYmxlXV0gc2hvdWxkIHJldHVybiB0cnVlIGZvciBjcm9zcy1vcmlnaW4g
b2JqZWN0cyAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBbW1ByZXZlbnRFeHRlbnNpb25zXV0gc2hv
dWxkIHRocm93IGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyAKLVBBU1MgW1tQcmV2ZW50RXh0ZW5z
aW9uc11dIHNob3VsZCB0aHJvdyBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVjdHMgKGV4Y2VwdGlvbiB0
eXBlKSAKIFBBU1MgW1tHZXRPd25Qcm9wZXJ0eV1dIC0gUHJvcGVydGllcyBvbiBjcm9zcy1vcmln
aW4gb2JqZWN0cyBzaG91bGQgYmUgcmVwb3J0ZWQgfG93bnwgCi1QQVNTIFtbR2V0T3duUHJvcGVy
dHldXSAtIFByb3BlcnRpZXMgb24gY3Jvc3Mtb3JpZ2luIG9iamVjdHMgc2hvdWxkIGJlIHJlcG9y
dGVkIHxvd258IChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFtbR2V0T3duUHJvcGVydHldXSAtIFBy
b3BlcnR5IGRlc2NyaXB0b3JzIGZvciBjcm9zcy1vcmlnaW4gcHJvcGVydGllcyBzaG91bGQgYmUg
c2V0IHVwIGNvcnJlY3RseSAKLVBBU1MgW1tHZXRPd25Qcm9wZXJ0eV1dIC0gUHJvcGVydHkgZGVz
Y3JpcHRvcnMgZm9yIGNyb3NzLW9yaWdpbiBwcm9wZXJ0aWVzIHNob3VsZCBiZSBzZXQgdXAgY29y
cmVjdGx5IChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFtbRGVsZXRlXV0gU2hvdWxkIHRocm93IG9u
IGNyb3NzLW9yaWdpbiBvYmplY3RzIAotUEFTUyBbW0RlbGV0ZV1dIFNob3VsZCB0aHJvdyBvbiBj
cm9zcy1vcmlnaW4gb2JqZWN0cyAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBbW0RlZmluZU93blBy
b3BlcnR5XV0gU2hvdWxkIHRocm93IGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyAKLVBBU1MgW1tE
ZWZpbmVPd25Qcm9wZXJ0eV1dIFNob3VsZCB0aHJvdyBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVjdHMg
KGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgW1tFbnVtZXJhdGVdXSBzaG91bGQgcmV0dXJuIGFuIGVt
cHR5IGl0ZXJhdG9yIAotUEFTUyBbW0VudW1lcmF0ZV1dIHNob3VsZCByZXR1cm4gYW4gZW1wdHkg
aXRlcmF0b3IgKGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgW1tPd25Qcm9wZXJ0eUtleXNdXSBzaG91
bGQgcmV0dXJuIGFsbCBwcm9wZXJ0aWVzIGZyb20gY3Jvc3Mtb3JpZ2luIG9iamVjdHMgCi1QQVNT
IFtbT3duUHJvcGVydHlLZXlzXV0gc2hvdWxkIHJldHVybiBhbGwgcHJvcGVydGllcyBmcm9tIGNy
b3NzLW9yaWdpbiBvYmplY3RzIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFtbT3duUHJvcGVydHlL
ZXlzXV0gc2hvdWxkIHJldHVybiB0aGUgcmlnaHQgc3ltYm9sLW5hbWVkIHByb3BlcnRpZXMgZm9y
IGNyb3NzLW9yaWdpbiBvYmplY3RzIAotUEFTUyBbW093blByb3BlcnR5S2V5c11dIHNob3VsZCBy
ZXR1cm4gdGhlIHJpZ2h0IHN5bWJvbC1uYW1lZCBwcm9wZXJ0aWVzIGZvciBjcm9zcy1vcmlnaW4g
b2JqZWN0cyAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBbW093blByb3BlcnR5S2V5c11dIHNob3Vs
ZCBwbGFjZSB0aGUgc3ltYm9scyBhZnRlciB0aGUgcHJvcGVydHkgbmFtZXMgYWZ0ZXIgdGhlIHN1
YmZyYW1lIGluZGljZXMgCi1QQVNTIFtbT3duUHJvcGVydHlLZXlzXV0gc2hvdWxkIHBsYWNlIHRo
ZSBzeW1ib2xzIGFmdGVyIHRoZSBwcm9wZXJ0eSBuYW1lcyBhZnRlciB0aGUgc3ViZnJhbWUgaW5k
aWNlcyAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBBIGFuZCBCIGpvaW50bHkgb2JzZXJ2ZSB0aGUg
c2FtZSBpZGVudGl0eSBmb3IgY3Jvc3Mtb3JpZ2luIFdpbmRvdyBhbmQgTG9jYXRpb24gCi1QQVNT
IEEgYW5kIEIgam9pbnRseSBvYnNlcnZlIHRoZSBzYW1lIGlkZW50aXR5IGZvciBjcm9zcy1vcmln
aW4gV2luZG93IGFuZCBMb2NhdGlvbiAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBDcm9zcy1vcmln
aW4gZnVuY3Rpb25zIGdldCBsb2NhbCBGdW5jdGlvbi5wcm90b3R5cGUgCi1QQVNTIENyb3NzLW9y
aWdpbiBmdW5jdGlvbnMgZ2V0IGxvY2FsIEZ1bmN0aW9uLnByb3RvdHlwZSAoZXhjZXB0aW9uIHR5
cGUpIAogUEFTUyBDcm9zcy1vcmlnaW4gV2luZG93IGFjY2Vzc29ycyBnZXQgbG9jYWwgRnVuY3Rp
b24ucHJvdG90eXBlIAotUEFTUyBDcm9zcy1vcmlnaW4gV2luZG93IGFjY2Vzc29ycyBnZXQgbG9j
YWwgRnVuY3Rpb24ucHJvdG90eXBlIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFNhbWUtb3JpZ2lu
IG9ic2VydmVycyBnZXQgZGlmZmVyZW50IGZ1bmN0aW9ucyBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVj
dHMgCi1QQVNTIFNhbWUtb3JpZ2luIG9ic2VydmVycyBnZXQgZGlmZmVyZW50IGZ1bmN0aW9ucyBm
b3IgY3Jvc3Mtb3JpZ2luIG9iamVjdHMgKGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgU2FtZS1vcmln
aW4gb2JzZXJ2ZXJzIGdldCBkaWZmZXJlbnQgYWNjZXNzb3JzIGZvciBjcm9zcy1vcmlnaW4gV2lu
ZG93IAotUEFTUyBTYW1lLW9yaWdpbiBvYnNlcnZlcnMgZ2V0IGRpZmZlcmVudCBhY2Nlc3NvcnMg
Zm9yIGNyb3NzLW9yaWdpbiBXaW5kb3cgKGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgU2FtZS1vcmln
aW4gb2JzZXJ2ZXJzIGdldCBkaWZmZXJlbnQgYWNjZXNzb3JzIGZvciBjcm9zcy1vcmlnaW4gTG9j
YXRpb24gCi1QQVNTIFNhbWUtb3JpZ2luIG9ic2VydmVycyBnZXQgZGlmZmVyZW50IGFjY2Vzc29y
cyBmb3IgY3Jvc3Mtb3JpZ2luIExvY2F0aW9uIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIHt9LnRv
U3RyaW5nLmNhbGwoKSBkb2VzIHRoZSByaWdodCB0aGluZyBvbiBjcm9zcy1vcmlnaW4gb2JqZWN0
cyAKLVBBU1Mge30udG9TdHJpbmcuY2FsbCgpIGRvZXMgdGhlIHJpZ2h0IHRoaW5nIG9uIGNyb3Nz
LW9yaWdpbiBvYmplY3RzIChleGNlcHRpb24gdHlwZSkgCiAgCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2lu
L2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2lu
L2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLmh0bWwKaW5kZXggNzkz
Nzc4NjEwODg3Y2U0NjViYzAzNTVmMDM5NzQ2MDJhZjNjZDExMC4uNDQyNjIwYjI5OWU1ZTdiYzUw
OWRiMWMzMGMwMjNmNjdjZDg4OTY1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmlnaW4t
b2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3Jp
Z2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMuaHRtbApAQCAtNTIsMTQgKzUyLDE0IEBA
IGZ1bmN0aW9uIGFkZFRlc3QoZnVuLCBkZXNjKSB7IHRlc3RMaXN0LnB1c2goW2Z1biwgZGVzY10p
OyB9CiAgKiBCYXNpYyBzYW5pdHkgdGVzdGluZy4KICAqLwogCi1hZGRUZXN0KGZ1bmN0aW9uKGV4
Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICAvLyBOb3RlOiB3ZSBkbyBub3Qg
Y2hlY2sgbG9jYXRpb24uaG9zdCBhcyBpdHMgZGVmYXVsdCBwb3J0IHNlbWFudGljcyBhcmUgaGFy
ZCB0byByZWZsZWN0IHN0YXRpY2FsbHkKICAgYXNzZXJ0X2VxdWFscyhsb2NhdGlvbi5ob3N0bmFt
ZSwgaG9zdF9pbmZvLk9SSUdJTkFMX0hPU1QsICdOZWVkIHRvIHJ1biB0aGUgdG9wLWxldmVsIHRl
c3QgZnJvbSBkb21haW4gJyArIGhvc3RfaW5mby5PUklHSU5BTF9IT1NUKTsKICAgYXNzZXJ0X2Vx
dWFscyhnZXRfcG9ydChsb2NhdGlvbiksIGhvc3RfaW5mby5IVFRQX1BPUlQsICdOZWVkIHRvIHJ1
biB0aGUgdG9wLWxldmVsIHRlc3QgZnJvbSBwb3J0ICcgKyBob3N0X2luZm8uSFRUUF9QT1JUKTsK
ICAgYXNzZXJ0X2VxdWFscyhCLnBhcmVudCwgd2luZG93LCAid2luZG93LnBhcmVudCB3b3JrcyBz
YW1lLW9yaWdpbiIpOwogICBhc3NlcnRfZXF1YWxzKEMucGFyZW50LCB3aW5kb3csICJ3aW5kb3cu
cGFyZW50IHdvcmtzIGNyb3NzLW9yaWdpbiIpOwogICBhc3NlcnRfZXF1YWxzKEIubG9jYXRpb24u
cGF0aG5hbWUsIHBhdGgsICJsb2NhdGlvbi5ocmVmIHdvcmtzIHNhbWUtb3JpZ2luIik7Ci0gIHRl
c3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDLmxv
Y2F0aW9uLnBhdGhuYW1lOyB9LCAibG9jYXRpb24ucGF0aG5hbWUgdGhyb3dzIGNyb3NzLW9yaWdp
biIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IEMubG9j
YXRpb24ucGF0aG5hbWU7IH0sICJsb2NhdGlvbi5wYXRobmFtZSB0aHJvd3MgY3Jvc3Mtb3JpZ2lu
Iik7CiAgIGFzc2VydF9lcXVhbHMoQi5mcmFtZXMsICdvdmVycmlkZScsICJPdmVycmlkZXMgdmlz
aWJsZSBpbiB0aGUgc2FtZS1vcmlnaW4gY2FzZSIpOwogICBhc3NlcnRfZXF1YWxzKEMuZnJhbWVz
LCBDLCAiT3ZlcnJpZGVzIGludmlzaWJsZSBpbiB0aGUgY3Jvc3Mtb3JpZ2luIGNhc2UiKTsKIH0s
ICJCYXNpYyBzYW5pdHktY2hlY2tpbmciKTsKQEAgLTgxLDIxICs4MSwyMSBAQCB2YXIgd2hpdGVs
aXN0ZWRTeW1ib2xzID0gW1N5bWJvbC50b1N0cmluZ1RhZywgU3ltYm9sLmhhc0luc3RhbmNlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBTeW1ib2wuaXNDb25jYXRTcHJlYWRhYmxlXTsKIHZh
ciB3aGl0ZWxpc3RlZFdpbmRvd1Byb3BzID0gd2hpdGVsaXN0ZWRXaW5kb3dQcm9wTmFtZXMuY29u
Y2F0KHdoaXRlbGlzdGVkU3ltYm9scyk7CiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3Qp
IHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGZvciAodmFyIHByb3AgaW4gd2luZG93KSB7CiAg
ICAgaWYgKHdoaXRlbGlzdGVkV2luZG93UHJvcHMuaW5kZXhPZihwcm9wKSAhPSAtMSkgewogICAg
ICAgQ1twcm9wXTsgLy8gU2hvdWxkbid0IHRocm93LgogICAgICAgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihDLCBwcm9wKTsgLy8gU2hvdWxkbid0IHRocm93LgogICAgICAgYXNzZXJ0
X3RydWUoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEMsIHByb3ApLCAiaGFz
T3duUHJvcGVydHkgZm9yICIgKyBTdHJpbmcocHJvcCkpOwogICAgIH0gZWxzZSB7Ci0gICAgICB0
ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQ1tw
cm9wXTsgfSwgIlNob3VsZCB0aHJvdyB3aGVuIGFjY2Vzc2luZyAiICsgU3RyaW5nKHByb3ApICsg
IiBvbiBXaW5kb3ciKTsKLSAgICAgIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlF
cnJvciIsIGZ1bmN0aW9uKCkgeyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsIHBy
b3ApOyB9LAorICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkg
eyBDW3Byb3BdOyB9LCAiU2hvdWxkIHRocm93IHdoZW4gYWNjZXNzaW5nICIgKyBTdHJpbmcocHJv
cCkgKyAiIG9uIFdpbmRvdyIpOworICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIs
IGZ1bmN0aW9uKCkgeyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsIHByb3ApOyB9
LAogICAgICAgICAgICAgICAgICAgICAiU2hvdWxkIHRocm93IHdoZW4gYWNjZXNzaW5nIHByb3Bl
cnR5IGRlc2NyaXB0b3IgZm9yICIgKyBwcm9wICsgIiBvbiBXaW5kb3ciKTsKLSAgICAgIHRlc3Rf
dGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBPYmplY3Qu
cHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoQywgcHJvcCk7IH0sCisgICAgICBhc3NlcnRf
dGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IE9iamVjdC5wcm90b3R5cGUuaGFz
T3duUHJvcGVydHkuY2FsbChDLCBwcm9wKTsgfSwKICAgICAgICAgICAgICAgICAgICAgIlNob3Vs
ZCB0aHJvdyB3aGVuIGludm9raW5nIGhhc093blByb3BlcnR5IGZvciAiICsgcHJvcCArICIgb24g
V2luZG93Iik7CiAgICAgfQogICAgIGlmIChwcm9wICE9ICdsb2NhdGlvbicpCi0gICAgICB0ZXN0
X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQ1twcm9w
XSA9IHVuZGVmaW5lZDsgfSwgIlNob3VsZCB0aHJvdyB3aGVuIHdyaXRpbmcgdG8gIiArIHByb3Ag
KyAiIG9uIFdpbmRvdyIpOworICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1
bmN0aW9uKCkgeyBDW3Byb3BdID0gdW5kZWZpbmVkOyB9LCAiU2hvdWxkIHRocm93IHdoZW4gd3Jp
dGluZyB0byAiICsgcHJvcCArICIgb24gV2luZG93Iik7CiAgIH0KICAgZm9yICh2YXIgcHJvcCBp
biBsb2NhdGlvbikgewogICAgIGlmIChwcm9wID09ICdyZXBsYWNlJykgewpAQCAtMTA0LDE0ICsx
MDQsMTQgQEAgYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewogICAgICAgYXNzZXJ0X3Ry
dWUoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEMubG9jYXRpb24sIHByb3Ap
LCAiaGFzT3duUHJvcGVydHkgZm9yICIgKyBwcm9wKTsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAg
ICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsg
Q1twcm9wXTsgfSwgIlNob3VsZCB0aHJvdyB3aGVuIGFjY2Vzc2luZyAiICsgcHJvcCArICIgb24g
TG9jYXRpb24iKTsKLSAgICAgIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJv
ciIsIGZ1bmN0aW9uKCkgeyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsIHByb3Ap
OyB9LAorICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBD
W3Byb3BdOyB9LCAiU2hvdWxkIHRocm93IHdoZW4gYWNjZXNzaW5nICIgKyBwcm9wICsgIiBvbiBM
b2NhdGlvbiIpOworICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9u
KCkgeyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsIHByb3ApOyB9LAogICAgICAg
ICAgICAgICAgICAgICAiU2hvdWxkIHRocm93IHdoZW4gYWNjZXNzaW5nIHByb3BlcnR5IGRlc2Ny
aXB0b3IgZm9yICIgKyBwcm9wICsgIiBvbiBMb2NhdGlvbiIpOwotICAgICAgdGVzdF90aHJvd3Mo
ZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IE9iamVjdC5wcm90b3R5
cGUuaGFzT3duUHJvcGVydHkuY2FsbChDLCBwcm9wKTsgfSwKKyAgICAgIGFzc2VydF90aHJvd3Mo
IlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9w
ZXJ0eS5jYWxsKEMsIHByb3ApOyB9LAogICAgICAgICAgICAgICAgICAgICAiU2hvdWxkIHRocm93
IHdoZW4gaW52b2tpbmcgaGFzT3duUHJvcGVydHkgZm9yICIgKyBwcm9wICsgIiBvbiBMb2NhdGlv
biIpOwogICAgIH0KICAgICBpZiAocHJvcCAhPSAnaHJlZicpCi0gICAgICB0ZXN0X3Rocm93cyhl
eGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQ1twcm9wXSA9IHVuZGVm
aW5lZDsgfSwgIlNob3VsZCB0aHJvdyB3aGVuIHdyaXRpbmcgdG8gIiArIHByb3AgKyAiIG9uIExv
Y2F0aW9uIik7CisgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24o
KSB7IENbcHJvcF0gPSB1bmRlZmluZWQ7IH0sICJTaG91bGQgdGhyb3cgd2hlbiB3cml0aW5nIHRv
ICIgKyBwcm9wICsgIiBvbiBMb2NhdGlvbiIpOwogICB9CiB9LCAiT25seSB3aGl0ZWxpc3RlZCBw
cm9wZXJ0aWVzIGFyZSBhY2Nlc3NpYmxlIGNyb3NzLW9yaWdpbiIpOwogCkBAIC0xMjIsMjkgKzEy
MiwyOSBAQCBhZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CiAvKgogICogW1tHZXRQcm90
b3R5cGVPZl1dCiAgKi8KLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2FkZFRlc3Qo
ZnVuY3Rpb24oKSB7CiAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihDKSA9PT0g
bnVsbCwgImNyb3NzLW9yaWdpbiBXaW5kb3cgcHJvdG8gaXMgbnVsbCIpOwogICBhc3NlcnRfdHJ1
ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoQy5sb2NhdGlvbikgPT09IG51bGwsICJjcm9zcy1vcmln
aW4gTG9jYXRpb24gcHJvdG8gaXMgbnVsbCAoX19wcm90b19fKSIpOwogICB2YXIgcHJvdG9HZXR0
ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICdf
X3Byb3RvX18nKS5nZXQ7CiAgIGFzc2VydF90cnVlKHByb3RvR2V0dGVyLmNhbGwoQykgPT09IG51
bGwsICJjcm9zcy1vcmlnaW4gV2luZG93IHByb3RvIGlzIG51bGwiKTsKICAgYXNzZXJ0X3RydWUo
cHJvdG9HZXR0ZXIuY2FsbChDLmxvY2F0aW9uKSA9PT0gbnVsbCwgImNyb3NzLW9yaWdpbiBMb2Nh
dGlvbiBwcm90byBpcyBudWxsIChfX3Byb3RvX18pIik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlv
bl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDLl9fcHJvdG9fXzsgfSwgIl9fcHJv
dG9fXyBwcm9wZXJ0eSBub3QgYXZhaWxhYmxlIGNyb3NzLW9yaWdpbiIpOwotICB0ZXN0X3Rocm93
cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQy5sb2NhdGlvbi5f
X3Byb3RvX187IH0sICJfX3Byb3RvX18gcHJvcGVydHkgbm90IGF2YWlsYWJsZSBjcm9zcy1vcmln
aW4iKTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDLl9f
cHJvdG9fXzsgfSwgIl9fcHJvdG9fXyBwcm9wZXJ0eSBub3QgYXZhaWxhYmxlIGNyb3NzLW9yaWdp
biIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IEMubG9j
YXRpb24uX19wcm90b19fOyB9LCAiX19wcm90b19fIHByb3BlcnR5IG5vdCBhdmFpbGFibGUgY3Jv
c3Mtb3JpZ2luIik7CiAKIH0sICJbW0dldFByb3RvdHlwZU9mXV0gc2hvdWxkIHJldHVybiBudWxs
Iik7CiAKIC8qCiAgKiBbW1NldFByb3RvdHlwZU9mXV0KICAqLwotYWRkVGVzdChmdW5jdGlvbihl
eGNlcHRpb25fdCkgewotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3Ii
LCBmdW5jdGlvbigpIHsgQy5fX3Byb3RvX18gPSBuZXcgT2JqZWN0KCk7IH0sICJwcm90byBzZXQg
b24gY3Jvc3Mtb3JpZ2luIFdpbmRvdyIpOwotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNl
Y3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQy5sb2NhdGlvbi5fX3Byb3RvX18gPSBuZXcgT2Jq
ZWN0KCk7IH0sICJwcm90byBzZXQgb24gY3Jvc3Mtb3JpZ2luIExvY2F0aW9uIik7CithZGRUZXN0
KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24o
KSB7IEMuX19wcm90b19fID0gbmV3IE9iamVjdCgpOyB9LCAicHJvdG8gc2V0IG9uIGNyb3NzLW9y
aWdpbiBXaW5kb3ciKTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9u
KCkgeyBDLmxvY2F0aW9uLl9fcHJvdG9fXyA9IG5ldyBPYmplY3QoKTsgfSwgInByb3RvIHNldCBv
biBjcm9zcy1vcmlnaW4gTG9jYXRpb24iKTsKICAgdmFyIHNldHRlcnMgPSBbT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAnX19wcm90b19fJykuc2V0XTsK
ICAgaWYgKE9iamVjdC5zZXRQcm90b3R5cGVPZikKICAgICBzZXR0ZXJzLnB1c2goZnVuY3Rpb24o
cCkgeyBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgcCk7IH0pOwogICBzZXR0ZXJzLmZvckVh
Y2goZnVuY3Rpb24ocHJvdG9TZXR0ZXIpIHsKLSAgICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwg
bmV3IFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7IHByb3RvU2V0dGVyLmNhbGwoQywgbmV3IE9iamVj
dCgpKTsgfSwgInByb3RvIHNldHRlciB8Y2FsbHwgb24gY3Jvc3Mtb3JpZ2luIFdpbmRvdyIpOwot
ICAgIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCBuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsg
cHJvdG9TZXR0ZXIuY2FsbChDLmxvY2F0aW9uLCBuZXcgT2JqZWN0KCkpOyB9LCAicHJvdG8gc2V0
dGVyIHxjYWxsfCBvbiBjcm9zcy1vcmlnaW4gTG9jYXRpb24iKTsKKyAgICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeyBwcm90b1NldHRlci5jYWxsKEMsIG5ldyBPYmpl
Y3QoKSk7IH0sICJwcm90byBzZXR0ZXIgfGNhbGx8IG9uIGNyb3NzLW9yaWdpbiBXaW5kb3ciKTsK
KyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeyBwcm90b1NldHRl
ci5jYWxsKEMubG9jYXRpb24sIG5ldyBPYmplY3QoKSk7IH0sICJwcm90byBzZXR0ZXIgfGNhbGx8
IG9uIGNyb3NzLW9yaWdpbiBMb2NhdGlvbiIpOwogICB9KTsKICAgaWYgKFJlZmxlY3Quc2V0UHJv
dG90eXBlT2YpIHsKICAgICBhc3NlcnRfZmFsc2UoUmVmbGVjdC5zZXRQcm90b3R5cGVPZihDLCBu
ZXcgT2JqZWN0KCkpLApAQCAtMTU3LDcgKzE1Nyw3IEBAIGFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0
aW9uX3QpIHsKIC8qCiAgKiBbW0lzRXh0ZW5zaWJsZV1dCiAgKi8KLWFkZFRlc3QoZnVuY3Rpb24o
ZXhjZXB0aW9uX3QpIHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF90cnVlKE9iamVj
dC5pc0V4dGVuc2libGUoQyksICJjcm9zcy1vcmlnaW4gV2luZG93IHNob3VsZCBiZSBleHRlbnNp
YmxlIik7CiAgIGFzc2VydF90cnVlKE9iamVjdC5pc0V4dGVuc2libGUoQy5sb2NhdGlvbiksICJj
cm9zcy1vcmlnaW4gTG9jYXRpb24gc2hvdWxkIGJlIGV4dGVuc2libGUiKTsKIH0sICJbW0lzRXh0
ZW5zaWJsZV1dIHNob3VsZCByZXR1cm4gdHJ1ZSBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVjdHMiKTsK
QEAgLTE2NSwxMCArMTY1LDEwIEBAIGFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKIC8q
CiAgKiBbW1ByZXZlbnRFeHRlbnNpb25zXV0KICAqLwotYWRkVGVzdChmdW5jdGlvbihleGNlcHRp
b25fdCkgewotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgbmV3IFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhDKSB9LAorYWRkVGVzdChmdW5jdGlvbigp
IHsKKyAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsgT2JqZWN0LnBy
ZXZlbnRFeHRlbnNpb25zKEMpIH0sCiAgICAgICAgICAgICAgICAgInByZXZlbnRFeHRlbnNpb25z
IG9uIGNyb3NzLW9yaWdpbiBXaW5kb3cgc2hvdWxkIHRocm93Iik7Ci0gIHRlc3RfdGhyb3dzKGV4
Y2VwdGlvbl90LCBuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsgT2JqZWN0LnByZXZlbnRFeHRl
bnNpb25zKEMubG9jYXRpb24pIH0sCisgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhDLmxvY2F0aW9uKSB9LAogICAgICAg
ICAgICAgICAgICJwcmV2ZW50RXh0ZW5zaW9ucyBvbiBjcm9zcy1vcmlnaW4gTG9jYXRpb24gc2hv
dWxkIHRocm93Iik7CiB9LCAiW1tQcmV2ZW50RXh0ZW5zaW9uc11dIHNob3VsZCB0aHJvdyBmb3Ig
Y3Jvc3Mtb3JpZ2luIG9iamVjdHMiKTsKIApAQCAtMTc2LDcgKzE3Niw3IEBAIGFkZFRlc3QoZnVu
Y3Rpb24oZXhjZXB0aW9uX3QpIHsKICAqIFtbR2V0T3duUHJvcGVydHldXQogICovCiAKLWFkZFRl
c3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2Vy
dF90cnVlKGlzT2JqZWN0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQywgJ2Nsb3Nl
JykpLCAiQy5jbG9zZSBpcyB8b3dufCIpOwogICBhc3NlcnRfdHJ1ZShpc09iamVjdChPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsICd0b3AnKSksICJDLnRvcCBpcyB8b3dufCIpOwog
ICBhc3NlcnRfdHJ1ZShpc09iamVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMu
bG9jYXRpb24sICdocmVmJykpLCAiQy5sb2NhdGlvbi5ocmVmIGlzIHxvd258Iik7CkBAIC0yMDMs
NyArMjAzLDcgQEAgZnVuY3Rpb24gY2hlY2tQcm9wZXJ0eURlc2NyaXB0b3IoZGVzYywgcHJvcE5h
bWUsIGV4cGVjdFdyaXRhYmxlKSB7CiAgICAgICAgICAgICAgICAgICAicHJvcGVydHkgZGVzY3Jp
cHRvciBmb3IgIiArIHByb3BOYW1lICsgIiBzaG91bGQgIiArIChleHBlY3RXcml0YWJsZSA/ICIi
IDogIm5vdCAiKSArICJoYXZlIHNldHRlciIpOwogfQogCi1hZGRUZXN0KGZ1bmN0aW9uKGV4Y2Vw
dGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICB3aGl0ZWxpc3RlZFdpbmRvd1Byb3Bz
LmZvckVhY2goZnVuY3Rpb24ocHJvcCkgewogICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihDLCBwcm9wKTsKICAgICBjaGVja1Byb3BlcnR5RGVzY3JpcHRvcihk
ZXNjLCBwcm9wLCBwcm9wID09ICdsb2NhdGlvbicpOwpAQCAtMjIwLDQ2ICsyMjAsNDYgQEAgYWRk
VGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewogLyoKICAqIFtbRGVsZXRlXV0KICAqLwotYWRk
VGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwg
IlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIENbMF07IH0sICJDYW4ndCBkZWxl
dGUgY3Jvc3Mtb3JpZ2luIGluZGV4ZWQgcHJvcGVydHkiKTsKLSAgdGVzdF90aHJvd3MoZXhjZXB0
aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDWzEwMF07IH0sICJD
YW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIGluZGV4ZWQgcHJvcGVydHkiKTsKLSAgdGVzdF90aHJv
d3MoZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmxv
Y2F0aW9uOyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOwotICB0ZXN0
X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRl
IEMucGFyZW50OyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOwotICB0
ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVs
ZXRlIEMubGVuZ3RoOyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOwot
ICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsg
ZGVsZXRlIEMuZG9jdW1lbnQ7IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5
Iik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9u
KCkgeyBkZWxldGUgQy5mb29weTsgfSwgIkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gcHJvcGVy
dHkiKTsKLSAgdGVzdF90aHJvd3MoZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rp
b24oKSB7IGRlbGV0ZSBDLmxvY2F0aW9uLmhyZWY7IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3Jp
Z2luIHByb3BlcnR5Iik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJv
ciIsIGZ1bmN0aW9uKCkgeyBkZWxldGUgQy5sb2NhdGlvbi5yZXBsYWNlOyB9LCAiQ2FuJ3QgZGVs
ZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOwotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwg
IlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIEMubG9jYXRpb24ucG9ydDsgfSwg
IkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkiKTsKLSAgdGVzdF90aHJvd3MoZXhj
ZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmxvY2F0aW9u
LmZvb3B5OyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOworYWRkVGVz
dChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9u
KCkgeyBkZWxldGUgQ1swXTsgfSwgIkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gaW5kZXhlZCBw
cm9wZXJ0eSIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7
IGRlbGV0ZSBDWzEwMF07IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIGluZGV4ZWQgcHJv
cGVydHkiKTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBk
ZWxldGUgQy5sb2NhdGlvbjsgfSwgIkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gcHJvcGVydHki
KTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBkZWxldGUg
Qy5wYXJlbnQ7IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5Iik7CisgIGFz
c2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIEMubGVuZ3Ro
OyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOworICBhc3NlcnRfdGhy
b3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmRvY3VtZW50OyB9LCAi
Q2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOworICBhc3NlcnRfdGhyb3dzKCJT
ZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmZvb3B5OyB9LCAiQ2FuJ3QgZGVs
ZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVy
cm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmxvY2F0aW9uLmhyZWY7IH0sICJDYW4ndCBkZWxl
dGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5Iik7CisgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJy
b3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIEMubG9jYXRpb24ucmVwbGFjZTsgfSwgIkNhbid0IGRl
bGV0ZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkiKTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlF
cnJvciIsIGZ1bmN0aW9uKCkgeyBkZWxldGUgQy5sb2NhdGlvbi5wb3J0OyB9LCAiQ2FuJ3QgZGVs
ZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVy
cm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmxvY2F0aW9uLmZvb3B5OyB9LCAiQ2FuJ3QgZGVs
ZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOwogfSwgIltbRGVsZXRlXV0gU2hvdWxkIHRocm93
IG9uIGNyb3NzLW9yaWdpbiBvYmplY3RzIik7CiAKIC8qCiAgKiBbW0RlZmluZU93blByb3BlcnR5
XV0KICAqLwotZnVuY3Rpb24gY2hlY2tEZWZpbmUoZXhjZXB0aW9uX3QsIG9iaiwgcHJvcCkgewor
ZnVuY3Rpb24gY2hlY2tEZWZpbmUob2JqLCBwcm9wKSB7CiAgIHZhciB2YWx1ZURlc2MgPSB7IGNv
bmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiBmYWxzZSwgdmFs
dWU6IDIgfTsKICAgdmFyIGFjY2Vzc29yRGVzYyA9IHsgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVt
ZXJhYmxlOiBmYWxzZSwgZ2V0OiBmdW5jdGlvbigpIHt9IH07Ci0gIHRlc3RfdGhyb3dzKGV4Y2Vw
dGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBPYmplY3QuZGVmaW5lUHJvcGVy
dHkob2JqLCBwcm9wLCB2YWx1ZURlc2MpOyB9LCAiQ2FuJ3QgZGVmaW5lIGNyb3NzLW9yaWdpbiB2
YWx1ZSBwcm9wZXJ0eSAiICsgcHJvcCk7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2Vj
dXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBwcm9w
LCBhY2Nlc3NvckRlc2MpOyB9LCAiQ2FuJ3QgZGVmaW5lIGNyb3NzLW9yaWdpbiBhY2Nlc3NvciBw
cm9wZXJ0eSAiICsgcHJvcCk7CisgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5j
dGlvbigpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCwgdmFsdWVEZXNjKTsgfSwg
IkNhbid0IGRlZmluZSBjcm9zcy1vcmlnaW4gdmFsdWUgcHJvcGVydHkgIiArIHByb3ApOworICBh
c3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShvYmosIHByb3AsIGFjY2Vzc29yRGVzYyk7IH0sICJDYW4ndCBkZWZpbmUgY3Jvc3Mt
b3JpZ2luIGFjY2Vzc29yIHByb3BlcnR5ICIgKyBwcm9wKTsKIH0KLWFkZFRlc3QoZnVuY3Rpb24o
ZXhjZXB0aW9uX3QpIHsKLSAgY2hlY2tEZWZpbmUoZXhjZXB0aW9uX3QsIEMsICdsZW5ndGgnKTsK
LSAgY2hlY2tEZWZpbmUoZXhjZXB0aW9uX3QsIEMsICdwYXJlbnQnKTsKLSAgY2hlY2tEZWZpbmUo
ZXhjZXB0aW9uX3QsIEMsICdsb2NhdGlvbicpOwotICBjaGVja0RlZmluZShleGNlcHRpb25fdCwg
QywgJ2RvY3VtZW50Jyk7Ci0gIGNoZWNrRGVmaW5lKGV4Y2VwdGlvbl90LCBDLCAnZm9vcHknKTsK
LSAgY2hlY2tEZWZpbmUoZXhjZXB0aW9uX3QsIEMubG9jYXRpb24sICdocmVmJyk7Ci0gIGNoZWNr
RGVmaW5lKGV4Y2VwdGlvbl90LCBDLmxvY2F0aW9uLCAncmVwbGFjZScpOwotICBjaGVja0RlZmlu
ZShleGNlcHRpb25fdCwgQy5sb2NhdGlvbiwgJ3BvcnQnKTsKLSAgY2hlY2tEZWZpbmUoZXhjZXB0
aW9uX3QsIEMubG9jYXRpb24sICdmb29weScpOworYWRkVGVzdChmdW5jdGlvbigpIHsKKyAgY2hl
Y2tEZWZpbmUoQywgJ2xlbmd0aCcpOworICBjaGVja0RlZmluZShDLCAncGFyZW50Jyk7CisgIGNo
ZWNrRGVmaW5lKEMsICdsb2NhdGlvbicpOworICBjaGVja0RlZmluZShDLCAnZG9jdW1lbnQnKTsK
KyAgY2hlY2tEZWZpbmUoQywgJ2Zvb3B5Jyk7CisgIGNoZWNrRGVmaW5lKEMubG9jYXRpb24sICdo
cmVmJyk7CisgIGNoZWNrRGVmaW5lKEMubG9jYXRpb24sICdyZXBsYWNlJyk7CisgIGNoZWNrRGVm
aW5lKEMubG9jYXRpb24sICdwb3J0Jyk7CisgIGNoZWNrRGVmaW5lKEMubG9jYXRpb24sICdmb29w
eScpOwogfSwgIltbRGVmaW5lT3duUHJvcGVydHldXSBTaG91bGQgdGhyb3cgZm9yIGNyb3NzLW9y
aWdpbiBvYmplY3RzIik7CiAKIC8qCiAgKiBbW0VudW1lcmF0ZV1dCiAgKi8KIAotYWRkVGVzdChm
dW5jdGlvbihleGNlcHRpb25fdCkgeworYWRkVGVzdChmdW5jdGlvbigpIHsKICAgZm9yICh2YXIg
cHJvcCBpbiBDKQogICAgIGFzc2VydF91bnJlYWNoZWQoIlNob3VsZG4ndCBoYXZlIGJlZW4gYWJs
ZSB0byBlbnVtZXJhdGUgIiArIHByb3AgKyAiIG9uIGNyb3NzLW9yaWdpbiBXaW5kb3ciKTsKICAg
Zm9yICh2YXIgcHJvcCBpbiBDLmxvY2F0aW9uKQpAQCAtMjcwLDcgKzI3MCw3IEBAIGFkZFRlc3Qo
ZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKICAqIFtbT3duUHJvcGVydHlLZXlzXV0KICAqLwogCi1h
ZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBh
c3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKEMpLnNvcnQoKSwK
ICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZWxpc3RlZFdpbmRvd1Byb3BOYW1lcywKICAgICAg
ICAgICAgICAgICAgICAgICAiT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoKSBnaXZlcyB0aGUg
cmlnaHQgYW5zd2VyIGZvciBjcm9zcy1vcmlnaW4gV2luZG93Iik7CkBAIC0yNzksNyArMjc5LDcg
QEAgYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewogICAgICAgICAgICAgICAgICAgICAg
ICJPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygpIGdpdmVzIHRoZSByaWdodCBhbnN3ZXIgZm9y
IGNyb3NzLW9yaWdpbiBMb2NhdGlvbiIpOwogfSwgIltbT3duUHJvcGVydHlLZXlzXV0gc2hvdWxk
IHJldHVybiBhbGwgcHJvcGVydGllcyBmcm9tIGNyb3NzLW9yaWdpbiBvYmplY3RzIik7CiAKLWFk
ZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGFz
c2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhDKSwgd2hpdGVs
aXN0ZWRTeW1ib2xzLAogICAgICJPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKCkgc2hvdWxk
IHJldHVybiB0aGUgdGhyZWUgc3ltYm9sLW5hbWVkIHByb3BlcnRpZXMgdGhhdCBhcmUgZXhwb3Nl
ZCBvbiBhIGNyb3NzLW9yaWdpbiBXaW5kb3ciKTsKICAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmpl
Y3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKEMubG9jYXRpb24pLApAQCAtMjg3LDcgKzI4Nyw3IEBA
IGFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKICAgICAiT2JqZWN0LmdldE93blByb3Bl
cnR5U3ltYm9scygpIHNob3VsZCByZXR1cm4gdGhlIHRocmVlIHN5bWJvbC1uYW1lZCBwcm9wZXJ0
aWVzIHRoYXQgYXJlIGV4cG9zZWQgb24gYSBjcm9zcy1vcmlnaW4gTG9jYXRpb24iKTsKIH0sICJb
W093blByb3BlcnR5S2V5c11dIHNob3VsZCByZXR1cm4gdGhlIHJpZ2h0IHN5bWJvbC1uYW1lZCBw
cm9wZXJ0aWVzIGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyIpOwogCi1hZGRUZXN0KGZ1bmN0aW9u
KGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICB2YXIgYWxsV2luZG93UHJv
cHMgPSBSZWZsZWN0Lm93bktleXMoQyk7CiAgIGluZGV4ZWRXaW5kb3dQcm9wcyA9IGFsbFdpbmRv
d1Byb3BzLnNsaWNlKDAsIHdoaXRlbGlzdGVkV2luZG93SW5kaWNlcy5sZW5ndGgpOwogICBzdHJp
bmdXaW5kb3dQcm9wcyA9IGFsbFdpbmRvd1Byb3BzLnNsaWNlKDAsIC0xICogd2hpdGVsaXN0ZWRT
eW1ib2xzLmxlbmd0aCk7CkBAIC0zMDgsNyArMzA4LDcgQEAgYWRkVGVzdChmdW5jdGlvbihleGNl
cHRpb25fdCkgewogICAgICAgICAgICAgICAgICAgICAgICJSZWZsZWN0Lm93bktleXMgc2hvdWxk
IGVuZCB3aXRoIHRoZSBjcm9zcy1vcmlnaW4gc3ltYm9scyBmb3IgYSBjcm9zcy1vcmlnaW4gTG9j
YXRpb24uIikKIH0sICJbW093blByb3BlcnR5S2V5c11dIHNob3VsZCBwbGFjZSB0aGUgc3ltYm9s
cyBhZnRlciB0aGUgcHJvcGVydHkgbmFtZXMgYWZ0ZXIgdGhlIHN1YmZyYW1lIGluZGljZXMiKTsK
IAotYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgeworYWRkVGVzdChmdW5jdGlvbigpIHsK
ICAgYXNzZXJ0X3RydWUoQi5ldmFsKCdwYXJlbnQuQycpID09PSBDLCAiQSBhbmQgQiBvYnNlcnZl
IHRoZSBzYW1lIGlkZW50aXR5IGZvciBDJ3MgV2luZG93Iik7CiAgIGFzc2VydF90cnVlKEIuZXZh
bCgncGFyZW50LkMubG9jYXRpb24nKSA9PT0gQy5sb2NhdGlvbiwgIkEgYW5kIEIgb2JzZXJ2ZSB0
aGUgc2FtZSBpZGVudGl0eSBmb3IgQydzIExvY2F0aW9uIik7CiB9LCAiQSBhbmQgQiBqb2ludGx5
IG9ic2VydmUgdGhlIHNhbWUgaWRlbnRpdHkgZm9yIGNyb3NzLW9yaWdpbiBXaW5kb3cgYW5kIExv
Y2F0aW9uIik7CkBAIC0zMTksMTkgKzMxOSwxOSBAQCBmdW5jdGlvbiBjaGVja0Z1bmN0aW9uKGYs
IHByb3RvKSB7CiAgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGYpLCBwcm90
bywgZi5uYW1lICsgIiBoYXMgdGhlIHJpZ2h0IHByb3RvdHlwZSIpOwogfQogCi1hZGRUZXN0KGZ1
bmN0aW9uKGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBjaGVja0Z1bmN0
aW9uKEMuY2xvc2UsIEZ1bmN0aW9uLnByb3RvdHlwZSk7CiAgIGNoZWNrRnVuY3Rpb24oQy5sb2Nh
dGlvbi5yZXBsYWNlLCBGdW5jdGlvbi5wcm90b3R5cGUpOwogfSwgIkNyb3NzLW9yaWdpbiBmdW5j
dGlvbnMgZ2V0IGxvY2FsIEZ1bmN0aW9uLnByb3RvdHlwZSIpOwogCi1hZGRUZXN0KGZ1bmN0aW9u
KGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBhc3NlcnRfdHJ1ZShpc09i
amVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsICdwYXJlbnQnKSksCiAgICAg
ICAgICAgICAgICJOZWVkIHRvIGJlIGFibGUgdG8gdXNlIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IgZG8gdGhpcyB0ZXN0Iik7CiAgIGNoZWNrRnVuY3Rpb24oT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihDLCAncGFyZW50JykuZ2V0LCBGdW5jdGlvbi5wcm90b3R5cGUpOwog
ICBjaGVja0Z1bmN0aW9uKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQy5sb2NhdGlv
biwgJ2hyZWYnKS5zZXQsIEZ1bmN0aW9uLnByb3RvdHlwZSk7CiB9LCAiQ3Jvc3Mtb3JpZ2luIFdp
bmRvdyBhY2Nlc3NvcnMgZ2V0IGxvY2FsIEZ1bmN0aW9uLnByb3RvdHlwZSIpOwogCi1hZGRUZXN0
KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBjaGVja0Z1
bmN0aW9uKGNsb3NlLCBGdW5jdGlvbi5wcm90b3R5cGUpOwogICBhc3NlcnRfdHJ1ZShjbG9zZSAh
PSBCLmNsb3NlLCAnc2FtZS1vcmlnaW4gV2luZG93IGZ1bmN0aW9ucyBnZXQgdGhlaXIgb3duIG9i
amVjdCcpOwogICBhc3NlcnRfdHJ1ZShjbG9zZSAhPSBDLmNsb3NlLCAnY3Jvc3Mtb3JpZ2luIFdp
bmRvdyBmdW5jdGlvbnMgZ2V0IHRoZWlyIG93biBvYmplY3QnKTsKQEAgLTM0Nyw3ICszNDcsNyBA
QCBhZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CiAgIGNoZWNrRnVuY3Rpb24ocmVwbGFj
ZV9CLCBCLkZ1bmN0aW9uLnByb3RvdHlwZSk7CiB9LCAiU2FtZS1vcmlnaW4gb2JzZXJ2ZXJzIGdl
dCBkaWZmZXJlbnQgZnVuY3Rpb25zIGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyIpOwogCi1hZGRU
ZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBhc3Nl
cnRfdHJ1ZShpc09iamVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsICdwYXJl
bnQnKSksCiAgICAgICAgICAgICAgICJOZWVkIHRvIGJlIGFibGUgdG8gdXNlIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IgZG8gdGhpcyB0ZXN0Iik7CiAgIHZhciBnZXRfc2VsZl9wYXJl
bnQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3BhcmVudCcpLmdl
dDsKQEAgLTM2MCw3ICszNjAsNyBAQCBhZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CiAg
IGNoZWNrRnVuY3Rpb24oZ2V0X3BhcmVudF9CLCBCLkZ1bmN0aW9uLnByb3RvdHlwZSk7CiB9LCAi
U2FtZS1vcmlnaW4gb2JzZXJ2ZXJzIGdldCBkaWZmZXJlbnQgYWNjZXNzb3JzIGZvciBjcm9zcy1v
cmlnaW4gV2luZG93Iik7CiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2FkZFRl
c3QoZnVuY3Rpb24oKSB7CiAgIHZhciBzZXRfc2VsZl9ocmVmID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcih3aW5kb3cubG9jYXRpb24sICdocmVmJykuc2V0OwogICB2YXIgc2V0X2hy
ZWZfQSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQy5sb2NhdGlvbiwgJ2hyZWYn
KS5zZXQ7CiAgIHZhciBzZXRfaHJlZl9CID0gQi5ldmFsKCdPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKHBhcmVudC5DLmxvY2F0aW9uLCAiaHJlZiIpLnNldCcpOwpAQCAtMzcxLDM5ICsz
NzEsMTcgQEAgYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewogICBjaGVja0Z1bmN0aW9u
KHNldF9ocmVmX0IsIEIuRnVuY3Rpb24ucHJvdG90eXBlKTsKIH0sICJTYW1lLW9yaWdpbiBvYnNl
cnZlcnMgZ2V0IGRpZmZlcmVudCBhY2Nlc3NvcnMgZm9yIGNyb3NzLW9yaWdpbiBMb2NhdGlvbiIp
OwogCi1hZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkg
ewogICBhc3NlcnRfZXF1YWxzKHt9LnRvU3RyaW5nLmNhbGwoQyksICJbb2JqZWN0IE9iamVjdF0i
KTsKICAgYXNzZXJ0X2VxdWFscyh7fS50b1N0cmluZy5jYWxsKEMubG9jYXRpb24pLCAiW29iamVj
dCBPYmplY3RdIik7CiB9LCAie30udG9TdHJpbmcuY2FsbCgpIGRvZXMgdGhlIHJpZ2h0IHRoaW5n
IG9uIGNyb3NzLW9yaWdpbiBvYmplY3RzIik7CiAKLS8vIFNlcGFyYXRlIHRlc3QgZm9yIHRocm93
aW5nIGF0IGFsbCBhbmQgdGhyb3dpbmcgdGhlIHJpZ2h0IGV4Y2VwdGlvbiB0eXBlCi0vLyBzbyB0
aGF0IHdlIGNhbiB0ZXN0IHRoYXQgYWxsIGltcGxlbWVudGF0aW9ucyBjb3VsZCBwYXNzIHdoaWxl
IGltcGxlbWVudGluZwotLy8gdGhlIG9ic2VydmFibGVzIHRoYXQgYXJlIGFjdHVhbGx5IGltcG9y
dGFudCBmb3Igc2VjdXJpdHkgYW5kIGludGVyb3AsIHNvCi0vLyB0aGV5IHdvdWxkIG5vdGljZSBp
ZiB0aGV5IGV2ZXIgcmVncmVzc2VkIHRoZW0uCi1mdW5jdGlvbiB0ZXN0X3Rocm93cyhleGNlcHRp
b25fdCwgY29kZSwgZnVuYywgZGVzY3JpcHRpb24pIHsKLSAgYXNzZXJ0X3Rocm93cyhudWxsLCBm
dW5jLCBkZXNjcmlwdGlvbik7Ci0gIGV4Y2VwdGlvbl90LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAg
YXNzZXJ0X3Rocm93cyhjb2RlLCBmdW5jLCBkZXNjcmlwdGlvbik7Ci0gIH0pOwotfQotCiAvLyBX
ZSBkbyBhIGZyZXNoIGxvYWQgb2YgdGhlIHN1YmZyYW1lcyBmb3IgZWFjaCB0ZXN0IHRvIG1pbmlt
aXplIHNpZGUtZWZmZWN0cy4KIC8vIEl0IHdvdWxkIGJlIG5pY2UgdG8gcmVsb2FkIG91cnNlbHZl
cyBhcyB3ZWxsLCBidXQgd2UgY2FuJ3QgZG8gdGhhdCB3aXRob3V0CiAvLyBkaXNydXB0aW5nIHRo
ZSB0ZXN0IGhhcm5lc3MuCiBmdW5jdGlvbiBydW5OZXh0VGVzdCgpIHsKICAgdmFyIGVudHJ5ID0g
dGVzdExpc3Quc2hpZnQoKTsKLSAgdmFyIGZ1biA9IGVudHJ5WzBdOwotICB2YXIgZGVzYyA9IGVu
dHJ5WzFdOwotICB2YXIgbWFpbl90ID0gYXN5bmNfdGVzdChkZXNjKTsKLSAgdmFyIGV4Y2VwdGlv
bl90ID0gYXN5bmNfdGVzdChkZXNjICsgJyAoZXhjZXB0aW9uIHR5cGUpJyk7Ci0gIG1haW5fdC5h
ZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICBleGNlcHRpb25fdC51bnJlYWNoZWRfZnVuYygn
TWFpbiB0ZXN0IGZhaWxlZCcpKCk7Ci0gIH0pOwotICBtYWluX3Quc3RlcChmdW5jdGlvbigpIHsK
LSAgICBmdW4oZXhjZXB0aW9uX3QpOwotICB9KTsKLSAgZXhjZXB0aW9uX3QuZG9uZSgpOwotICBt
YWluX3QuZG9uZSgpOworICB0ZXN0KCgpID0+IGVudHJ5WzBdKCksIGVudHJ5WzFdKQogICBpZiAo
dGVzdExpc3QubGVuZ3RoICE9IDApCiAgICAgcmVsb2FkU3ViZnJhbWVzKHJ1bk5leHRUZXN0KTsK
ICAgZWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWVtYmVkZGVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vcmVmbGVjdGlv
bi1lbWJlZGRlZC1leHBlY3RlZC50eHQKaW5kZXggYjRmY2MzNjk3MTEwY2IzMmEzMzYyZjM0NGNi
NzI3NmIwZjQyZDc1NC4uNzM3MzIxZDY3Y2U5YjQwZWRmOWRjYzE0NDM1NzFlOGZjMDRiYTY1MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2RvbS9yZWZsZWN0aW9uLWVtYmVkZGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZW1i
ZWRkZWQtZXhwZWN0ZWQudHh0CkBAIC0xOSwxOSArMTksMTkgQEAgQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDc4NjogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlzIG5v
dCBhIHYKIENPTlNPTEUgTUVTU0FHRTogbGluZSA3ODY6IFRoZSBsYW5ndWFnZSAnbnVsbCcgaXMg
bm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KIENPTlNPTEUgTUVTU0FHRTogbGluZSA3
ODY6IFRoZSBsYW5ndWFnZSAndGVzdC10b1N0cmluZycgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxh
bmd1YWdlIHRhZy4KIENPTlNPTEUgTUVTU0FHRTogbGluZSA3ODY6IFRoZSBsYW5ndWFnZSAndGVz
dC12YWx1ZU9mJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSBjb250YWlucyBhIG51bGwgY2hhcmFjdGVy
IGFuZCBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSAndW5kZWZpbmVkJyBpcyBub3QgYSB2YWxpZCBCQ1Ag
NDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFn
ZSAnNycgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJzEuNScgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxh
bmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJ3Ry
dWUnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTQwNjogVGhlIGxhbmd1YWdlICdmYWxzZScgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxh
bmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJ1tv
YmplY3QgT2JqZWN0XScgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJ0luZmluaXR5JyBpcyBub3QgYSB2
YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRo
ZSBsYW5ndWFnZSAnLUluZmluaXR5JyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFn
LgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSBjb250YWlucyBhIG51
bGwgY2hhcmFjdGVyIGFuZCBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSAnbnVsbCcgaXMgbm90IGEgdmFs
aWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUg
bGFuZ3VhZ2UgJ3Rlc3QtdG9TdHJpbmcnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0
YWcuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNjogVGhlIGxhbmd1YWdlICd0ZXN0LXZhbHVl
T2YnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlz
IG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTQwNTogVGhlIGxhbmd1YWdlICd1bmRlZmluZWQnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5n
dWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlICc3JyBp
cyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE0MDU6IFRoZSBsYW5ndWFnZSAnMS41JyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2Ug
dGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFnZSAndHJ1ZScgaXMg
bm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
NDA1OiBUaGUgbGFuZ3VhZ2UgJ2ZhbHNlJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2Ug
dGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFnZSAnW29iamVjdCBP
YmplY3RdJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFnZSAnSW5maW5pdHknIGlzIG5vdCBhIHZhbGlkIEJD
UCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1
YWdlICctSW5maW5pdHknIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFy
YWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlICdudWxsJyBpcyBub3QgYSB2YWxpZCBCQ1Ag
NDcgbGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFn
ZSAndGVzdC10b1N0cmluZycgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBUaGUgbGFuZ3VhZ2UgJ3Rlc3QtdmFsdWVPZicgaXMg
bm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KIEltcGxlbWVudGVycyBsb29raW5nIHRv
IGZpeCBidWdzIG1pZ2h0IHdhbnQgdG8gdXNlIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIG9mIHRoaXMg
c3VpdGUncyB0ZXN0IGZyYW1ld29yaywgd2hpY2ggY29udmVuaWVudGx5IGFnZ3JlZ2F0ZXMgc2lt
aWxhciBlcnJvcnMgYW5kIG9ubHkgcmVwb3J0cyBmYWlsdXJlcy4gVGhpcyBmaWxlIGlzIChwYXJ0
IG9mKSB0aGUgYXV0aG9yaXRhdGl2ZSBjb25mb3JtYW5jZSB0ZXN0IHN1aXRlLCBhbmQgaXMgc3Vp
dGFibGUgZm9yIGluY29ycG9yYXRpb24gaW50byBhdXRvbWF0ZWQgdGVzdCBzdWl0ZXMuCiAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1k
aXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFn
LWNoYW5naW5nLTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1l
bGVtZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxs
b3ctc2NyaXB0cy1mbGFnLWNoYW5naW5nLTEtZXhwZWN0ZWQudHh0CmluZGV4IDNlMTdhZWFiYTE1
YjdjMWNhNWY0NmU5M2IxMzgxZTU0OWFmYTg5OTEuLjFlNzg2ZmQxZDMxZTRkNDQyOTEzOGIxYmYx
ODU2YWUzOGEzZjdmZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEt
ZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2Fs
bG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0xLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50
LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0
dHAtZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMS1leHBlY3RlZC50
eHQKQEAgLTEsNiArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDc6IFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ25vZGUnKSB0byBOb2RlLmFwcGVuZENoaWxkIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgTm9kZQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ25vZGUnKSB0byBOb2RlLmFwcGVuZENoaWxkIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgTm9kZQotCi1QQVNTIE1ldGEgcmVmcmVzaCBpcyBibG9ja2VkIGJ5IHRoZSBhbGxvdy1z
Y3JpcHRzIHNhbmRib3ggZmxhZyBhdCBpdHMgY3JlYXRpb24gdGltZSwgbm90IHdoZW4gcmVmcmVz
aCBjb21lcyBkdWUgCitGQUlMIE1ldGEgcmVmcmVzaCBpcyBibG9ja2VkIGJ5IHRoZSBhbGxvdy1z
Y3JpcHRzIHNhbmRib3ggZmxhZyBhdCBpdHMgY3JlYXRpb24gdGltZSwgbm90IHdoZW4gcmVmcmVz
aCBjb21lcyBkdWUgVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbm9kZScpIHRvIE5vZGUuYXBwZW5k
Q2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBOb2RlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1l
bnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEt
aHR0cC1lcXVpdi1yZWZyZXNoL2FsbG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0yLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0
aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2FsbG93LXNjcmlwdHMtZmxhZy1jaGFu
Z2luZy0yLWV4cGVjdGVkLnR4dAppbmRleCBmMDQ2MWEwY2RlMjViMGRhMTkxNDdlYmU4MTQ3Y2Y0
ZjBmOTk0MmZlLi41MWQyOTQ0NWMzYzA4ODhmODk5ZjE4MzhhNTFjZWU0NjkzZTA5MzljIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVj
dGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hh
bmdpbmctMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1l
bGVtZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxs
b3ctc2NyaXB0cy1mbGFnLWNoYW5naW5nLTItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAog
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQ1OiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykg
dG8gTm9kZS5hcHBlbmRDaGlsZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUKIAotSGFybmVz
cyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykg
dG8gTm9kZS5hcHBlbmRDaGlsZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUKLQorRkFJTCBN
ZXRhIHJlZnJlc2ggb2YgdGhlIG9yaWdpbmFsIGlmcmFtZSBpcyBub3QgYmxvY2tlZCBpZiBtb3Zl
ZCBpbnRvIGEgc2FuZGJveGVkIGlmcmFtZSBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykg
dG8gTm9kZS5hcHBlbmRDaGlsZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJlY3Rp
dmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvbW92aW5nLWRvY3VtZW50cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVj
dGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9tb3ZpbmctZG9jdW1lbnRzLWV4cGVj
dGVkLnR4dAppbmRleCA5N2E3MmQzN2RlNWY0M2JkZmMxNTI3ZDEzMTY2MTRhNGU2ZmU3YjlmLi41
ZGEyMDhhNDVlZWQ5OGJkM2QyNjk0NGUzMWFlMDgxZGEzMTNhNzUzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Rv
Y3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1t
ZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9tb3ZpbmctZG9jdW1lbnRzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMv
YXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9tb3ZpbmctZG9jdW1lbnRzLWV4cGVjdGVkLnR4
dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSA0MjogVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnbm9kZScpIHRvIE5vZGUuYXBwZW5kQ2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBOb2RlCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnbm9kZScpIHRvIE5vZGUuYXBwZW5kQ2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBOb2RlCi0KK0ZBSUwgV2hlbiBtb3ZpbmcgYmV0d2VlbiBkb2N1bWVudHMsIG11c3QgcmVm
cmVzaCB0aGUgb3JpZ2luYWwgZG9jdW1lbnQgVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbm9kZScp
IHRvIE5vZGUuYXBwZW5kQ2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBOb2RlCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0
aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL25vdC1pbi1zaGFkb3ctdHJlZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRp
cmVjdGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9ub3QtaW4tc2hhZG93LXRyZWUt
ZXhwZWN0ZWQudHh0CmluZGV4IGEzYTE2MmY0ZjJlNGFjNzcwYjMyN2M3ZDAzZGJlZDAxYzdkMGEw
NTguLjQ3MDhhYjA3MTAzNzM2OTE2NTZmYjZiNjg5MDQyNDY0NjcyYTRmNDggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9h
dHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL25vdC1pbi1zaGFkb3ctdHJlZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJl
Y3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvbm90LWluLXNoYWRvdy10cmVlLWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNDQ4OiBF
cnJvcjogYXNzZXJ0X3VucmVhY2hlZDogR290IG1vcmUgdGhhbiAxIGxvYWQgZXZlbnQgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjUzNDogRXJyb3I6IGFz
c2VydF91bnJlYWNoZWQ6IEdvdCBtb3JlIHRoYW4gMSBsb2FkIGV2ZW50IFJlYWNoZWQgdW5yZWFj
aGFibGUgY29kZQogCiBGQUlMIE1ldGEgcmVmcmVzaCBvbmx5IGFwcGxpZXMgd2hpbGUgaW4gdGhl
IGRvY3VtZW50IHRyZWUsIG5vdCBpbiBhIHNoYWRvdyB0cmVlIEVycm9yOiBhc3NlcnRfdW5yZWFj
aGVkOiBHb3QgbW9yZSB0aGFuIDEgbG9hZCBldmVudCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFj
ZXMvSFRNTEVsZW1lbnQvSFRNTFRyYWNrRWxlbWVudC9zcmNsYW5nLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL0hUTUxFbGVtZW50L0hU
TUxUcmFja0VsZW1lbnQvc3JjbGFuZy1leHBlY3RlZC50eHQKaW5kZXggZWQ1ODc1MTE2ZGJiYWE0
YTY4NWNiMmUyYmZiN2U1YmM3YjVlN2IzNC4uOTU0MjQ1MzVhZDJlOThiZTIzMWU1MWU3MWI5OWIw
ZjM1NDA2ZDhkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRz
L2ludGVyZmFjZXMvSFRNTEVsZW1lbnQvSFRNTFRyYWNrRWxlbWVudC9zcmNsYW5nLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9I
VE1MRWxlbWVudC9IVE1MVHJhY2tFbGVtZW50L3NyY2xhbmctZXhwZWN0ZWQudHh0CkBAIC0xLDkg
KzEsOSBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQzOiBUaGUgbGFuZ3VhZ2UgY29udGFpbnMg
YSBudWxsIGNoYXJhY3RlciBhbmQgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4K
IENPTlNPTEUgTUVTU0FHRTogbGluZSA2NDogVGhlIGxhbmd1YWdlICcgZm9vIAogJyBpcyBub3Qg
YSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6
IFRoZSBsYW5ndWFnZSAnIGZvbyAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBUaGUgbGFu
Z3VhZ2UgJyBmb28gCiAnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTQwNjogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFy
YWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIg
YW5kIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCiAKIFBBU1MgSFRNTFRyYWNr
RWxlbWVudC5zcmNsYW5nIG1pc3NpbmcgdmFsdWUgCiBQQVNTIEhUTUxUcmFja0VsZW1lbnQuc3Jj
bGFuZyBlbXB0eSBzdHJpbmcgY29udGVudCBhdHRyaWJ1dGUgCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9UZXh0VHJhY2svbGFuZ3VhZ2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFj
ZXMvVGV4dFRyYWNrL2xhbmd1YWdlLWV4cGVjdGVkLnR4dAppbmRleCBlMGU3ZmVkZDg2MDM2NzRi
YzhiZGQ5ZmRmMDFlNjQ5YTNiYzM1YTc3Li5iMDBiOGRkY2ZiYjhhNGQzMjhjNjNmYWIyYzM4MjU1
ZTFkMjY5YTkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMv
aW50ZXJmYWNlcy9UZXh0VHJhY2svbGFuZ3VhZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1RleHRUcmFjay9sYW5ndWFnZS1l
eHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNjog
VGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlk
IEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxh
bmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlkIEJDUCA0
NyBsYW5ndWFnZSB0YWcuCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IFRoZSBsYW5ndWFnZSBj
b250YWlucyBhIG51bGwgY2hhcmFjdGVyIGFuZCBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3Vh
Z2UgdGFnLgogCiBQQVNTIFRleHRUcmFjay5sYW5ndWFnZSAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeS1zdGF0ZXMvYXV0b3BsYXktd2l0aC1zbG93
LXRleHQtdHJhY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVt
ZW50cy9yZWFkeS1zdGF0ZXMvYXV0b3BsYXktd2l0aC1zbG93LXRleHQtdHJhY2tzLWV4cGVjdGVk
LnR4dAppbmRleCBlYTM2ZTA3M2I1ZDU5Y2ZhMjRkM2U3MmRjNGNkOGM3NGJkOTZlMWRkLi4zMzE5
YmY3Zjc2NzY2OTdmZjkxMTdlMGFlOTJmOTZmZmM5MGQzYjNlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVhZHktc3RhdGVzL2F1dG9wbGF5LXdpdGgtc2xv
dy10ZXh0LXRyYWNrcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlh
LWVsZW1lbnRzL3JlYWR5LXN0YXRlcy9hdXRvcGxheS13aXRoLXNsb3ctdGV4dC10cmFja3MtZXhw
ZWN0ZWQudHh0CkBAIC00LDYgKzQsNSBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzE6IFR5cGVF
cnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0cmFjay50cgogQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDMxOiBUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAndHJhY2sudHJhY2suY3Vlcy5sZW5ndGgnKQogQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDMxOiBUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndHJhY2su
dHJhY2suY3Vlcy5sZW5ndGgnKQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFR5
cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0cmFjay50cmFjay5j
dWVzLmxlbmd0aCcpCi0KK0ZBSUwgYXV0b3BsYXkgd2l0aCBzbG93IHRleHQgdHJhY2tzIFR5cGVF
cnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0cmFjay50cmFjay5jdWVz
Lmxlbmd0aCcpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9wcm9jZXNzaW5nLW1vZGVsLTIv
d2luZG93LW9uZXJyb3ItcGFyc2UtZXJyb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL3By
b2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1wYXJzZS1lcnJvci1leHBlY3RlZC50eHQK
aW5kZXggMjg2NzI3NGE4NDZhNDgyODlhZWNlZjc0Njc0MjcwYjE4YTE2NTAwMi4uOTZiN2JiNDQ5
NzIyZWZmMWI0ZjNiZmVkMTExNWM3MWU3M2U1NjBkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5n
L3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1wYXJzZS1lcnJvci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3dlYmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1w
YXJzZS1lcnJvci1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw3IEBACiBDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMzQ6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ3NjcmlwdCcKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxMzIxOiBFcnJvcjogVHJpZWQgdG8gY3JlYXRlIGEgdGVzdCB3
aXRoIGZpbGVfaXNfdGVzdAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzMjE6IEVycm9yOiBUcmll
ZCB0byBjcmVhdGUgYSB0ZXN0IHdpdGggZmlsZV9pc190ZXN0CitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTMyMTogRXJyb3I6IFRyaWVkIHRvIGNyZWF0ZSBhIHRlc3Qgd2l0aCBmaWxlX2lzX3Rlc3QK
IAotUEFTUyBjb3JyZWN0IHVybCBwYXNzZWQgdG8gd2luZG93Lm9uZXJyb3IgCi1QQVNTIGNvcnJl
Y3QgbGluZSBudW1iZXIgcGFzc2VkIHRvIHdpbmRvdy5vbmVycm9yIAotUEFTUyBjb3JyZWN0IG51
bWJlciBvZiBjYWxscyB0byB3aW5kb3cub25lcnJvciAKK1BBU1Mgd2luZG93Lm9uZXJyb3I6IHBh
cnNlIGVycm9ycyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwt
Mi93aW5kb3ctb25lcnJvci1ydW50aW1lLWVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGlu
Zy9wcm9jZXNzaW5nLW1vZGVsLTIvd2luZG93LW9uZXJyb3ItcnVudGltZS1lcnJvci1leHBlY3Rl
ZC50eHQKaW5kZXggNWVhMmQ5NTgwYzc0NmUzYmI5NzgzM2VmNWUyYmFlMmMxY2E2NzM2Ny4uY2Mx
NzcwMWZjNDMzMGVjM2Q5OTA3YzgxNzgwZGJkMWFmYmFjMDg0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2Ny
aXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1ydW50aW1lLWVycm9yLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2RlbC0yL3dpbmRvdy1v
bmVycm9yLXJ1bnRpbWUtZXJyb3ItZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNyBAQAogQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDM2OiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICd3aW5kb3cubm9uZXhpc3RlbnRwcm9wZXJ0eS5vb3BzJykKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxMzIxOiBFcnJvcjogVHJpZWQgdG8gY3JlYXRlIGEgdGVzdCB3aXRoIGZp
bGVfaXNfdGVzdAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzMjE6IEVycm9yOiBUcmllZCB0byBj
cmVhdGUgYSB0ZXN0IHdpdGggZmlsZV9pc190ZXN0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTMy
MTogRXJyb3I6IFRyaWVkIHRvIGNyZWF0ZSBhIHRlc3Qgd2l0aCBmaWxlX2lzX3Rlc3QKIAotUEFT
UyBjb3JyZWN0IHVybCBwYXNzZWQgdG8gd2luZG93Lm9uZXJyb3IgCi1QQVNTIGNvcnJlY3QgbGlu
ZSBudW1iZXIgcGFzc2VkIHRvIHdpbmRvdy5vbmVycm9yIAotUEFTUyBjb3JyZWN0IG51bWJlciBv
ZiBjYWxscyB0byB3aW5kb3cub25lcnJvciAKK1BBU1Mgd2luZG93Lm9uZXJyb3I6IHJ1bnRpbWUg
c2NyaXB0ZXJyb3JzIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2Rl
bC0yL3dpbmRvdy1vbmVycm9yLXJ1bnRpbWUtZXJyb3ItdGhyb3ctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMv
c2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1ydW50aW1lLWVycm9y
LXRocm93LWV4cGVjdGVkLnR4dAppbmRleCAyMTA0YzdkMzg5MTZjMzQ2OTc0NDUzMDJiODIyYTgw
NjFlYzQ1YTUxLi42Nzk5NWM5NTgwYjQ1MjA2ZWI2ZWM1ZDRlNWM4YjNiNzNkZjc4YzliIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
d2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2RlbC0yL3dpbmRvdy1vbmVycm9yLXJ1
bnRpbWUtZXJyb3ItdGhyb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9wcm9jZXNz
aW5nLW1vZGVsLTIvd2luZG93LW9uZXJyb3ItcnVudGltZS1lcnJvci10aHJvdy1leHBlY3RlZC50
eHQKQEAgLTEsNCArMSw1IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IGJhcgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDEzMjE6IEVycm9yOiBUcmllZCB0byBjcmVhdGUgYSB0ZXN0IHdpdGgg
ZmlsZV9pc190ZXN0CiAKLVBBU1MgY29ycmVjdCBudW1iZXIgb2YgY2FsbHMgdG8gd2luZG93Lm9u
ZXJyb3IgCitQQVNTIHdpbmRvdy5vbmVycm9yOiBydW50aW1lIHNjcmlwdGVycm9ycyAKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ub3Rp
ZmljYXRpb25zL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ub3RpZmljYXRpb25zL2ludGVyZmFjZXMtZXhwZWN0ZWQu
dHh0CmluZGV4IGQ4YmQ3ODgxZmRiOTY3MTFiOWViNzIyNjk4MzQ1NGRmNmY4ZDc3ODQuLjBiZDg2
OWFhY2I1MTNiMDc1ZDIyZmQyZWU1YTFmNDQ5ZDdiOTE4OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbm90aWZpY2F0aW9ucy9pbnRlcmZh
Y2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL25vdGlmaWNhdGlvbnMvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKQEAgLTE5LDgg
KzE5LDYgQEAgUEFTUyBOb3RpZmljYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYm9keQogUEFT
UyBOb3RpZmljYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdGFnIAogUEFTUyBOb3RpZmljYXRp
b24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaWNvbiAKIFBBU1MgTm90aWZpY2F0aW9uIGludGVyZmFj
ZTogb3BlcmF0aW9uIGNsb3NlKCkgCi1QQVNTIE5vdGlmaWNhdGlvbiBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIG5ldyBOb3RpZmljYXRpb24oIlJ1bm5pbmcgaWRsaGFybmVzcy4iKSAKLVBB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBOb3RpZmljYXRpb24oIlJ1bm5pbmcgaWRsaGFybmVz
cy4iKSAKIFBBU1MgTm90aWZpY2F0aW9uIGludGVyZmFjZTogbmV3IE5vdGlmaWNhdGlvbigiUnVu
bmluZyBpZGxoYXJuZXNzLiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbiIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBOb3RpZmljYXRpb24gaW50ZXJmYWNlOiBuZXcg
Tm90aWZpY2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJyZXF1ZXN0UGVybWlzc2lvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBOb3Rp
ZmljYXRpb24gaW50ZXJmYWNlOiBjYWxsaW5nIHJlcXVlc3RQZXJtaXNzaW9uKE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaykgb24gbmV3IE5vdGlmaWNhdGlvbigiUnVubmluZyBpZGxoYXJu
ZXNzLiIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCkBAIC0z
NSwxMCArMzMsNCBAQCBQQVNTIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2U6IG5ldyBOb3RpZmljYXRp
b24oIlJ1bm5pbmcgaWRsaGFybmVzcy4iKSBtdXN0IGluaGVyaQogUEFTUyBOb3RpZmljYXRpb24g
aW50ZXJmYWNlOiBuZXcgTm90aWZpY2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJ0YWciIHdpdGggdGhlIHByb3BlciB0eXBlICgxMCkgCiBQQVNTIE5v
dGlmaWNhdGlvbiBpbnRlcmZhY2U6IG5ldyBOb3RpZmljYXRpb24oIlJ1bm5pbmcgaWRsaGFybmVz
cy4iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImljb24iIHdpdGggdGhlIHByb3BlciB0eXBlICgx
MSkgCiBQQVNTIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2U6IG5ldyBOb3RpZmljYXRpb24oIlJ1bm5p
bmcgaWRsaGFybmVzcy4iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNsb3NlIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMTIpIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBOb3RpZmlj
YXRpb24oIlJ1bm5pbmcgaWRsaGFybmVzcy4iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2
ZW50TGlzdGVuZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKLVBBU1MgRXZlbnRUYXJnZXQg
aW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLEV2ZW50TGlzdGVu
ZXIsYm9vbGVhbikgb24gbmV3IE5vdGlmaWNhdGlvbigiUnVubmluZyBpZGxoYXJuZXNzLiIpIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogbmV3IE5vdGlmaWNhdGlvbigiUnVubmluZyBpZGxoYXJuZXNzLiIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lciIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgKDEpIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZl
bnRMaXN0ZW5lcihET01TdHJpbmcsRXZlbnRMaXN0ZW5lcixib29sZWFuKSBvbiBuZXcgTm90aWZp
Y2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0
IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgTm90aWZp
Y2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaXNw
YXRjaEV2ZW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCi1QQVNTIEV2ZW50VGFyZ2V0IGlu
dGVyZmFjZTogY2FsbGluZyBkaXNwYXRjaEV2ZW50KEV2ZW50KSBvbiBuZXcgTm90aWZpY2F0aW9u
KCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93
IFR5cGVFcnJvciAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCAzYzBmM2I3YTE0YzFiYjU2MDE2NDVlNjQ1
MjFjNjRkZTU3NDgwYTI0Li43MGFjZmUwMTA3Y2RiODJhNGRhNjg3ODRkNjlmMTA2MWJmZjAwMWFm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZGxoYXJu
ZXNzLWV4cGVjdGVkLnR4dApAQCAtNiwxMSArNiw2IEBAIFBBU1MgUGVyZm9ybWFuY2UgaW50ZXJm
YWNlOiBvcGVyYXRpb24gc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGxvbmcp
CiBQQVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTogYXR0cmlidXRlIG9ucmVzb3VyY2V0aW1pbmdi
dWZmZXJmdWxsIAogUEFTUyBQZXJmb3JtYW5jZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9m
IHdpbmRvdy5wZXJmb3JtYW5jZSAKIFBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHdpbmRvdy5wZXJm
b3JtYW5jZSAKLVBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiB3aW5kb3cucGVyZm9ybWFuY2Ug
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJnZXRFbnRyaWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MCkgCi1QQVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTogd2luZG93LnBlcmZvcm1hbmNlIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiZ2V0RW50cmllc0J5VHlwZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDEpIAotUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IGNhbGxpbmcgZ2V0RW50cmllc0J5VHlw
ZShET01TdHJpbmcpIG9uIHdpbmRvdy5wZXJmb3JtYW5jZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRz
IG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IHdpbmRv
dy5wZXJmb3JtYW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImdldEVudHJpZXNCeU5hbWUiIHdp
dGggdGhlIHByb3BlciB0eXBlICgyKSAKLVBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBjYWxs
aW5nIGdldEVudHJpZXNCeU5hbWUoRE9NU3RyaW5nLERPTVN0cmluZykgb24gd2luZG93LnBlcmZv
cm1hbmNlIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNT
IFBlcmZvcm1hbmNlIGludGVyZmFjZTogd2luZG93LnBlcmZvcm1hbmNlIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiY2xlYXJSZXNvdXJjZVRpbWluZ3MiIHdpdGggdGhlIHByb3BlciB0eXBlICgzKSAK
IFBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiB3aW5kb3cucGVyZm9ybWFuY2UgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICg0KSAKIFBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBjYWxsaW5nIHNldFJlc291
cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCBsb25nKSBvbiB3aW5kb3cucGVyZm9ybWFuY2Ug
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3J0LWluaXRpYXRvclR5cGUtb3RoZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcnQtaW5pdGlhdG9y
VHlwZS1vdGhlci1leHBlY3RlZC50eHQKaW5kZXggYTNiZTE2MTBhOGM3YWUzNjFjODVkZTk3Mjcx
MmJiMTg2M2VjYjBhYS4uN2ZlNDFjNjczOGJjYmQ1M2NjNTdhNjAxNzVjOGNmYzQ4YjhhYjNiOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcnQtaW5pdGlhdG9yVHlwZS1vdGhlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcnQtaW5pdGlhdG9yVHlwZS1vdGhlci1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsOCBAQAog
UmVzb3VyY2UgVGltaW5nOiBPdGhlciBpbml0aWF0b3JUeXBlCiAKIAotSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KIFBBU1MgVHlwZTogb3RoZXIgLSBXb3JrZXIgCiBQ
QVNTIFRpbWluZzogb3RoZXIgLSBXb3JrZXIgCiBUSU1FT1VUIFR5cGU6IG90aGVyIC0gRXZlbnRT
b3VyY2UgVGVzdCB0aW1lZCBvdXQKLU5PVFJVTiBUaW1pbmc6IG90aGVyIC0gRXZlbnRTb3VyY2Ug
CitGQUlMIFRpbWluZzogb3RoZXIgLSBFdmVudFNvdXJjZSBhc3NlcnRfdHJ1ZTogcHJldmlvdXMg
dGVzdCBzaG91bGQgaGF2ZSBwcm9kdWNlZCBhbiBlbnRyeSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcwppbmRleCBkYTc3ZmU3MGRi
ZjI4YzM1YzViMDAwOTdkOTQ3MTljOTBjMGFiNDAxLi5mMThkODk1YjYyMWNhMmEyMGVjNTQxNzNl
ODhiZGUzYTI2ZjdkYmQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMK
QEAgLTgsNyArOCw3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogWzNd
IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMTAvMjctdGVzdGNhc2VzCiAqLwogCi0vKiBGb3IgdXNl
ciBkb2N1bWVudGF0aW9uIHNlZSBkb2NzL2lkbGhhcm5lc3MubWQgKi8KKy8qIEZvciB1c2VyIGRv
Y3VtZW50YXRpb24gc2VlIGRvY3MvX3dyaXRpbmctdGVzdHMvaWRsaGFybmVzcy5tZCAqLwogCiAv
KioKICAqIE5vdGVzIGZvciBwZW9wbGUgd2hvIHdhbnQgdG8gZWRpdCB0aGlzIGZpbGUgKG5vdCBq
dXN0IHVzZSBpdCBhcyBhIGxpYnJhcnkpOgpAQCAtMzIyLDYgKzMyMiwyNCBAQCBJZGxBcnJheS5w
cm90b3R5cGUucmVjdXJzaXZlbHlfZ2V0X2ltcGxlbWVudHMgPSBmdW5jdGlvbihpbnRlcmZhY2Vf
bmFtZSkKICAgICByZXR1cm4gcmV0OwogfTsKIAorZnVuY3Rpb24gZXhwb3N1cmVfc2V0KG9iamVj
dCwgZGVmYXVsdF9zZXQpIHsKKyAgICB2YXIgZXhwb3NlZCA9IG9iamVjdC5leHRBdHRycy5maWx0
ZXIoZnVuY3Rpb24oYSkgeyByZXR1cm4gYS5uYW1lID09ICJFeHBvc2VkIiB9KTsKKyAgICBpZiAo
ZXhwb3NlZC5sZW5ndGggPiAxIHx8IGV4cG9zZWQubGVuZ3RoIDwgMCkgeworICAgICAgICB0aHJv
dyAiVW5leHBlY3RlZCBFeHBvc2VkIGV4dGVuZGVkIGF0dHJpYnV0ZXMgb24gIiArIG1lbWJlck5h
bWUgKyAiOiAiICsgZXhwb3NlZDsKKyAgICB9CisKKyAgICBpZiAoZXhwb3NlZC5sZW5ndGggPT09
IDApIHsKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRfc2V0OworICAgIH0KKworICAgIHZhciBzZXQg
PSBleHBvc2VkWzBdLnJocy52YWx1ZTsKKyAgICAvLyBDb3VsZCBiZSBhIGxpc3Qgb3IgYSBzdHJp
bmcuCisgICAgaWYgKHR5cGVvZiBzZXQgPT0gInN0cmluZyIpIHsKKyAgICAgICAgc2V0ID0gWyBz
ZXQgXTsKKyAgICB9CisgICAgcmV0dXJuIHNldDsKK30KKwogZnVuY3Rpb24gZXhwb3NlZF9pbihn
bG9iYWxzKSB7CiAgICAgaWYgKCdkb2N1bWVudCcgaW4gc2VsZikgewogICAgICAgICByZXR1cm4g
Z2xvYmFscy5pbmRleE9mKCJXaW5kb3ciKSA+PSAwOwpAQCAtMzk2LDE1ICs0MTQsOSBAQCBJZGxB
cnJheS5wcm90b3R5cGUudGVzdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogCi0gICAgICAgIHZhciBleHBvc2VkID0gbWVtYmVyLmV4dEF0dHJzLmZpbHRlcihm
dW5jdGlvbihhKSB7IHJldHVybiBhLm5hbWUgPT0gIkV4cG9zZWQiIH0pOwotICAgICAgICBpZiAo
ZXhwb3NlZC5sZW5ndGggPiAxKSB7Ci0gICAgICAgICAgICB0aHJvdyAiVW5leHBlY3RlZCBFeHBv
c2VkIGV4dGVuZGVkIGF0dHJpYnV0ZXMgb24gIiArIG1lbWJlck5hbWUgKyAiOiAiICsgZXhwb3Nl
ZDsKLSAgICAgICAgfQotCi0gICAgICAgIHZhciBnbG9iYWxzID0gZXhwb3NlZC5sZW5ndGggPT09
IDEKLSAgICAgICAgICAgICAgICAgICAgPyBleHBvc2VkWzBdLnJocy52YWx1ZQotICAgICAgICAg
ICAgICAgICAgICA6IFsiV2luZG93Il07CisgICAgICAgIHZhciBnbG9iYWxzID0gZXhwb3N1cmVf
c2V0KG1lbWJlciwgWyJXaW5kb3ciXSk7CiAgICAgICAgIG1lbWJlci5leHBvc2VkID0gZXhwb3Nl
ZF9pbihnbG9iYWxzKTsKKyAgICAgICAgbWVtYmVyLmV4cG9zdXJlU2V0ID0gZ2xvYmFsczsKICAg
ICB9LmJpbmQodGhpcykpOwogCiAgICAgLy8gTm93IHJ1biB0ZXN0KCkgb24gZXZlcnkgbWVtYmVy
LCBhbmQgdGVzdF9vYmplY3QoKSBmb3IgZXZlcnkgb2JqZWN0LgpAQCAtNDI1LDYgKzQzNywzMSBA
QCBJZGxBcnJheS5wcm90b3R5cGUudGVzdCA9IGZ1bmN0aW9uKCkKIElkbEFycmF5LnByb3RvdHlw
ZS5hc3NlcnRfdHlwZV9pcyA9IGZ1bmN0aW9uKHZhbHVlLCB0eXBlKQogLy9AewogeworICAgIGlm
ICh0eXBlLmlkbFR5cGUgaW4gdGhpcy5tZW1iZXJzCisgICAgJiYgdGhpcy5tZW1iZXJzW3R5cGUu
aWRsVHlwZV0gaW5zdGFuY2VvZiBJZGxUeXBlZGVmKSB7CisgICAgICAgIHRoaXMuYXNzZXJ0X3R5
cGVfaXModmFsdWUsIHRoaXMubWVtYmVyc1t0eXBlLmlkbFR5cGVdLmlkbFR5cGUpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIGlmICh0eXBlLnVuaW9uKSB7CisgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgdHlwZS5pZGxUeXBlLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgIHRoaXMuYXNzZXJ0X3R5cGVfaXModmFsdWUsIHR5cGUuaWRsVHlw
ZVtpXSk7CisgICAgICAgICAgICAgICAgLy8gTm8gQXNzZXJ0aW9uRXJyb3IsIHNvIHdlIG1hdGNo
IG9uZSB0eXBlIGluIHRoZSB1bmlvbgorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgQXNzZXJ0
aW9uRXJyb3IpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gV2UgZGlkbid0IG1hdGNoIHRoaXMg
dHlwZSwgbGV0J3MgdHJ5IHNvbWUgb3RoZXJzCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB0aHJvdyBlOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgIC8vIFRPRE86IElzIHRoZXJlIGEgbmljZSB3YXkgdG8g
bGlzdCB0aGUgdW5pb24ncyB0eXBlcyBpbiB0aGUgbWVzc2FnZT8KKyAgICAgICAgYXNzZXJ0X3Ry
dWUoZmFsc2UsICJBdHRyaWJ1dGUgaGFzIHZhbHVlICIgKyBmb3JtYXRfdmFsdWUodmFsdWUpCisg
ICAgICAgICAgICAgICAgICAgICsgIiB3aGljaCBkb2Vzbid0IG1hdGNoIGFueSBvZiB0aGUgdHlw
ZXMgaW4gdGhlIHVuaW9uIik7CisKKyAgICB9CisKICAgICAvKioKICAgICAgKiBIZWxwZXIgZnVu
Y3Rpb24gdGhhdCB0ZXN0cyB0aGF0IHZhbHVlIGlzIGFuIGluc3RhbmNlIG9mIHR5cGUgYWNjb3Jk
aW5nCiAgICAgICogdG8gdGhlIHJ1bGVzIG9mIFdlYklETC4gIHZhbHVlIGlzIGFueSBKYXZhU2Ny
aXB0IHZhbHVlLCBhbmQgdHlwZSBpcyBhbgpAQCAtNDU4LDcgKzQ5NSw3IEBAIElkbEFycmF5LnBy
b3RvdHlwZS5hc3NlcnRfdHlwZV9pcyA9IGZ1bmN0aW9uKHZhbHVlLCB0eXBlKQogICAgICAgICAg
ICAgLy8gTm90aGluZyB3ZSBjYW4gZG8uCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
LSAgICAgICAgdGhpcy5hc3NlcnRfdHlwZV9pcyh2YWx1ZVswXSwgdHlwZS5pZGxUeXBlLmlkbFR5
cGUpOworICAgICAgICB0aGlzLmFzc2VydF90eXBlX2lzKHZhbHVlWzBdLCB0eXBlLmlkbFR5cGUp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC00NzAsNiArNTA3LDE4IEBAIElkbEFycmF5
LnByb3RvdHlwZS5hc3NlcnRfdHlwZV9pcyA9IGZ1bmN0aW9uKHZhbHVlLCB0eXBlKQogICAgICAg
ICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKHR5cGUuZ2VuZXJpYyA9PT0gIkZyb3plbkFycmF5
IikgeworICAgICAgICBhc3NlcnRfdHJ1ZShBcnJheS5pc0FycmF5KHZhbHVlKSwgIlZhbHVlIHNo
b3VsZCBiZSBhcnJheSIpOworICAgICAgICBhc3NlcnRfdHJ1ZShPYmplY3QuaXNGcm96ZW4odmFs
dWUpLCAiVmFsdWUgc2hvdWxkIGJlIGZyb3plbiIpOworICAgICAgICBpZiAoIXZhbHVlLmxlbmd0
aCkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gTm90aGluZyB3ZSBjYW4gZG8uCisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5hc3NlcnRfdHlwZV9pcyh2YWx1
ZVswXSwgdHlwZS5pZGxUeXBlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIHR5cGUg
PSB0eXBlLmlkbFR5cGU7CiAKICAgICBzd2l0Y2godHlwZSkKQEAgLTYwMCwxMCArNjQ5LDYgQEAg
SWRsQXJyYXkucHJvdG90eXBlLmFzc2VydF90eXBlX2lzID0gZnVuY3Rpb24odmFsdWUsIHR5cGUp
CiAgICAgewogICAgICAgICAvLyBUT0RPOiBUZXN0IHdoZW4gd2UgYWN0dWFsbHkgaGF2ZSBzb21l
dGhpbmcgdG8gdGVzdCB0aGlzIG9uCiAgICAgfQotICAgIGVsc2UgaWYgKHRoaXMubWVtYmVyc1t0
eXBlXSBpbnN0YW5jZW9mIElkbFR5cGVkZWYpCi0gICAgewotICAgICAgICAvLyBUT0RPOiBUZXN0
IHdoZW4gd2UgYWN0dWFsbHkgaGF2ZSBzb21ldGhpbmcgdG8gdGVzdCB0aGlzIG9uCi0gICAgfQog
ICAgIGVsc2UKICAgICB7CiAgICAgICAgIHRocm93ICJUeXBlICIgKyB0eXBlICsgIiBpc24ndCBh
biBpbnRlcmZhY2Ugb3IgZGljdGlvbmFyeSI7CkBAIC05NzUsMTQgKzEwMjAsMTMgQEAgSWRsSW50
ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3NlbGYgPSBmdW5jdGlvbigpCiAgICAgICAgIC8vIGZvbGxv
d2luZyBzdGVwczoKICAgICAgICAgLy8gIklmIEEgaXMgZGVjbGFyZWQgd2l0aCB0aGUgW0dsb2Jh
bF0gb3IgW1ByaW1hcnlHbG9iYWxdIGV4dGVuZGVkCiAgICAgICAgIC8vIGF0dHJpYnV0ZSwgYW5k
IEEgc3VwcG9ydHMgbmFtZWQgcHJvcGVydGllcywgdGhlbiByZXR1cm4gdGhlIG5hbWVkCi0gICAg
ICAgIC8vIHByb3BlcnRpZXMgb2JqZWN0IGZvciBBLCBhcyBkZWZpbmVkIGluIHNlY3Rpb24gNC41
LjUgYmVsb3cuCisgICAgICAgIC8vIHByb3BlcnRpZXMgb2JqZWN0IGZvciBBLCBhcyBkZWZpbmVk
IGluIMKnMy42LjQgTmFtZWQgcHJvcGVydGllcworICAgICAgICAvLyBvYmplY3QuCiAgICAgICAg
IC8vICJPdGhlcndpc2UsIGlmIEEgaXMgZGVjbGFyZWQgdG8gaW5oZXJpdCBmcm9tIGFub3RoZXIg
aW50ZXJmYWNlLCB0aGVuCiAgICAgICAgIC8vIHJldHVybiB0aGUgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QgZm9yIHRoZSBpbmhlcml0ZWQgaW50ZXJmYWNlLgotICAgICAgICAvLyAiT3RoZXJ3
aXNlLCBpZiBBIGlzIGRlY2xhcmVkIHdpdGggdGhlIFtBcnJheUNsYXNzXSBleHRlbmRlZAotICAg
ICAgICAvLyBhdHRyaWJ1dGUsIHRoZW4gcmV0dXJuICVBcnJheVByb3RvdHlwZSUgKFtFQ01BLTI2
Ml0sIHNlY3Rpb24KLSAgICAgICAgLy8gNi4xLjcuNCkuCi0gICAgICAgIC8vICJPdGhlcndpc2Us
IHJldHVybiAlT2JqZWN0UHJvdG90eXBlJSAoW0VDTUEtMjYyXSwgc2VjdGlvbiA2LjEuNy40KS4K
LSAgICAgICAgLy8gKFtFQ01BLTI2Ml0sIHNlY3Rpb24gMTUuMi40KS4KKyAgICAgICAgLy8gIk90
aGVyd2lzZSwgaWYgQSBpcyBkZWNsYXJlZCB3aXRoIHRoZSBbTGVnYWN5QXJyYXlDbGFzc10gZXh0
ZW5kZWQKKyAgICAgICAgLy8gYXR0cmlidXRlLCB0aGVuIHJldHVybiAlQXJyYXlQcm90b3R5cGUl
LgorICAgICAgICAvLyAiT3RoZXJ3aXNlLCByZXR1cm4gJU9iamVjdFByb3RvdHlwZSUuCiAgICAg
ICAgIGlmICh0aGlzLm5hbWUgPT09ICJXaW5kb3ciKSB7CiAgICAgICAgICAgICBhc3NlcnRfY2xh
c3Nfc3RyaW5nKE9iamVjdC5nZXRQcm90b3R5cGVPZihzZWxmW3RoaXMubmFtZV0ucHJvdG90eXBl
KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dpbmRvd1Byb3BlcnRpZXMnLApA
QCAtOTk2LDcgKzEwNDAsNyBAQCBJZGxJbnRlcmZhY2UucHJvdG90eXBlLnRlc3Rfc2VsZiA9IGZ1
bmN0aW9uKCkKICAgICAgICAgICAgICAgICAgICAgIXRoaXMuYXJyYXkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAubWVtYmVyc1tpbmhlcml0X2ludGVyZmFjZV0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAuaGFzX2V4dGVuZGVkX2F0dHJpYnV0ZSgiTm9JbnRlcmZhY2VPYmplY3QiKTsKLSAg
ICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNfZXh0ZW5kZWRfYXR0cmlidXRlKCdBcnJheUNs
YXNzJykpIHsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNfZXh0ZW5kZWRfYXR0cmli
dXRlKCdMZWdhY3lBcnJheUNsYXNzJykpIHsKICAgICAgICAgICAgICAgICBpbmhlcml0X2ludGVy
ZmFjZSA9ICdBcnJheSc7CiAgICAgICAgICAgICAgICAgaW5oZXJpdF9pbnRlcmZhY2VfaGFzX2lu
dGVyZmFjZV9vYmplY3QgPSB0cnVlOwogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTEwMjUsMTMg
KzEwNjksMTkgQEAgSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3NlbGYgPSBmdW5jdGlvbigp
CiAgICAgICAgIC8vICJUaGUgY2xhc3Mgc3RyaW5nIG9mIGFuIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IGlzIHRoZQogICAgICAgICAvLyBjb25jYXRlbmF0aW9uIG9mIHRoZSBpbnRlcmZhY2Xi
gJlzIGlkZW50aWZpZXIgYW5kIHRoZSBzdHJpbmcKICAgICAgICAgLy8g4oCcUHJvdG90eXBl4oCd
LiIKLSAgICAgICAgYXNzZXJ0X2NsYXNzX3N0cmluZyhzZWxmW3RoaXMubmFtZV0ucHJvdG90eXBl
LCB0aGlzLm5hbWUgKyAiUHJvdG90eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Y2xhc3Mgc3RyaW5nIG9mICIgKyB0aGlzLm5hbWUgKyAiLnByb3RvdHlwZSIpOworCisgICAgICAg
IC8vIFNraXAgdGhlc2UgdGVzdHMgZm9yIG5vdyBkdWUgdG8gYSBzcGVjaWZpY2F0aW9uIGlzc3Vl
IGFib3V0CisgICAgICAgIC8vIHByb3RvdHlwZSBuYW1lLgorICAgICAgICAvLyBodHRwczovL3d3
dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTI4MjQ0CisKKyAgICAgICAgLy8g
YXNzZXJ0X2NsYXNzX3N0cmluZyhzZWxmW3RoaXMubmFtZV0ucHJvdG90eXBlLCB0aGlzLm5hbWUg
KyAiUHJvdG90eXBlIiwKKyAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAiY2xhc3Mgc3Ry
aW5nIG9mICIgKyB0aGlzLm5hbWUgKyAiLnByb3RvdHlwZSIpOworCiAgICAgICAgIC8vIFN0cmlu
ZygpIHNob3VsZCBlbmQgdXAgY2FsbGluZyB7fS50b1N0cmluZyBpZiBub3RoaW5nIGRlZmluZXMg
YQogICAgICAgICAvLyBzdHJpbmdpZmllci4KICAgICAgICAgaWYgKCF0aGlzLmhhc19zdHJpbmdp
ZmllcigpKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKFN0cmluZyhzZWxmW3RoaXMubmFt
ZV0ucHJvdG90eXBlKSwgIltvYmplY3QgIiArIHRoaXMubmFtZSArICJQcm90b3R5cGVdIiwKLSAg
ICAgICAgICAgICAgICAgICAgIlN0cmluZygiICsgdGhpcy5uYW1lICsgIi5wcm90b3R5cGUpIik7
CisgICAgICAgICAgICAvLyBhc3NlcnRfZXF1YWxzKFN0cmluZyhzZWxmW3RoaXMubmFtZV0ucHJv
dG90eXBlKSwgIltvYmplY3QgIiArIHRoaXMubmFtZSArICJQcm90b3R5cGVdIiwKKyAgICAgICAg
ICAgIC8vICAgICAgICAgIlN0cmluZygiICsgdGhpcy5uYW1lICsgIi5wcm90b3R5cGUpIik7CiAg
ICAgICAgIH0KICAgICB9LmJpbmQodGhpcyksIHRoaXMubmFtZSArICIgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiKTsKIApA
QCAtMTM1OSwxMiArMTQwOSwxNyBAQCBJZGxJbnRlcmZhY2UucHJvdG90eXBlLmRvX21lbWJlcl9v
cGVyYXRpb25fYXNzZXJ0cyA9IGZ1bmN0aW9uKG1lbWJlckhvbGRlck9iamVjdAogSWRsSW50ZXJm
YWNlLnByb3RvdHlwZS5hZGRfaXRlcmFibGVfbWVtYmVycyA9IGZ1bmN0aW9uKG1lbWJlcikKIC8v
QHsKIHsKLSAgICB0aGlzLm1lbWJlcnMucHVzaCh7dHlwZTogIm9wZXJhdGlvbiIsIG5hbWU6ICJl
bnRyaWVzIiwgaWRsVHlwZTogIml0ZXJhdG9yIiwgYXJndW1lbnRzOiBbXX0pOwotICAgIHRoaXMu
bWVtYmVycy5wdXNoKHt0eXBlOiAib3BlcmF0aW9uIiwgbmFtZTogImtleXMiLCBpZGxUeXBlOiAi
aXRlcmF0b3IiLCBhcmd1bWVudHM6IFtdfSk7Ci0gICAgdGhpcy5tZW1iZXJzLnB1c2goe3R5cGU6
ICJvcGVyYXRpb24iLCBuYW1lOiAidmFsdWVzIiwgaWRsVHlwZTogIml0ZXJhdG9yIiwgYXJndW1l
bnRzOiBbXX0pOwotICAgIHRoaXMubWVtYmVycy5wdXNoKHt0eXBlOiAib3BlcmF0aW9uIiwgbmFt
ZTogImZvckVhY2giLCBpZGxUeXBlOiAidm9pZCIsIGFyZ3VtZW50czoKLSAgICAgICAgW3sgbmFt
ZTogImNhbGxiYWNrIiwgaWRsVHlwZToge2lkbFR5cGU6ICJmdW5jdGlvbiJ9fSwKLSAgICAgICAg
eyBuYW1lOiAidGhpc1ZhbHVlIiwgaWRsVHlwZToge2lkbFR5cGU6ICJhbnkifSwgb3B0aW9uYWw6
IHRydWV9XX0pOworICAgIHRoaXMubWVtYmVycy5wdXNoKG5ldyBJZGxJbnRlcmZhY2VNZW1iZXIo
CisgICAgICAgIHsgdHlwZTogIm9wZXJhdGlvbiIsIG5hbWU6ICJlbnRyaWVzIiwgaWRsVHlwZTog
Iml0ZXJhdG9yIiwgYXJndW1lbnRzOiBbXX0pKTsKKyAgICB0aGlzLm1lbWJlcnMucHVzaChuZXcg
SWRsSW50ZXJmYWNlTWVtYmVyKAorICAgICAgICB7IHR5cGU6ICJvcGVyYXRpb24iLCBuYW1lOiAi
a2V5cyIsIGlkbFR5cGU6ICJpdGVyYXRvciIsIGFyZ3VtZW50czogW119KSk7CisgICAgdGhpcy5t
ZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1lbWJlcigKKyAgICAgICAgeyB0eXBlOiAib3Bl
cmF0aW9uIiwgbmFtZTogInZhbHVlcyIsIGlkbFR5cGU6ICJpdGVyYXRvciIsIGFyZ3VtZW50czog
W119KSk7CisgICAgdGhpcy5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1lbWJlcigKKyAg
ICAgICAgeyB0eXBlOiAib3BlcmF0aW9uIiwgbmFtZTogImZvckVhY2giLCBpZGxUeXBlOiAidm9p
ZCIsCisgICAgICAgICAgYXJndW1lbnRzOgorICAgICAgICAgIFt7IG5hbWU6ICJjYWxsYmFjayIs
IGlkbFR5cGU6IHtpZGxUeXBlOiAiZnVuY3Rpb24ifX0sCisgICAgICAgICAgIHsgbmFtZTogInRo
aXNWYWx1ZSIsIGlkbFR5cGU6IHtpZGxUeXBlOiAiYW55In0sIG9wdGlvbmFsOiB0cnVlfV19KSk7
CiB9OwogCiAvL0B9CkBAIC0xMzg0LDcgKzE0MzksNyBAQCBJZGxJbnRlcmZhY2UucHJvdG90eXBl
LnRlc3RfbWVtYmVyX2l0ZXJhYmxlID0gZnVuY3Rpb24obWVtYmVyKQogCiAgICAgaWYgKGlzUGFp
ckl0ZXJhdG9yKSB7CiAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKHNlbGZbaW50ZXJmYWNlTmFtZV0ucHJvdG90eXBlWyJlbnRyaWVzIl0sIHNlbGZb
aW50ZXJmYWNlTmFtZV0ucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0sICJlbnRyaWVzIG1ldGhv
ZCBpcyBub3QgdGhlIHNhbWUgYXMgQEBpdGVyYXRvciIpOworICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhzZWxmW2ludGVyZmFjZU5hbWVdLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdLCBzZWxm
W2ludGVyZmFjZU5hbWVdLnByb3RvdHlwZVsiZW50cmllcyJdLCAiZW50cmllcyBtZXRob2QgaXMg
bm90IHRoZSBzYW1lIGFzIEBAaXRlcmF0b3IiKTsKICAgICAgICAgfSwgIlRlc3RpbmcgcGFpciBp
dGVyYWJsZSBpbnRlcmZhY2UgIiArIGludGVyZmFjZU5hbWUpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIHRlc3QoZnVuY3Rpb24oKSB7CkBAIC0xNDgzLDYgKzE1MzgsMTkgQEAgSWRsSW50ZXJmYWNl
LnByb3RvdHlwZS50ZXN0X21lbWJlcnMgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgfQogCisgICAgICAgIGlmICghZXhwb3NlZF9pbihleHBvc3VyZV9zZXQobWVt
YmVyLCB0aGlzLmV4cG9zdXJlU2V0KSkpIHsKKyAgICAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgICAgLy8gSXQncyBub3QgZXhwb3NlZCwgc28gd2Ugc2hvdWxkbid0IGZp
bmQgaXQgYW55d2hlcmUuCisgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKG1lbWJlci5uYW1l
IGluIHNlbGZbdGhpcy5uYW1lXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBp
bnRlcmZhY2Ugb2JqZWN0IG11c3Qgbm90IGhhdmUgYSBwcm9wZXJ0eSAiICsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZm9ybWF0X3ZhbHVlKG1lbWJlci5uYW1lKSk7CisgICAgICAgICAg
ICAgICAgYXNzZXJ0X2ZhbHNlKG1lbWJlci5uYW1lIGluIHNlbGZbdGhpcy5uYW1lXS5wcm90b3R5
cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgcHJvdG90eXBlIG9iamVjdCBt
dXN0IG5vdCBoYXZlIGEgcHJvcGVydHkgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZvcm1hdF92YWx1ZShtZW1iZXIubmFtZSkpOworICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCB0
aGlzLm5hbWUgKyAiIGludGVyZmFjZTogbWVtYmVyICIgKyBtZW1iZXIubmFtZSk7CisgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCiAgICAgICAgIHN3aXRjaCAobWVtYmVyLnR5cGUp
IHsKICAgICAgICAgY2FzZSAiY29uc3QiOgogICAgICAgICAgICAgdGhpcy50ZXN0X21lbWJlcl9j
b25zdChtZW1iZXIpOwpAQCAtMTU2NSw2ICsxNjMzLDEzIEBAIElkbEludGVyZmFjZS5wcm90b3R5
cGUudGVzdF9vYmplY3QgPSBmdW5jdGlvbihkZXNjKQogSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50
ZXN0X3ByaW1hcnlfaW50ZXJmYWNlX29mID0gZnVuY3Rpb24oZGVzYywgb2JqLCBleGNlcHRpb24s
IGV4cGVjdGVkX3R5cGVvZikKIC8vQHsKIHsKKyAgICAvLyBPbmx5IHRoZSBvYmplY3QgaXRzZWxm
LCBub3QgaXRzIG1lbWJlcnMsIGFyZSB0ZXN0ZWQgaGVyZSwgc28gaWYgdGhlCisgICAgLy8gaW50
ZXJmYWNlIGlzIHVudGVzdGVkLCB0aGVyZSBpcyBub3RoaW5nIHRvIGRvLgorICAgIGlmICghdGhp
cy51bnRlc3RlZCkKKyAgICB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBXZSBj
YW4ndCBlYXNpbHkgdGVzdCB0aGF0IGl0cyBwcm90b3R5cGUgaXMgY29ycmVjdCBpZiB0aGVyZSdz
IG5vCiAgICAgLy8gaW50ZXJmYWNlIG9iamVjdCwgb3IgdGhlIG9iamVjdCBpcyBmcm9tIGEgZGlm
ZmVyZW50IGdsb2JhbCBlbnZpcm9ubWVudAogICAgIC8vIChub3QgaW5zdGFuY2VvZiBPYmplY3Qp
LiAgVE9ETzogdGVzdCBpbiB0aGlzIGNhc2UgdGhhdCBpdHMgcHJvdG90eXBlIGF0CkBAIC0xNjE2
LDYgKzE2OTEsMTUgQEAgSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X2ludGVyZmFjZV9vZiA9
IGZ1bmN0aW9uKGRlc2MsIG9iaiwgZXhjZXB0aW9uLCBleHBlY3QKICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHRoaXMubWVtYmVycy5sZW5ndGg7IGkrKykKICAgICB7CiAgICAgICAgIHZhciBtZW1i
ZXIgPSB0aGlzLm1lbWJlcnNbaV07CisgICAgICAgIGlmIChtZW1iZXIudW50ZXN0ZWQpIHsKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIGlmICghZXhwb3NlZF9pbihl
eHBvc3VyZV9zZXQobWVtYmVyLCB0aGlzLmV4cG9zdXJlU2V0KSkpIHsKKyAgICAgICAgICAgIHRl
c3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKG1lbWJlci5uYW1l
IGluIG9iaik7CisgICAgICAgICAgICB9LmJpbmQodGhpcyksIHRoaXMubmFtZSArICJpbnRlcmZh
Y2U6ICIgKyBkZXNjICsgJ211c3Qgbm90IGhhdmUgcHJvcGVydHkgIicgKyBtZW1iZXIubmFtZSAr
ICciJyk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQogICAgICAgICBpZiAobWVt
YmVyLnR5cGUgPT0gImF0dHJpYnV0ZSIgJiYgbWVtYmVyLmlzVW5mb3JnZWFibGUpCiAgICAgICAg
IHsKICAgICAgICAgICAgIHZhciBhX3Rlc3QgPSBhc3luY190ZXN0KHRoaXMubmFtZSArICIgaW50
ZXJmYWNlOiAiICsgZGVzYyArICcgbXVzdCBoYXZlIG93biBwcm9wZXJ0eSAiJyArIG1lbWJlci5u
YW1lICsgJyInKTsKQEAgLTE4MTcsNiArMTkwMSw3IEBAIElkbEludGVyZmFjZS5wcm90b3R5cGUu
ZG9faW50ZXJmYWNlX2F0dHJpYnV0ZV9hc3NlcnRzID0gZnVuY3Rpb24ob2JqLCBtZW1iZXIsIGFf
CiAgICAgLy8gVE9ETzogVGVzdCBjYWxsaW5nIHNldHRlciBvbiB0aGUgaW50ZXJmYWNlIHByb3Rv
dHlwZSAoc2hvdWxkIHRocm93CiAgICAgLy8gVHlwZUVycm9yIGluIG1vc3QgY2FzZXMpLgogICAg
IGlmIChtZW1iZXIucmVhZG9ubHkKKyAgICAmJiAhbWVtYmVyLmhhc19leHRlbmRlZF9hdHRyaWJ1
dGUoIkxlbmllbnRTZXR0ZXIiKQogICAgICYmICFtZW1iZXIuaGFzX2V4dGVuZGVkX2F0dHJpYnV0
ZSgiUHV0Rm9yd2FyZHMiKQogICAgICYmICFtZW1iZXIuaGFzX2V4dGVuZGVkX2F0dHJpYnV0ZSgi
UmVwbGFjZWFibGUiKSkKICAgICB7CkBAIC0xOTU2LDggKzIwNDEsOCBAQCBmdW5jdGlvbiBJZGxU
eXBlZGVmKG9iaikKICAgICAvKiogU2VsZi1leHBsYW5hdG9yeS4gKi8KICAgICB0aGlzLm5hbWUg
PSBvYmoubmFtZTsKIAotICAgIC8qKiBBbiBhcnJheSBvZiB2YWx1ZXMgcHJvZHVjZWQgYnkgdGhl
ICJ0eXBlZGVmIiBwcm9kdWN0aW9uLiAqLwotICAgIHRoaXMudmFsdWVzID0gb2JqLnZhbHVlczsK
KyAgICAvKiogVGhlIGlkbFR5cGUgdGhhdCB3ZSBhcmUgc3VwcG9zZWQgdG8gYmUgdHlwZWRlZmZp
bmcgdG8uICovCisgICAgdGhpcy5pZGxUeXBlID0gb2JqLmlkbFR5cGU7CiAKIH0KIC8vQH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKaW5kZXggYTZlNzkxM2U3YmNiODc4
Zjc3MTk3MTRhYTMwZjc1YjAzMTNkYWUxMC4uZTdiZTZjNGU2YzhkNjU3ZmQwOGQ3YmE0Y2E3MjI2
MzFhYzE2MDFjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKQEAg
LTY2LDYgKzY2LDcgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAg
ICAgIHRoaXMuYWxsX2xvYWRlZCA9IGZhbHNlOwogICAgICAgICB2YXIgdGhpc19vYmogPSB0aGlz
OwogICAgICAgICB0aGlzLm1lc3NhZ2VfZXZlbnRzID0gW107CisgICAgICAgIHRoaXMuZGlzcGF0
Y2hlZF9tZXNzYWdlcyA9IFtdOwogCiAgICAgICAgIHRoaXMubWVzc2FnZV9mdW5jdGlvbnMgPSB7
CiAgICAgICAgICAgICBzdGFydDogW2FkZF9zdGFydF9jYWxsYmFjaywgcmVtb3ZlX3N0YXJ0X2Nh
bGxiYWNrLApAQCAtMTAyLDkgKzEwMywyMyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZv
cm1zIFszXS4KICAgICAgICAgb25fZXZlbnQod2luZG93LCAnbG9hZCcsIGZ1bmN0aW9uKCkgewog
ICAgICAgICAgICAgdGhpc19vYmouYWxsX2xvYWRlZCA9IHRydWU7CiAgICAgICAgIH0pOworCisg
ICAgICAgIG9uX2V2ZW50KHdpbmRvdywgJ21lc3NhZ2UnLCBmdW5jdGlvbihldmVudCkgeworICAg
ICAgICAgICAgaWYgKGV2ZW50LmRhdGEgJiYgZXZlbnQuZGF0YS50eXBlID09PSAiZ2V0bWVzc2Fn
ZXMiICYmIGV2ZW50LnNvdXJjZSkgeworICAgICAgICAgICAgICAgIC8vIEEgd2luZG93IGNhbiBw
b3N0ICJnZXRtZXNzYWdlcyIgdG8gcmVjZWl2ZSBhIGR1cGxpY2F0ZSBvZiBldmVyeQorICAgICAg
ICAgICAgICAgIC8vIG1lc3NhZ2UgcG9zdGVkIGJ5IHRoaXMgZW52aXJvbm1lbnQgc28gZmFyLiBU
aGlzIGFsbG93cyBzdWJzY3JpYmVycworICAgICAgICAgICAgICAgIC8vIGZyb20gZmV0Y2hfdGVz
dHNfZnJvbV93aW5kb3cgdG8gJ2NhdGNoIHVwJyB0byB0aGUgY3VycmVudCBzdGF0ZSBvZgorICAg
ICAgICAgICAgICAgIC8vIHRoaXMgZW52aXJvbm1lbnQuCisgICAgICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB0aGlzX29iai5kaXNwYXRjaGVkX21lc3NhZ2VzLmxlbmd0aDsgKytpKQor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnQuc291cmNlLnBvc3RN
ZXNzYWdlKHRoaXNfb2JqLmRpc3BhdGNoZWRfbWVzc2FnZXNbaV0sICIqIik7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9KTsKICAgICB9CiAKICAgICBXaW5kb3dU
ZXN0RW52aXJvbm1lbnQucHJvdG90eXBlLl9kaXNwYXRjaCA9IGZ1bmN0aW9uKHNlbGVjdG9yLCBj
YWxsYmFja19hcmdzLCBtZXNzYWdlX2FyZykgeworICAgICAgICB0aGlzLmRpc3BhdGNoZWRfbWVz
c2FnZXMucHVzaChtZXNzYWdlX2FyZyk7CiAgICAgICAgIHRoaXMuX2ZvckVhY2hfd2luZG93cygK
ICAgICAgICAgICAgICAgICBmdW5jdGlvbih3LCBzYW1lX29yaWdpbikgewogICAgICAgICAgICAg
ICAgICAgICBpZiAoc2FtZV9vcmlnaW4pIHsKQEAgLTE0MiwzMyArMTU3LDE0IEBAIHBvbGljaWVz
IGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICAgICAgdmFyIHcgPSBzZWxmOwog
ICAgICAgICAgICAgdmFyIGkgPSAwOwogICAgICAgICAgICAgdmFyIHNvOwotICAgICAgICAgICAg
dmFyIG9yaWdpbnMgPSBsb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnM7CiAgICAgICAgICAgICB3aGls
ZSAodyAhPSB3LnBhcmVudCkgewogICAgICAgICAgICAgICAgIHcgPSB3LnBhcmVudDsKLSAgICAg
ICAgICAgICAgICAvLyBJbiBXZWJLaXQsIGNhbGxzIHRvIHBhcmVudCB3aW5kb3dzJyBwcm9wZXJ0
aWVzIHRoYXQgYXJlbid0IG9uIHRoZSBzYW1lCi0gICAgICAgICAgICAgICAgLy8gb3JpZ2luIGNh
dXNlIGFuIGVycm9yIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBlcnJvciBjb25zb2xl
IGJ1dAotICAgICAgICAgICAgICAgIC8vIGRvbid0IHRocm93IGFuIGV4Y2VwdGlvbi4gVGhpcyBp
cyBhIGRldmlhdGlvbiBmcm9tIHRoZSBjdXJyZW50IEhUTUw1Ci0gICAgICAgICAgICAgICAgLy8g
c3BlYy4gU2VlOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM1MDQK
LSAgICAgICAgICAgICAgICAvLyBUaGUgcHJvYmxlbSB3aXRoIFdlYktpdCdzIGJlaGF2aW9yIGlz
IHRoYXQgaXQgcG9sbHV0ZXMgdGhlIGVycm9yIGNvbnNvbGUKLSAgICAgICAgICAgICAgICAvLyB3
aXRoIGVycm9yIG1lc3NhZ2VzIHRoYXQgY2FuJ3QgYmUgY2F1Z2h0LgotICAgICAgICAgICAgICAg
IC8vCi0gICAgICAgICAgICAgICAgLy8gVGhpcyBpc3N1ZSBjYW4gYmUgbWl0aWdhdGVkIGJ5IHJl
bHlpbmcgb24gdGhlIChmb3Igbm93KSBwcm9wcmlldGFyeQotICAgICAgICAgICAgICAgIC8vIGBs
b2NhdGlvbi5hbmNlc3Rvck9yaWdpbnNgIHByb3BlcnR5IHdoaWNoIHJldHVybnMgYW4gb3JkZXJl
ZCBsaXN0IG9mCi0gICAgICAgICAgICAgICAgLy8gdGhlIG9yaWdpbnMgb2YgZW5jbG9zaW5nIHdp
bmRvd3MuIFNlZToKLSAgICAgICAgICAgICAgICAvLyBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8xMTM5NDUuCi0gICAgICAgICAgICAgICAgaWYgKG9yaWdpbnMpIHsKLSAgICAgICAg
ICAgICAgICAgICAgc28gPSAobG9jYXRpb24ub3JpZ2luID09IG9yaWdpbnNbaV0pOwotICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHNvID0gaXNfc2FtZV9vcmln
aW4odyk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNvID0gaXNfc2FtZV9v
cmlnaW4odyk7CiAgICAgICAgICAgICAgICAgY2FjaGUucHVzaChbdywgc29dKTsKICAgICAgICAg
ICAgICAgICBpKys7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB3ID0gd2luZG93Lm9wZW5l
cjsKICAgICAgICAgICAgIGlmICh3KSB7Ci0gICAgICAgICAgICAgICAgLy8gd2luZG93Lm9wZW5l
ciBpc24ndCBpbmNsdWRlZCBpbiB0aGUgYGxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc2AgcHJvcC4K
LSAgICAgICAgICAgICAgICAvLyBXZSdsbCBqdXN0IGhhdmUgdG8gZGVhbCB3aXRoIGEgc2ltcGxl
IGNoZWNrIGFuZCBhbiBlcnJvciBtc2cgb24gV2ViS2l0Ci0gICAgICAgICAgICAgICAgLy8gYnJv
d3NlcnMgaW4gdGhpcyBjYXNlLgogICAgICAgICAgICAgICAgIGNhY2hlLnB1c2goW3csIGlzX3Nh
bWVfb3JpZ2luKHcpXSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB0aGlzLndpbmRvd19j
YWNoZSA9IGNhY2hlOwpAQCAtNDE0LDcgKzQxMCw3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRp
b24gZm9ybXMgWzNdLgogICAgICAgICB2YXIgdGhpc19vYmogPSB0aGlzOwogICAgICAgICBzZWxm
LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLAogICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGV2
ZW50KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLnR5cGUgJiYgZXZlbnQu
ZGF0YS50eXBlID09PSAiY29ubmVjdCIpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50
LmRhdGEgJiYgZXZlbnQuZGF0YS50eXBlICYmIGV2ZW50LmRhdGEudHlwZSA9PT0gImNvbm5lY3Qi
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQucG9ydHMgJiYgZXZlbnQucG9y
dHNbMF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiBhIE1lc3NhZ2VDaGFu
bmVsIHdhcyBwYXNzZWQsIHRoZW4gdXNlIGl0IHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gc2VuZCByZXN1bHRzIGJhY2sgdG8gdGhlIG1haW4gd2luZG93LiAgVGhpcwpAQCAtNTI3
LDEyICs1MjMsMTQgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAg
ICAgICAgICB0ZXN0cy5wcm9taXNlX3Rlc3RzID0gUHJvbWlzZS5yZXNvbHZlKCk7CiAgICAgICAg
IH0KICAgICAgICAgdGVzdHMucHJvbWlzZV90ZXN0cyA9IHRlc3RzLnByb21pc2VfdGVzdHMudGhl
bihmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBkb25lUHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsKKyAgICAgICAgICAgICAgICB0ZXN0LmFkZF9jbGVhbnVwKHJl
c29sdmUpOworICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB2YXIgcHJvbWlzZSA9IHRlc3Qu
c3RlcChmdW5jLCB0ZXN0LCB0ZXN0KTsKICAgICAgICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigp
IHsKICAgICAgICAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhwcm9taXNlLCB1bmRlZmluZWQp
OwogICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHBy
b21pc2UpCi0gICAgICAgICAgICAgICAgLnRoZW4oCisgICAgICAgICAgICBQcm9taXNlLnJlc29s
dmUocHJvbWlzZSkudGhlbigKICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0LmRvbmUoKTsKICAgICAgICAgICAgICAgICAgICAgfSkK
QEAgLTU0NCw2ICs1NDIsNyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4K
ICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydChmYWxzZSwgInByb21pc2VfdGVzdCIsIG51
bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogJHt2YWx1ZX0iLCB7dmFsdWU6dmFsdWV9KTsKICAgICAgICAgICAgICAgICAg
ICAgfSkpOworICAgICAgICAgICAgcmV0dXJuIGRvbmVQcm9taXNlOwogICAgICAgICB9KTsKICAg
ICB9CiAKQEAgLTExNzksNyArMTE3OCw3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9y
bXMgWzNdLgogICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBpZiAoY29kZSA9PT0gbnVsbCkgewotICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgICAgICB0aHJvdyBuZXcgQXNzZXJ0aW9uRXJyb3IoJ1Rlc3QgYnVnOiBuZWVkIHRvIHBh
c3MgZXhjZXB0aW9uIHRvIGFzc2VydF90aHJvd3MoKScpOwogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgaWYgKHR5cGVvZiBjb2RlID09PSAib2JqZWN0IikgewogICAgICAgICAgICAgICAgIGFz
c2VydCh0eXBlb2YgZSA9PSAib2JqZWN0IiAmJiAibmFtZSIgaW4gZSAmJiBlLm5hbWUgPT0gY29k
ZS5uYW1lLApAQCAtMTU3Miw3MyArMTU3MSw1NiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9u
IGZvcm1zIFszXS4KICAgICB9CiAKICAgICAvKgotICAgICAqIEEgUmVtb3RlV29ya2VyIGxpc3Rl
bnMgZm9yIHRlc3QgZXZlbnRzIGZyb20gYSB3b3JrZXIuIFRoZXNlIGV2ZW50cyBhcmUKLSAgICAg
KiB0aGVuIHVzZWQgdG8gY29uc3RydWN0IGFuZCBtYWludGFpbiBSZW1vdGVUZXN0IG9iamVjdHMg
dGhhdCBtaXJyb3IgdGhlCi0gICAgICogdGVzdHMgcnVubmluZyBvbiB0aGUgcmVtb3RlIHdvcmtl
ci4KKyAgICAgKiBBIFJlbW90ZUNvbnRleHQgbGlzdGVucyBmb3IgdGVzdCBldmVudHMgZnJvbSBh
IHJlbW90ZSB0ZXN0IGNvbnRleHQsIHN1Y2gKKyAgICAgKiBhcyBhbm90aGVyIHdpbmRvdyBvciBh
IHdvcmtlci4gVGhlc2UgZXZlbnRzIGFyZSB0aGVuIHVzZWQgdG8gY29uc3RydWN0CisgICAgICog
YW5kIG1haW50YWluIFJlbW90ZVRlc3Qgb2JqZWN0cyB0aGF0IG1pcnJvciB0aGUgdGVzdHMgcnVu
bmluZyBpbiB0aGUKKyAgICAgKiByZW1vdGUgY29udGV4dC4KKyAgICAgKgorICAgICAqIEFuIG9w
dGlvbmFsIHRoaXJkIHBhcmFtZXRlciBjYW4gYmUgdXNlZCBhcyBhIHByZWRpY2F0ZSB0byBmaWx0
ZXIgaW5jb21pbmcKKyAgICAgKiBNZXNzYWdlRXZlbnRzLgogICAgICAqLwotICAgIGZ1bmN0aW9u
IFJlbW90ZVdvcmtlcih3b3JrZXIpIHsKKyAgICBmdW5jdGlvbiBSZW1vdGVDb250ZXh0KHJlbW90
ZSwgbWVzc2FnZV90YXJnZXQsIG1lc3NhZ2VfZmlsdGVyKSB7CiAgICAgICAgIHRoaXMucnVubmlu
ZyA9IHRydWU7CiAgICAgICAgIHRoaXMudGVzdHMgPSBuZXcgQXJyYXkoKTsKIAogICAgICAgICB2
YXIgdGhpc19vYmogPSB0aGlzOwotICAgICAgICB3b3JrZXIub25lcnJvciA9IGZ1bmN0aW9uKGVy
cm9yKSB7IHRoaXNfb2JqLndvcmtlcl9lcnJvcihlcnJvcik7IH07Ci0KLSAgICAgICAgdmFyIG1l
c3NhZ2VfcG9ydDsKLQotICAgICAgICBpZiAoaXNfc2VydmljZV93b3JrZXIod29ya2VyKSkgewot
ICAgICAgICAgICAgaWYgKHdpbmRvdy5NZXNzYWdlQ2hhbm5lbCkgewotICAgICAgICAgICAgICAg
IC8vIFRoZSBTZXJ2aWNlV29ya2VyJ3MgaW1wbGljaXQgTWVzc2FnZVBvcnQgaXMgY3VycmVudGx5
IG5vdAotICAgICAgICAgICAgICAgIC8vIHJlbGlhYmx5IGFjY2Vzc2libGUgZnJvbSB0aGUgU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlIGR1ZSB0bwotICAgICAgICAgICAgICAgIC8vIEJsaW5rIHNl
dHRpbmcgTWVzc2FnZUV2ZW50LnNvdXJjZSB0byBudWxsIGZvciBtZXNzYWdlcyBzZW50Ci0gICAg
ICAgICAgICAgICAgLy8gdmlhIFNlcnZpY2VXb3JrZXIucG9zdE1lc3NhZ2UoKS4gVW50aWwgdGhh
dCdzIHJlc29sdmVkLAotICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBhbiBleHBsaWNpdCBNZXNz
YWdlQ2hhbm5lbCBhbmQgcGFzcyBvbmUgZW5kIHRvIHRoZQotICAgICAgICAgICAgICAgIC8vIHdv
cmtlci4KLSAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZV9jaGFubmVsID0gbmV3IE1lc3NhZ2VD
aGFubmVsKCk7Ci0gICAgICAgICAgICAgICAgbWVzc2FnZV9wb3J0ID0gbWVzc2FnZV9jaGFubmVs
LnBvcnQxOwotICAgICAgICAgICAgICAgIG1lc3NhZ2VfcG9ydC5zdGFydCgpOwotICAgICAgICAg
ICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7dHlwZTogImNvbm5lY3QifSwgW21lc3NhZ2VfY2hh
bm5lbC5wb3J0Ml0pOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBJ
ZiBNZXNzYWdlQ2hhbm5lbCBpcyBub3QgYXZhaWxhYmxlLCB0aGVuIHRyeSB0aGUKLSAgICAgICAg
ICAgICAgICAvLyBTZXJ2aWNlV29ya2VyLnBvc3RNZXNzYWdlKCkgYXBwcm9hY2ggdXNpbmcgTWVz
c2FnZUV2ZW50LnNvdXJjZQotICAgICAgICAgICAgICAgIC8vIG9uIHRoZSBvdGhlciBlbmQuCi0g
ICAgICAgICAgICAgICAgbWVzc2FnZV9wb3J0ID0gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXI7Ci0g
ICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHt0eXBlOiAiY29ubmVjdCJ9KTsKKyAg
ICAgICAgcmVtb3RlLm9uZXJyb3IgPSBmdW5jdGlvbihlcnJvcikgeyB0aGlzX29iai5yZW1vdGVf
ZXJyb3IoZXJyb3IpOyB9OworCisgICAgICAgIC8vIEtlZXBpbmcgYSByZWZlcmVuY2UgdG8gdGhl
IHJlbW90ZSBvYmplY3QgYW5kIHRoZSBtZXNzYWdlIGhhbmRsZXIgdW50aWwKKyAgICAgICAgLy8g
cmVtb3RlX2RvbmUoKSBpcyBzZWVuIHByZXZlbnRzIHRoZSByZW1vdGUgb2JqZWN0IGFuZCBpdHMg
bWVzc2FnZSBjaGFubmVsCisgICAgICAgIC8vIGZyb20gZ29pbmcgYXdheSBiZWZvcmUgYWxsIHRo
ZSBtZXNzYWdlcyBhcmUgZGlzcGF0Y2hlZC4KKyAgICAgICAgdGhpcy5yZW1vdGUgPSByZW1vdGU7
CisgICAgICAgIHRoaXMubWVzc2FnZV90YXJnZXQgPSBtZXNzYWdlX3RhcmdldDsKKyAgICAgICAg
dGhpcy5tZXNzYWdlX2hhbmRsZXIgPSBmdW5jdGlvbihtZXNzYWdlKSB7CisgICAgICAgICAgICB2
YXIgcGFzc2VzRmlsdGVyID0gIW1lc3NhZ2VfZmlsdGVyIHx8IG1lc3NhZ2VfZmlsdGVyKG1lc3Nh
Z2UpOworICAgICAgICAgICAgaWYgKHRoaXNfb2JqLnJ1bm5pbmcgJiYgbWVzc2FnZS5kYXRhICYm
IHBhc3Nlc0ZpbHRlciAmJgorICAgICAgICAgICAgICAgIChtZXNzYWdlLmRhdGEudHlwZSBpbiB0
aGlzX29iai5tZXNzYWdlX2hhbmRsZXJzKSkgeworICAgICAgICAgICAgICAgIHRoaXNfb2JqLm1l
c3NhZ2VfaGFuZGxlcnNbbWVzc2FnZS5kYXRhLnR5cGVdLmNhbGwodGhpc19vYmosIG1lc3NhZ2Uu
ZGF0YSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSBpZiAoaXNfc2hhcmVkX3dvcmtl
cih3b3JrZXIpKSB7Ci0gICAgICAgICAgICBtZXNzYWdlX3BvcnQgPSB3b3JrZXIucG9ydDsKLSAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1lc3NhZ2VfcG9ydCA9IHdvcmtlcjsKLSAgICAg
ICAgfQotCi0gICAgICAgIC8vIEtlZXBpbmcgYSByZWZlcmVuY2UgdG8gdGhlIHdvcmtlciB1bnRp
bCB3b3JrZXJfZG9uZSgpIGlzIHNlZW4KLSAgICAgICAgLy8gcHJldmVudHMgdGhlIFdvcmtlciBv
YmplY3QgYW5kIGl0cyBNZXNzYWdlQ2hhbm5lbCBmcm9tIGdvaW5nIGF3YXkKLSAgICAgICAgLy8g
YmVmb3JlIGFsbCB0aGUgbWVzc2FnZXMgYXJlIGRpc3BhdGNoZWQuCi0gICAgICAgIHRoaXMud29y
a2VyID0gd29ya2VyOworICAgICAgICB9OwogCi0gICAgICAgIG1lc3NhZ2VfcG9ydC5vbm1lc3Nh
Z2UgPQotICAgICAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgICAgIGlm
ICh0aGlzX29iai5ydW5uaW5nICYmIChtZXNzYWdlLmRhdGEudHlwZSBpbiB0aGlzX29iai5tZXNz
YWdlX2hhbmRsZXJzKSkgewotICAgICAgICAgICAgICAgICAgICB0aGlzX29iai5tZXNzYWdlX2hh
bmRsZXJzW21lc3NhZ2UuZGF0YS50eXBlXS5jYWxsKHRoaXNfb2JqLCBtZXNzYWdlLmRhdGEpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH07CisgICAgICAgIHRoaXMubWVzc2FnZV90
YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHRoaXMubWVzc2FnZV9oYW5kbGVyKTsK
ICAgICB9CiAKLSAgICBSZW1vdGVXb3JrZXIucHJvdG90eXBlLndvcmtlcl9lcnJvciA9IGZ1bmN0
aW9uKGVycm9yKSB7CisgICAgUmVtb3RlQ29udGV4dC5wcm90b3R5cGUucmVtb3RlX2Vycm9yID0g
ZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgdmFyIG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlIHx8
IFN0cmluZyhlcnJvcik7CiAgICAgICAgIHZhciBmaWxlbmFtZSA9IChlcnJvci5maWxlbmFtZSA/
ICIgIiArIGVycm9yLmZpbGVuYW1lOiAiIik7Ci0gICAgICAgIC8vIEZJWE1FOiBEaXNwbGF5IHdv
cmtlciBlcnJvciBzdGF0ZXMgc2VwYXJhdGVseSBmcm9tIG1haW4gZG9jdW1lbnQKKyAgICAgICAg
Ly8gRklYTUU6IERpc3BsYXkgcmVtb3RlIGVycm9yIHN0YXRlcyBzZXBhcmF0ZWx5IGZyb20gbWFp
biBkb2N1bWVudAogICAgICAgICAvLyBlcnJvciBzdGF0ZS4KLSAgICAgICAgdGhpcy53b3JrZXJf
ZG9uZSh7CisgICAgICAgIHRoaXMucmVtb3RlX2RvbmUoewogICAgICAgICAgICAgc3RhdHVzOiB7
CiAgICAgICAgICAgICAgICAgc3RhdHVzOiB0ZXN0cy5zdGF0dXMuRVJST1IsCi0gICAgICAgICAg
ICAgICAgbWVzc2FnZTogIkVycm9yIGluIHdvcmtlciIgKyBmaWxlbmFtZSArICI6ICIgKyBtZXNz
YWdlLAorICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICJFcnJvciBpbiByZW1vdGUiICsgZmlsZW5h
bWUgKyAiOiAiICsgbWVzc2FnZSwKICAgICAgICAgICAgICAgICBzdGFjazogZXJyb3Iuc3RhY2sK
ICAgICAgICAgICAgIH0KICAgICAgICAgfSk7Ci0gICAgICAgIGVycm9yLnByZXZlbnREZWZhdWx0
KCk7CisKKyAgICAgICAgaWYgKGVycm9yLnByZXZlbnREZWZhdWx0KSB7CisgICAgICAgICAgICBl
cnJvci5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICB9CiAgICAgfTsKIAotICAgIFJlbW90ZVdv
cmtlci5wcm90b3R5cGUudGVzdF9zdGF0ZSA9IGZ1bmN0aW9uKGRhdGEpIHsKKyAgICBSZW1vdGVD
b250ZXh0LnByb3RvdHlwZS50ZXN0X3N0YXRlID0gZnVuY3Rpb24oZGF0YSkgewogICAgICAgICB2
YXIgcmVtb3RlX3Rlc3QgPSB0aGlzLnRlc3RzW2RhdGEudGVzdC5pbmRleF07CiAgICAgICAgIGlm
ICghcmVtb3RlX3Rlc3QpIHsKICAgICAgICAgICAgIHJlbW90ZV90ZXN0ID0gbmV3IFJlbW90ZVRl
c3QoZGF0YS50ZXN0KTsKQEAgLTE2NDgsMzEgKzE2MzAsMzMgQEAgcG9saWNpZXMgYW5kIGNvbnRy
aWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgIHRlc3RzLm5vdGlmeV90ZXN0X3N0YXRlKHJlbW90
ZV90ZXN0KTsKICAgICB9OwogCi0gICAgUmVtb3RlV29ya2VyLnByb3RvdHlwZS50ZXN0X2RvbmUg
PSBmdW5jdGlvbihkYXRhKSB7CisgICAgUmVtb3RlQ29udGV4dC5wcm90b3R5cGUudGVzdF9kb25l
ID0gZnVuY3Rpb24oZGF0YSkgewogICAgICAgICB2YXIgcmVtb3RlX3Rlc3QgPSB0aGlzLnRlc3Rz
W2RhdGEudGVzdC5pbmRleF07CiAgICAgICAgIHJlbW90ZV90ZXN0LnVwZGF0ZV9zdGF0ZV9mcm9t
KGRhdGEudGVzdCk7CiAgICAgICAgIHJlbW90ZV90ZXN0LmRvbmUoKTsKICAgICAgICAgdGVzdHMu
cmVzdWx0KHJlbW90ZV90ZXN0KTsKICAgICB9OwogCi0gICAgUmVtb3RlV29ya2VyLnByb3RvdHlw
ZS53b3JrZXJfZG9uZSA9IGZ1bmN0aW9uKGRhdGEpIHsKKyAgICBSZW1vdGVDb250ZXh0LnByb3Rv
dHlwZS5yZW1vdGVfZG9uZSA9IGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICAgaWYgKHRlc3RzLnN0
YXR1cy5zdGF0dXMgPT09IG51bGwgJiYKICAgICAgICAgICAgIGRhdGEuc3RhdHVzLnN0YXR1cyAh
PT0gZGF0YS5zdGF0dXMuT0spIHsKICAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5zdGF0dXMgPSBk
YXRhLnN0YXR1cy5zdGF0dXM7CiAgICAgICAgICAgICB0ZXN0cy5zdGF0dXMubWVzc2FnZSA9IGRh
dGEuc3RhdHVzLm1lc3NhZ2U7CiAgICAgICAgICAgICB0ZXN0cy5zdGF0dXMuc3RhY2sgPSBkYXRh
LnN0YXR1cy5zdGFjazsKICAgICAgICAgfQorICAgICAgICB0aGlzLm1lc3NhZ2VfdGFyZ2V0LnJl
bW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCB0aGlzLm1lc3NhZ2VfaGFuZGxlcik7CiAgICAg
ICAgIHRoaXMucnVubmluZyA9IGZhbHNlOwotICAgICAgICB0aGlzLndvcmtlciA9IG51bGw7Cisg
ICAgICAgIHRoaXMucmVtb3RlID0gbnVsbDsKKyAgICAgICAgdGhpcy5tZXNzYWdlX3RhcmdldCA9
IG51bGw7CiAgICAgICAgIGlmICh0ZXN0cy5hbGxfZG9uZSgpKSB7CiAgICAgICAgICAgICB0ZXN0
cy5jb21wbGV0ZSgpOwogICAgICAgICB9CiAgICAgfTsKIAotICAgIFJlbW90ZVdvcmtlci5wcm90
b3R5cGUubWVzc2FnZV9oYW5kbGVycyA9IHsKLSAgICAgICAgdGVzdF9zdGF0ZTogUmVtb3RlV29y
a2VyLnByb3RvdHlwZS50ZXN0X3N0YXRlLAotICAgICAgICByZXN1bHQ6IFJlbW90ZVdvcmtlci5w
cm90b3R5cGUudGVzdF9kb25lLAotICAgICAgICBjb21wbGV0ZTogUmVtb3RlV29ya2VyLnByb3Rv
dHlwZS53b3JrZXJfZG9uZQorICAgIFJlbW90ZUNvbnRleHQucHJvdG90eXBlLm1lc3NhZ2VfaGFu
ZGxlcnMgPSB7CisgICAgICAgIHRlc3Rfc3RhdGU6IFJlbW90ZUNvbnRleHQucHJvdG90eXBlLnRl
c3Rfc3RhdGUsCisgICAgICAgIHJlc3VsdDogUmVtb3RlQ29udGV4dC5wcm90b3R5cGUudGVzdF9k
b25lLAorICAgICAgICBjb21wbGV0ZTogUmVtb3RlQ29udGV4dC5wcm90b3R5cGUucmVtb3RlX2Rv
bmUKICAgICB9OwogCiAgICAgLyoKQEAgLTE3NDAsNyArMTcyNCw3IEBAIHBvbGljaWVzIGFuZCBj
b250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICB0aGlzLnRlc3RfZG9uZV9jYWxsYmFja3Mg
PSBbXTsKICAgICAgICAgdGhpcy5hbGxfZG9uZV9jYWxsYmFja3MgPSBbXTsKIAotICAgICAgICB0
aGlzLnBlbmRpbmdfd29ya2VycyA9IFtdOworICAgICAgICB0aGlzLnBlbmRpbmdfcmVtb3RlcyA9
IFtdOwogCiAgICAgICAgIHRoaXMuc3RhdHVzID0gbmV3IFRlc3RzU3RhdHVzKCk7CiAKQEAgLTE4
NTUsNyArMTgzOSw3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAg
ICAgICByZXR1cm4gKHRoaXMudGVzdHMubGVuZ3RoID4gMCAmJiB0ZXN0X2Vudmlyb25tZW50LmFs
bF9sb2FkZWQgJiYKICAgICAgICAgICAgICAgICB0aGlzLm51bV9wZW5kaW5nID09PSAwICYmICF0
aGlzLndhaXRfZm9yX2ZpbmlzaCAmJgogICAgICAgICAgICAgICAgICF0aGlzLnByb2Nlc3Npbmdf
Y2FsbGJhY2tzICYmCi0gICAgICAgICAgICAgICAgIXRoaXMucGVuZGluZ193b3JrZXJzLnNvbWUo
ZnVuY3Rpb24odykgeyByZXR1cm4gdy5ydW5uaW5nOyB9KSk7CisgICAgICAgICAgICAgICAgIXRo
aXMucGVuZGluZ19yZW1vdGVzLnNvbWUoZnVuY3Rpb24odykgeyByZXR1cm4gdy5ydW5uaW5nOyB9
KSk7CiAgICAgfTsKIAogICAgIFRlc3RzLnByb3RvdHlwZS5zdGFydCA9IGZ1bmN0aW9uKCkgewpA
QCAtMTkxNSwxMCArMTg5OSw0NiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFsz
XS4KICAgICAgICAgdGhpcy5ub3RpZnlfY29tcGxldGUoKTsKICAgICB9OwogCisgICAgLyoKKyAg
ICAgKiBEZXRlcm1pbmUgaWYgYW55IHRlc3RzIHNoYXJlIHRoZSBzYW1lIGBuYW1lYCBwcm9wZXJ0
eS4gUmV0dXJuIGFuIGFycmF5CisgICAgICogY29udGFpbmluZyB0aGUgbmFtZXMgb2YgYW55IHN1
Y2ggZHVwbGljYXRlcy4KKyAgICAgKi8KKyAgICBUZXN0cy5wcm90b3R5cGUuZmluZF9kdXBsaWNh
dGVzID0gZnVuY3Rpb24oKSB7CisgICAgICAgIHZhciBuYW1lcyA9IE9iamVjdC5jcmVhdGUobnVs
bCk7CisgICAgICAgIHZhciBkdXBsaWNhdGVzID0gW107CisKKyAgICAgICAgZm9yRWFjaCAodGhp
cy50ZXN0cywKKyAgICAgICAgICAgICAgICAgZnVuY3Rpb24odGVzdCkKKyAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3QubmFtZSBpbiBuYW1lcyAmJiBkdXBs
aWNhdGVzLmluZGV4T2YodGVzdC5uYW1lKSA9PT0gLTEpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGR1cGxpY2F0ZXMucHVzaCh0ZXN0Lm5hbWUpOworICAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICAgbmFtZXNbdGVzdC5uYW1lXSA9IHRydWU7CisgICAgICAgICAg
ICAgICAgIH0pOworCisgICAgICAgIHJldHVybiBkdXBsaWNhdGVzOworICAgIH07CisKICAgICBU
ZXN0cy5wcm90b3R5cGUubm90aWZ5X2NvbXBsZXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIHZh
ciB0aGlzX29iaiA9IHRoaXM7CisgICAgICAgIHZhciBkdXBsaWNhdGVzOworCiAgICAgICAgIGlm
ICh0aGlzLnN0YXR1cy5zdGF0dXMgPT09IG51bGwpIHsKLSAgICAgICAgICAgIHRoaXMuc3RhdHVz
LnN0YXR1cyA9IHRoaXMuc3RhdHVzLk9LOworICAgICAgICAgICAgZHVwbGljYXRlcyA9IHRoaXMu
ZmluZF9kdXBsaWNhdGVzKCk7CisKKyAgICAgICAgICAgIC8vIFRlc3QgbmFtZXMgYXJlIHByZXN1
bWVkIHRvIGJlIHVuaXF1ZSB3aXRoaW4gdGVzdCBmaWxlcy0tdGhpcworICAgICAgICAgICAgLy8g
YWxsb3dzIGNvbnN1bWVycyB0byB1c2UgdGhlbSBmb3IgaWRlbnRpZmljYXRpb24gcHVycG9zZXMu
CisgICAgICAgICAgICAvLyBEdXBsaWNhdGVkIG5hbWVzIHZpb2xhdGUgdGhpcyBleHBlY3RhdGlv
biBhbmQgc2hvdWxkIHRoZXJlZm9yZQorICAgICAgICAgICAgLy8gYmUgcmVwb3J0ZWQgYXMgYW4g
ZXJyb3IuCisgICAgICAgICAgICBpZiAoZHVwbGljYXRlcy5sZW5ndGgpIHsKKyAgICAgICAgICAg
ICAgICB0aGlzLnN0YXR1cy5zdGF0dXMgPSB0aGlzLnN0YXR1cy5FUlJPUjsKKyAgICAgICAgICAg
ICAgICB0aGlzLnN0YXR1cy5tZXNzYWdlID0KKyAgICAgICAgICAgICAgICAgICBkdXBsaWNhdGVz
Lmxlbmd0aCArICcgZHVwbGljYXRlIHRlc3QgbmFtZScgKworICAgICAgICAgICAgICAgICAgIChk
dXBsaWNhdGVzLmxlbmd0aCA+IDEgPyAncycgOiAnJykgKyAnOiAiJyArCisgICAgICAgICAgICAg
ICAgICAgZHVwbGljYXRlcy5qb2luKCciLCAiJykgKyAnIic7CisgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzLnN0YXR1cyA9IHRoaXMuc3RhdHVzLk9LOwor
ICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgZm9yRWFjaCAodGhpcy5hbGxfZG9u
ZV9jYWxsYmFja3MsCkBAIC0xOTI4LDEyICsxOTQ4LDY1IEBAIHBvbGljaWVzIGFuZCBjb250cmli
dXRpb24gZm9ybXMgWzNdLgogICAgICAgICAgICAgICAgICB9KTsKICAgICB9OwogCisgICAgLyoK
KyAgICAgKiBDb25zdHJ1Y3RzIGEgUmVtb3RlQ29udGV4dCB0aGF0IHRyYWNrcyB0ZXN0cyBmcm9t
IGEgc3BlY2lmaWMgd29ya2VyLgorICAgICAqLworICAgIFRlc3RzLnByb3RvdHlwZS5jcmVhdGVf
cmVtb3RlX3dvcmtlciA9IGZ1bmN0aW9uKHdvcmtlcikgeworICAgICAgICB2YXIgbWVzc2FnZV9w
b3J0OworCisgICAgICAgIGlmIChpc19zZXJ2aWNlX3dvcmtlcih3b3JrZXIpKSB7CisgICAgICAg
ICAgICAvLyBNaWNyb3NvZnQgRWRnZSdzIGltcGxlbWVudGF0aW9uIG9mIFNlcnZpY2VXb3JrZXIg
ZG9lc24ndCBzdXBwb3J0IE1lc3NhZ2VQb3J0IHlldC4KKyAgICAgICAgICAgIC8vIEZlYXR1cmUg
ZGV0ZWN0aW9uIGlzbid0IGEgc3RyYWlnaHRmb3J3YXJkIG9wdGlvbiBoZXJlOyBpdCdzIG9ubHkg
cG9zc2libGUgaW4gdGhlCisgICAgICAgICAgICAvLyB3b3JrZXIncyBzY3JpcHQgY29udGV4dC4K
KyAgICAgICAgICAgIHZhciBpc01pY3Jvc29mdEVkZ2VCcm93c2VyID0gbmF2aWdhdG9yLnVzZXJB
Z2VudC5pbmNsdWRlcygiRWRnZSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5NZXNzYWdlQ2hh
bm5lbCAmJiAhaXNNaWNyb3NvZnRFZGdlQnJvd3NlcikgeworICAgICAgICAgICAgICAgIC8vIFRo
ZSBTZXJ2aWNlV29ya2VyJ3MgaW1wbGljaXQgTWVzc2FnZVBvcnQgaXMgY3VycmVudGx5IG5vdAor
ICAgICAgICAgICAgICAgIC8vIHJlbGlhYmx5IGFjY2Vzc2libGUgZnJvbSB0aGUgU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlIGR1ZSB0bworICAgICAgICAgICAgICAgIC8vIEJsaW5rIHNldHRpbmcg
TWVzc2FnZUV2ZW50LnNvdXJjZSB0byBudWxsIGZvciBtZXNzYWdlcyBzZW50CisgICAgICAgICAg
ICAgICAgLy8gdmlhIFNlcnZpY2VXb3JrZXIucG9zdE1lc3NhZ2UoKS4gVW50aWwgdGhhdCdzIHJl
c29sdmVkLAorICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBhbiBleHBsaWNpdCBNZXNzYWdlQ2hh
bm5lbCBhbmQgcGFzcyBvbmUgZW5kIHRvIHRoZQorICAgICAgICAgICAgICAgIC8vIHdvcmtlci4K
KyAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZV9jaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVs
KCk7CisgICAgICAgICAgICAgICAgbWVzc2FnZV9wb3J0ID0gbWVzc2FnZV9jaGFubmVsLnBvcnQx
OworICAgICAgICAgICAgICAgIG1lc3NhZ2VfcG9ydC5zdGFydCgpOworICAgICAgICAgICAgICAg
IHdvcmtlci5wb3N0TWVzc2FnZSh7dHlwZTogImNvbm5lY3QifSwgW21lc3NhZ2VfY2hhbm5lbC5w
b3J0Ml0pOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyBJZiBNZXNz
YWdlQ2hhbm5lbCBpcyBub3QgYXZhaWxhYmxlLCB0aGVuIHRyeSB0aGUKKyAgICAgICAgICAgICAg
ICAvLyBTZXJ2aWNlV29ya2VyLnBvc3RNZXNzYWdlKCkgYXBwcm9hY2ggdXNpbmcgTWVzc2FnZUV2
ZW50LnNvdXJjZQorICAgICAgICAgICAgICAgIC8vIG9uIHRoZSBvdGhlciBlbmQuCisgICAgICAg
ICAgICAgICAgbWVzc2FnZV9wb3J0ID0gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXI7CisgICAgICAg
ICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHt0eXBlOiAiY29ubmVjdCJ9KTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChpc19zaGFyZWRfd29ya2VyKHdvcmtlcikpIHsKKyAg
ICAgICAgICAgIG1lc3NhZ2VfcG9ydCA9IHdvcmtlci5wb3J0OworICAgICAgICAgICAgbWVzc2Fn
ZV9wb3J0LnN0YXJ0KCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtZXNzYWdlX3Bv
cnQgPSB3b3JrZXI7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gbmV3IFJlbW90ZUNvbnRl
eHQod29ya2VyLCBtZXNzYWdlX3BvcnQpOworICAgIH07CisKKyAgICAvKgorICAgICAqIENvbnN0
cnVjdHMgYSBSZW1vdGVDb250ZXh0IHRoYXQgdHJhY2tzIHRlc3RzIGZyb20gYSBzcGVjaWZpYyB3
aW5kb3cuCisgICAgICovCisgICAgVGVzdHMucHJvdG90eXBlLmNyZWF0ZV9yZW1vdGVfd2luZG93
ID0gZnVuY3Rpb24ocmVtb3RlKSB7CisgICAgICAgIHJlbW90ZS5wb3N0TWVzc2FnZSh7dHlwZTog
ImdldG1lc3NhZ2VzIn0sICIqIik7CisgICAgICAgIHJldHVybiBuZXcgUmVtb3RlQ29udGV4dCgK
KyAgICAgICAgICAgIHJlbW90ZSwKKyAgICAgICAgICAgIHdpbmRvdywKKyAgICAgICAgICAgIGZ1
bmN0aW9uKG1zZykgeworICAgICAgICAgICAgICAgIHJldHVybiBtc2cuc291cmNlID09PSByZW1v
dGU7CisgICAgICAgICAgICB9CisgICAgICAgICk7CisgICAgfTsKKwogICAgIFRlc3RzLnByb3Rv
dHlwZS5mZXRjaF90ZXN0c19mcm9tX3dvcmtlciA9IGZ1bmN0aW9uKHdvcmtlcikgewogICAgICAg
ICBpZiAodGhpcy5waGFzZSA+PSB0aGlzLnBoYXNlcy5DT01QTEVURSkgewogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5wZW5kaW5nX3dvcmtlcnMucHVzaChu
ZXcgUmVtb3RlV29ya2VyKHdvcmtlcikpOworICAgICAgICB0aGlzLnBlbmRpbmdfcmVtb3Rlcy5w
dXNoKHRoaXMuY3JlYXRlX3JlbW90ZV93b3JrZXIod29ya2VyKSk7CiAgICAgfTsKIAogICAgIGZ1
bmN0aW9uIGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHBvcnQpIHsKQEAgLTE5NDEsNiArMjAxNCwx
OSBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICB9CiAgICAgZXhw
b3NlKGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyLCAnZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXInKTsK
IAorICAgIFRlc3RzLnByb3RvdHlwZS5mZXRjaF90ZXN0c19mcm9tX3dpbmRvdyA9IGZ1bmN0aW9u
KHJlbW90ZSkgeworICAgICAgICBpZiAodGhpcy5waGFzZSA+PSB0aGlzLnBoYXNlcy5DT01QTEVU
RSkgeworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5wZW5k
aW5nX3JlbW90ZXMucHVzaCh0aGlzLmNyZWF0ZV9yZW1vdGVfd2luZG93KHJlbW90ZSkpOworICAg
IH07CisKKyAgICBmdW5jdGlvbiBmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyh3aW5kb3cpIHsKKyAg
ICAgICAgdGVzdHMuZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3cod2luZG93KTsKKyAgICB9CisgICAg
ZXhwb3NlKGZldGNoX3Rlc3RzX2Zyb21fd2luZG93LCAnZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3cn
KTsKKwogICAgIGZ1bmN0aW9uIHRpbWVvdXQoKSB7CiAgICAgICAgIGlmICh0ZXN0cy50aW1lb3V0
X2xlbmd0aCA9PT0gbnVsbCkgewogICAgICAgICAgICAgdGVzdHMudGltZW91dCgpOwpAQCAtMjEw
MCw3ICsyMTg2LDcgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAg
ICAgIH0KIAogICAgICAgICB2YXIgaGFybmVzc191cmwgPSBnZXRfaGFybmVzc191cmwoKTsKLSAg
ICAgICAgaWYgKGhhcm5lc3NfdXJsICE9PSBudWxsKSB7CisgICAgICAgIGlmIChoYXJuZXNzX3Vy
bCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICB2YXIgc3R5bGVzaGVldCA9IG91dHB1dF9k
b2N1bWVudC5jcmVhdGVFbGVtZW50TlMoeGh0bWxfbnMsICJsaW5rIik7CiAgICAgICAgICAgICBz
dHlsZXNoZWV0LnNldEF0dHJpYnV0ZSgicmVsIiwgInN0eWxlc2hlZXQiKTsKICAgICAgICAgICAg
IHN0eWxlc2hlZXQuc2V0QXR0cmlidXRlKCJocmVmIiwgaGFybmVzc191cmwgKyAidGVzdGhhcm5l
c3MuY3NzIik7CkBAIC0yNDU0LDYgKzI1NDAsNyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9u
IGZvcm1zIFszXS4KICAgICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTsKICAgICAgICAgdGhp
cy5zdGFjayA9IHRoaXMuZ2V0X3N0YWNrKCk7CiAgICAgfQorICAgIGV4cG9zZShBc3NlcnRpb25F
cnJvciwgIkFzc2VydGlvbkVycm9yIik7CiAKICAgICBBc3NlcnRpb25FcnJvci5wcm90b3R5cGUg
PSBPYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSk7CiAKQEAgLTI2NzAsMjAgKzI3NTcsMzEg
QEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgdmFyIHRlc3RzID0g
bmV3IFRlc3RzKCk7CiAKICAgICB2YXIgZXJyb3JfaGFuZGxlciA9IGZ1bmN0aW9uKGUpIHsKKyAg
ICAgICAgaWYgKHRlc3RzLnRlc3RzLmxlbmd0aCA9PT0gMCAmJiAhdGVzdHMuYWxsb3dfdW5jYXVn
aHRfZXhjZXB0aW9uKSB7CisgICAgICAgICAgICB0ZXN0cy5zZXRfZmlsZV9pc190ZXN0KCk7Cisg
ICAgICAgIH0KKworICAgICAgICB2YXIgc3RhY2s7CisgICAgICAgIGlmIChlLmVycm9yICYmIGUu
ZXJyb3Iuc3RhY2spIHsKKyAgICAgICAgICAgIHN0YWNrID0gZS5lcnJvci5zdGFjazsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHN0YWNrID0gZS5maWxlbmFtZSArICI6IiArIGUubGlu
ZW5vICsgIjoiICsgZS5jb2xubzsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICh0ZXN0cy5maWxl
X2lzX3Rlc3QpIHsKICAgICAgICAgICAgIHZhciB0ZXN0ID0gdGVzdHMudGVzdHNbMF07CiAgICAg
ICAgICAgICBpZiAodGVzdC5waGFzZSA+PSB0ZXN0LnBoYXNlcy5IQVNfUkVTVUxUKSB7CiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgdGVzdC5zZXRf
c3RhdHVzKHRlc3QuRkFJTCwgZS5tZXNzYWdlLCBlLnN0YWNrKTsKKyAgICAgICAgICAgIHRlc3Qu
c2V0X3N0YXR1cyh0ZXN0LkZBSUwsIGUubWVzc2FnZSwgc3RhY2spOwogICAgICAgICAgICAgdGVz
dC5waGFzZSA9IHRlc3QucGhhc2VzLkhBU19SRVNVTFQ7CiAgICAgICAgICAgICB0ZXN0LmRvbmUo
KTsKLSAgICAgICAgICAgIGRvbmUoKTsKICAgICAgICAgfSBlbHNlIGlmICghdGVzdHMuYWxsb3df
dW5jYXVnaHRfZXhjZXB0aW9uKSB7CiAgICAgICAgICAgICB0ZXN0cy5zdGF0dXMuc3RhdHVzID0g
dGVzdHMuc3RhdHVzLkVSUk9SOwogICAgICAgICAgICAgdGVzdHMuc3RhdHVzLm1lc3NhZ2UgPSBl
Lm1lc3NhZ2U7Ci0gICAgICAgICAgICB0ZXN0cy5zdGF0dXMuc3RhY2sgPSBlLnN0YWNrOworICAg
ICAgICAgICAgdGVzdHMuc3RhdHVzLnN0YWNrID0gc3RhY2s7CiAgICAgICAgIH0KKyAgICAgICAg
ZG9uZSgpOwogICAgIH07CiAKICAgICBhZGRFdmVudExpc3RlbmVyKCJlcnJvciIsIGVycm9yX2hh
bmRsZXIsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudC1wcm90b3R5cGUtY3VycmVudFNjcmlw
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vRG9jdW1lbnQtcHJvdG90eXBlLWN1cnJlbnRTY3JpcHQtZXhwZWN0ZWQu
dHh0CmluZGV4IGYxMGI4YjcyYjE5MzA0NGFjOGM1M2I4YzZiOWJlMWE4YmI0MmM0NzguLjAwMmUz
Yzg5ZWNiYzZhMjdkZTUyODA2OWE4ZGE3ZDVhYzUwNjc4YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudC1w
cm90b3R5cGUtY3VycmVudFNjcmlwdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50LXByb3RvdHlw
ZS1jdXJyZW50U2NyaXB0LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDYgQEAKIAorSGFybmVzcyBF
cnJvciAoRkFJTCksIG1lc3NhZ2UgPSAxIGR1cGxpY2F0ZSB0ZXN0IG5hbWU6ICJkb2N1bWVudC5j
dXJyZW50U2NyaXB0IG11c3QgYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgdGhhdCBsb2FkcyBh
biBleHRlcm5hbCBzY3JpcHQgaW4gYSBkb2N1bWVudCB0cmVlIgorCiBQQVNTIGRvY3VtZW50LmN1
cnJlbnRTY3JpcHQgbXVzdCBub3QgdG8gYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgaW4gYSBz
aGFkb3cgdHJlZSBpbiBvcGVuIG1vZGUgCiBQQVNTIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgbXVz
dCBub3QgdG8gYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgaW4gYSBzaGFkb3cgdHJlZSBpbiBj
bG9zZWQgbW9kZSAKIFBBU1MgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IGJlIHNldCB0byBh
IHNjcmlwdCBlbGVtZW50IHRoYXQgbG9hZHMgYW4gZXh0ZXJuYWwgc2NyaXB0IGluIGEgZG9jdW1l
bnQgdHJlZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc3RyZWFtcy9ieXRlLWxlbmd0aC1xdWV1aW5nLXN0cmF0ZWd5LnNoYXJlZHdvcmtl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3N0cmVhbXMvYnl0ZS1sZW5ndGgtcXVldWluZy1zdHJhdGVneS5zaGFyZWR3b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIu
LjI5NTcwMTM0ZmNiZjU0ZDJmZjc5YTRmOTNiYWQzNmM1YzJjYWU5OWYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9ieXRlLWxl
bmd0aC1xdWV1aW5nLXN0cmF0ZWd5LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL2J5dGUtbGVu
Z3RoLXF1ZXVpbmctc3RyYXRlZ3kuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsx
LDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2Fn
ZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQor
RkFJTCBieXRlLWxlbmd0aC1xdWV1aW5nLXN0cmF0ZWd5LmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBl
ciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zdHJlYW1zL2NvdW50LXF1ZXVpbmctc3RyYXRlZ3kuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9j
b3VudC1xdWV1aW5nLXN0cmF0ZWd5LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2Nh
YTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uNjA4OGY1ZmFkYTc5YTY2ZWMx
ZDE0YWFhNGM5NzA5YTM4MTE1MjRiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL2NvdW50LXF1ZXVpbmctc3RyYXRlZ3kuc2hh
cmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvY291bnQtcXVldWluZy1zdHJhdGVneS5zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGNvdW50LXF1ZXVpbmctc3RyYXRlZ3kuanMg
c2hhcmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Nsb3NlLXByb3BhZ2F0aW9uLWJh
Y2t3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Nsb3NlLXByb3BhZ2F0aW9uLWJh
Y2t3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2Yw
NWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uYjljNzI5MjIzMmY0ZDFjZjZhNTI4MTg1MWUzNjRmYTEw
MTc1YzgxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zdHJlYW1zL3BpcGluZy9jbG9zZS1wcm9wYWdhdGlvbi1iYWNrd2FyZC5zaGFyZWR3
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvY2xvc2UtcHJvcGFnYXRpb24tYmFja3dhcmQuc2hh
cmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTog
bGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtl
cgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJTCBjbG9zZS1wcm9wYWdhdGlvbi1i
YWNrd2FyZC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvY2xvc2UtcHJv
cGFnYXRpb24tZm9yd2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9jbG9zZS1wcm9w
YWdhdGlvbi1mb3J3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZj
NTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uZjYxNDk3NDFiNjg2NmZjODA5Y2EzZGE1
OWY4Yzg3MjUxYmE5ZjViMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9jbG9zZS1wcm9wYWdhdGlvbi1mb3J3YXJk
LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9jbG9zZS1wcm9wYWdhdGlvbi1mb3J3
YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgY2xvc2UtcHJvcGFn
YXRpb24tZm9yd2FyZC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZXJy
b3ItcHJvcGFnYXRpb24tYmFja3dhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZXJy
b3ItcHJvcGFnYXRpb24tYmFja3dhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA3
Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi4xZTI3ODc2MzExMWUxOWQ0
ODk3ZDgzZWFhZTZjNzcyZDk3NWJlOWQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Vycm9yLXByb3BhZ2F0aW9u
LWJhY2t3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9lcnJvci1wcm9wYWdh
dGlvbi1iYWNrd2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAog
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGVy
cm9yLXByb3BhZ2F0aW9uLWJhY2t3YXJkLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1z
L3BpcGluZy9lcnJvci1wcm9wYWdhdGlvbi1mb3J3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMv
cGlwaW5nL2Vycm9yLXByb3BhZ2F0aW9uLWZvcndhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4
dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi44MzgzYzdh
MjkwMDU2OThjNTFhOGIwNDMzMjMzNGQ0MTAzZDg3ZWZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Vycm9yLXBy
b3BhZ2F0aW9uLWZvcndhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Vycm9y
LXByb3BhZ2F0aW9uLWZvcndhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsx
LDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2Fn
ZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQor
RkFJTCBlcnJvci1wcm9wYWdhdGlvbi1mb3J3YXJkLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBm
aWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
dHJlYW1zL3BpcGluZy9mbG93LWNvbnRyb2wuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcv
Zmxvdy1jb250cm9sLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4
MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uOTlkYTMzOTk3OGU5ODk0MGMwZjhjNzAxZmY0
YmNkOThiNWVjMzUwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9mbG93LWNvbnRyb2wuc2hhcmVkd29ya2VyLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3N0cmVhbXMvcGlwaW5nL2Zsb3ctY29udHJvbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZB
SUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlcgotCitGQUlMIGZsb3ctY29udHJvbC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmls
ZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3Ry
ZWFtcy9waXBpbmcvZ2VuZXJhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2dlbmVyYWwtZXhwZWN0ZWQudHh0
CmluZGV4IGFhMzg3MzllMjlkZTJhMDJkNTZiMzBhZTVmY2Q2MzQyN2I3MzU2ZTMuLmI1MDA0ZjFk
MDBiZWQ2Yzg4YWYxNDFjZmUzMWNmYzAyNjkzZjI4MTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZ2VuZXJhbC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3BpcGluZy9nZW5lcmFsLWV4cGVjdGVkLnR4dApAQCAtMSwxNSArMSwxNSBA
QAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246
IFR5cGVFcnJvcjogVGhlIFdyaXRhYmxlU3RyZWFtLnJlYWR5IGdldHRlciBjYW4gb25seSBiZSB1
c2VkIG9uIGluc3RhbmNlcyBvZiBXcml0YWJsZVN0cmVhbQogQ09OU09MRSBNRVNTQUdFOiBVbmhh
bmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IFR5cGVFcnJvcjogY2FuY2VsKCkgY2FsbGVkIG9uIGEg
cmVhZGVyIG93bmVkIGJ5IG5vIHJlYWRhYmxlIHN0cmVhbQotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDI2ODQ6IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J2UubWVzc2FnZScpCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc2NTogVHlwZUVycm9yOiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZS5lcnJvcicpCiBDT05TT0xFIE1F
U1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogdW5kZWZpbmVkCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMjY4NDogVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnZS5tZXNzYWdlJykKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzY1OiBUeXBl
RXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlLmVycm9yJykK
IENPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiB1bmRlZmluZWQK
IENPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBUeXBlRXJyb3I6
IGNhbmNlbCgpIGNhbGxlZCBvbiBhIHJlYWRlciBvd25lZCBieSBubyByZWFkYWJsZSBzdHJlYW0K
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNjg0OiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICdlLm1lc3NhZ2UnKQorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDI3NjU6IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J2UuZXJyb3InKQogQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246
IHVuZGVmaW5lZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2ODQ6IFR5cGVFcnJvcjogdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2UubWVzc2FnZScpCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMjc2NTogVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnZS5lcnJvcicpCiBDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNl
IFJlamVjdGlvbjogdW5kZWZpbmVkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY4NDogVHlwZUVy
cm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZS5tZXNzYWdlJykK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzY1OiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICdlLmVycm9yJykKIENPTlNPTEUgTUVTU0FHRTogVW5oYW5k
bGVkIFByb21pc2UgUmVqZWN0aW9uOiB1bmRlZmluZWQKIAogSGFybmVzcyBFcnJvciAoRkFJTCks
IG1lc3NhZ2UgPSBUaGUgV3JpdGFibGVTdHJlYW0ucmVhZHkgZ2V0dGVyIGNhbiBvbmx5IGJlIHVz
ZWQgb24gaW5zdGFuY2VzIG9mIFdyaXRhYmxlU3RyZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2dlbmVyYWwu
c2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZ2VuZXJhbC5zaGFyZWR3b3JrZXItZXhwZWN0
ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLjRm
MTAxYTJiMjIyNWI5MmZiMGI4OTRlNzRlYjNkOTU0MWJlODBkYzUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZ2Vu
ZXJhbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZ2VuZXJhbC5zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGdlbmVyYWwuanMgc2hhcmVkIHdvcmtlciB3
cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdv
cmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3N0cmVhbXMvcGlwaW5nL211bHRpcGxlLXByb3BhZ2F0aW9uLnNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3N0cmVhbXMvcGlwaW5nL211bHRpcGxlLXByb3BhZ2F0aW9uLnNoYXJlZHdvcmtlci1leHBlY3Rl
ZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uNzA3
YzA1ZjEwZDdkY2QwZTgxNjU3MjVhZGJkZjRmN2RiYjRhZGRjMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9tdWx0
aXBsZS1wcm9wYWdhdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvbXVsdGlw
bGUtcHJvcGFnYXRpb24uc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAK
IENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJTCBt
dWx0aXBsZS1wcm9wYWdhdGlvbi5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBp
bmcvcGlwZS10aHJvdWdoLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL3BpcGUtdGhyb3Vn
aC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUw
NzI3MWJmODMxMzk2MTNkYTIuLjAwZDM4ZWNkNGNiYzc5Y2JlNTFiNTFmMjUxZWVmYzBmNjM5OWIy
MjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc3RyZWFtcy9waXBpbmcvcGlwZS10aHJvdWdoLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1z
L3BpcGluZy9waXBlLXRocm91Z2guc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsx
LDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2Fn
ZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQor
RkFJTCBwaXBlLXRocm91Z2guanMgc2hhcmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5n
L3RyYW5zZm9ybS1zdHJlYW1zLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL3RyYW5zZm9y
bS1zdHJlYW1zLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThh
N2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uMDYxNGJhZTRkZGFmNjQwYjNlODU2NTQyZWQxYzRl
MTk5MWEyYWM0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy90cmFuc2Zvcm0tc3RyZWFtcy5zaGFyZWR3b3JrZXIt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc3RyZWFtcy9waXBpbmcvdHJhbnNmb3JtLXN0cmVhbXMuc2hhcmVkd29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVy
cm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBTaGFyZWRXb3JrZXIKLQorRkFJTCB0cmFuc2Zvcm0tc3RyZWFtcy5qcyBzaGFyZWQgd29ya2Vy
IHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVk
V29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1ieXRlLXN0cmVhbXMvZ2VuZXJhbC5zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3RyZWFtcy9nZW5lcmFsLnNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2Rh
Mi4uNGYxMDFhMmIyMjI1YjkyZmIwYjg5NGU3NGViM2Q5NTQxYmU4MGRjNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRh
YmxlLWJ5dGUtc3RyZWFtcy9nZW5lcmFsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRh
YmxlLWJ5dGUtc3RyZWFtcy9nZW5lcmFsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEs
NSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1l
c3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2Vy
Ci0KK0ZBSUwgZ2VuZXJhbC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2JhZC1zdHJhdGVnaWVzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUt
c3RyZWFtcy9iYWQtc3RyYXRlZ2llcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdj
YWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLjlkYWFmYzdlNTFkODM4ZmEw
M2NlNzQ4M2Y2ZTkwYTk2Y2IyNzc5NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2JhZC1zdHJh
dGVnaWVzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvYmFkLXN0
cmF0ZWdpZXMuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNP
TEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJTCBiYWQtc3Ry
YXRlZ2llcy5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1z
L2JhZC11bmRlcmx5aW5nLXNvdXJjZXMuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1z
dHJlYW1zL2JhZC11bmRlcmx5aW5nLXNvdXJjZXMuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApp
bmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi5lNTU5NTVjYzY1
ZWEzNzE1YjQ4M2RiNGMyMjFmOGY3NDc0NDNmNmM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9i
YWQtdW5kZXJseWluZy1zb3VyY2VzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxl
LXN0cmVhbXMvYmFkLXVuZGVybHlpbmctc291cmNlcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZB
SUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlcgotCitGQUlMIGJhZC11bmRlcmx5aW5nLXNvdXJjZXMuanMgc2hhcmVkIHdvcmtlciB3
cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdv
cmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9icmFuZC1jaGVja3Muc2hhcmVkd29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2JyYW5kLWNoZWNrcy5zaGFyZWR3b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIu
LjcxZmZjODVmOTc4ZTU3YmI5YjRlYTYwNWQ1MDhiZGNjNzE4NTJkNmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2JyYW5kLWNoZWNrcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2JyYW5kLWNoZWNrcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUg
KzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgot
CitGQUlMIGJyYW5kLWNoZWNrcy5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFk
YWJsZS1zdHJlYW1zL2NhbmNlbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVh
bXMvY2FuY2VsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThh
N2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uNDcwMjA5OWFjYTcxMWYyZTAzNWVhMzk2OWQxNDVi
YmRkOWRiY2JmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvY2FuY2VsLnNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvY2FuY2VsLnNoYXJlZHdvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJv
ciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
U2hhcmVkV29ya2VyCi0KK0ZBSUwgY2FuY2VsLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxl
IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJl
YW1zL3JlYWRhYmxlLXN0cmVhbXMvY291bnQtcXVldWluZy1zdHJhdGVneS1pbnRlZ3JhdGlvbi5z
aGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvY291bnQtcXVldWluZy1zdHJh
dGVneS1pbnRlZ3JhdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBm
YzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLjg2MjliOTZkZTAyZjdlMWNiYWFjM2Rl
NWFiNTIwZmY3OTk4YTZiODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2NvdW50LXF1ZXVpbmct
c3RyYXRlZ3ktaW50ZWdyYXRpb24uc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUt
c3RyZWFtcy9jb3VudC1xdWV1aW5nLXN0cmF0ZWd5LWludGVncmF0aW9uLnNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVz
cyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgY291bnQtcXVldWluZy1zdHJhdGVneS1pbnRlZ3Jh
dGlvbi5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Rl
ZmF1bHQtcmVhZGVyLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9kZWZh
dWx0LXJlYWRlci5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4
YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLmQxZGYwNzAzZTk5Y2ExYzRjODhjNjhjYTViZmUz
MjM1ZDFkZTRjOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2RlZmF1bHQtcmVhZGVyLnNoYXJl
ZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZGVmYXVsdC1yZWFkZXIuc2hh
cmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTog
bGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtl
cgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJTCBkZWZhdWx0LXJlYWRlci5qcyBz
aGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBv
aW50LXRvdGFsLXF1ZXVlLXNpemUuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJl
YW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUuc2hhcmVkd29ya2VyLWV4cGVjdGVk
LnR4dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi4yYmVh
ZTU3ZGY2YmJlMDg0MmU2YzlhNDUzOWZkOWE2ZDMyZjQ3M2M3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3Ry
ZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLnNoYXJlZHdvcmtlci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
dHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS5z
aGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29y
a2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGZsb2F0aW5nLXBvaW50LXRv
dGFsLXF1ZXVlLXNpemUuanMgc2hhcmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUt
c3RyZWFtcy9nYXJiYWdlLWNvbGxlY3Rpb24uc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2dhcmJhZ2UtY29sbGVjdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLjBlMTFiNDIxZmNk
NWIwMzc1MWM1MGVlOTE3N2NkZGFiOTQ1NDg3YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2dh
cmJhZ2UtY29sbGVjdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJl
YW1zL2dhcmJhZ2UtY29sbGVjdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUg
KzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgot
CitGQUlMIGdhcmJhZ2UtY29sbGVjdGlvbi5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFt
cy9yZWFkYWJsZS1zdHJlYW1zL2dlbmVyYWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2dlbmVyYWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA3Y2FhNjYw
ZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi40ZjEwMWEyYjIyMjViOTJmYjBiODk0
ZTc0ZWIzZDk1NDFiZTgwZGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9nZW5lcmFsLnNoYXJl
ZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZ2VuZXJhbC5zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGdlbmVyYWwuanMgc2hhcmVkIHdvcmtlciB3
cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdv
cmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9waXBlLXRocm91Z2guc2hhcmVkd29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL3BpcGUtdGhyb3VnaC5zaGFyZWR3b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIu
LjAwZDM4ZWNkNGNiYzc5Y2JlNTFiNTFmMjUxZWVmYzBmNjM5OWIyMjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL3BpcGUtdGhyb3VnaC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL3BpcGUtdGhyb3VnaC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUg
KzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgot
CitGQUlMIHBpcGUtdGhyb3VnaC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFk
YWJsZS1zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbS1yZWFkZXIuc2hhcmVkd29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFt
cy9yZWFkYWJsZS1zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbS1yZWFkZXIuc2hhcmVkd29ya2VyLWV4
cGVjdGVkLnR4dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEy
Li4yMmNmNzk0NzcwZjY2MDkyMzE4NTg0NDJkOTJiZDhkZjEzYmRhNWQ0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFi
bGUtc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW0tcmVhZGVyLnNoYXJlZHdvcmtlci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJl
YW1zL3JlYWRhYmxlLXN0cmVhbXMvcmVhZGFibGUtc3RyZWFtLXJlYWRlci5zaGFyZWR3b3JrZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5l
c3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIHJlYWRhYmxlLXN0cmVhbS1yZWFkZXIuanMgc2hh
cmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy90ZWUuc2hhcmVkd29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL3RlZS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQu
dHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLmY2YmIx
ZmNhYmYxNmZlY2FlZmY3NWE3MDNiNzVjM2Y3OThhMjkzZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJl
YW1zL3RlZS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL3RlZS5z
aGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29y
a2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIHRlZS5qcyBzaGFyZWQgd29y
a2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hh
cmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL3RlbXBsYXRlZC5zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvdGVtcGxhdGVkLnNoYXJlZHdvcmtlci1leHBl
Y3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4u
OTAyY2IxZDA4NGNmOTYyY2IzMDA4OWYzYmZiYTM0NWFlMjBjMWJkMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxl
LXN0cmVhbXMvdGVtcGxhdGVkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0
cmVhbXMvdGVtcGxhdGVkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBA
CiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwg
dGVtcGxhdGVkLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9MSUNFTlNFIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9MSUNFTlNFCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTg5NmU2YmUyYmQ1MWY0Yjc4ZTk3MDNjYWVmYjli
NjcyZTEwYTU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvTElDRU5T
RQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVczQyAzLWNsYXVzZSBCU0QgTGljZW5z
ZQotCi1odHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgvMDMtYnNkLWxpY2Vu
c2UuaHRtbAotCi1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLW1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLW1ldDoKLQotKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygd29ya3MgbXVzdCByZXRhaW4gdGhlIG9yaWdpbmFsIGNvcHlyaWdodCBub3RpY2Us
Ci0gIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0KLSogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBv
cmlnaW5hbCBjb3B5cmlnaHQKLSAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotCi0qIE5laXRo
ZXIgdGhlIG5hbWUgb2YgdGhlIFczQyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlCi0gIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHdvcmsgd2l0aG91dAotICBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
Ci0KLVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKLSJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi1MSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLUEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi1PV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKLVNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKLUxJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi1USEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0oSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLU9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy9fX2luaXRfXy5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvYnJv
d3NlcnV0aWxzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ODM0YjgyODVhNTZiZWYwZTE1NDNm
ZDkwMWM3ZTZmMmY4YmMyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy9fX2luaXRfXy5weQpA
QCAtMCwwICsxIEBACisjIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJj
aCB0aGlzIGRpcmVjdG9yeSBmb3IgbW9kdWxlcy4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2Jyb3dzZXJ1dGlscy9icm93c2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMvYnJvd3Nlci5weQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xZTQ4YTY4MzJjNGVhNDMwOGQ4ZGIwMTA0NWM0MzBkOGY3MTRmNDE2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9icm93c2VydXRpbHMvYnJvd3Nlci5weQpAQCAtMCwwICsxLDI2OCBAQAoraW1wb3J0IGxvZ2dp
bmcKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgc3RhdAorZnJvbSBhYmMgaW1wb3J0IEFC
Q01ldGEsIGFic3RyYWN0bWV0aG9kCitmcm9tIGNvbmZpZ3BhcnNlciBpbXBvcnQgUmF3Q29uZmln
UGFyc2VyCitmcm9tIGRpc3R1dGlscy5zcGF3biBpbXBvcnQgZmluZF9leGVjdXRhYmxlCisKK2Zy
b20gdXRpbHMgaW1wb3J0IGNhbGwsIGdldCwgdW50YXIsIHVuemlwCisKK2xvZ2dlciA9IGxvZ2dp
bmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCit1bmFtZSA9IG9zLnVuYW1lKCkKKworZGVmIHBhdGgo
cGF0aCwgZXhlKToKKyAgICBwYXRoID0gcGF0aC5yZXBsYWNlKCIvIiwgb3MucGF0aC5zZXApCisg
ICAgaWYgZXhlIGFuZCB1bmFtZVswXSA9PSAiV2luZG93cyI6CisgICAgICAgIHBhdGggKz0gIi5l
eGUiCisgICAgcmV0dXJuIHBhdGgKKworCitjbGFzcyBCcm93c2VyKG9iamVjdCk6CisgICAgX19t
ZXRhY2xhc3NfXyA9IEFCQ01ldGEKKworICAgIEBhYnN0cmFjdG1ldGhvZAorICAgIGRlZiBpbnN0
YWxsKHNlbGYpOgorICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKworICAgIEBhYnN0cmFj
dG1ldGhvZAorICAgIGRlZiBpbnN0YWxsX3dlYmRyaXZlcihzZWxmKToKKyAgICAgICAgcmV0dXJu
IE5vdEltcGxlbWVudGVkCisKKyAgICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgdmVyc2lvbihz
ZWxmKToKKyAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisKKyAgICBAYWJzdHJhY3RtZXRo
b2QKKyAgICBkZWYgcmVxdWlyZW1lbnRzKHNlbGYpOgorICAgICAgICAiIiJOYW1lIG9mIHRoZSBi
cm93c2VyLXNwZWNpZmljIHdwdHJ1bm5lciByZXF1aXJlbWVudHMgZmlsZSIiIgorICAgICAgICBy
ZXR1cm4gTm90SW1wbGVtZW50ZWQKKworICAgIGRlZiBwcmVwYXJlX2Vudmlyb25tZW50KHNlbGYp
OgorICAgICAgICAiIiJEbyBhbnkgYWRkaXRpb25hbCBzZXR1cCBvZiB0aGUgZW52aXJvbm1lbnQg
cmVxdWlyZWQgdG8gc3RhcnQgdGhlCisgICAgICAgICAgIGJyb3dzZXIgc3VjY2Vzc2Z1bGx5Cisg
ICAgICAgICIiIgorICAgICAgICBwYXNzCisKKworY2xhc3MgRmlyZWZveChCcm93c2VyKToKKyAg
ICAiIiJGaXJlZm94LXNwZWNpZmljIGludGVyZmFjZS4KKworICAgIEluY2x1ZGVzIGluc3RhbGxh
dGlvbiwgd2ViZHJpdmVyIGluc3RhbGxhdGlvbiwgYW5kIHdwdHJ1bm5lciBzZXR1cCBtZXRob2Rz
LgorICAgICIiIgorCisgICAgcHJvZHVjdCA9ICJmaXJlZm94IgorICAgIGJpbmFyeSA9ICJmaXJl
Zm94L2ZpcmVmb3giCisgICAgcGxhdGZvcm1faW5pID0gImZpcmVmb3gvcGxhdGZvcm0uaW5pIgor
ICAgIHJlcXVpcmVtZW50cyA9ICJyZXF1aXJlbWVudHNfZmlyZWZveC50eHQiCisKKworICAgIGRl
ZiBwbGF0Zm9ybV9zdHJpbmcoc2VsZik6CisgICAgICAgIHBsYXRmb3JtID0geworICAgICAgICAg
ICAgIkxpbnV4IjogImxpbnV4IiwKKyAgICAgICAgICAgICJXaW5kb3dzIjogIndpbiIsCisgICAg
ICAgICAgICAiRGFyd2luIjogIm1hYyIKKyAgICAgICAgfS5nZXQodW5hbWVbMF0pCisKKyAgICAg
ICAgaWYgcGxhdGZvcm0gaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVu
YWJsZSB0byBjb25zdHJ1Y3QgYSB2YWxpZCBGaXJlZm94IHBhY2thZ2UgbmFtZSBmb3IgY3VycmVu
dCBwbGF0Zm9ybSIpCisKKyAgICAgICAgaWYgcGxhdGZvcm0gPT0gImxpbnV4IjoKKyAgICAgICAg
ICAgIGJpdHMgPSAiLSVzIiAlIHVuYW1lWy0xXQorICAgICAgICBlbGlmIHBsYXRmb3JtID09ICJ3
aW4iOgorICAgICAgICAgICAgYml0cyA9ICI2NCIgaWYgdW5hbWVbLTFdID09ICJ4ODZfNjQiIGVs
c2UgIjMyIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYml0cyA9ICIiCisKKyAgICAgICAg
cmV0dXJuICIlcyVzIiAlIChwbGF0Zm9ybSwgYml0cykKKworICAgIGRlZiBwbGF0Zm9ybV9zdHJp
bmdfZ2Vja29kcml2ZXIoc2VsZik6CisgICAgICAgIHBsYXRmb3JtID0geworICAgICAgICAgICAg
IkxpbnV4IjogImxpbnV4IiwKKyAgICAgICAgICAgICJXaW5kb3dzIjogIndpbiIsCisgICAgICAg
ICAgICAiRGFyd2luIjogIm1hY29zIgorICAgICAgICB9LmdldCh1bmFtZVswXSkKKworICAgICAg
ICBpZiBwbGF0Zm9ybSBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5h
YmxlIHRvIGNvbnN0cnVjdCBhIHZhbGlkIEdlY2tvZHJpdmVyIHBhY2thZ2UgbmFtZSBmb3IgY3Vy
cmVudCBwbGF0Zm9ybSIpCisKKyAgICAgICAgaWYgcGxhdGZvcm0gaW4gKCJsaW51eCIsICJ3aW4i
KToKKyAgICAgICAgICAgIGJpdHMgPSAiNjQiIGlmIHVuYW1lWy0xXSA9PSAieDg2XzY0IiBlbHNl
ICIzMiIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGJpdHMgPSAiIgorCisgICAgICAgIHJl
dHVybiAiJXMlcyIgJSAocGxhdGZvcm0sIGJpdHMpCisKKyAgICBkZWYgbGF0ZXN0X25pZ2h0bHlf
bGlzdGluZyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGdldCgiaHR0cHM6Ly9hcmNoaXZlLm1vemls
bGEub3JnL3B1Yi9maXJlZm94L25pZ2h0bHkvbGF0ZXN0LW1vemlsbGEtY2VudHJhbC8iKQorCisg
ICAgZGVmIGdldF9mcm9tX25pZ2h0bHkoc2VsZiwgcGF0dGVybik6CisgICAgICAgIGluZGV4ID0g
c2VsZi5sYXRlc3RfbmlnaHRseV9saXN0aW5nKCkKKyAgICAgICAgZmlsZW5hbWUgPSByZS5jb21w
aWxlKHBhdHRlcm4pLnNlYXJjaChpbmRleC50ZXh0KS5ncm91cCgxKQorICAgICAgICByZXR1cm4g
Z2V0KCJodHRwczovL2FyY2hpdmUubW96aWxsYS5vcmcvcHViL2ZpcmVmb3gvbmlnaHRseS9sYXRl
c3QtbW96aWxsYS1jZW50cmFsLyVzIiAlCisgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUpCisK
KworICAgIGRlZiBpbnN0YWxsKHNlbGYsIHBsYXRmb3JtLCBkZXN0PU5vbmUpOgorICAgICAgICAi
IiJJbnN0YWxsIEZpcmVmb3guIiIiCisgICAgICAgIGlmIGRlc3QgaXMgTm9uZToKKyAgICAgICAg
ICAgIGRlc3QgPSBvcy5wd2QKKworICAgICAgICBzZWxmLmdldF9mcm9tX25pZ2h0bHkoIjxhW14+
XSo+KGZpcmVmb3gtXGQrXC5cZCg/Olx3XGQpPy5lbi1VUy4lc1wudGFyXC5iejIpIiAlIHNlbGYu
cGxhdGZvcm1fc3RyaW5nKCkpCisgICAgICAgIHVudGFyKHJlc3AucmF3LCBwYXRoPWRlc3QpCisg
ICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oZGVzdCwgImZpcmVmb3giKQorCisgICAgZGVmIGZp
bmRfYmluYXJ5KHNlbGYpOgorICAgICAgICByZXR1cm4gZmluZF9leGVjdXRhYmxlKCJmaXJlZm94
IikKKworICAgIGRlZiBmaW5kX2NlcnR1dGlsKHNlbGYpOgorICAgICAgICByZXR1cm4gZmluZF9l
eGVjdXRhYmxlKCJjZXJ0dXRpbCIpCisKKyAgICBkZWYgZmluZF93ZWJkcml2ZXIoc2VsZik6Cisg
ICAgICAgIHJldHVybiBmaW5kX2V4ZWN1dGFibGUoImdlY2tvZHJpdmVyIikKKworICAgIGRlZiBp
bnN0YWxsX2NlcnR1dGlsKHNlbGYsIGRlc3Q9Tm9uZSk6CisgICAgICAgICMgVE9ETzogdGhpcyBk
b2Vzbid0IHJlYWxseSB3b3JrIGJlY2F1c2UgaXQganVzdCBnZXRzIHRoZSBiaW5hcnksIGFuZCBp
cyBtaXNzaW5nIHRoZQorICAgICAgICAjIGxpYm5zczMgbGlicmFyeS4gR2V0dGluZyB0aGF0IG1l
YW5zIGVpdGhlciBkb3dubG9hZGluZyB0aGUgY29ycmVzcG9uZGluZyBGaXJlZm94CisgICAgICAg
ICMgYW5kIGV4dHJhY3RpbmcgdGhlIGxpYnJhcnkgKHdoaWNoIGlzIGhhcmQgb24gbWFjIGJlY2Fz
ZSBETUcpLCBvciBtYXliZSBkb3dubG9hZGluZyBmcm9tCisgICAgICAgICMgbnNzJ3MgdHJlZWhl
cmRlciBidWlsZHM/CisgICAgICAgIGlmIGRlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIGRlc3Qg
PSBvcy5wd2QKKworICAgICAgICAjIERvbid0IGNyZWF0ZSBhIHBhdGggbGlrZSBiaW4vYmluL2Nl
cnR1dGlsCisgICAgICAgIHNwbGl0ID0gb3MucGF0aC5zcGxpdChkZXN0KQorICAgICAgICBpZiBz
cGxpdFsxXSA9PSAiYmluIjoKKyAgICAgICAgICAgIGRlc3QgPSBzcGxpdFswXQorCisgICAgICAg
IHJlc3AgPSBzZWxmLmdldF9mcm9tX25pZ2h0bHkoCisgICAgICAgICAgICAiPGFbXj5dKj4oZmly
ZWZveC1cZCtcLlxkKD86XHdcZCk/LmVuLVVTLiVzXC5jb21tb25cLnRlc3RzLnppcCk8L2E+IiAl
IHNlbGYucGxhdGZvcm1fc3RyaW5nKCkpCisgICAgICAgIGJpbl9wYXRoID0gcGF0aCgiYmluL2Nl
cnR1dGlsIiwgZXhlPVRydWUpCisgICAgICAgIHVuemlwKHJlc3AucmF3LCBkZXN0PWRlc3QsIGxp
bWl0PVtiaW5fcGF0aF0pCisKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihkZXN0LCBiaW5f
cGF0aCkKKworICAgIGRlZiBpbnN0YWxsX3ByZWZzKHNlbGYsIGRlc3Q9Tm9uZSk6CisgICAgICAg
IGlmIGRlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIGRlc3QgPSBvcy5wd2QKKworICAgICAgICBk
ZXN0ID0gb3MucGF0aC5qb2luKGRlc3QsICJwcm9maWxlcyIpCisgICAgICAgIGlmIG5vdCBvcy5w
YXRoLmV4aXN0cyhkZXN0KToKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRlc3QpCisgICAgICAg
IHdpdGggb3Blbihvcy5wYXRoLmpvaW4oZGVzdCwgInByZWZzX2dlbmVyYWwuanMiKSwgIndiIikg
YXMgZjoKKyAgICAgICAgICAgIHJlc3AgPSBnZXQoImh0dHBzOi8vaGcubW96aWxsYS5vcmcvbW96
aWxsYS1jZW50cmFsL3Jhdy1maWxlL3RpcC90ZXN0aW5nL3Byb2ZpbGVzL3ByZWZzX2dlbmVyYWwu
anMiKQorICAgICAgICAgICAgZi53cml0ZShyZXNwLmNvbnRlbnQpCisKKyAgICAgICAgcmV0dXJu
IGRlc3QKKworICAgIGRlZiBfbGF0ZXN0X2dlY2tvZHJpdmVyX3ZlcnNpb24oc2VsZik6CisgICAg
ICAgICIiIkdldCBhbmQgcmV0dXJuIGxhdGVzdCB2ZXJzaW9uIG51bWJlciBmb3IgZ2Vja29kcml2
ZXIuIiIiCisgICAgICAgICMgVGhpcyBpcyB1c2VkIHJhdGhlciB0aGFuIGFuIEFQSSBjYWxsIHRv
IGF2b2lkIHJhdGUgbGltaXRzCisgICAgICAgIHRhZ3MgPSBjYWxsKCJnaXQiLCAibHMtcmVtb3Rl
IiwgIi0tdGFncyIsICItLXJlZnMiLAorICAgICAgICAgICAgICAgICAgICAiaHR0cHM6Ly9naXRo
dWIuY29tL21vemlsbGEvZ2Vja29kcml2ZXIuZ2l0IikKKyAgICAgICAgcmVsZWFzZV9yZSA9IHJl
LmNvbXBpbGUoIi4qcmVmcy90YWdzL3YoXGQrKVwuKFxkKylcLihcZCspIikKKyAgICAgICAgbGF0
ZXN0X3JlbGVhc2UgPSAwCisgICAgICAgIGZvciBpdGVtIGluIHRhZ3Muc3BsaXQoIlxuIik6Cisg
ICAgICAgICAgICBtID0gcmVsZWFzZV9yZS5tYXRjaChpdGVtKQorICAgICAgICAgICAgaWYgbToK
KyAgICAgICAgICAgICAgICB2ZXJzaW9uID0gW2ludChpdGVtKSBmb3IgaXRlbSBpbiBtLmdyb3Vw
cygpXQorICAgICAgICAgICAgICAgIGlmIHZlcnNpb24gPiBsYXRlc3RfcmVsZWFzZToKKyAgICAg
ICAgICAgICAgICAgICAgbGF0ZXN0X3JlbGVhc2UgPSB2ZXJzaW9uCisgICAgICAgIGFzc2VydCBs
YXRlc3RfcmVsZWFzZSAhPSAwCisgICAgICAgIHJldHVybiAidiVzLiVzLiVzIiAlIHR1cGxlKHN0
cihpdGVtKSBmb3IgaXRlbSBpbiBsYXRlc3RfcmVsZWFzZSkKKworICAgIGRlZiBpbnN0YWxsX3dl
YmRyaXZlcihzZWxmLCBkZXN0PU5vbmUpOgorICAgICAgICAiIiJJbnN0YWxsIGxhdGVzdCBHZWNr
b2RyaXZlci4iIiIKKyAgICAgICAgaWYgZGVzdCBpcyBOb25lOgorICAgICAgICAgICAgZGVzdCA9
IG9zLnB3ZAorCisgICAgICAgIHZlcnNpb24gPSBzZWxmLl9sYXRlc3RfZ2Vja29kcml2ZXJfdmVy
c2lvbigpCisgICAgICAgIGxvZ2dlci5kZWJ1ZygiTGF0ZXN0IGdlY2tvZHJpdmVyIHJlbGVhc2Ug
JXMiICUgdmVyc2lvbikKKyAgICAgICAgdXJsID0gKCJodHRwczovL2dpdGh1Yi5jb20vbW96aWxs
YS9nZWNrb2RyaXZlci9yZWxlYXNlcy9kb3dubG9hZC8lcy9nZWNrb2RyaXZlci0lcy0lcy50YXIu
Z3oiICUKKyAgICAgICAgICAgICAgICh2ZXJzaW9uLCB2ZXJzaW9uLCBzZWxmLnBsYXRmb3JtX3N0
cmluZ19nZWNrb2RyaXZlcigpKSkKKyAgICAgICAgdW50YXIoZ2V0KHVybCkucmF3LCBkZXN0PWRl
c3QpCisgICAgICAgIHJldHVybiBmaW5kX2V4ZWN1dGFibGUob3MucGF0aC5qb2luKGRlc3QsICJn
ZWNrb2RyaXZlciIpKQorCisgICAgZGVmIHZlcnNpb24oc2VsZiwgcm9vdCk6CisgICAgICAgICIi
IlJldHJpZXZlIHRoZSByZWxlYXNlIHZlcnNpb24gb2YgdGhlIGluc3RhbGxlZCBicm93c2VyLiIi
IgorICAgICAgICBwbGF0Zm9ybV9pbmZvID0gUmF3Q29uZmlnUGFyc2VyKCkKKworICAgICAgICB3
aXRoIG9wZW4ob3MucGF0aC5qb2luKHJvb3QsIHNlbGYucGxhdGZvcm1faW5pKSwgInIiKSBhcyBm
cDoKKyAgICAgICAgICAgIHBsYXRmb3JtX2luZm8ucmVhZGZwKEJ5dGVzSU8oZnAucmVhZCgpKSkK
KyAgICAgICAgICAgIHJldHVybiAiQnVpbGRJRCAlczsgU291cmNlU3RhbXAgJXMiICUgKAorICAg
ICAgICAgICAgICAgIHBsYXRmb3JtX2luZm8uZ2V0KCJCdWlsZCIsICJCdWlsZElEIiksCisgICAg
ICAgICAgICAgICAgcGxhdGZvcm1faW5mby5nZXQoIkJ1aWxkIiwgIlNvdXJjZVN0YW1wIikpCisK
KworY2xhc3MgQ2hyb21lKEJyb3dzZXIpOgorICAgICIiIkNocm9tZS1zcGVjaWZpYyBpbnRlcmZh
Y2UuCisKKyAgICBJbmNsdWRlcyBpbnN0YWxsYXRpb24sIHdlYmRyaXZlciBpbnN0YWxsYXRpb24s
IGFuZCB3cHRydW5uZXIgc2V0dXAgbWV0aG9kcy4KKyAgICAiIiIKKworICAgIHByb2R1Y3QgPSAi
Y2hyb21lIgorICAgIGJpbmFyeSA9ICIvdXNyL2Jpbi9nb29nbGUtY2hyb21lIgorICAgIHJlcXVp
cmVtZW50cyA9ICJyZXF1aXJlbWVudHNfY2hyb21lLnR4dCIKKworICAgIGRlZiBwbGF0Zm9ybV9z
dHJpbmcoc2VsZik6CisgICAgICAgIHBsYXRmb3JtID0geworICAgICAgICAgICAgIkxpbnV4Ijog
ImxpbnV4IiwKKyAgICAgICAgICAgICJXaW5kb3dzIjogIndpbiIsCisgICAgICAgICAgICAiRGFy
d2luIjogIm1hYyIKKyAgICAgICAgfS5nZXQodW5hbWVbMF0pCisKKyAgICAgICAgaWYgcGxhdGZv
cm0gaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVuYWJsZSB0byBjb25z
dHJ1Y3QgYSB2YWxpZCBDaHJvbWUgcGFja2FnZSBuYW1lIGZvciBjdXJyZW50IHBsYXRmb3JtIikK
KworICAgICAgICBpZiBwbGF0Zm9ybSA9PSAibGludXgiOgorICAgICAgICAgICAgYml0cyA9ICI2
NCIgaWYgdW5hbWVbLTFdID09ICJ4ODZfNjQiIGVsc2UgIjMyIgorICAgICAgICBlbGlmIHBsYXRm
b3JtID09ICJtYWMiOgorICAgICAgICAgICAgYml0cyA9ICI2NCIKKyAgICAgICAgZWxpZiBwbGF0
Zm9ybSA9PSAid2luIjoKKyAgICAgICAgICAgIGJpdHMgPSAiMzIiCisKKyAgICAgICAgcmV0dXJu
ICIlcyVzIiAlIChwbGF0Zm9ybSwgYml0cykKKworICAgIGRlZiBpbnN0YWxsKHNlbGYpOgorICAg
ICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIGZpbmRfd2ViZHJpdmVyKHNlbGYpOgorICAgICAg
ICByZXR1cm4gZmluZF9leGVjdXRhYmxlKCJjaHJvbWVkcml2ZXIiKQorCisgICAgZGVmIGluc3Rh
bGxfd2ViZHJpdmVyKHNlbGYsIGRlc3Q9Tm9uZSk6CisgICAgICAgICIiIkluc3RhbGwgbGF0ZXN0
IFdlYmRyaXZlci4iIiIKKyAgICAgICAgaWYgZGVzdCBpcyBOb25lOgorICAgICAgICAgICAgZGVz
dCA9IG9zLnB3ZAorICAgICAgICBsYXRlc3QgPSBnZXQoImh0dHA6Ly9jaHJvbWVkcml2ZXIuc3Rv
cmFnZS5nb29nbGVhcGlzLmNvbS9MQVRFU1RfUkVMRUFTRSIpLnRleHQuc3RyaXAoKQorICAgICAg
ICB1cmwgPSAiaHR0cDovL2Nocm9tZWRyaXZlci5zdG9yYWdlLmdvb2dsZWFwaXMuY29tLyVzL2No
cm9tZWRyaXZlcl8lcy56aXAiICUgKGxhdGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLnBsYXRmb3JtX3N0cmluZygpKQorICAgICAgICB1bnppcChnZXQodXJsKS5yYXcsIGRl
c3QpCisgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oZGVzdCwgImNocm9tZWRyaXZlciIpCisg
ICAgICAgIHN0ID0gb3Muc3RhdChwYXRoKQorICAgICAgICBvcy5jaG1vZChwYXRoLCBzdC5zdF9t
b2RlIHwgc3RhdC5TX0lFWEVDKQorICAgICAgICByZXR1cm4gcGF0aAorCisgICAgZGVmIHZlcnNp
b24oc2VsZiwgcm9vdCk6CisgICAgICAgICIiIlJldHJpZXZlIHRoZSByZWxlYXNlIHZlcnNpb24g
b2YgdGhlIGluc3RhbGxlZCBicm93c2VyLiIiIgorICAgICAgICBvdXRwdXQgPSBjYWxsKHNlbGYu
YmluYXJ5LCAiLS12ZXJzaW9uIikKKyAgICAgICAgcmV0dXJuIHJlLnNlYXJjaChyIlswLTlcLl0r
KCBbYS16XSspPyQiLCBvdXRwdXQuc3RyaXAoKSkuZ3JvdXAoMCkKKworICAgIGRlZiBwcmVwYXJl
X2Vudmlyb25tZW50KHNlbGYpOgorICAgICAgICAjIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcv
cC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTcxMzk0NworICAgICAgICBsb2dnZXIuZGVidWco
IkRCVVNfU0VTU0lPTl9CVVNfQUREUkVTUyAlcyIgJSBvcy5lbnZpcm9uLmdldCgiREJVU19TRVNT
SU9OX0JVU19BRERSRVNTIikpCisgICAgICAgIGlmICJEQlVTX1NFU1NJT05fQlVTX0FERFJFU1Mi
IG5vdCBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgaWYgZmluZF9leGVjdXRhYmxlKCJkYnVz
LWxhdW5jaCIpOgorICAgICAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygiQXR0ZW1wdGluZyB0byBz
dGFydCBkYnVzIikKKyAgICAgICAgICAgICAgICBkYnVzX2NvbmYgPSBzdWJwcm9jZXNzLmNoZWNr
X291dHB1dChbImRidXMtbGF1bmNoIl0pCisgICAgICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKGRi
dXNfY29uZikKKworICAgICAgICAgICAgICAgICMgRnJvbSBkYnVzLWxhdW5jaCgxKToKKyAgICAg
ICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyA+IFdoZW4gZGJ1cy1sYXVuY2ggcHJpbnRz
IGJ1cyBpbmZvcm1hdGlvbiB0byBzdGFuZGFyZCBvdXRwdXQsCisgICAgICAgICAgICAgICAgIyA+
IGJ5IGRlZmF1bHQgaXQgaXMgaW4gYSBzaW1wbGUga2V5LXZhbHVlIHBhaXJzIGZvcm1hdC4KKyAg
ICAgICAgICAgICAgICBmb3IgbGluZSBpbiBkYnVzX2NvbmYuc3RyaXAoKS5zcGxpdCgiXG4iKToK
KyAgICAgICAgICAgICAgICAgICAga2V5LCBfLCB2YWx1ZSA9IGxpbmUucGFydGl0aW9uKCI9IikK
KyAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvbltrZXldID0gdmFsdWUKKyAgICAgICAgICAg
IGVsc2U6CisgICAgICAgICAgICAgICAgbG9nZ2VyLmNyaXRpY2FsKCJkYnVzIG5vdCBydW5uaW5n
IGFuZCBjYW4ndCBiZSBzdGFydGVkIikKKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9icm93c2VydXRpbHMvdXRpbHMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy91dGlscy5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hM2Zl
YWNiYjQ3NWU1YzMzNTFkYWY3OWFjMmFlYzBhNjY2YjgyNmUwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2Vy
dXRpbHMvdXRpbHMucHkKQEAgLTAsMCArMSwxMTMgQEAKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQg
b3MKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgc3lzCitpbXBvcnQgdGFyZmlsZQoraW1wb3J0
IHppcGZpbGUKK2Zyb20gaW8gaW1wb3J0IEJ5dGVzSU8KKworaW1wb3J0IHJlcXVlc3RzCisKK2xv
Z2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCisKK2NsYXNzIEt3YXJncyhkaWN0
KToKKyAgICBkZWYgc2V0X2lmX25vbmUoc2VsZiwgbmFtZSwgdmFsdWUsIGVycl9mbj1Ob25lLCBk
ZXNjPU5vbmUsIGV4dHJhX2NvbmQ9Tm9uZSk6CisgICAgICAgIGlmIGRlc2MgaXMgTm9uZToKKyAg
ICAgICAgICAgIGRlc2MgPSBuYW1lCisKKyAgICAgICAgaWYgc2VsZltuYW1lXSBpcyBOb25lOgor
ICAgICAgICAgICAgaWYgZXh0cmFfY29uZCBpcyBub3QgTm9uZSBhbmQgbm90IGV4dHJhX2NvbmQo
c2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBpZiBjYWxsYWJsZSh2
YWx1ZSk6CisgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSgpCisgICAgICAgICAgICBpZiBu
b3QgdmFsdWU6CisgICAgICAgICAgICAgICAgaWYgZXJyX2ZuIGlzIG5vdCBOb25lOgorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZXJyX2ZuKGt3YXJncywgIkZhaWxlZCB0byBmaW5kICVzIiAl
IGRlc2MpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
CisgICAgICAgICAgICBzZWxmW25hbWVdID0gdmFsdWUKKyAgICAgICAgICAgIGxvZ2dlci5pbmZv
KCJTZXQgJXMgdG8gJXMiICUgKGRlc2MsIHZhbHVlKSkKKworCitkZWYgY2FsbCgqYXJncyk6Cisg
ICAgIiIiTG9nIHRlcm1pbmFsIGNvbW1hbmQsIGludm9rZSBpdCBhcyBhIHN1YnByb2Nlc3MuCisK
KyAgICBSZXR1cm5zIGEgYnl0ZXN0cmluZyBvZiB0aGUgc3VicHJvY2VzcyBvdXRwdXQgaWYgbm8g
ZXJyb3IuCisgICAgIiIiCisgICAgbG9nZ2VyLmRlYnVnKCIlcyIgJSAiICIuam9pbihhcmdzKSkK
KyAgICB0cnk6CisgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChhcmdzKQor
ICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAgICBs
b2dnZXIuY3JpdGljYWwoIiVzIGV4aXRlZCB3aXRoIHJldHVybiBjb2RlICVpIiAlCisgICAgICAg
ICAgICAgICAgICAgICAgICAoZS5jbWQsIGUucmV0dXJuY29kZSkpCisgICAgICAgIGxvZ2dlci5j
cml0aWNhbChlLm91dHB1dCkKKyAgICAgICAgcmFpc2UKKworCitkZWYgZ2V0X2dpdF9jbWQocmVw
b19wYXRoKToKKyAgICAiIiJDcmVhdGUgYSBmdW5jdGlvbiBmb3IgaW52b2tpbmcgZ2l0IGNvbW1h
bmRzIGFzIGEgc3VicHJvY2Vzcy4iIiIKKyAgICBkZWYgZ2l0KGNtZCwgKmFyZ3MpOgorICAgICAg
ICBmdWxsX2NtZCA9IFsiZ2l0IiwgY21kXSArIGxpc3QoYXJncykKKyAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgbG9nZ2VyLmRlYnVnKCIgIi5qb2luKGZ1bGxfY21kKSkKKyAgICAgICAgICAgIHJl
dHVybiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChmdWxsX2NtZCwgY3dkPXJlcG9fcGF0aCwgc3Rk
ZXJyPXN1YnByb2Nlc3MuU1RET1VUKS5zdHJpcCgpCisgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNz
LkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCJHaXQg
Y29tbWFuZCBleGl0ZWQgd2l0aCBzdGF0dXMgJWkiICUgZS5yZXR1cm5jb2RlKQorICAgICAgICAg
ICAgbG9nZ2VyLmVycm9yKGUub3V0cHV0KQorICAgICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBy
ZXR1cm4gZ2l0CisKKworZGVmIHNlZWthYmxlKGZpbGVvYmopOgorICAgICIiIkF0dGVtcHQgdG8g
dXNlIGZpbGUuc2VlayBvbiBnaXZlbiBmaWxlLCB3aXRoIGZhbGxiYWNrcy4iIiIKKyAgICB0cnk6
CisgICAgICAgIGZpbGVvYmouc2VlayhmaWxlb2JqLnRlbGwoKSkKKyAgICBleGNlcHQgRXhjZXB0
aW9uOgorICAgICAgICByZXR1cm4gQnl0ZXNJTyhmaWxlb2JqLnJlYWQoKSkKKyAgICBlbHNlOgor
ICAgICAgICByZXR1cm4gZmlsZW9iagorCisKK2RlZiB1bnRhcihmaWxlb2JqLCBkZXN0PSIuIik6
CisgICAgIiIiRXh0cmFjdCB0YXIgYXJjaGl2ZS4iIiIKKyAgICBsb2dnZXIuZGVidWcoInVudGFy
IikKKyAgICBmaWxlb2JqID0gc2Vla2FibGUoZmlsZW9iaikKKyAgICB3aXRoIHRhcmZpbGUub3Bl
bihmaWxlb2JqPWZpbGVvYmopIGFzIHRhcl9kYXRhOgorICAgICAgICB0YXJfZGF0YS5leHRyYWN0
YWxsKHBhdGg9ZGVzdCkKKworCitkZWYgdW56aXAoZmlsZW9iaiwgZGVzdD1Ob25lLCBsaW1pdD1O
b25lKToKKyAgICAiIiJFeHRyYWN0IHppcCBhcmNoaXZlLiIiIgorICAgIGxvZ2dlci5kZWJ1Zygi
dW56aXAiKQorICAgIGZpbGVvYmogPSBzZWVrYWJsZShmaWxlb2JqKQorICAgIHdpdGggemlwZmls
ZS5aaXBGaWxlKGZpbGVvYmopIGFzIHppcF9kYXRhOgorICAgICAgICBmb3IgaW5mbyBpbiB6aXBf
ZGF0YS5pbmZvbGlzdCgpOgorICAgICAgICAgICAgaWYgbGltaXQgaXMgbm90IE5vbmUgYW5kIGlu
Zm8uZmlsZW5hbWUgbm90IGluIGxpbWl0OgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAg
ICAgICAgICB6aXBfZGF0YS5leHRyYWN0KGluZm8sIHBhdGg9ZGVzdCkKKyAgICAgICAgICAgIHBl
cm0gPSBpbmZvLmV4dGVybmFsX2F0dHIgPj4gMTYgJiAweDFGRgorICAgICAgICAgICAgb3MuY2ht
b2Qob3MucGF0aC5qb2luKGRlc3QsIGluZm8uZmlsZW5hbWUpLCBwZXJtKQorCisKK2NsYXNzIHB3
ZChvYmplY3QpOgorICAgICIiIkNyZWF0ZSBjb250ZXh0IGZvciB0ZW1wb3JhcmlseSBjaGFuZ2lu
ZyBwcmVzZW50IHdvcmtpbmcgZGlyZWN0b3J5LiIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBk
aXIpOgorICAgICAgICBzZWxmLmRpciA9IGRpcgorICAgICAgICBzZWxmLm9sZF9kaXIgPSBOb25l
CisKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICBzZWxmLm9sZF9kaXIgPSBvcy5w
YXRoLmFic3BhdGgob3MuY3VyZGlyKQorICAgICAgICBvcy5jaGRpcihzZWxmLmRpcikKKworICAg
IGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBvcy5jaGRpcihz
ZWxmLm9sZF9kaXIpCisgICAgICAgIHNlbGYub2xkX2RpciA9IE5vbmUKKworCitkZWYgZ2V0KHVy
bCk6CisgICAgIiIiSXNzdWUgR0VUIHJlcXVlc3QgdG8gYSBnaXZlbiBVUkwgYW5kIHJldHVybiB0
aGUgcmVzcG9uc2UuIiIiCisgICAgbG9nZ2VyLmRlYnVnKCJHRVQgJXMiICUgdXJsKQorICAgIHJl
c3AgPSByZXF1ZXN0cy5nZXQodXJsLCBzdHJlYW09VHJ1ZSkKKyAgICByZXNwLnJhaXNlX2Zvcl9z
dGF0dXMoKQorICAgIHJldHVybiByZXNwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy92aXJ0dWFsZW52LnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93
c2VydXRpbHMvdmlydHVhbGVudi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjg3ODAwODMyY2RiMTkzNGQyODhi
YWYzZmYxM2Y5NTI4ZmYxNTdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMvdmlydHVhbGVudi5w
eQpAQCAtMCwwICsxLDQ5IEBACitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBsb2dnaW5n
Citmcm9tIGRpc3R1dGlscy5zcGF3biBpbXBvcnQgZmluZF9leGVjdXRhYmxlCisKK2Zyb20gdXRp
bHMgaW1wb3J0IGNhbGwKKworbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCisK
K2NsYXNzIFZpcnR1YWxlbnYob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCk6
CisgICAgICAgIHNlbGYucGF0aCA9IHBhdGgKKyAgICAgICAgc2VsZi52aXJ0dWFsZW52ID0gZmlu
ZF9leGVjdXRhYmxlKCJ2aXJ0dWFsZW52IikKKyAgICAgICAgaWYgbm90IHNlbGYudmlydHVhbGVu
djoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInZpcnR1YWxlbnYgbXVzdCBiZSBpbnN0
YWxsZWQgYW5kIG9uIHRoZSBQQVRIIikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBleGlzdHMo
c2VsZik6CisgICAgICAgIHJldHVybiBvcy5wYXRoLmlzZGlyKHNlbGYucGF0aCkKKworICAgIGRl
ZiBjcmVhdGUoc2VsZik6CisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYucGF0aCk6Cisg
ICAgICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYucGF0aCkKKyAgICAgICAgY2FsbChzZWxmLnZp
cnR1YWxlbnYsICItLW5vLWRvd25sb2FkIiwgc2VsZi5wYXRoKQorCisgICAgQHByb3BlcnR5Cisg
ICAgZGVmIGJpbl9wYXRoKHNlbGYpOgorICAgICAgICBpZiBzeXMucGxhdGZvcm0gaW4gKCJ3aW4z
MiIsICJjeWd3aW4iKToKKyAgICAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi5wYXRo
LCAiU2NyaXB0cyIpCisgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCAiYmlu
IikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBwaXBfcGF0aChzZWxmKToKKyAgICAgICAgcGF0
aCA9IGZpbmRfZXhlY3V0YWJsZSgicGlwIiwgc2VsZi5iaW5fcGF0aCkKKyAgICAgICAgaWYgcGF0
aCBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigicGlwIG5vdCBmb3VuZCIp
CisgICAgICAgIHJldHVybiBwYXRoCisKKyAgICBkZWYgYWN0aXZhdGUoc2VsZik6CisgICAgICAg
IHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5iaW5fcGF0aCwgImFjdGl2YXRlX3RoaXMucHkiKQor
ICAgICAgICBleGVjZmlsZShwYXRoLCB7Il9fZmlsZV9fIjogcGF0aH0pCisKKyAgICBkZWYgc3Rh
cnQoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLmV4aXN0czoKKyAgICAgICAgICAgIHNlbGYu
Y3JlYXRlKCkKKyAgICAgICAgc2VsZi5hY3RpdmF0ZSgpCisKKyAgICBkZWYgaW5zdGFsbF9yZXF1
aXJlbWVudHMoc2VsZiwgcmVxdWlyZW1lbnRzX3BhdGgpOgorICAgICAgICBjYWxsKHNlbGYucGlw
X3BhdGgsICJpbnN0YWxsIiwgIi1yIiwgcmVxdWlyZW1lbnRzX3BhdGgpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1
dGlscy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVk
Nzk1NDYyNmZkYjIzMGQ3ZjdlY2VkOTViYjkwYzJhNTE1ZDRiY2YKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dz
ZXJ1dGlscy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIwIEBACitUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVt
b3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy9f
X2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvYnJvd3NlcnV0aWxzL2Jyb3dzZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy91dGlscy5weQorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL3Zp
cnR1YWxlbnYucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvY29uZnRlc3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NvbmZ0ZXN0LnB5CmluZGV4IDAxMDc4NmYxYTE4MmUw
MmNlMTVhMTA5ZjlhZTI3YTc5Yzg2MWJlMjAuLjg5NGZlNjIyM2VhNTNhNzcwNjdkNzU1NmRiYTZh
NTMwYWZiZWE5OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvY29uZnRlc3QucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jb25mdGVzdC5weQpAQCAtNSw5ICs1LDggQEAg
ZnJvbSBoeXBvdGhlc2lzIGltcG9ydCBzZXR0aW5ncywgSGVhbHRoQ2hlY2sKIAogaW1wbCA9IHBs
YXRmb3JtLnB5dGhvbl9pbXBsZW1lbnRhdGlvbigpCiAKLXNldHRpbmdzLnJlZ2lzdGVyX3Byb2Zp
bGUoImNpIiwgc2V0dGluZ3MobWF4X2V4YW1wbGVzPTEwMDApKQotc2V0dGluZ3MucmVnaXN0ZXJf
cHJvZmlsZSgiY2lfcHlweSIsIHNldHRpbmdzKG1heF9leGFtcGxlcz0xMDAwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHByZXNzX2hlYWx0aF9jaGVj
az1bSGVhbHRoQ2hlY2sudG9vX3Nsb3ddKSkKK3NldHRpbmdzLnJlZ2lzdGVyX3Byb2ZpbGUoImNp
Iiwgc2V0dGluZ3MobWF4X2V4YW1wbGVzPTEwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN1cHByZXNzX2hlYWx0aF9jaGVjaz1bSGVhbHRoQ2hlY2sudG9vX3Ns
b3ddKSkKIHNldHRpbmdzLnJlZ2lzdGVyX3Byb2ZpbGUoInB5cHkiLCBzZXR0aW5ncyhzdXBwcmVz
c19oZWFsdGhfY2hlY2s9W0hlYWx0aENoZWNrLnRvb19zbG93XSkpCiAKIHNldHRpbmdzLmxvYWRf
cHJvZmlsZShvcy5nZXRlbnYoIkhZUE9USEVTSVNfUFJPRklMRSIsCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2dpdGlnbm9yZS90
ZXN0cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL3Rlc3RzL3czYy1pbXBvcnQubG9nCmluZGV4IGJlMWMz
MTk4YzAzOWVhY2I5ZmFhNzQ4N2ZiYzc3Y2M4NTNlYzFiNDIuLjI1ZTkwOGFhY2VkZjc4NDQwNjVl
NjY0NmZmZmNjMzBmY2M0YjgyODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL3Rlc3RzL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
Z2l0aWdub3JlL3Rlc3RzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2dpdGlnbm9yZS93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdu
b3JlL3czYy1pbXBvcnQubG9nCmluZGV4IGMyNjMzYzMzOWM1NGNiZTIzYjQ0ZjU3Mjg3MmRlODQ1
M2FiYTU4MDAuLmUwMjU1N2ZmMTZmNTZiMmRhMDFjMjZlZGYzNGQ5YTgwODRiMmEyYjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
Z2l0aWdub3JlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcg
KzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBv
ciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2RvYy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9jL3czYy1pbXBvcnQubG9nCmluZGV4IGVmM2ZiZTdh
ZjdiMmQ5YjFhZjhiZTY0MTMwOTk4MGJiOWVjMmVmNDQuLmFhOWIzOWZmZDkzOGQzYWRhYWNmMjQw
NjJiYmRlMTY0NTViYjAyY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9jL3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvZG9jL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL2ZpbHRlcnMvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL2ZpbHRlcnMvdzNjLWltcG9ydC5sb2cKaW5kZXggNzMxMDUyODQy
YTBkYjQwMGY2ZjVlNDg3YWVlOWQwZGQ1NWNhMDVkOC4uNTIzMDI0YTRhYmVkNWJkZDI3ZTNjZDJl
YWRhYTU0YTQ1MjM4M2M5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9maWx0ZXJzL3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsx
LDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3Ig
V1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi9zZXJpYWxpemVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9zZXJpYWxpemVy
L3czYy1pbXBvcnQubG9nCmluZGV4IGU2M2ZkODcyZjYzMGE3MWM5YWZkMWY1NjJhMTU1NmI1NGJl
NGZiMjUuLjBlOTg0OWZjMDg3OWMzNjhkNTdmMDM2MGE0ZDc3MTM3Y2ZmOTdhYzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvc2VyaWFsaXplci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGli
L3NlcmlhbGl6ZXIvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKQEAgLTE2LDQgKzE1LDYgQEAgTm9uZQogLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvc2VyaWFsaXplci9fX2luaXRfXy5weQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvc2VyaWFsaXplci9fX2luaXRfXy5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3NlcmlhbGl6
ZXIvaHRtbHNlcmlhbGl6ZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3NlcmlhbGl6ZXIvaHRtbHNlcmlhbGl6
ZXIucHljCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3BlcmZvcm1hbmNlL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy9wZXJmb3JtYW5jZS93M2MtaW1wb3J0LmxvZwppbmRl
eCA1NTQwODcwYzI1MWM5OWUwZjIwZWNhMTRkZDgwODVhNDY4NjU1NzZjLi5jNjcwZWY5ZjlhMDNl
ZWRhMzdjNDkxM2Q4ZDk0ZTVmZjk2YWVhNDkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3Rz
L3BlcmZvcm1hbmNlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvcGVyZm9y
bWFuY2UvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRo
dWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvZW5j
b2RpbmcvY2hhcmRldC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEv
ZW5jb2RpbmcvY2hhcmRldC93M2MtaW1wb3J0LmxvZwppbmRleCA1NDUxNTQwMzBjNGNjZDc5YzQx
NzRiMWI2OWZmOTU3NjhhOGM5ZDM5Li5iNDcyODVmZWU3M2EzOWNhZjdkYzc3ZDgzNGQyMGQyZjQ1
NTNlNWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL2VuY29kaW5nL2No
YXJkZXQvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9lbmNv
ZGluZy9jaGFyZGV0L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rk
YXRhL2VuY29kaW5nL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9l
bmNvZGluZy93M2MtaW1wb3J0LmxvZwppbmRleCA0MzAxZGZjN2YwOWM2OTEwNWQ4NjcxNzViZTRh
ZjcxYWUxNzA0ZDgxLi5hMTJlY2M1MWY2MDQ0MTgxNTdiZWQ3Mjk4MTRmMjJkNTM1ZDg0YTUyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL2VuY29kaW5nL3czYy1pbXBvcnQu
bG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvZW5jb2RpbmcvdzNjLWltcG9ydC5s
b2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10
ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvc2FuaXRpemVyL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9o
dG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9zYW5pdGl6ZXIvdzNjLWltcG9ydC5sb2cK
aW5kZXggMGZmMmEyYTM0Yzg5MGIyMDYxMWQ3MzM3MGIxNjBmMDNiZWY4MWI2Yy4uM2ExMzhiN2I3
NDY1Mzc0Zjg0YjllZDVjODMxNDE0Y2MzNGM4MDdjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90
ZXN0cy90ZXN0ZGF0YS9zYW5pdGl6ZXIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90
ZXN0cy90ZXN0ZGF0YS9zYW5pdGl6ZXIvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
dGVzdHMvdGVzdGRhdGEvc2VyaWFsaXplci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVz
dHMvdGVzdGRhdGEvc2VyaWFsaXplci93M2MtaW1wb3J0LmxvZwppbmRleCA4MmE1N2JhNGUyZmE3
MzVkMjQyNTdiZWQ5ZjExY2UyNDlhZDIxM2ZlLi5mNWFiZmM3NzgxNTA0MzQwZDVmYzU0ODc0OGZj
NzUyZGIwMDkwMjk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3Nlcmlh
bGl6ZXIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9zZXJp
YWxpemVyL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3Nu
aWZmZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3NuaWZmZXIv
dzNjLWltcG9ydC5sb2cKaW5kZXggZWI0MGQ1MTQzYTgxNmRlNGM0OWM1ZDk5ZjcyYWU0OTAyMTZj
ODg0OS4uNzAyYmM4YzQ0YmQ0NmNlMjM1OTg4NjliZGU1MDg4YmI4Zjg3ODBmMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9zbmlmZmVyL3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvc25pZmZlci93M2MtaW1wb3J0LmxvZwpAQCAtMSw3
ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mg
b3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxp
Yi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS90b2tlbml6ZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0
bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3Rva2VuaXplci93M2MtaW1wb3J0LmxvZwppbmRleCBhZjI4
ZTA4MGYzZDY3NGQyNmRkMmE5NDgzMzQ3YThhYjIzOTM3ZDA2Li5lNGJiODA3NGU2NDE5MDkyZGU1
YWEyODNlMzk5ZmY0M2ZmMjA2MDMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rk
YXRhL3Rva2VuaXplci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rk
YXRhL3Rva2VuaXplci93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgog
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0
ZGF0YS90cmVlLWNvbnN0cnVjdGlvbi9zY3JpcHRlZC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVs
aWIvdGVzdHMvdGVzdGRhdGEvdHJlZS1jb25zdHJ1Y3Rpb24vc2NyaXB0ZWQvdzNjLWltcG9ydC5s
b2cKaW5kZXggM2NhOWEwYWZjZTM4ZTAyODNlNjE2ODE4MWQwOGE5MDQ1ZGExOTExMS4uYWNjOWM4
NzYwZTZmODQyZTY3YmIzOGRhYjBmM2Y2MGQ5MTAxNjA1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi90ZXN0cy90ZXN0ZGF0YS90cmVlLWNvbnN0cnVjdGlvbi9zY3JpcHRlZC93M2MtaW1wb3J0Lmxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3RyZWUtY29uc3RydWN0aW9uL3Njcmlw
dGVkL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3RyZWUt
Y29uc3RydWN0aW9uL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS90
cmVlLWNvbnN0cnVjdGlvbi93M2MtaW1wb3J0LmxvZwppbmRleCA5N2I0N2M1ZDlhMzUxZjBlNGNl
NTNjMzkyZGEyY2IzODlhYmVhOGNlLi41MTAwN2RmMTliNjdlMDFmOTBjOTk0ZjA1ZGRjNjZhMDZj
MzViMmJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3RyZWUtY29uc3Ry
dWN0aW9uL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdHJl
ZS1jb25zdHJ1Y3Rpb24vdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVz
dGRhdGEvdmFsaWRhdG9yL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0
YS92YWxpZGF0b3IvdzNjLWltcG9ydC5sb2cKaW5kZXggYTZmMjBkOGFjOWUxNWYwNTI0ZDdiOTQy
NWFjZGE0YjdiMThjYzNiNy4uZmNiYTQ0MTRjMjVjODJkMWM1NDA5ZWViMGMzODhmYjc1ODk5ODZh
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS92YWxpZGF0b3IvdzNjLWlt
cG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS92YWxpZGF0b3IvdzNjLWlt
cG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9j
c3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3czYy1pbXBvcnQubG9nCmluZGV4IDk3NDJjZTUx
OGI1NWY1MjcyMmMyZDA3OTMyNmJhYTBiZDQyZmQxOWIuLjY2ZmVmMmQyODZiOTIxMzU2NzQ3Zjgy
ODgwOGRiNzRiNTgxMjRkYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS93M2MtaW1wb3J0
LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dn
LXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
IAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
dGVzdHMvdzNjLWltcG9ydC5sb2cKaW5kZXggNzJjYjE3YjNlODBkYmU3NWI5MWUzZDc4YzQ4ZTYx
Y2MxNGU1YTZlYS4uNzRlMDM0NmVhYjZiMWVlMGE1ZGYzYTI5NDE3YjEzZjc1NjRhNTQ0YiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGli
L3Rlc3RzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWVhZGFwdGVycy93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWFkYXB0ZXJzL3czYy1pbXBvcnQubG9nCmluZGV4
IGU5NTI3M2Q4MzJmMjVmYmIzNjlhYmI3ODZhNjAzYmQ0ZDk3YjZiZTAuLmRiY2ViMjQxZTJkMWMw
Mjg4ZmIwMjg0ZGJjNzRjOGI4ODhiM2YzNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWFk
YXB0ZXJzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWFkYXB0ZXJzL3czYy1p
bXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
Y3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWVidWlsZGVycy93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL3czYy1pbXBvcnQubG9nCmluZGV4IDkwYzMxZWU0M2U1
MmQyYjFjOWU5Yjk3MTg4OGQzYjUxOTMxMGQ1YmEuLjJhNzY2MDIwYjc2NTkwNjRjMDZiMzUzYjBk
NmVlMjYzYzcxNjk3YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL3czYy1pbXBvcnQubG9nCkBA
IC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzND
IENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CkBAIC0xNiw3
ICsxNSw5IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1
bGliL3RyZWVidWlsZGVycy9fX2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL19f
aW5pdF9fLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL19iYXNlLnB5CisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi90cmVlYnVpbGRlcnMvX2Jhc2UucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVlYnVpbGRlcnMvZG9tLnB5
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9odG1sNWxpYi90cmVlYnVpbGRlcnMvZXRyZWUucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWVidWls
ZGVycy9ldHJlZV9seG1sLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWV3YWxrZXJzL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVld2Fsa2Vycy93M2MtaW1wb3J0LmxvZwppbmRl
eCA2MmFkNTRmNzA3YTExNjVlNDBlZTVkMTYxMDRkNzdkNTJhMjY5ZGNmLi40MzkxZjdjMDllNDIw
ZTJmMjdhYWU5YjI3ZDc2NzFjOWI3ODM4MjhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWV3
YWxrZXJzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvdzNjLWlt
cG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9j
c3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKQEAgLTE2LDYgKzE1LDcgQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVz
OgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvX19pbml0X18ucHkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWV3
YWxrZXJzL19faW5pdF9fLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvX2Jhc2UucHkKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL3RyZWV3YWxrZXJzL2RvbS5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvZXRy
ZWUucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJpZS93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRt
bDVsaWIvdHJpZS93M2MtaW1wb3J0LmxvZwppbmRleCBmYzkwZWYxNTRiYjVkNDNkZTYxM2QxYjcy
NWVkYWJkODU3NmY0YjE2Li44MmViZmVlNzQ1NTZlNTQ0NGZkY2NhMzJjZTZkMDc5YzRhYTFiNjNl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90cmllL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4g
V2ViS2l0IHRvIHJlaW1wb3J0CkBAIC0xNiw2ICsxNSwxMCBAQCBOb25lCiAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmllL19faW5pdF9fLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90cmllL19faW5pdF9fLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJpZS9fYmFzZS5weQorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRt
bDVsaWIvdHJpZS9fYmFzZS5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUvZGF0cmllLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90cmllL2RhdHJpZS5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUvcHkucHkKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGli
L3RyaWUvcHkucHljCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi93M2MtaW1wb3J0LmxvZwppbmRleCBhZTVjZTlhNDAzYWVhYWMyOTIxZjIwZDI4MWVh
YWNjNjFhMGE4ZGZkLi41NWMyZmEwNDM0M2E5MDRiMmZiYjA4NjI1NmI4ZTk4ZTg2MWNlNDVlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdzNj
LWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKQEAgLTE2LDEwICsxNSwxNiBAQCBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2Yg
ZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi9fX2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvX19pbml0X18ucHlj
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9odG1sNWxpYi9jb25zdGFudHMucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL2NvbnN0YW50cy5weWMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL2h0bWw1cGFyc2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9odG1sNXBhcnNlci5weWMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL2loYXRleG1sLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9pbnB1dHN0cmVhbS5weQorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRt
bDVsaWIvaW5wdXRzdHJlYW0ucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9zYW5pdGl6ZXIucHkKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1
bGliL3Rva2VuaXplci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdG9rZW5pemVyLnB5YwogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
dXRpbHMucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3V0aWxzLnB5YwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi91dGlscy93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvdXRpbHMvdzNjLWltcG9ydC5sb2cKaW5kZXggY2FkNzIyNjA4MTNlNWZm
NDViZjU1ZDBlMGE0YjI4MzM1OTYzOTQwNC4uNGI0ZjUyYjI4MmU0ODFkM2Q1NjQwMWRhNDBlMDdj
OGFlZDg4ZjFlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi91dGlscy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3V0
aWxzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi93M2MtaW1wb3J0
LmxvZwppbmRleCBmOTY0ZDk1MjRlNTk2Y2ZjMTNmZmJmNDY0ZGI4MjQwNGRkNWYzZjJhLi45MDU2
YTQyZGYzNDM0MjNiOTVjNGFjOWExOTRiMzlmNTg4MGZmYzUyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC9saW50LnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L2xpbnQucHkKaW5k
ZXggMDBmYTZhOWYwMTFjYTUyYjcyODdiZWFlNzgxYTJlMTQ0OGVkMmI3OC4uZWFjODhkNmQ1ZTBj
MTgxY2ViMDQyOTVjNDZiYzc4N2Y4YzMyMGM1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L2xpbnQucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L2xpbnQu
cHkKQEAgLTQ1LDcgKzQ1LDcgQEAgc2V0dXBfbG9nZ2luZygpCiAKIAogRVJST1JfTVNHID0gIiIi
WW91IG11c3QgZml4IGFsbCBlcnJvcnM7IGZvciBkZXRhaWxzIG9uIGhvdyB0byBmaXggdGhlbSwg
c2VlCi1odHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ibG9iL21hc3Rl
ci9kb2NzL2xpbnQtdG9vbC5tZAoraHR0cDovL3dlYi1wbGF0Zm9ybS10ZXN0cy5vcmcvd3JpdGlu
Zy10ZXN0cy9saW50LXRvb2wuaHRtbAogCiBIb3dldmVyLCBpbnN0ZWFkIG9mIGZpeGluZyBhIHBh
cnRpY3VsYXIgZXJyb3IsIGl0J3Mgc29tZXRpbWVzCiBPSyB0byBhZGQgYSBsaW5lIHRvIHRoZSBs
aW50LndoaXRlbGlzdCBmaWxlIGluIHRoZSByb290IG9mIHRoZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1
bW15L2Nzcy11bmlxdWUvbWF0Y2gvc3VwcG9ydC90b29scy93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9k
dW1teS9jc3MtdW5pcXVlL21hdGNoL3N1cHBvcnQvdG9vbHMvdzNjLWltcG9ydC5sb2cKaW5kZXgg
NzUzODU3NmMxMWM0MDkxNTc0MzZhNDJjZTRmZjc5OTUyYzU3NjkwMC4uOWUwYjAyODIxYTAyZmQ1
MTQ4YWZhNmQ2ZTgxZTk5YTZmN2MyNDY1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlx
dWUvbWF0Y2gvc3VwcG9ydC90b29scy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3Nz
LXVuaXF1ZS9tYXRjaC9zdXBwb3J0L3Rvb2xzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBA
QAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQg
Z2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVt
bXkvY3NzLXVuaXF1ZS9tYXRjaC9zdXBwb3J0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nz
cy11bmlxdWUvbWF0Y2gvc3VwcG9ydC93M2MtaW1wb3J0LmxvZwppbmRleCAxMmE2NjI1YTU1Yjgy
MDgyZTM4OWU2NTY3NDI4MjEwYjEzYjZhMjRhLi44NGY1YWIwOGZiOTg5ZGVlYmM1NTEwZDFkZWM4
ODRiNjQ5ZmUwMTRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRjaC9zdXBw
b3J0L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL21hdGNoL3N1cHBv
cnQvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMK
IAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL21hdGNoL3Rvb2xz
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvdG9vbHMvdzNjLWlt
cG9ydC5sb2cKaW5kZXggOTQ1MTNlMGRiMWJmYzI5MjgxMjVlZmU5YmRhNGE5MzkxNmYwY2ZjYy4u
NTBiZjllM2U3M2IwNzQ1NzE5MDNhMWJlNzhmMmYwY2RiOTU2ODJhYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3Rz
L2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvdG9vbHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1
bW15L2Nzcy11bmlxdWUvbWF0Y2gvdG9vbHMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBA
CiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBn
aXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1t
eS9jc3MtdW5pcXVlL21hdGNoL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUv
bWF0Y2gvdzNjLWltcG9ydC5sb2cKaW5kZXggZjZmNDE5YjBlZTRkOTVmNDE4ZjY3MWVhM2RhNjUy
MDAwOTc0NzIwMS4uOWFhMmU5MjJiODIyMWZmMmUwNzZlYzFiMDU2ZGIwNjE0MWFkM2I2YyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvdzNjLWltcG9ydC5sb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rl
c3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBA
CiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBn
aXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1t
eS9jc3MtdW5pcXVlL25vdC1tYXRjaC9zdXBwb3J0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15
L2Nzcy11bmlxdWUvbm90LW1hdGNoL3N1cHBvcnQvdzNjLWltcG9ydC5sb2cKaW5kZXggOGI2YjYz
ZWVkMmUwNTZlNGFhY2M4ZmI5NTMzNWE1OGIxMDFhYTQ5Ny4uYTZhMzIzNTlmOTU2YWM0Yzg5MGRk
YzIxNzE3MDNjMmY4NzA3ZTQ5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbm90
LW1hdGNoL3N1cHBvcnQvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUv
bm90LW1hdGNoL3N1cHBvcnQvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5p
cXVlL25vdC1tYXRjaC90b29scy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVl
L25vdC1tYXRjaC90b29scy93M2MtaW1wb3J0LmxvZwppbmRleCAwZGVmZjM4ZjZlYWZiN2U5Njc0
M2M4NzUyOThjZGZkZjJmOTBmNzc4Li4xOGU5ODQwMmQ4YTNmMThkOGJjZmFhM2YyOWEzMTZkZWMw
ZDg5NzlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0Y2gvdG9vbHMv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbm90LW1hdGNoL3Rvb2xz
L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
UFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAK
IFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRv
IHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0Y2gvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0Y2gvdzNjLWltcG9ydC5s
b2cKaW5kZXggNWM5ZGI4OTM5MzhiM2NjZDU1NWJhNGRjZDE3ZmY0NTljZTVmMTYxZS4uNjc2YmQx
NTA1YTI1MDBlOTQ1Y2I2YjgzMWRhZmQ4MTk5YWE5YWM4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15
L2Nzcy11bmlxdWUvbm90LW1hdGNoL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3Mt
dW5pcXVlL25vdC1tYXRjaC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0
cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5
LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlx
dWUvc2VsZWN0b3JzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvc2VsZWN0
b3JzL3czYy1pbXBvcnQubG9nCmluZGV4IGE5ZDBmMTY3N2E4OGU4MTM1NTExMWY2ZDkzODNlZDcx
MzQ3ZTE5ZGIuLmYyYzk2MzA2NjNlNTEzNGZhNTM3OTE4N2Q1ZDI3MzIwN2FkOWRlMjkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
bGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3NlbGVjdG9ycy93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQv
dGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9zZWxlY3RvcnMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyAr
MSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9y
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0
cy9kdW1teS9jc3MtdW5pcXVlL3N1cHBvcnQvdG9vbHMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVt
bXkvY3NzLXVuaXF1ZS9zdXBwb3J0L3Rvb2xzL3czYy1pbXBvcnQubG9nCmluZGV4IGIyYTRmZGQ2
OTZkNWY0ZDJlZTkyNGFjZjAyNTg3NmU2ZDg5YTRlYjYuLmQzMjgyNWNhN2ZhYjg5MGJhY2U5ZjJh
NzAwNGVkNGQ2YmRlYjQ4OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3N1cHBv
cnQvdG9vbHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvc3VwcG9y
dC90b29scy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvc3VwcG9y
dC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3N1cHBvcnQvdzNjLWltcG9y
dC5sb2cKaW5kZXggNjRmNDU1ZTVhNTY1ODE2M2YyZGNjYThkNDQzY2FiNmE3ZmNkNjA0NC4uY2Ix
NzU2NDIzOGI3ODE3MmMxZDA2N2M0NmJmNWQzNmE1ZjhkMTUxNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1
bW15L2Nzcy11bmlxdWUvc3VwcG9ydC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3Nz
LXVuaXF1ZS9zdXBwb3J0L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1
ZS90b29scy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3Rvb2xzL3czYy1p
bXBvcnQubG9nCmluZGV4IDYxNDc3ZTk4ZGZjN2QzZjgyMmEzNjI3MzljZDY3NWRiZDVlN2Y2MWQu
Ljg0YmRlNTc3M2M3YTRmZTZiYWI1ZmQ0YjE4N2U2YjBkMWJhZGVlODggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0
cy9kdW1teS9jc3MtdW5pcXVlL3Rvb2xzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9j
c3MtdW5pcXVlL3Rvb2xzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1
ZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3czYy1pbXBvcnQubG9nCmlu
ZGV4IGM3OTk4M2FkN2JhNjk2NWY5YjA1NTI3Y2Q2YTRmMjJlNmU5OTZkNzkuLjM5NTcxMzg0NDNj
NjQxYWNjODU0MzljOWEwYzc4NmU3YWUyYjcwYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3Mt
dW5pcXVlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3czYy1pbXBv
cnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nz
d2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzL3dvcmstaW4tcHJvZ3Jlc3MvZm9vL3N1cHBvcnQv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzL3dvcmstaW4tcHJvZ3Jlc3MvZm9vL3N1cHBv
cnQvdzNjLWltcG9ydC5sb2cKaW5kZXggOWJkODlhYzgwMjAxM2JhMDQ4OWY3ZjAwZjZhY2IzNjFi
YWQxZTZjMS4uODc3YjgxNzc4YjVhMTY2NWQyM2VjMTYwMmE5YzhjMGEzZjI5NzgyMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9s
aW50L3Rlc3RzL2R1bW15L2Nzcy93b3JrLWluLXByb2dyZXNzL2Zvby9zdXBwb3J0L3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3Mvd29yay1pbi1wcm9ncmVzcy9mb28vc3VwcG9ydC93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L3JlZi93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9k
dW1teS9yZWYvdzNjLWltcG9ydC5sb2cKaW5kZXggOTVlMTU2YmM3NGY4Yjc1ZTFhZjVlYWVlZTll
MWVkNGE4OWI5ZTYxNC4uNTYwMjc2MzQzNGNiNGYyYjMyNzU0MzRiNTg3NjI2ZGNiOGJlZDk2MyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9saW50L3Rlc3RzL2R1bW15L3JlZi93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkv
cmVmL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMv
ZHVtbXkvdzNjLWltcG9ydC5sb2cKaW5kZXggNmIzNTFlNDk4MTIxOTNiZGNmMDdiYmYwYTZjMzBi
ODcxM2E0YjdmNC4uZGJkZTJhY2FjYzc2N2I0OTg4MTUyOTkwN2ExY2Y4MGM3ZDZlYmM4NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9saW50L3Rlc3RzL2R1bW15L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9saW50L3Rlc3RzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL3czYy1pbXBvcnQubG9nCmlu
ZGV4IDBhMjBkMTIzZTc5Y2YxODdiYTE1OTY3OGM0NWM5NjM0YTdlZDRmZmIuLjZlMDI2N2YzNjRh
OTlmMjBlNzE2Zjc5NDRmYTUyZmYyODc4YWMwZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy93M2MtaW1wb3J0
LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2xpbnQvdGVzdHMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC93M2MtaW1w
b3J0LmxvZwppbmRleCAzZWRjMDU2MzEzZjg0ZDgzYTFiNTg3MmNkNjA4NmZiMjY2ZjQzOGRmLi4y
MjMwMGFjNDdhNDc1NDdhMzVmMDZhYWEwNmI2OTZkYzVhMzlmMmIzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdzNjLWlt
cG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9saW50L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xvY2FscGF0aHMucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xvY2FscGF0aHMucHkKaW5kZXgg
YTQ5MzAwMTVjMDVhZDk3NDE2YWM5NTIwYzE5NzE4OTVjOWM3MjYyMy4uYzkzMmVmNGI5MmYxYWJm
MTNhMjBjY2M2NTkzNTJjZGQ1MGMzZGUwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9sb2NhbHBhdGhzLnB5CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbG9jYWxwYXRocy5w
eQpAQCAtNSw2ICs1LDcgQEAgaGVyZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLnNwbGl0KF9f
ZmlsZV9fKVswXSkKIHJlcG9fcm9vdCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oaGVy
ZSwgb3MucGFyZGlyKSkKIAogc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihoZXJlKSkK
K3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4oaGVyZSwgImJyb3dzZXJ1dGlscyIpKQog
c3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihoZXJlLCAic2l4IikpCiBzeXMucGF0aC5p
bnNlcnQoMCwgb3MucGF0aC5qb2luKGhlcmUsICJodG1sNWxpYiIpKQogc3lzLnBhdGguaW5zZXJ0
KDAsIG9zLnBhdGguam9pbihoZXJlLCAid3B0c2VydmUiKSkKQEAgLTEyLDMgKzEzLDQgQEAgc3lz
LnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihoZXJlLCAicHl3ZWJzb2NrZXQiLCAic3JjIikp
CiBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKGhlcmUsICJweSIpKQogc3lzLnBhdGgu
aW5zZXJ0KDAsIG9zLnBhdGguam9pbihoZXJlLCAicHl0ZXN0IikpCiBzeXMucGF0aC5pbnNlcnQo
MCwgb3MucGF0aC5qb2luKGhlcmUsICJ3ZWJkcml2ZXIiKSkKK3N5cy5wYXRoLmluc2VydCgwLCBv
cy5wYXRoLmpvaW4oaGVyZSwgIndwdHJ1bm5lciIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9jYXRhbG9nL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9tYW5pZmVzdC9jYXRhbG9nL3czYy1pbXBvcnQubG9nCmluZGV4IDJiMGQzYzFjZTc3
NWJkMGNiNjU5OTgzMzc2MGI4YTc2MWE1ZjM4MjkuLmFmNGQzNzcxMWNmZThmNGE3YjU0NWVjODNm
MTM1OTgxMjczMGViMGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvY2F0YWxvZy93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlm
ZXN0L2NhdGFsb2cvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlm
ZXN0L3Rlc3RzL3czYy1pbXBvcnQubG9nCmluZGV4IDFkOGRmMGIxZmYwOWM2YTdhZTFiYTMwOWM4
YTIzYjEwZGJkYjExOGQuLjY5MjQ3Y2JlN2ZjNjk1YmY0NjBmMzJiZjI0YTFiNDllMWIzNWNhOTMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvbWFuaWZlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC90ZXN0cy93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9tYW5pZmVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdzNjLWltcG9ydC5sb2cKaW5kZXgg
MjNjZjNlYjMwN2ZjOTRkYWZjYzliMmRkNGI2Y2MzNzUzN2JhMDBkZC4uZDQzMmRlODc5Mjk4OTlj
ZjliYjljYmQ1NjYyOWUyZmExNDdhNzJiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC93M2MtaW1wb3J0LmxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21h
bmlmZXN0L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CkBAIC0xNiwxMSArMTUsMjAgQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvbWFuaWZlc3QvWE1MUGFyc2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9YTUxQYXJzZXIucHljCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9f
X2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvbWFuaWZlc3QvX19pbml0X18ucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9pdGVtLnB5CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9pdGVtLnB5YwogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3Qv
bG9nLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9tYW5pZmVzdC9sb2cucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9tYW5pZmVzdC9tYW5pZmVzdC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvbWFuaWZlc3QucHljCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9z
b3VyY2VmaWxlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9tYW5pZmVzdC9zb3VyY2VmaWxlLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdXBkYXRlLnB5CisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC91cGRhdGUu
cHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9t
YW5pZmVzdC91dGlscy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvbWFuaWZlc3QvdXRpbHMucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC92Y3MucHkKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3Zjcy5weWMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHkvYmVuY2gvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2JlbmNoL3czYy1pbXBvcnQubG9nCmluZGV4IGI2NmNi
ZGY2OWY4ODlhNzIyMTVjNDdmOTcwNjdlYTA3ZTBhNGFjNWYuLmI2NjY4MzY2MmM4MmI5NWVlNTk4
NTY2NjAyNWFhMDE5MzIwNGZjM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvYmVuY2gvdzNjLWltcG9ydC5sb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9iZW5j
aC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwog
CiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weS9kb2MvX3RlbXBsYXRlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL190ZW1w
bGF0ZXMvdzNjLWltcG9ydC5sb2cKaW5kZXggODVkZTg0NjdiYjhkMGNmYmFlNzhjZDhkNDcwYjli
NDk5MjA4ZjllZS4uZGZkNDI2NTAxMGNlNGQyZjdlZDIxYmQwYjMzZDlhMWE3NDM2ZjI0NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weS9kb2MvX3RlbXBsYXRlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2RvYy9fdGVtcGxhdGVzL3czYy1p
bXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
Y3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5L2RvYy9hbm5vdW5jZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2Fubm91bmNlL3czYy1p
bXBvcnQubG9nCmluZGV4IGQ5ODRiNWE1YTI0ZTIwOTVjYjZhOTY5MmU4ZjI3MWQ1ZjliNTA5Yzku
LmQwMjE2ZmZkNTIzNjk1ODEwYjY1MTY5M2I1MTg4ZGNkMjk5ZGQ1NzggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2Fu
bm91bmNlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2Fubm91bmNlL3czYy1pbXBvcnQubG9nCkBAIC0x
LDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENT
UyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2Rv
Yy9leGFtcGxlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weS9kb2MvZXhhbXBsZS93M2MtaW1wb3J0LmxvZwppbmRleCA4
MTkxMTUzMWQxYmIxZGU3MzJjNmI2Y2FkM2RmZGYzYzAyYWU2MDU5Li5hZjA2MjBhN2ZjNTljNDU4
ZjZmYWRmZjA1M2Q3NjFkYjJlZmEwZDRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2RvYy9leGFtcGxlL3czYy1pbXBvcnQu
bG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHkvZG9jL2V4YW1wbGUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2ltZy93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkv
ZG9jL2ltZy93M2MtaW1wb3J0LmxvZwppbmRleCA0NzJmOThkMTYxYzAxN2UzYmZhN2MwZTMwOWI3
NGU2ZjE0ZTJjNjJmLi41MWU2Zjc5ZjgxZTQyMDJmNzk5ZTA4ZWNmMTQwYjE5ZTViYzM5YjhhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5L2RvYy9pbWcvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9kb2MvaW1nL3czYy1pbXBvcnQubG9nCkBA
IC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzND
IENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
L2RvYy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHkvZG9jL3czYy1pbXBvcnQubG9nCmluZGV4IGUzYjJmN2EwNzcwZjU5
ZGU5NmU5YTAyZGNkMjVmM2Q3MDI1YWU2NmMuLjczY2Q1MWJmOWFiOWUzODlmNzk0ODNjODA2Yzk3
ZmJlNWU4YTA1NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL3czYy1pbXBvcnQu
bG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1w
b3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3Rz
IGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ct
dGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgog
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5L3B5L19jb2RlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9fY29kZS93M2MtaW1wb3J0LmxvZwppbmRl
eCA3YzdhY2U5YjhiODQ5Y2IwYmJiN2M5OTg1ZWFmODZlMWYyZDY1Mjk0Li4yYWY3ZjgwZjFiM2Nk
MWZlZWU5ZjkyYzYzMTY1MDgxZTZiODgzZjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3B5L19jb2RlL3czYy1pbXBvcnQu
bG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHkvcHkvX2NvZGUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvX2lvL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9f
aW8vdzNjLWltcG9ydC5sb2cKaW5kZXggODFlMjhiZDIxMzk2NzM0YTQ0NzNhZWQxMDZhNjI4YmMw
MzFmZWM2Yy4uZWFmYmYxZjk0NzQ4NmY1ZDEyZWZjNDQ5ODg1Zjk2ZWJkYmJlMDcwNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eS9weS9faW8vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9faW8vdzNjLWltcG9ydC5sb2cKQEAgLTEsNyAr
MSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9y
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvX2xv
Zy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHkvcHkvX2xvZy93M2MtaW1wb3J0LmxvZwppbmRleCA1NTc3MzkwM2ZhN2I4
YjljOTY4MDA2MDVkZmM2ODE2ZGI3YjRjZGZjLi5jM2IzODI3MzkxMjYwYzI3ZjQ0MThhZjQ0YWNi
YTRmZTQ1ODE4NGU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3B5L19sb2cvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9fbG9nL3cz
Yy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQg
Z2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRo
ZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJl
aW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5L3B5L19wYXRoL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9fcGF0aC93M2MtaW1wb3J0
LmxvZwppbmRleCBmY2IxZmUxNzFjZTA5Y2IxMTJlZjE3YWI5MTgwMDlhMzNhMDFhZWIzLi44MzYw
ODQ4YzRhYzkyNTdkZjdhZjdiMTEwYjJkMGRjYzE1MjkwN2E4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3B5L19wYXRoL3cz
Yy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHkvcHkvX3BhdGgvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvX3Byb2Nlc3MvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5L3B5L19wcm9jZXNzL3czYy1pbXBvcnQubG9nCmluZGV4IDBhYThhMGNkYTA1MGZm
NGU0YzliYzlmMmMxN2U4M2EzMzdlMTkzN2MuLmUxZmZhNjA5OTlkNjA0ZmZjYzBiMGRiYjMwOWQz
NGMxNDJhN2Y5ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvX3Byb2Nlc3MvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9fcHJv
Y2Vzcy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weS9weS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvdzNjLWltcG9ydC5sb2cK
aW5kZXggZmU5ZGFiMzA5MzZhZTNiNGNiNDIxOTI3ZmIzNGIxNTk4NzA0OTY1OS4uZjhhYTZhYTgz
YjQ3OGM4MjJlYmMzZGZhNzNjZTg2ZmU0ODkzMDk3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS93M2MtaW1wb3J0Lmxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5L3B5L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvY29kZS93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGlu
Zy9jb2RlL3czYy1pbXBvcnQubG9nCmluZGV4IDUxMWYyOGE1MDFjNGJjMDE2MjYxMmExYTM1ZTE5
ZDdkNDBkZjAzZjMuLmVlNGFlMzdkMGQ3MzczMDBhYjlhMGJkOWIxN2I0MjYxODMwMjczZWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHkvdGVzdGluZy9jb2RlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9jb2RlL3czYy1pbXBv
cnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nz
d2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5L3Rlc3RpbmcvaW9fL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90ZXN0aW5nL2lvXy93M2MtaW1wb3J0
LmxvZwppbmRleCA2ZWU2ZGZiMzY1YWE4ZjEyNjk4OGNlMTQxMmM5MDExMWUwYzAxMTUxLi45YTQz
MDM5ZDUwODJjOGJiZGU2MDVjYWU2NzZhODE2Mjc5OTA1ZjA3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvaW9f
L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9pb18vdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2
IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQ
VCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9s
b2cvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvbG9nL3czYy1pbXBvcnQubG9nCmluZGV4IDNjODBiNWU5
M2U3MDdlMWU2N2EwNTYwNmVkMjk1ZGJlZTY3ZDRlMGEuLmZlZDkyNWE3YjY4MmQ4MDYyYjE3YzU2
ODY3NjA4OGM4NzBiNjg5M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9sb2cvdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90
ZXN0aW5nL2xvZy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0
aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8g
Tk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczov
L2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90ZXN0aW5nL3BhdGgvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rl
c3RpbmcvcGF0aC93M2MtaW1wb3J0LmxvZwppbmRleCA1NGNhNDVjNWE2OTlmZDBlNDJlOTRjMzcz
ODViMWY2ZDE3NjUyOWZhLi5kY2E0OWY2Njg2ZDlhZTYzY2Q1MTY2YTkwYjk0OTk2MDg5MDU5NmI4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5L3Rlc3RpbmcvcGF0aC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvcGF0aC93M2Mt
aW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weS90ZXN0aW5nL3Byb2Nlc3MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvcHJvY2Vz
cy93M2MtaW1wb3J0LmxvZwppbmRleCA5ZjcyMjExYTAxZWE5ZWEzNjgxZGE5ZGNjNjU4NTkxNjlm
YWE0ZTEwLi41ZjgwNjBkOGRhNGQ0NTJmYzEwOTIzZmQ5YjBhMDY0YzRiZTg3MDE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
L3Rlc3RpbmcvcHJvY2Vzcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvcHJvY2Vzcy93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weS90ZXN0aW5nL3Jvb3QvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3Rpbmcvcm9vdC93M2MtaW1w
b3J0LmxvZwppbmRleCA0YWFmNTZhNzY5ODUzYTJiNmRmNDQ3NjJjYWRjNTg0YmI1MTAwNzc5Li45
ZmI5M2NiMjEwNDhmOGNlOTczN2Y5OWQ0ZDNkZWE4MzEwNDNmODg5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3Rpbmcv
cm9vdC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3Rpbmcvcm9vdC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3
ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mg
b3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90ZXN0
aW5nL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weS90ZXN0aW5nL3czYy1pbXBvcnQubG9nCmluZGV4IDIwN2ZhYTgyYWI0
NjIyMDRlNmMzZTVmNjI4YWI3NDViNDk1YjA0YWQuLjY0MDE2YTZjZWQzMmZkZTkxNjMwZTFlYTU2
ZTM0NDZkYjdmOTk3MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3Rpbmcv
dzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rv
cnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkg
dGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29t
L3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQ
VCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAog
VGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8g
cmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3czYy1pbXBvcnQubG9nCmluZGV4IDVlZTJj
MzE2YjMyNjE3OTJjNDdlMDY1Y2E3MGJkNGMzNTE2NGI0MzIuLjI2NTI4MWViODVhNjFjNTc5MTQz
MWVjNjFiYmY1NGY3MTIxN2Y3OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS93M2MtaW1wb3J0
LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dn
LXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
IAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXRlc3QuaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QuaW5pCmluZGV4IGZkOTM4MzYzNzg0YmVhODM1YmNhMzQzYjUwM2Iy
ZGQxMWEwZWQ5MjAuLjhjYzNkNmYyMjM5NWE5MDE2MWEwNjIyOGNjNzZjNmI0MTc2NzVhMGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHl0ZXN0LmluaQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC5pbmkKQEAgLTEsMiArMSwyIEBACiBbcHl0ZXN0XQotbm9yZWN1
cnNlZGlycyA9IC4qIHthcmNofSAqLmVnZyBodG1sNWxpYiBweSBweXRlc3QgcHl3ZWJzb2NrZXQg
c2l4Citub3JlY3Vyc2VkaXJzID0gLioge2FyY2h9ICouZWdnIGh0bWw1bGliIHB5IHB5dGVzdCBw
eXdlYnNvY2tldCBzaXggd3B0cnVubmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L19jb2RlL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXRlc3QvX3B5dGVzdC9fY29kZS93M2MtaW1wb3J0LmxvZwppbmRleCAwZjI1MDNmMmE4
YjBhNDgzNzk0NTA4NmE4MDdhZmM5NDJkZGI3NTQ1Li5iNTFlYWY2MDMxMTU5MzdlNWQyOWUyYjQ2
ZDM2YjUwZDgwMmFhZTY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L19jb2RlL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L19weXRlc3QvX2NvZGUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvYXNzZXJ0
aW9uL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC9hc3NlcnRpb24vdzNjLWltcG9ydC5sb2cKaW5k
ZXggYmM1ZmU4ZGVmODg0YTI4ZTY5ZjhhMWU1YTYxMjk2ZDdjYzYzZmZmYS4uOTBlMDdlZjFkMzJm
NDQ5NDcwZDY4NjJjMjEyMTdkZDFjMmVlN2Y4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC9hc3NlcnRp
b24vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC9hc3NlcnRpb24vdzNjLWltcG9ydC5sb2cK
QEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRl
ZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGly
ZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
M0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L19weXRlc3QvdmVuZG9yZWRfcGFja2FnZXMvcGx1Z2d5LTAuMy4xLmRpc3QtaW5mby93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvdmVuZG9yZWRfcGFja2FnZXMvcGx1Z2d5LTAuMy4xLmRp
c3QtaW5mby93M2MtaW1wb3J0LmxvZwppbmRleCBiMzliNzUxYTA3NmNhM2E4Y2FkNzc2NmY5ZjQ3
ZTM5ZDQ1OWMyZGYwLi5hNDU0ZjNiNzNjZGUwYTkwNDg1MDMyMmQwOTdlNzEzODFiNDYwYjUzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5dGVzdC9fcHl0ZXN0L3ZlbmRvcmVkX3BhY2thZ2VzL3BsdWdneS0wLjMuMS5kaXN0LWlu
Zm8vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC92ZW5kb3JlZF9wYWNrYWdlcy9wbHVnZ3kt
MC4zLjEuZGlzdC1pbmZvL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L3ZlbmRvcmVkX3Bh
Y2thZ2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC92ZW5kb3JlZF9wYWNrYWdlcy93M2MtaW1w
b3J0LmxvZwppbmRleCAxMDY1NmU2MTkxMDZlNGRkNWM4NjhmZDQ2YjVlOGUxZDk1N2ZkYjRhLi5i
NmY1M2M1YzEzMzJjNWE1YmUwNTk1OTJkYzM0OGJjODJhMzA5OTdiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0
ZXN0L3ZlbmRvcmVkX3BhY2thZ2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvdmVuZG9y
ZWRfcGFja2FnZXMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVz
dC9fcHl0ZXN0L3czYy1pbXBvcnQubG9nCmluZGV4IGE3YjgwMzA3NWUzMDE4MjdhYWNkMjZkNDFl
ZWZlMzQ4ZTE2ZGFmNTIuLjViYWI5MjAxOGYyMzFkNmI0N2E2NjEwMzBiYjJhMzRlYjI5YWQyZWIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcHl0ZXN0L19weXRlc3QvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weXRlc3QvYmVuY2gvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9iZW5jaC93M2MtaW1wb3J0Lmxv
ZwppbmRleCA2NWExZmZkMTY3YTdiYmYwNjZhYjUwMTZjOWY2ZWY0YWU0NGVkODc0Li4zMzAzYWU2
NjU5YWViNzRhMzIwMzQyMmM4NTllNzVjNWFhOGY0ZTZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9iZW5jaC93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5dGVzdC9iZW5jaC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190ZW1w
bGF0ZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RlbXBsYXRlcy93M2MtaW1wb3J0LmxvZwpp
bmRleCAyOGNmOTdiNzJlY2Y1NmZlZWRjNDgyNWQxOWMyNDNjYWQzMTRlMzc2Li44MmRlYWE5ZTg3
YmY3ZjA1NDlmNTA1MDMzOGE4MjBkNGZmYWJjMTY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RlbXBs
YXRlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RlbXBsYXRlcy93M2MtaW1wb3J0Lmxv
ZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRl
c3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXRlc3QvZG9jL2VuL190aGVtZXMvZmxhc2svc3RhdGljL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9j
L2VuL190aGVtZXMvZmxhc2svc3RhdGljL3czYy1pbXBvcnQubG9nCmluZGV4IGViZWEyNjk5MWYw
ZWEzNGJlOGIwMmIzNjQyMzQxNDg5N2NjMmVhYjkuLjIzNWU2NzhiODlmZTVkMDczNTI0Y2VlNTBl
YmRmYTk2M2M0ZGI2YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9fdGhlbWVzL2ZsYXNrL3N0YXRpYy93
M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RoZW1lcy9mbGFzay9zdGF0aWMvdzNjLWltcG9y
dC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3
Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcHl0ZXN0L2RvYy9lbi9fdGhlbWVzL2ZsYXNrL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2Vu
L190aGVtZXMvZmxhc2svdzNjLWltcG9ydC5sb2cKaW5kZXggZWM2MDdiZWRiZDVjNGU1N2RmYWZl
YTljZDZlMDQ4MjIxODU1MDUwNC4uMjQ1MmUyOTA3Y2NlMGNmN2M1ZmZlMjA4ODhmOWU0NmUyMDlk
ZDllZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190aGVtZXMvZmxhc2svdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRl
c3QvZG9jL2VuL190aGVtZXMvZmxhc2svdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9fdGhl
bWVzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190aGVtZXMvdzNjLWltcG9ydC5sb2cKaW5kZXgg
ZjJkYWYwOGVjMGZjZmQ4OTY4MDliOThjY2YwMTRkZWFhMTY2ZjVkZi4uNWJjNzg1Yzk3MTUzNmM0
ZDBhMTcwMGRjNDRhODY5NTE1MDg3MzNiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190aGVtZXMvdzNj
LWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190aGVtZXMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyAr
MSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9y
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2Rv
Yy9lbi9hbm5vdW5jZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9hbm5vdW5jZS93M2MtaW1wb3J0
LmxvZwppbmRleCA0MDMzMGY2OWQ4ZTQyZmU0OTljMWQwYzcwNDVkOGVlZDI3OWIzOTg3Li5iZDZj
YzAzOWI4YTYxYWQ3ZGZlNjNmYzc5ZjY4Y2YwZjQzNjA2NmYyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4v
YW5ub3VuY2UvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2Fubm91bmNlL3czYy1pbXBvcnQu
bG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1w
b3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3Rz
IGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ct
dGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgog
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9hc3NlcnRpb24vZ2xvYmFsX3Rlc3Rtb2R1bGVfY29u
ZmlnL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvYXNzZXJ0aW9uL2dsb2JhbF90ZXN0
bW9kdWxlX2NvbmZpZy93M2MtaW1wb3J0LmxvZwppbmRleCA5MGViOGRlY2NiOWNjN2Y5OTIxYTZm
ZTUyMGVkOGUxZjYxZjA0NjBmLi40NjUyZjRmNTQ0OTZjNWY4Nzg2N2M5OTBkNjAxNTc4MDVhMzgz
ZDU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9hc3NlcnRpb24vZ2xvYmFsX3Rlc3Rtb2R1
bGVfY29uZmlnL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Fzc2VydGlvbi9n
bG9iYWxfdGVzdG1vZHVsZV9jb25maWcvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFt
cGxlL2Fzc2VydGlvbi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Fzc2VydGlvbi93
M2MtaW1wb3J0LmxvZwppbmRleCA3MDRhNzljNzEwODFiNjJlOGIzNTM4NGZiNWEwOWIyOGY4MGRh
ZWU3Li45OTI0N2I3MDJkZGQ3YWNkNTYwNDUyZGM2NmI1ZDNmY2FhNDU0MjUxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVz
dC9kb2MvZW4vZXhhbXBsZS9hc3NlcnRpb24vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4
YW1wbGUvYXNzZXJ0aW9uL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0
bHlzZXR1cC9zdWIxL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvY29zdGx5c2V0dXAv
c3ViMS93M2MtaW1wb3J0LmxvZwppbmRleCBhOGJmYTYzNDJkOGI0MTFhMWEwMDk4ZDEyYmQyNTYx
YmU2Y2Y2NmI3Li4xYTBkMTFlY2NhZWEyNzk1ODAyNDEwYzUwNTU3NGQzM2QwNjgzNDE1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlzZXR1cC9zdWIxL3czYy1pbXBvcnQubG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVwL3N1YjEvdzNjLWltcG9ydC5sb2cKQEAgLTEs
NyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NT
IG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0
L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVwL3N1YjIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4v
ZXhhbXBsZS9jb3N0bHlzZXR1cC9zdWIyL3czYy1pbXBvcnQubG9nCmluZGV4IGMwMmQ3YjFhZjBl
NjA3NGMxNDJjNGMwZjg5ZmM3NWI4NDQyMmZmYjAuLmI1MDUzMTFmODU4NWExODcxMDFlMjYxMWNm
NWE2MGZlNjc2MzA5YTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVwL3N1
YjIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvY29zdGx5c2V0dXAvc3ViMi93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvY29zdGx5c2V0dXAvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlzZXR1cC93M2MtaW1wb3J0LmxvZwppbmRleCAz
Y2FmOWQxNDRhN2I0ZTNjYjc5NTlhMmJiODA5MTQwZjg0NmFhZmZkLi5kZjRkYzg0ZDJiZDhkYzA0
Mzc0ZjUxYjdkMjBjYmM1ZGExODVjNDkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0
bHlzZXR1cC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlzZXR1cC93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvbGF5b3V0MS93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L2RvYy9lbi9leGFtcGxlL2xheW91dDEvdzNjLWltcG9ydC5sb2cKaW5kZXggZjNmOGZiZWYz
MzAwMjgwNGNlMjkzNGQ2MTQ4NTIyZGJiMTM0NDIyYS4uY2YyNjkwNWRlNTRiN2ExZWQ4MGJkZTRj
NDdmMzg5ZTIyMmQ2OTg2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvbGF5b3V0MS93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9sYXlvdXQxL3czYy1pbXBvcnQubG9nCkBA
IC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzND
IENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
dGVzdC9kb2MvZW4vZXhhbXBsZS9ub25weXRob24vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhh
bXBsZS9ub25weXRob24vdzNjLWltcG9ydC5sb2cKaW5kZXggMWQxOGU1MWJjZDg3ZjY3MTVjMWI3
ODExNWE5MzBiYjg5ZTgxNjg2NS4uZTI5ZTZlMGFiMzk5YTQ5N2ZmOGNlZjA2MGYzNWRlZDM0NTU1
MWI3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvbm9ucHl0aG9uL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L2RvYy9lbi9leGFtcGxlL25vbnB5dGhvbi93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsx
LDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3Ig
V1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9j
L2VuL2V4YW1wbGUvcHkycHkzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvcHkycHkz
L3czYy1pbXBvcnQubG9nCmluZGV4IGExZmY5YjFhODEzOGEwOTlmYTljZGEyZWY0ZGZjNmMzZDg5
ODAzMTguLjk4MzBjZTM3YzJmMTA0NGU5NmY1ODljZWIyNjA5ZWU0ZWNkOTA5YTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L2RvYy9lbi9leGFtcGxlL3B5MnB5My93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhh
bXBsZS9weTJweTMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvdzNjLWltcG9ydC5sb2cKaW5kZXggYjYxMjg3ZTE0Mjdm
NmIxZTdkMDk2NWNhMzRhY2E0MDZjYTQ4ZWM0OC4uNTkwOWZkMTU1MjQwZTE3NDFiMTFlM2FiOTg0
MTVhMWZmZWRiNzhlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eXRlc3QvZG9jL2VuL2V4YW1wbGUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9pbWcvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5dGVzdC9kb2MvZW4vaW1nL3czYy1pbXBvcnQubG9nCmluZGV4IDkyMmQ0MzU5OTM1
YzI3ODBmMDdmZDU0ZmNiYTYwMGNhOGQyODM1ZTAuLjNjOWYyMjFkNzY0NDRjYWFlZWJjZjJjNmJl
YmQ5MDBkOGMzNDAwMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9pbWcvdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRl
c3QvZG9jL2VuL2ltZy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgog
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3Rlc3QvcGx1Z2luL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weXRlc3QvZG9jL2VuL3Rlc3QvcGx1Z2luL3czYy1pbXBvcnQubG9nCmluZGV4IDc5
MmM1NGZlZmY4MDc3MDUwNDcwMzFlNDc3YWRkY2RmMGY3MjNlYzMuLmEwM2ZlOGQ4MzdlYWMyZGEz
MDNlZjMxNjZiMzAwNjIzZWI0OTdiNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi90ZXN0L3BsdWdpbi93
M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vdGVzdC9wbHVnaW4vdzNjLWltcG9ydC5sb2cKQEAg
LTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBm
cm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0
bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0Mg
Q1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L2RvYy9lbi90ZXN0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3Rlc3QvdzNjLWltcG9ydC5s
b2cKaW5kZXggMjExMmUzNzZkM2EyZTVjZjA5NTAwY2FjNTU5Yjk3NWEwOGQxZmQ4Ny4uZTg0ZmE5
ZmVlNzhmNDY0OGMzMTRiMzlkNjA1MDFkZDhkM2Y2ZmVjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3Rl
c3QvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3Rlc3QvdzNjLWltcG9ydC5sb2cKQEAgLTEs
NyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NT
IG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0
L2RvYy9lbi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi93M2MtaW1wb3J0LmxvZwppbmRleCA3YWVk
OWEyNGJlM2VkNTcwMmNkYmQxZThiNzkyNjkxNTk3NGY3NzZlLi5lNGE2ZWM2M2ZkNDFhOWE3NDI2
MWZmZGM2ZjVkMWQxMjAxYjBhNjVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eXRlc3QvZG9jL2VuL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9leHRyYS9zZXR1cC1weS50ZXN0L3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weXRlc3QvZXh0cmEvc2V0dXAtcHkudGVzdC93M2MtaW1wb3J0LmxvZwppbmRleCBm
NGIzZmRmYjRjNDg5ZDRjZWYwN2QzNDQ0NzBmZjMxNWEwMGNlYWI1Li5iMDQyNDQxOGEzYjY2NzZh
MTY5OTNkM2NjNGRkZWUxYzZmYzdiMjVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9leHRyYS9zZXR1cC1weS50ZXN0
L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2V4dHJhL3NldHVwLXB5LnRlc3QvdzNjLWltcG9ydC5sb2cK
QEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRl
ZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGly
ZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
M0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L2V4dHJhL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZXh0cmEvdzNjLWltcG9ydC5sb2cKaW5kZXgg
N2M0Y2I5OWFjMTdiODQzOWIzMTFiM2Q1OTNkZGM4N2ZmMzg1MGJhYi4uZDAyODQ4MGU5MDczNTkw
NGVlZmQzZTE3M2VjMDFiNzAwM2QwMjY2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZXh0cmEvdzNjLWltcG9ydC5s
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXRlc3QvZXh0cmEvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvY29kZS93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHl0ZXN0L3Rlc3RpbmcvY29kZS93M2MtaW1wb3J0LmxvZwppbmRleCA2NDk2OTM4MWMyNTEz
YjQxY2E1NzY0OWZmZTU0NGJlNDc1MDNiMDM4Li4wYjgyZTY0NjQwMTUwYWEyNGE1YjY4YjAxMmRi
NTg2NTRhY2I2NjUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5nL2NvZGUvdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRl
c3QvdGVzdGluZy9jb2RlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5nL2N4X2ZyZWV6ZS90
ZXN0cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3Rlc3RzL3czYy1pbXBvcnQu
bG9nCmluZGV4IGM3NjUxNjczMDY3Y2QwNmM4MjQzNWFlM2I3OGQ1NzA2NmQxZDM5OWMuLmRmYTg1
NTRhMTNkZDM0YTRlMDk1MTc1MjRhZGU1MGIyZDliMDFiMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3Rpbmcv
Y3hfZnJlZXplL3Rlc3RzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3Rl
c3RzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5nL2N4X2ZyZWV6ZS93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3czYy1pbXBvcnQubG9nCmluZGV4IDA5MzY4YzE2MDljM2Rj
YWEzYWZlZTY3OTA0ZTdhZjBkMDdiOGJjNDcuLjdiMjIzZmYwOTJkZWY2NzFkNjdlYjI1ZWI4MDY0
ZjQxZjg1MTI4NDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAog
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5nL3B5
dGhvbi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvcHl0aG9uL3czYy1pbXBvcnQubG9nCmluZGV4
IGZhZTRkYzc5YTE3ZDQ3ZTM2YmE2NGIxNWZkZGRhODg2MjVkN2U1MDMuLjhiNGVhYjA1YWZhOWVh
YzZkOTcwNDAyNjc4ZjA4MWZhMzYzODdkYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvcHl0aG9uL3cz
Yy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvcHl0aG9uL3czYy1pbXBvcnQubG9nCkBAIC0xLDcg
KzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBv
ciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90
ZXN0aW5nL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy93M2MtaW1wb3J0LmxvZwppbmRleCBjNGEz
MjBlYTQ1NzZjNmMxNTAxZWMzMWYzZDcxYzZhMGFlYmQ1ZmZmLi42YzAyMWMxZDBiOGQ5YTcwN2Jm
ZDJkZWQ5Y2NiNWQ5NzZmMTljZWIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5nL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L3Rlc3RpbmcvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdzNj
LWltcG9ydC5sb2cKaW5kZXggY2U3MzYzNjNjODFiYzM5MDc1MjQ5Y2Y1NjUxZmFmZTc3OGY2YWQ5
Yy4uMjhkYjcyZjBkODUzYzU2ZmRkZWRhZjc4ZGRjYzEzYmIyMmI5N2Q3OCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3Qv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL2V4YW1w
bGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9leGFtcGxlL3czYy1pbXBvcnQubG9nCmluZGV4
IGIyMTBiYTVlZmEzMzNlZjY4YjJkZDNmZWFjNGU3YjgyZDI2YmRjNWMuLmRmMWY3OTliYzQxYzRh
YzEwYzU4NmM3MWJjYTNjYmIzMDljMWI5YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL2V4YW1wbGUv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvZXhhbXBsZS93M2MtaW1wb3J0LmxvZwpAQCAt
MSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBD
U1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0lu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdl
YnNvY2tldC9zcmMvbW9kX3B5d2Vic29ja2V0L2hhbmRzaGFrZS93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2Nr
ZXQvc3JjL21vZF9weXdlYnNvY2tldC9oYW5kc2hha2UvdzNjLWltcG9ydC5sb2cKaW5kZXggNjFk
MzUwZjgxMDFiOTE5Y2I2YWE1OGI0NzM4YTFhYTgwYzhjZGZkMS4uMWZmOGM3YTc0MjYzM2RhOWE1
NjQ5Y2IxZjM5YzYwMjlkMTJiOTI1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvbW9kX3B5d2Vic29j
a2V0L2hhbmRzaGFrZS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9tb2RfcHl3ZWJzb2Nr
ZXQvaGFuZHNoYWtlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9tb2RfcHl3ZWJzb2Nr
ZXQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9tb2RfcHl3ZWJzb2NrZXQvdzNjLWltcG9ydC5s
b2cKaW5kZXggM2QzNTk5Mzc3OWI1YWY4ZmZjOWJkNGM0ZjI5ZGIwNjhkM2E2MWY4My4uMzUyOTQ1
ZDQzNzNmNmM4ZDVjNTYxZmU1MGI0YmQ1ZmY5MzYxNWE0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMv
bW9kX3B5d2Vic29ja2V0L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL21vZF9weXdlYnNv
Y2tldC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC9jZXJ0L3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eXdlYnNvY2tldC9zcmMvdGVzdC9jZXJ0L3czYy1pbXBvcnQubG9nCmluZGV4IGE2MGQwNzhhZjRi
Y2Y2M2M3NTA2YmViY2M3OWM3ZmZkNzRkZWRiMzYuLjdiZDcwM2Q4MjFlYTViYWVlMTU1NjExZWU4
NDdmMjcwY2JhMjZmNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL3Rlc3QvY2VydC93M2MtaW1wb3J0
LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L2NlcnQvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2
IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQ
VCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQv
c3JjL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMv
dGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIvdzNjLWltcG9ydC5sb2cKaW5kZXggMTJlNzcwYzNi
ZTRkNDkxMGY1OWY2NDc3MGVhNmI5OWMwZGYyMzM1MC4uNGFkM2YyZTg1OTEwY2I2N2NhMjM2YjE0
M2ZkMTBhNWEyNzdlZGVkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS9oYW5k
bGVycy9zdWIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS9oYW5k
bGVycy9zdWIvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL3Rlc3QvdGVzdGRhdGEvaGFu
ZGxlcnMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3cz
Yy1pbXBvcnQubG9nCmluZGV4IGVjYmZjYzk5NjgxM2M5MzRmZjk5NzQ4NjkzMTllMWQwNGEzYmNj
M2UuLjU0MDI4YWU0Nzc2Y2Q2NzlkZjNiNDM0NjhjNzE2MzFhMTVhZjBiMTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJz
b2NrZXQvc3JjL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tl
dC9zcmMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYg
QEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BU
IGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9z
cmMvdGVzdC90ZXN0ZGF0YS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL3Rlc3QvdGVzdGRhdGEv
dzNjLWltcG9ydC5sb2cKaW5kZXggNjczNjhkZWJjYzg1Mjk5ZDY2MTM1NDg1NTIwZGFhZTE3NzBi
YTkzOC4uYWU1MzFmOTEzNDFmODZmYWFlNDgxMGE3YzAyMzRmNjc0MDdiMzJhMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdl
YnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90
ZXN0L3Rlc3RkYXRhL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXdlYnNvY2tldC9zcmMvdGVzdC93M2MtaW1wb3J0LmxvZwppbmRleCAzMzIwOGM1NGFmYjM2
MDNiNjEyMDA3NTBhODQ2MWRkMDc1NmY4ZGE2Li44ZWU3MjQwZGEyODk5MjIzYzZjMjI0OTk3MzZh
Y2JkYzYzYWZkNTgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3czYy1pbXBvcnQubG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3
ZWJzb2NrZXQvc3JjL3Rlc3QvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXdlYnNvY2tldC9zcmMvdzNjLWltcG9ydC5sb2cKaW5kZXggYjdkZDUzNDA3NTI1MDRlN2Zl
NjM0YjVkNWU4Y2Q5MGJiZjBjMmVjYy4uN2QzMmE2YjZiYmJmODZjZTg4Y2U2OWFiYzNkZTVhNTM0
MDAxNmM2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9z
cmMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMK
IAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL2Nzcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL2Nzcy93M2MtaW1w
b3J0LmxvZwppbmRleCBkMzFmYmIxZTJiZmM3M2IyNmNjZDAwY2NkZDVlNTIyYzE4MmU1Yzk1Li5j
NWYzZDQ3ZTljYjdiNDE1ZGVhZDdmZDFiODNlM2U5YzJlZGY5NjE2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3J1bm5lci9jc3Mv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9ydW5uZXIvY3NzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAog
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3J1bm5lci9mb250cy93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcnVubmVyL2ZvbnRzL3czYy1pbXBvcnQubG9nCmluZGV4IDczOTZhMjkwYzRiOWY4NmY2
MDlhYTM5ODQwM2IxNjJhZjViZTRiYjkuLmU4MzI3YmJjOGQ1MmZkZTA0ODU0NGUyMDBlMmU1YWVj
NTc0NDFhNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcnVubmVyL2ZvbnRzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL2ZvbnRzL3cz
Yy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQg
Z2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRo
ZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJl
aW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3J1bm5lci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL3czYy1pbXBvcnQubG9nCmluZGV4
IGEzYzFiYjVhMWQ3YjQ3ODMxNzBkODE4NDA5Njg0Zjg5MThkOTI1ZTIuLjQ1MWVlMjllNjcxNDFm
NzAyYTIzZjc3ZDc2MTk0YWVmNzdiZWIxZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL3czYy1pbXBvcnQubG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVu
bmVyL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3NjcmlwdHMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NjcmlwdHMvdzNjLWltcG9ydC5s
b2cKaW5kZXggNmMxZmUxZjJjNDQwMzBhZmMzNjNiOTYwZjE1MTU0NmU4ZDIyOGRmZS4uMTMyNjU3
M2U5ODU3YTNjNDE0MDRlYWQyZjg1NzE5NDM2NWI3ZTBhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zY3JpcHRzL3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvc2NyaXB0cy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgog
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zZXJ2ZS93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2VydmUvdzNjLWlt
cG9ydC5sb2cKaW5kZXggZDQ0YWUzOTg4N2U3NGNmZDJlNTdiNTUwZjI4NTUxMzFiODlmZjQ0NS4u
YjI4MTgwOTdjOTU0NGQ4YmI1NTg3NDkzODUyOTZlODAwZmIwMTM0OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zZXJ2ZS93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3NlcnZlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NpeC9kb2N1bWVudGF0aW9uL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9zaXgvZG9jdW1lbnRhdGlvbi93M2MtaW1wb3J0LmxvZwppbmRleCBkODRiZWNhYThiNDFkZGMx
NjlmMGI1NzkwNTEwZWQxZmRlZGIxYTkzLi5mMGQ3Yjc4ZmI1MTYwODVjYTBhNzNiMDQ1NDgwMDZl
N2E1MjFlZjMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3NpeC9kb2N1bWVudGF0aW9uL3czYy1pbXBvcnQubG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4L2RvY3Vt
ZW50YXRpb24vdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zaXgvdzNjLWltcG9ydC5sb2cK
aW5kZXggYzJkNDYwNTBhZDlmMzAxZDk0NWMwNzliMzMzMGI0OGVhMWNjYzU4YS4uNzU1MzMwZWFi
Y2ZlOTY5ZTJlMjUzYWRmMTgwZDEzZjQ1ZjNjODkzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zaXgvdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9z
aXgvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMK
IAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKQEAgLTIzLDUgKzIyLDYgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NpeC9zZXR1cC5jZmcKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NpeC9zZXR1
cC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
c2l4L3NpeC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvc2l4L3NpeC5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3NpeC90ZXN0X3NpeC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4L3RveC5pbmkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc3NsdXRpbHMvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3NzbHV0aWxzL3czYy1pbXBvcnQubG9nCmluZGV4IGIyMTVhMmRjZTA5OGU5NWE5OWRlMWRj
OTBiZDM2Mzc0YWY1N2ZkN2EuLjM0NzhkZTk3NjQ5MzYzMDY4YmU2ODhhYjEyYThlM2ZjMTNlYWQy
OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvc3NsdXRpbHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zc2x1dGlscy93M2MtaW1wb3J0LmxvZwpA
QCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFcz
QyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QK
K0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
b3guaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90b3guaW5pCmluZGV4IDRkNzI2MzBiMmE4MzcwNjIwZDYwNmYwMzdlODYxZDJiMTg2ZWIzMDku
LjFlYTMwYTVkYTE4NjE2YTEyZjY0MzI4OWE5MGUwNjc2MGQ5NDljODcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdG94LmluaQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Rv
eC5pbmkKQEAgLTIxLDQgKzIxLDQgQEAgcGFzc2VudiA9CiBbZmxha2U4XQogaWdub3JlID0gRTEy
OCxFMTI5LEUyMjEsRTIyNixFMjMxLEUyNTEsRTI2NSxFMzAyLEUzMDMsRTMwNSxFNDAyLEU5MDEs
RjQwMSxGODIxLEY4NDEKIG1heC1saW5lLWxlbmd0aCA9IDE0MQotZXhjbHVkZSA9IC50b3gsaHRt
bDVsaWIscHkscHl0ZXN0LHB5d2Vic29ja2V0LHNpeCxfdmVudix3cHRzZXJ2ZS9kb2NzLHdwdHNl
cnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC8KK2V4Y2x1ZGUgPSAudG94LGh0bWw1bGliLHB5
LHB5dGVzdCxweXdlYnNvY2tldCxzaXgsX3ZlbnYsd2ViZW5jb2RpbmdzLHdwdHNlcnZlL2RvY3Ms
d3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC9kb2Nyb290Lyx3cHRydW5uZXIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3czYy1pbXBvcnQubG9nCmluZGV4IGI1MzE5ZDFhNjIxNjk4ZTcxM2Y5OWU0YjQ3NDY3NGIz
NDdkNjFkN2QuLjEzNDA5M2FjMjcxMjcyNTZkNDBmZTBmNjg3ZWJhYzk0ZGQzYjgxZDAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgog
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydApAQCAtMTUsNyArMTQsNiBAQCBQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBv
ZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL0xJQ0VOU0UKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL19faW5pdF9fLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9fX2luaXRfXy5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2FwcHZleW9yLnltbApAQCAtMjQsMyArMjIsNCBAQCBMaXN0
IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvbG9jYWxwYXRocy5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC5pbmkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RveC5pbmkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bi5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvUkVBRE1F
Lm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
ZWJkcml2ZXIvUkVBRE1FLm1kCmluZGV4IDE5NDAwOWY4YTA0ZDYxZTY4Nzg4NTkyOTc0ODY3NzA1
ZjM2OGY4YWIuLjAxNWIzMWIyNTRjZTFiZGQ4MGMyNWUzZmQzY2Q5Njg3MDhhMTI5ZTUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d2ViZHJpdmVyL1JFQURNRS5tZAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci9SRUFETUUubWQKQEAgLTMzLDkgKzMzLDcgQEAg
d2hpY2ggaXMgdXNlZnVsIGlmIHlvdSB3YW50IHRvIGNvbnRyaWJ1dGUgcGF0Y2hlcyBiYWNrOgog
SWYgeW91IGFyZSB3cml0aW5nIFdlYkRyaXZlciBzcGVjaWZpY2F0aW9uIHRlc3RzIGZvcgogW1dQ
VF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMpLAogdGhlcmUgaXMg
bm8gbmVlZCB0byBpbnN0YWxsIHRoZSBjbGllbnQgbWFudWFsbHkKLWFzIGl0IGlzIHBpY2tlZCB1
cCBhcyBhIHN1Ym1vZHVsZSB0bwotW3dwdC10b29sc10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
cHQtdG9vbHMpCi10aGF0IGlzIGNoZWNrZWQgb3V0IGluIGAuL3Rvb2xzYC4KK2FzIGl0IGlzIGlu
Y2x1ZGVkIGluIHRoZSBgdG9vbHMvd2ViZHJpdmVyYCBkaXJlY3RvcnkuCiAKICMjIFVzYWdlCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd2ViZHJpdmVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvdzNjLWltcG9ydC5sb2cKaW5kZXgg
MTE3N2ZkN2Y1ZTVjMzc0YmMwNWI3NDlkOTViZTA3NTgzNTc3NjlmOS4uZDkzNDFhNzcyZDkxMGFk
ZWY4ZmJkNGMxODJjODc5NDM5OTkxZmZlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
ZWJkcml2ZXIvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZlci9jbGllbnQucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZl
ci93ZWJkcml2ZXIvY2xpZW50LnB5CmluZGV4IGQzMjcwOTlmYmE0ODEzZjBiMmI3ZGI5ODJhZjE2
ZDMzYTc1ZjliYmEuLmM5NDhjOGU0MThlZWE2MGE4ZmI1YzI3NTE3YjBlZmUxNWE2Njg4NmEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd2ViZHJpdmVyL3dlYmRyaXZlci9jbGllbnQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvd2ViZHJpdmVyL2NsaWVu
dC5weQpAQCAtNTk1LDEyICs1OTUsOCBAQCBjbGFzcyBFbGVtZW50KG9iamVjdCk6CiAgICAgICAg
IHNlbGYuc2VuZF9lbGVtZW50X2NvbW1hbmQoIlBPU1QiLCBzZWxmLnVybCgiY2xlYXIiKSwge30p
CiAKICAgICBAY29tbWFuZAotICAgIGRlZiBzZW5kX2tleXMoc2VsZiwga2V5cyk6Ci0gICAgICAg
IGlmIGlzaW5zdGFuY2Uoa2V5cywgKHN0ciwgdW5pY29kZSkpOgotICAgICAgICAgICAga2V5cyA9
IFtjaGFyIGZvciBjaGFyIGluIGtleXNdCi0KLSAgICAgICAgYm9keSA9IHsidmFsdWUiOiBrZXlz
fQotICAgICAgICByZXR1cm4gc2VsZi5zZW5kX2VsZW1lbnRfY29tbWFuZCgiUE9TVCIsICJ2YWx1
ZSIsIGJvZHkpCisgICAgZGVmIHNlbmRfa2V5cyhzZWxmLCB0ZXh0KToKKyAgICAgICAgcmV0dXJu
IHNlbGYuc2VuZF9lbGVtZW50X2NvbW1hbmQoIlBPU1QiLCAidmFsdWUiLCB7InRleHQiOiB0ZXh0
fSkKIAogICAgIEBwcm9wZXJ0eQogICAgIEBjb21tYW5kCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93ZWJkcml2
ZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93ZWJkcml2ZXIvdzNjLWltcG9ydC5sb2cKaW5kZXggOTZi
YjZmNjBkYzA0NzBjNDQzZWQ1ZTY3MmI2MDM5ZTFlYmNlNGUxMC4uOGVhMzMzNmI3Yjc1NWI4Zjdj
ZDRmMTRiM2I3ZWI5ZTcyYzU1MWY5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvd2ViZHJpdmVyL3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZlci93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAK
IFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyBy
ZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQu
Ci1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdp
dGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW4ucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bi5weQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yZTM5M2QxY2NiZDUzZjVjZWU5ZDJjMjQzNWIxYmE5Nzg5YTcyY2ZkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW4ucHkKQEAgLTAsMCArMSwyNTkgQEAKK2ltcG9ydCBhcmdwYXJzZQoraW1w
b3J0IG9zCitpbXBvcnQgc2h1dGlsCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworaW1w
b3J0IHRhcmZpbGUKK2Zyb20gZGlzdHV0aWxzLnNwYXduIGltcG9ydCBmaW5kX2V4ZWN1dGFibGUK
KworZnJvbSB0b29scyBpbXBvcnQgbG9jYWxwYXRocworZnJvbSBicm93c2VydXRpbHMgaW1wb3J0
IGJyb3dzZXIsIHV0aWxzLCB2aXJ0dWFsZW52Citmcm9tIHdwdHJ1bm5lciBpbXBvcnQgd3B0cnVu
bmVyLCB3cHRjb21tYW5kbGluZQorbG9nZ2VyID0gTm9uZQorCit3cHRfcm9vdCA9IG9zLnBhdGgu
YWJzcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIikpCisK
KworY2xhc3MgV3B0cnVubmVySGVscEFjdGlvbihhcmdwYXJzZS5BY3Rpb24pOgorICAgIGRlZiBf
X2luaXRfXyhzZWxmLAorICAgICAgICAgICAgICAgICBvcHRpb25fc3RyaW5ncywKKyAgICAgICAg
ICAgICAgICAgZGVzdD1hcmdwYXJzZS5TVVBQUkVTUywKKyAgICAgICAgICAgICAgICAgZGVmYXVs
dD1hcmdwYXJzZS5TVVBQUkVTUywKKyAgICAgICAgICAgICAgICAgaGVscD1Ob25lKToKKyAgICAg
ICAgc3VwZXIoV3B0cnVubmVySGVscEFjdGlvbiwgc2VsZikuX19pbml0X18oCisgICAgICAgICAg
ICBvcHRpb25fc3RyaW5ncz1vcHRpb25fc3RyaW5ncywKKyAgICAgICAgICAgIGRlc3Q9ZGVzdCwK
KyAgICAgICAgICAgIGRlZmF1bHQ9ZGVmYXVsdCwKKyAgICAgICAgICAgIG5hcmdzPTAsCisgICAg
ICAgICAgICBoZWxwPWhlbHApCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgcGFyc2VyLCBuYW1l
c3BhY2UsIHZhbHVlcywgb3B0aW9uX3N0cmluZz1Ob25lKToKKyAgICAgICAgZnJvbSB3cHRydW5u
ZXIgaW1wb3J0IHdwdGNvbW1hbmRsaW5lCisgICAgICAgIHdwdHBhcnNlciA9IHdwdGNvbW1hbmRs
aW5lLmNyZWF0ZV9wYXJzZXIoKQorICAgICAgICB3cHRwYXJzZXIudXNhZ2UgPSBwYXJzZXIudXNh
Z2UKKyAgICAgICAgd3B0cGFyc2VyLnByaW50X2hlbHAoKQorICAgICAgICBwYXJzZXIuZXhpdCgp
CisKKworZGVmIGNyZWF0ZV9wYXJzZXIoKToKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVu
dFBhcnNlcigpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgicHJvZHVjdCIsIGFjdGlvbj0ic3Rv
cmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iQnJvd3NlciB0byBydW4gdGVzdHMg
aW4iKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoInRlc3RzIiwgYWN0aW9uPSJzdG9yZSIsIG5h
cmdzPSIqIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8gdGVzdHMgdG8g
cnVuIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCJ3cHRydW5uZXJfYXJncyIsIG5hcmdzPWFy
Z3BhcnNlLlJFTUFJTkRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkFyZ3VtZW50
cyB0byBwYXNzIHRocm91Z2ggdG8gd3B0cnVubmVyIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50
KCItLXllcyIsICIteSIsIGRlc3Q9InByb21wdCIsIGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZWZh
dWx0PVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEb24ndCBwcm9tcHQgYmVm
b3JlIGluc3RhbGxpbmcgY29tcG9uZW50cyIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS13
cHRydW5uZXItaGVscCIsCisgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249V3B0cnVubmVy
SGVscEFjdGlvbiwgZGVmYXVsdD1hcmdwYXJzZS5TVVBQUkVTUywKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9IlByaW50IHdwdHJ1bm5lciBoZWxwIikKKyAgICByZXR1cm4gcGFyc2VyCisK
KworZGVmIGV4aXQobXNnKToKKyAgICBsb2dnZXIuZXJyb3IobXNnKQorICAgIHN5cy5leGl0KDEp
CisKKworZGVmIGFyZ3NfZ2VuZXJhbChrd2FyZ3MpOgorICAgIGt3YXJncy5zZXRfaWZfbm9uZSgi
dGVzdHNfcm9vdCIsIHdwdF9yb290KQorICAgIGt3YXJncy5zZXRfaWZfbm9uZSgibWV0YWRhdGFf
cm9vdCIsIHdwdF9yb290KQorICAgIGt3YXJncy5zZXRfaWZfbm9uZSgibWFuaWZlc3RfdXBkYXRl
IiwgVHJ1ZSkKKworCitkZWYgY2hlY2tfZW52aXJvbihwcm9kdWN0KToKKyAgICBpZiBwcm9kdWN0
ICE9ICJmaXJlZm94IjoKKyAgICAgICAgZXhwZWN0ZWRfaG9zdHMgPSBzZXQoWyJ3ZWItcGxhdGZv
cm0udGVzdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid3d3LndlYi1wbGF0Zm9y
bS50ZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3d3cxLndlYi1wbGF0Zm9y
bS50ZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3d3cyLndlYi1wbGF0Zm9y
bS50ZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bi0tbjhqNmRzNTNsd3dr
cnFodjI4YS53ZWItcGxhdGZvcm0udGVzdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAieG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJub25leGlzdGVudC1vcmlnaW4ud2ViLXBsYXRmb3JtLnRlc3QiXSkKKyAgICAg
ICAgaWYgb3MudW5hbWUoKVswXSAhPSAiV2luZG93cyI6CisgICAgICAgICAgICBob3N0c19wYXRo
ID0gIi9ldGMvaG9zdHMiCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBob3N0c19wYXRoID0g
IkM6XFdpbmRvd3NcU3lzdGVtMzJcZHJpdmVyc1xldGNcaG9zdHMiCisgICAgICAgIHdpdGggb3Bl
bihob3N0c19wYXRoLCAiciIpIGFzIGY6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBmOgorICAg
ICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnNwbGl0KCIjIiwgMSlbMF0uc3RyaXAoKQorICAgICAg
ICAgICAgICAgIHBhcnRzID0gbGluZS5zcGxpdCgpCisgICAgICAgICAgICAgICAgaWYgbGVuKHBh
cnRzKSA9PSAyOgorICAgICAgICAgICAgICAgICAgICBob3N0ID0gcGFydHNbMV0KKyAgICAgICAg
ICAgICAgICAgICAgZXhwZWN0ZWRfaG9zdHMuZGlzY2FyZChob3N0KQorICAgICAgICAgICAgaWYg
ZXhwZWN0ZWRfaG9zdHM6CisgICAgICAgICAgICAgICAgZXhpdCgiIiJNaXNzaW5nIGhvc3RzIGZp
bGUgY29uZmlndXJhdGlvbiBmb3IgJXMuCitTZWUgUkVBRE1FLm1kIGZvciBtb3JlIGRldGFpbHMu
IiIiICUgIiwiLmpvaW4oZXhwZWN0ZWRfaG9zdHMpKQorCitkZWYgcHJvbXB0X2luc3RhbGwoY29t
cG9uZW50LCBwcm9tcHQpOgorICAgIGlmIG5vdCBwcm9tcHQ6CisgICAgICAgIHJldHVybiBUcnVl
CisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgcmVzcCA9IHJhd19pbnB1dCgiRG93bmxvYWQgYW5k
IGluc3RhbGwgJXMgW1kvbl0/ICIgJSBjb21wb25lbnQpLnN0cmlwKCkubG93ZXIoKQorICAgICAg
ICBpZiBub3QgcmVzcCBvciByZXNwID09ICJ5IjoKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisg
ICAgICAgIGVsaWYgcmVzcCA9PSAibiI6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKworCitk
ZWYgYXJnc19maXJlZm94KHZlbnYsIGt3YXJncywgZmlyZWZveCwgcHJvbXB0PVRydWUpOgorICAg
IGlmIGt3YXJnc1siYmluYXJ5Il0gaXMgTm9uZToKKyAgICAgICAgYmluYXJ5ID0gZmlyZWZveC5m
aW5kX2JpbmFyeSgpCisgICAgICAgIGlmIGJpbmFyeSBpcyBOb25lOgorICAgICAgICAgICAgZXhp
dCgiIiJGaXJlZm94IGJpbmFyeSBub3QgZm91bmQgb24gJFBBVEguCisKK0luc3RhbGwgRmlyZWZv
eCBvciB1c2UgLS1iaW5hcnkgdG8gc2V0IHRoZSBiaW5hcnkgcGF0aCIiIikKKyAgICAgICAga3dh
cmdzWyJiaW5hcnkiXSA9IGJpbmFyeQorCisgICAgaWYga3dhcmdzWyJjZXJ0dXRpbF9iaW5hcnki
XSBpcyBOb25lIGFuZCBrd2FyZ3NbInNzbF90eXBlIl0gIT0gIm5vbmUiOgorICAgICAgICBjZXJ0
dXRpbCA9IGZpcmVmb3guZmluZF9jZXJ0dXRpbCgpCisKKyAgICAgICAgaWYgY2VydHV0aWwgaXMg
Tm9uZToKKyAgICAgICAgICAgICMgQ2FuJ3QgZG93bmxvYWQgdGhpcyBmb3Igbm93IGJlY2F1c2Ug
aXQncyBtaXNzaW5nIHRoZSBsaWJuc3MzIGxpYnJhcnkKKyAgICAgICAgICAgIGV4aXQoIiIiQ2Fu
J3QgZmluZCBjZXJ0dXRpbC4KKworVGhpcyBtdXN0IGJlIGluc3RhbGxlZCB1c2luZyB5b3VyIE9T
IHBhY2thZ2UgbWFuYWdlciBvciBkaXJlY3RseSBlLmcuCisKK0RlYmlhbi9VYnVudHU6CitzdWRv
IGFwdCBpbnN0YWxsIGxpYm5zczMtdG9vbHMKKworbWFjT1MvSG9tZWJyZXc6CiticmV3IGluc3Rh
bGwgbnNzCisKK090aGVyczoKK0Rvd25sb2FkIHRoZSBmaXJlZm94IGFyY2hpdmUgYW5kIGNvbW1v
bi50ZXN0cy56aXAgYXJjaGl2ZSBmb3IgeW91ciBwbGF0Zm9ybQorZnJvbQoraHR0cHM6Ly9hcmNo
aXZlLm1vemlsbGEub3JnL3B1Yi9maXJlZm94L25pZ2h0bHkvbGF0ZXN0LW1vemlsbGEtY2VudHJh
bC8KK1RoZW4gZXh0cmFjdCBjZXJ0dXRpbFsuZXhlXSBmcm9tIHRoZSB0ZXN0cy56aXAgcGFja2Fn
ZSBhbmQKK2xpYm5zczNbLnNvfC5kbGx8LmR5bmxpYl0gYW5kIGJ1dCB0aGUgZm9ybWVyIG9uIHlv
dXIgcGF0aCBhbmQgdGhlIGxhdHRlciBvbgoreW91ciBsaWJyYXJ5IHBhdGguCisiIiIpCisgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICBwcmludCgiVXNpbmcgY2VydHV0aWwgJXMiICUgY2VydHV0
aWwpCisKKyAgICAgICAgaWYgY2VydHV0aWwgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBrd2Fy
Z3NbImNlcnR1dGlsX2JpbmFyeSJdID0gY2VydHV0aWwKKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIHByaW50KCJVbmFibGUgdG8gZmluZCBvciBpbnN0YWxsIGNlcnR1dGlsLCBzZXR0aW5nIHNz
bC10eXBlIHRvIG5vbmUiKQorICAgICAgICAgICAga3dhcmdzWyJzc2xfdHlwZSJdID0gIm5vbmUi
CisKKyAgICBpZiBrd2FyZ3NbIndlYmRyaXZlcl9iaW5hcnkiXSBpcyBOb25lIGFuZCAid2RzcGVj
IiBpbiBrd2FyZ3NbInRlc3RfdHlwZXMiXToKKyAgICAgICAgd2ViZHJpdmVyX2JpbmFyeSA9IGZp
cmVmb3guZmluZF93ZWJkcml2ZXIoKQorCisgICAgICAgIGlmIHdlYmRyaXZlcl9iaW5hcnkgaXMg
Tm9uZToKKyAgICAgICAgICAgIGluc3RhbGwgPSBwcm9tcHRfaW5zdGFsbCgiZ2Vja29kcml2ZXIi
LCBwcm9tcHQpCisKKyAgICAgICAgICAgIGlmIGluc3RhbGw6CisgICAgICAgICAgICAgICAgcHJp
bnQoIkRvd25sb2FkaW5nIGdlY2tvZHJpdmVyIikKKyAgICAgICAgICAgICAgICB3ZWJkcml2ZXJf
YmluYXJ5ID0gZmlyZWZveC5pbnN0YWxsX3dlYmRyaXZlcihkZXN0PXZlbnYuYmluX3BhdGgpCisg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICBwcmludCgiVXNpbmcgd2ViZHJpdmVyIGJpbmFyeSAl
cyIgJSB3ZWJkcml2ZXJfYmluYXJ5KQorCisgICAgICAgIGlmIHdlYmRyaXZlcl9iaW5hcnk6Cisg
ICAgICAgICAgICBrd2FyZ3NbIndlYmRyaXZlcl9iaW5hcnkiXSA9IHdlYmRyaXZlcl9iaW5hcnkK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHByaW50KCJVbmFibGUgdG8gZmluZCBvciBpbnN0
YWxsIGdlY2tvZHJpdmVyLCBza2lwcGluZyB3ZHNwZWMgdGVzdHMiKQorICAgICAgICAgICAga3dh
cmdzWyJ0ZXN0X3R5cGVzIl0ucmVtb3ZlKCJ3ZHNwZWMiKQorCisgICAgaWYga3dhcmdzWyJwcmVm
c19yb290Il0gaXMgTm9uZToKKyAgICAgICAgcHJpbnQoIkRvd25sb2FkaW5nIGdlY2tvIHByZWZz
IikKKyAgICAgICAgcHJlZnNfcm9vdCA9IGZpcmVmb3guaW5zdGFsbF9wcmVmcyh2ZW52LnBhdGgp
CisgICAgICAgIGt3YXJnc1sicHJlZnNfcm9vdCJdID0gcHJlZnNfcm9vdAorCisKK2RlZiBzZXR1
cF9maXJlZm94KHZlbnYsIGt3YXJncywgcHJvbXB0PVRydWUpOgorICAgIGZpcmVmb3ggPSBicm93
c2VyLkZpcmVmb3goKQorICAgIGFyZ3NfZmlyZWZveCh2ZW52LCBrd2FyZ3MsIGZpcmVmb3gsIHBy
b21wdCkKKyAgICB2ZW52Lmluc3RhbGxfcmVxdWlyZW1lbnRzKG9zLnBhdGguam9pbih3cHRfcm9v
dCwgInRvb2xzIiwgIndwdHJ1bm5lciIsIGZpcmVmb3gucmVxdWlyZW1lbnRzKSkKKworCitkZWYg
YXJnc19jaHJvbWUodmVudiwga3dhcmdzLCBjaHJvbWUsIHByb21wdD1UcnVlKToKKyAgICBpZiBr
d2FyZ3NbIndlYmRyaXZlcl9iaW5hcnkiXSBpcyBOb25lOgorICAgICAgICB3ZWJkcml2ZXJfYmlu
YXJ5ID0gY2hyb21lLmZpbmRfd2ViZHJpdmVyKCkKKworICAgICAgICBpZiB3ZWJkcml2ZXJfYmlu
YXJ5IGlzIE5vbmU6CisgICAgICAgICAgICBpbnN0YWxsID0gcHJvbXB0X2luc3RhbGwoImNocm9t
ZWRyaXZlciIsIHByb21wdCkKKworICAgICAgICAgICAgaWYgaW5zdGFsbDoKKyAgICAgICAgICAg
ICAgICBwcmludCgiRG93bmxvYWRpbmcgY2hyb21lZHJpdmVyIikKKyAgICAgICAgICAgICAgICB3
ZWJkcml2ZXJfYmluYXJ5ID0gY2hyb21lLmluc3RhbGxfd2ViZHJpdmVyKGRlc3Q9dmVudi5iaW5f
cGF0aCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHByaW50KCJVc2luZyB3ZWJkcml2ZXIg
YmluYXJ5ICVzIiAlIHdlYmRyaXZlcl9iaW5hcnkpCisKKyAgICAgICAgaWYgd2ViZHJpdmVyX2Jp
bmFyeToKKyAgICAgICAgICAgIGt3YXJnc1sid2ViZHJpdmVyX2JpbmFyeSJdID0gd2ViZHJpdmVy
X2JpbmFyeQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZXhpdCgiVW5hYmxlIHRvIGxvY2F0
ZSBvciBpbnN0YWxsIGNocm9tZWRyaXZlciBiaW5hcnkiKQorCisKK2RlZiBzZXR1cF9jaHJvbWUo
dmVudiwga3dhcmdzLCBwcm9tcHQ9VHJ1ZSk6CisgICAgY2hyb21lID0gYnJvd3Nlci5DaHJvbWUo
KQorICAgIGFyZ3NfY2hyb21lKHZlbnYsIGt3YXJncywgY2hyb21lLCBwcm9tcHQpCisgICAgdmVu
di5pbnN0YWxsX3JlcXVpcmVtZW50cyhvcy5wYXRoLmpvaW4od3B0X3Jvb3QsICJ0b29scyIsICJ3
cHRydW5uZXIiLCBjaHJvbWUucmVxdWlyZW1lbnRzKSkKKworCitkZWYgc2V0dXBfZWRnZShrd2Fy
Z3MpOgorICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKworCitkZWYgc2V0dXBfc2F1Y2Uo
a3dhcmdzKToKKyAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCisKKworZGVmIHNldHVwX3Nl
cnZvKGt3YXJncyk6CisgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorCisKK3Byb2R1Y3Rf
c2V0dXAgPSB7CisgICAgImZpcmVmb3giOiBzZXR1cF9maXJlZm94LAorICAgICJjaHJvbWUiOiBz
ZXR1cF9jaHJvbWUKK30KKworCitkZWYgc2V0dXBfd3B0cnVubmVyKHZlbnYsIHByb2R1Y3QsIHRl
c3RzLCB3cHRydW5uZXJfYXJncywgcHJvbXB0PVRydWUsKToKKyAgICBnbG9iYWwgbG9nZ2VyCisK
KyAgICB3cHRwYXJzZXIgPSB3cHRjb21tYW5kbGluZS5jcmVhdGVfcGFyc2VyKCkKKyAgICBrd2Fy
Z3MgPSB1dGlscy5Ld2FyZ3ModmFycyh3cHRwYXJzZXIucGFyc2VfYXJncyh3cHRydW5uZXJfYXJn
cykpLml0ZXJpdGVtcygpKQorCisgICAgd3B0cnVubmVyLnNldHVwX2xvZ2dpbmcoa3dhcmdzLCB7
Im1hY2giOiBzeXMuc3Rkb3V0fSkKKyAgICBsb2dnZXIgPSB3cHRydW5uZXIubG9nZ2VyCisKKyAg
ICBrd2FyZ3NbInByb2R1Y3QiXSA9IHByb2R1Y3QKKyAgICBrd2FyZ3NbInRlc3RfbGlzdCJdID0g
dGVzdHMKKworICAgIGNoZWNrX2Vudmlyb24ocHJvZHVjdCkKKyAgICBhcmdzX2dlbmVyYWwoa3dh
cmdzKQorCisgICAgaWYgcHJvZHVjdCBub3QgaW4gcHJvZHVjdF9zZXR1cDoKKyAgICAgICAgZXhp
dCgiVW5zdXBwb3J0ZWQgcHJvZHVjdCAlcyIgJSBwcm9kdWN0KQorCisgICAgcHJvZHVjdF9zZXR1
cFtwcm9kdWN0XSh2ZW52LCBrd2FyZ3MsIHByb21wdCkKKworICAgIHdwdGNvbW1hbmRsaW5lLmNo
ZWNrX2FyZ3Moa3dhcmdzKQorCisgICAgd3B0cnVubmVyX3BhdGggPSBvcy5wYXRoLmpvaW4od3B0
X3Jvb3QsICJ0b29scyIsICJ3cHRydW5uZXIiKQorCisgICAgdmVudi5pbnN0YWxsX3JlcXVpcmVt
ZW50cyhvcy5wYXRoLmpvaW4od3B0cnVubmVyX3BhdGgsICJyZXF1aXJlbWVudHMudHh0IikpCisK
KyAgICByZXR1cm4ga3dhcmdzCisKKworZGVmIG1haW4oKToKKyAgICBwYXJzZXIgPSBjcmVhdGVf
cGFyc2VyKCkKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCisgICAgdmVudiA9IHZp
cnR1YWxlbnYuVmlydHVhbGVudihvcy5wYXRoLmpvaW4od3B0X3Jvb3QsICJfdmVudiIpKQorICAg
IHZlbnYuc3RhcnQoKQorCisgICAga3dhcmdzID0gc2V0dXBfd3B0cnVubmVyKHZlbnYsIGFyZ3Mu
cHJvZHVjdCwgYXJncy50ZXN0cywgYXJncy53cHRydW5uZXJfYXJncywgcHJvbXB0PWFyZ3MucHJv
bXB0KQorICAgIHdwdHJ1bm5lci5zdGFydCgqKmt3YXJncykKKworCitpZiBfX25hbWVfXyA9PSAi
X19tYWluX18iOgorICAgIGltcG9ydCBwZGIKKyAgICB0cnk6CisgICAgICAgIG1haW4oKQorICAg
IGV4Y2VwdDoKKyAgICAgICAgcGRiLnBvc3RfbW9ydGVtKCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL0xJQ0VO
U0UgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1ODk2ZTZiZTJiZDUxZjRiNzhlOTcwM2NhZWZi
OWI2NzJlMTBhNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9MSUNFTlNFCkBAIC0wLDAgKzEsMzAg
QEAKK1czQyAzLWNsYXVzZSBCU0QgTGljZW5zZQorCitodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0
aXVtL0xlZ2FsLzIwMDgvMDMtYnNkLWxpY2Vuc2UuaHRtbAorCitSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKK21ldDoKKworKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygd29ya3MgbXVzdCByZXRhaW4gdGhl
IG9yaWdpbmFsIGNvcHlyaWdodCBub3RpY2UsCisgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBvcmlnaW5hbCBjb3B5cmlnaHQKKyAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorCisqIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFczQyBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlCisgIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHdvcmsgd2l0aG91dAorICBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCitMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKK0EgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCitPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKK1NQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKK0xJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCitUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKK09GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci9NQU5JRkVTVC5pbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL01BTklGRVNULmluCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBj
NWUzOGJmMjY1NGQ0NjgzNWM5Y2VjYjYxZTYwMGU0YmFmMzU0ZWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci9NQU5JRkVTVC5pbgpAQCAtMCwwICsxLDE3IEBACitleGNsdWRlIE1BTklGRVNULmluCitp
bmNsdWRlIHJlcXVpcmVtZW50cy50eHQKK2luY2x1ZGUgd3B0cnVubmVyL2Jyb3dzZXJzL2IyZ19z
ZXR1cC8qCitpbmNsdWRlIHdwdHJ1bm5lci5kZWZhdWx0LmluaQoraW5jbHVkZSB3cHRydW5uZXIv
dGVzdGhhcm5lc3NfcnVubmVyLmh0bWwKK2luY2x1ZGUgd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzCitpbmNsdWRlIHdwdHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2by5qcworaW5j
bHVkZSB3cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQtc2Vydm9kcml2ZXIuanMKK2luY2x1ZGUg
d3B0cnVubmVyL2V4ZWN1dG9ycy90ZXN0aGFybmVzc19tYXJpb25ldHRlLmpzCitpbmNsdWRlIHdw
dHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3Nfc2Vydm9kcml2ZXIuanMKK2luY2x1ZGUgd3B0
cnVubmVyL2V4ZWN1dG9ycy90ZXN0aGFybmVzc193ZWJkcml2ZXIuanMKK2luY2x1ZGUgd3B0cnVu
bmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LmpzCitpbmNsdWRlIHdwdHJ1bm5lci9leGVjdXRvcnMvcmVm
dGVzdC13YWl0LmpzCitpbmNsdWRlIHdwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13YWl0X3Nl
cnZvZHJpdmVyLmpzCitpbmNsdWRlIHdwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13YWl0X3dl
YmRyaXZlci5qcworaW5jbHVkZSB3cHRydW5uZXIvY29uZmlnLmpzb24KK2luY2x1ZGUgd3B0cnVu
bmVyL2Jyb3dzZXJzL3NlcnZlci1sb2NhdGlvbnMudHh0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvUkVBRE1FLnJzdCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL1JFQURNRS5yc3QKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmM2NTBlZWM0NWFjYzJkMGVhYTA1MjljNWJjMTNlYTRkMDkxMjllOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL1JFQURNRS5yc3QKQEAgLTAsMCArMSwyNDIgQEAKK3dwdHJ1bm5lcjogQSB3ZWIt
cGxhdGZvcm0tdGVzdHMgaGFybmVzcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CisKK3dwdHJ1bm5lciBpcyBhIGhhcm5lc3MgZm9yIHJ1bm5pbmcgdGhlIFczQyBgd2Vi
LXBsYXRmb3JtLXRlc3RzIHRlc3RzdWl0ZWBfLgorCisuLiBjb250ZW50czo6CisKK0luc3RhbGxh
dGlvbgorfn5+fn5+fn5+fn5+CisKK3dwdHJ1bm5lciBpcyBleHBlY3RlZCB0byBiZSBpbnN0YWxs
ZWQgaW50byBhIHZpcnR1YWxlbnYgdXNpbmcgcGlwLiBGb3IKK2RldmVsb3BtZW50LCBpdCBjYW4g
YmUgaW5zdGFsbGVkIHVzaW5nIHRoZSBgLWVgIG9wdGlvbjo6CisKKyAgcGlwIGluc3RhbGwgLWUg
Li8KKworUnVubmluZyB0aGUgVGVzdHMKK35+fn5+fn5+fn5+fn5+fn5+CisKK0FmdGVyIGluc3Rh
bGxhdGlvbiwgdGhlIGNvbW1hbmQgYGB3cHRydW5uZXJgYCBzaG91bGQgYmUgYXZhaWxhYmxlIHRv
IHJ1bgordGhlIHRlc3RzLgorCitUaGUgYGB3cHRydW5uZXJgYCBjb21tYW5kICB0YWtlcyBtdWx0
aXBsZSBvcHRpb25zLCBvZiB3aGljaCB0aGUKK2ZvbGxvd2luZyBhcmUgbW9zdCBzaWduaWZpY2Fu
dDoKKworYGAtLXByb2R1Y3RgYCAoZGVmYXVsdHMgdG8gYGZpcmVmb3hgKQorICBUaGUgcHJvZHVj
dCB0byB0ZXN0IGFnYWluc3Q6IGBiMmdgLCBgY2hyb21lYCwgYGZpcmVmb3hgLCBvciBgc2Vydm9g
LgorCitgYC0tYmluYXJ5YGAgKHJlcXVpcmVkIGlmIHByb2R1Y3QgaXMgYGZpcmVmb3hgIG9yIGBz
ZXJ2b2ApCisgIFRoZSBwYXRoIHRvIGEgYmluYXJ5IGZpbGUgZm9yIHRoZSBwcm9kdWN0IChicm93
c2VyKSB0byB0ZXN0IGFnYWluc3QuCisKK2BgLS13ZWJkcml2ZXItYmluYXJ5YGAgKHJlcXVpcmVk
IGlmIHByb2R1Y3QgaXMgYGNocm9tZWApCisgIFRoZSBwYXRoIHRvIGEgYGRyaXZlcmAgYmluYXJ5
OyBlLmcuLCBhIGBjaHJvbWVkcml2ZXJgIGJpbmFyeS4KKworYGAtLWNlcnR1dGlsLWJpbmFyeWBg
IChyZXF1aXJlZCBpZiBwcm9kdWN0IGlzIGBmaXJlZm94YCBbI11fKQorICBUaGUgcGF0aCB0byBh
IGBjZXJ0dXRpbGAgYmluYXJ5IChmb3IgdGVzdHMgdGhhdCBtdXN0IGJlIHJ1biBvdmVyIGh0dHBz
KS4KKworYGAtLW1ldGFkYXRhYGAgKHJlcXVpcmVkKQorICBUaGUgcGF0aCB0byBhIGRpcmVjdG9y
eSBjb250YWluaW5nIHRlc3QgbWV0YWRhdGEuIFsjXV8KKworYGAtLXRlc3RzYGAgKHJlcXVpcmVk
KQorICBUaGUgcGF0aCB0byBhIGRpcmVjdG9yeSBjb250YWluaW5nIGEgd2ViLXBsYXRmb3JtLXRl
c3RzIGNoZWNrb3V0LgorCitgYC0tcHJlZnMtcm9vdGBgIChyZXF1aXJlZCBvbmx5IHdoZW4gdGVz
dGluZyBhIEZpcmVmb3ggYmluYXJ5KQorICBUaGUgcGF0aCB0byBhIGRpcmVjdG9yeSBjb250YWlu
aW5nIEZpcmVmb3ggdGVzdC1oYXJuZXNzIHByZWZlcmVuY2VzLiBbI11fCisKK2BgLS1jb25maWdg
YCAoc2hvdWxkIGRlZmF1bHQgdG8gYHdwdHJ1bm5lci5kZWZhdWx0LmluaWApCisgIFRoZSBwYXRo
IHRvIHRoZSBjb25maWcgKGluaSkgZmlsZS4KKworLi4gWyNdIFRoZSBgYC0tY2VydHV0aWwtYmlu
YXJ5YGAgb3B0aW9uIGlzIHJlcXVpcmVkIHdoZW4gdGhlIHByb2R1Y3QgaXMKKyAgIGBgZmlyZWZv
eGBgIHVubGVzcyBgYC0tc3NsLXR5cGU9bm9uZWBgIGlzIHNwZWNpZmllZC4KKworLi4gWyNdIFRo
ZSBgYC0tbWV0YWRhdGFgYCBwYXRoIGlzIHRvIGEgZGlyZWN0b3J5IHRoYXQgY29udGFpbnM6CisK
KyAgKiBhIGBgTUFOSUZFU1QuanNvbmBgIGZpbGUgKGluc3RydWN0aW9ucyBvbiBnZW5lcmF0aW5n
IHRoaXMgZmlsZSBhcmUKKyAgICBhdmFpbGFibGUgaW4gdGhlIGBkZXRhaWxlZCBkb2N1bWVudGF0
aW9uCisgICAgPGh0dHA6Ly93cHRydW5uZXIucmVhZHRoZWRvY3Mub3JnL2VuL2xhdGVzdC91c2Fn
ZS5odG1sI2luc3RhbGxpbmctd3B0cnVubmVyPmBfKTsKKyAgICBhbmQKKyAgKiAob3B0aW9uYWxs
eSkgYW55IGV4cGVjdGF0aW9uIGZpbGVzIChzZWUgYmVsb3cpCisKKy4uIFsjXSBFeGFtcGxlIGBg
LS1wcmVmcy1yb290YGAgdmFsdWU6IGBgfi9tb3ppbGxhLWNlbnRyYWwvdGVzdGluZy9wcm9maWxl
c2BgLgorCitUaGVyZSBhcmUgYWxzbyBhIHZhcmlldHkgb2Ygb3RoZXIgb3B0aW9ucyBhdmFpbGFi
bGU7IHVzZSBgYC0taGVscGBgIHRvCitsaXN0IHRoZW0uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK0V4YW1wbGU6IEhvdyB0byBzdGFydCB3cHRydW5uZXIKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVG8gdGVzdCBhIEZpcmVmb3ggTmlnaHRseSBidWlsZCBp
biBhbiBPUyBYIGVudmlyb25tZW50LCB5b3UgbWlnaHQgc3RhcnQKK3dwdHJ1bm5lciB1c2luZyBz
b21ldGhpbmcgc2ltaWxhciB0byB0aGUgZm9sbG93aW5nIGV4YW1wbGU6OgorCisgIHdwdHJ1bm5l
ciAtLW1ldGFkYXRhPX4vd2ViLXBsYXRmb3JtLXRlc3RzLyAtLXRlc3RzPX4vd2ViLXBsYXRmb3Jt
LXRlc3RzLyBcCisgICAgLS1iaW5hcnk9fi9tb3ppbGxhLWNlbnRyYWwvb2JqLXg4Nl82NC1hcHBs
ZS1kYXJ3aW4xNC4zLjAvZGlzdC9OaWdodGx5LmFwcC9Db250ZW50cy9NYWNPUy9maXJlZm94IFwK
KyAgICAtLWNlcnR1dGlsLWJpbmFyeT1+L21vemlsbGEtY2VudHJhbC9vYmoteDg2XzY0LWFwcGxl
LWRhcndpbjE0LjMuMC9zZWN1cml0eS9uc3MvY21kL2NlcnR1dGlsL2NlcnR1dGlsIFwKKyAgICAt
LXByZWZzLXJvb3Q9fi9tb3ppbGxhLWNlbnRyYWwvdGVzdGluZy9wcm9maWxlcworCitBbmQgdG8g
dGVzdCBhIENocm9taXVtIGJ1aWxkIGluIGFuIE9TIFggZW52aXJvbm1lbnQsIHlvdSBtaWdodCBz
dGFydAord3B0cnVubmVyIHVzaW5nIHNvbWV0aGluZyBzaW1pbGFyIHRvIHRoZSBmb2xsb3dpbmcg
ZXhhbXBsZTo6CisKKyAgd3B0cnVubmVyIC0tbWV0YWRhdGE9fi93ZWItcGxhdGZvcm0tdGVzdHMv
IC0tdGVzdHM9fi93ZWItcGxhdGZvcm0tdGVzdHMvIFwKKyAgICAtLWJpbmFyeT1+L2Nocm9taXVt
L3NyYy9vdXQvUmVsZWFzZS9DaHJvbWl1bS5hcHAvQ29udGVudHMvTWFjT1MvQ2hyb21pdW0gXAor
ICAgIC0td2ViZHJpdmVyLWJpbmFyeT0vdXNyL2xvY2FsL2Jpbi9jaHJvbWVkcml2ZXIgLS1wcm9k
dWN0PWNocm9tZQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitFeGFt
cGxlOiBIb3cgdG8gcnVuIGEgc3Vic2V0IG9mIHRlc3RzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCisKK1RvIHJlc3RyaWN0IGEgdGVzdCBydW4ganVzdCB0byB0ZXN0cyBp
biBhIHBhcnRpY3VsYXIgd2ViLXBsYXRmb3JtLXRlc3RzCitzdWJkaXJlY3RvcnksIHNwZWNpZnkg
dGhlIGRpcmVjdG9yeSBuYW1lIGluIHRoZSBwb3NpdGlvbmFsIGFyZ3VtZW50cyBhZnRlcgordGhl
IG9wdGlvbnM7IGZvciBleGFtcGxlLCBydW4ganVzdCB0aGUgdGVzdHMgaW4gdGhlIGBkb21gIHN1
YmRpcmVjdG9yeTo6CisKKyAgd3B0cnVubmVyIC0tbWV0YWRhdGE9fi93ZWItcGxhdGZvcm0tdGVz
dHMvIC0tdGVzdHM9fi93ZWItcGxhdGZvcm0tdGVzdHMvIFwKKyAgICAtLWJpbmFyeT0vcGF0aC90
by9maXJlZm94IC0tY2VydHV0aWwtYmluYXJ5PS9wYXRoL3RvL2NlcnR1dGlsIFwKKyAgICAtLXBy
ZWZzLXJvb3Q9L3BhdGgvdG8vdGVzdGluZy9wcm9maWxlcyBcCisgICAgZG9tCisKK091dHB1dAor
fn5+fn5+CisKK0J5IGRlZmF1bHQgd3B0cnVubmVyIGp1c3QgZHVtcHMgaXRzIGVudGlyZSBvdXRw
dXQgYXMgcmF3IEpTT04gbWVzc2FnZXMKK3RvIHN0ZG91dC4gVGhpcyBpcyBjb252ZW5pZW50IGZv
ciBwaXBpbmcgaW50byBvdGhlciB0b29scywgYnV0IG5vdCBpZGVhbAorZm9yIGh1bWFucyByZWFk
aW5nIHRoZSBvdXRwdXQuCisKK0FzIGFuIGFsdGVybmF0aXZlLCB5b3UgY2FuIHVzZSB0aGUgYGAt
LWxvZy1tYWNoYGAgb3B0aW9uLCB3aGljaCBwcm92aWRlcworb3V0cHV0IGluIGEgcmVhc29uYWJs
ZSBmb3JtYXQgZm9yIGh1bWFucy4gVGhlIG9wdGlvbiByZXF1aXJlcyBhIHZhbHVlOgorZWl0aGVy
IHRoZSBwYXRoIGZvciBhIGZpbGUgdG8gd3JpdGUgdGhlIGBtYWNoYC1mb3JtYXR0ZWQgb3V0cHV0
IHRvLCBvcgorImAtYCIgKGEgaHlwaGVuKSB0byB3cml0ZSB0aGUgYG1hY2hgLWZvcm1hdHRlZCBv
dXRwdXQgdG8gc3Rkb3V0LgorCitXaGVuIHVzaW5nIGBgLS1sb2ctbWFjaGBgLCBvdXRwdXQgb2Yg
dGhlIGZ1bGwgcmF3IEpTT04gbG9nIGlzIHN0aWxsCithdmFpbGFibGUsIGZyb20gdGhlIGBgLS1s
b2ctcmF3YGAgb3B0aW9uLiBTbyB0byBvdXRwdXQgdGhlIGZ1bGwgcmF3IEpTT04KK2xvZyB0byBh
IGZpbGUgYW5kIGEgaHVtYW4tcmVhZGFibGUgc3VtbWFyeSB0byBzdGRvdXQsIHlvdSBtaWdodCBz
dGFydAord3B0cnVubmVyIHVzaW5nIHNvbWV0aGluZyBzaW1pbGFyIHRvIHRoZSBmb2xsb3dpbmcg
ZXhhbXBsZTo6CisKKyAgd3B0cnVubmVyIC0tbWV0YWRhdGE9fi93ZWItcGxhdGZvcm0tdGVzdHMv
IC0tdGVzdHM9fi93ZWItcGxhdGZvcm0tdGVzdHMvIFwKKyAgICAtLWJpbmFyeT0vcGF0aC90by9m
aXJlZm94IC0tY2VydHV0aWwtYmluYXJ5PS9wYXRoL3RvL2NlcnR1dGlsIFwKKyAgICAtLXByZWZz
LXJvb3Q9L3BhdGgvdG8vdGVzdGluZy9wcm9maWxlcyBcCisgICAgLS1sb2ctcmF3PW91dHB1dC5s
b2cgLS1sb2ctbWFjaD0tCisKK0V4cGVjdGF0aW9uIERhdGEKK35+fn5+fn5+fn5+fn5+fn4KKwor
d3B0cnVubmVyIGlzIGRlc2lnbmVkIHRvIGJlIHVzZWQgaW4gYW4gZW52aXJvbm1lbnQgd2hlcmUg
aXQgaXMgbm90CitqdXN0IG5lY2Vzc2FyeSB0byBrbm93IHdoaWNoIHRlc3RzIHBhc3NlZCwgYnV0
IHRvIGNvbXBhcmUgdGhlIHJlc3VsdHMKK2JldHdlZW4gcnVucy4gRm9yIHRoaXMgcmVhc29uIGl0
IGlzIHBvc3NpYmxlIHRvIHN0b3JlIHRoZSByZXN1bHRzIG9mIGEKK3ByZXZpb3VzIHJ1biBpbiBh
IHNldCBvZiBpbmktbGlrZSAiZXhwZWN0YXRpb24gZmlsZXMiLiBUaGlzIGZvcm1hdCBpcworZG9j
dW1lbnRlZCBiZWxvdy4gVG8gZ2VuZXJhdGUgdGhlIGV4cGVjdGF0aW9uIGZpbGVzIHVzZSBgd3B0
cnVubmVyYCB3aXRoCit0aGUgYC0tbG9nLXJhdz0vcGF0aC90by9sb2cvZmlsZWAgb3B0aW9uLiBU
aGlzIGNhbiB0aGVuIGJlIHVzZWQgYXMKK2lucHV0IHRvIHRoZSBgd3B0dXBkYXRlYCB0b29sLgor
CitFeHBlY3RhdGlvbiBGaWxlIEZvcm1hdAorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworTWV0
YWRhdGEgYWJvdXQgdGVzdHMsIG5vdGFibHkgaW5jbHVkaW5nIHRoZWlyIGV4cGVjdGVkIHJlc3Vs
dHMsIGlzCitzdG9yZWQgaW4gYSBtb2RpZmllZCBpbmktbGlrZSBmb3JtYXQgdGhhdCBpcyBkZXNp
Z25lZCB0byBiZSBodW1hbgorZWRpdGFibGUsIGJ1dCBhbHNvIHRvIGJlIG1hY2hpbmUgdXBkYXRh
YmxlLgorCitFYWNoIHRlc3QgZmlsZSB0aGF0IHJlcXVpcmVzIG1ldGFkYXRhIHRvIGJlIHNwZWNp
ZmllZCAoYmVjYXVzZSBpdCBoYXMKK2Egbm9uLWRlZmF1bHQgZXhwZWN0YXRpb24gb3IgYmVjYXVz
ZSBpdCBpcyBkaXNhYmxlZCwgZm9yIGV4YW1wbGUpIGhhcworYSBjb3JyZXNwb25kaW5nIGV4cGVj
dGF0aW9uIGZpbGUgaW4gdGhlIGBtZXRhZGF0YWAgZGlyZWN0b3J5LiBGb3IKK2V4YW1wbGUgYSB0
ZXN0IGZpbGUgYGh0bWwvdGVzdDEuaHRtbGAgY29udGFpbmluZyBhIGZhaWxpbmcgdGVzdCB3b3Vs
ZAoraGF2ZSBhbiBleHBlY3RhdGlvbiBmaWxlIGNhbGxlZCBgaHRtbC90ZXN0MS5odG1sLmluaWAg
aW4gdGhlCitgbWV0YWRhdGFgIGRpcmVjdG9yeS4KKworQW4gZXhhbXBsZSBvZiBhbiBleHBlY3Rh
dGlvbiBmaWxlIGlzOjoKKworICBleGFtcGxlX2RlZmF1bHRfa2V5OiBleGFtcGxlX3ZhbHVlCisK
KyAgW2ZpbGVuYW1lLmh0bWxdCisgICAgdHlwZTogdGVzdGhhcm5lc3MKKworICAgIFtzdWJ0ZXN0
MV0KKyAgICAgIGV4cGVjdGVkOiBGQUlMCisKKyAgICBbc3VidGVzdDJdCisgICAgICBleHBlY3Rl
ZDoKKyAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ3dpbic6IFRJTUVPVVQKKyAgICAgICAgaWYgcGxh
dGZvcm0gPT0gJ29zeCc6IEVSUk9SCisgICAgICAgIEZBSUwKKworICBbZmlsZW5hbWUuaHRtbD9x
dWVyeT1zb21ldGhpbmddCisgICAgdHlwZTogdGVzdGhhcm5lc3MKKyAgICBkaXNhYmxlZDogYnVn
MTIzNDUKKworVGhlIGZpbGUgY29uc2lzdHMgb2YgdHdvIGVsZW1lbnRzLCBrZXktdmFsdWUgcGFp
cnMgYW5kCitzZWN0aW9ucy4KKworU2VjdGlvbnMgYXJlIGRlbGltaXRlZCBieSBoZWFkaW5ncyBl
bmNsb3NlZCBpbiBzcXVhcmUgYnJhY2tldHMuIEFueQorY2xvc2luZyBzcXVhcmUgYnJhY2tldCBp
biB0aGUgaGVhZGluZyBpdHNlbGYgbXkgYmUgZXNjYXBlZCB3aXRoIGEKK2JhY2tzbGFzaC4gRWFj
aCBzZWN0aW9uIG1heSB0aGVuIGNvbnRhaW4gYW55IG51bWJlciBvZiBrZXktdmFsdWUgcGFpcnMK
K2ZvbGxvd2VkIGJ5IGFueSBudW1iZXIgb2Ygc3Vic2VjdGlvbnMuIFNvIHRoYXQgaXQgaXMgY2xl
YXIgd2hpY2ggZGF0YQorYmVsb25ncyB0byBlYWNoIHNlY3Rpb24gd2l0aG91dCB0aGUgdXNlIG9m
IGVuZC1zZWN0aW9uIG1hcmtlcnMsIHRoZQorZGF0YSBmb3IgZWFjaCBzZWN0aW9uIChpLmUuIHRo
ZSBrZXktdmFsdWUgcGFpcnMgYW5kIHN1YnNlY3Rpb25zKSBtdXN0CitiZSBpbmRlbnRlZCB1c2lu
ZyBzcGFjZXMuIEluZGVudGF0aW9uIG5lZWQgb25seSBiZSBjb25zaXN0ZW50LCBidXQKK3VzaW5n
IHR3byBzcGFjZXMgcGVyIGxldmVsIGlzIHJlY29tbWVuZGVkLgorCitJbiBhIHRlc3QgZXhwZWN0
YXRpb24gZmlsZSwgZWFjaCByZXNvdXJjZSBwcm92aWRlZCBieSB0aGUgZmlsZSBoYXMgYQorc2lu
Z2xlIHNlY3Rpb24sIHdpdGggdGhlIHNlY3Rpb24gaGVhZGluZyBiZWluZyB0aGUgcGFydCBhZnRl
ciB0aGUgbGFzdAorYC9gIGluIHRoZSB0ZXN0IHVybC4gVGVzdHMgdGhhdCBoYXZlIHN1YnNlY3Rp
b25zIG1heSBoYXZlIHN1YnNlY3Rpb25zCitmb3IgdGhvc2Ugc3VidGVzdHMgaW4gd2hpY2ggdGhl
IGhlYWRpbmcgaXMgdGhlIG5hbWUgb2YgdGhlIHN1YnRlc3QuCisKK1NpbXBsZSBrZXktdmFsdWUg
cGFpcnMgYXJlIG9mIHRoZSBmb3JtOjoKKworICBrZXk6IHZhbHVlCisKK05vdGUgdGhhdCB1bmxp
a2UgaW5pIGZpbGVzLCBvbmx5IGA6YCBpcyBhIHZhbGlkIHNlcGVyYXRvcjsgYD1gIHdpbGwKK25v
dCB3b3JrIGFzIGV4cGVjdGVkLiBLZXktdmFsdWUgcGFpcnMgbWF5IGFsc28gaGF2ZSBjb25kaXRp
b25hbAordmFsdWVzIG9mIHRoZSBmb3JtOjoKKworICBrZXk6CisgICAgaWYgY29uZGl0aW9uMTog
dmFsdWUxCisgICAgaWYgY29uZGl0aW9uMjogdmFsdWUyCisgICAgZGVmYXVsdAorCitJbiB0aGlz
IGNhc2UgZWFjaCBjb25kaXRpb25hbCBpcyBldmFsdWF0ZWQgaW4gdHVybiBhbmQgdGhlIHZhbHVl
IGlzCit0aGF0IG9uIHRoZSByaWdodCBoYW5kIHNpZGUgb2YgdGhlIGZpcnN0IG1hdGNoaW5nIGNv
bmRpdGlvbmFsLiBJbiB0aGUKK2Nhc2UgdGhhdCBubyBjb25kaXRpb24gbWF0Y2hlcywgdGhlIHVu
Y29uZGl0aW9uYWwgZGVmYXVsdCBpcyB1c2VkLiBJZgorbm8gY29uZGl0aW9uIG1hdGNoZXMgYW5k
IG5vIGRlZmF1bHQgaXMgcHJvdmlkZWQgaXQgaXMgZXF1aXZhbGVudCB0bwordGhlIGtleSBub3Qg
YmVpbmcgcHJlc2VudC4gQ29uZGl0aW9uYWxzIHVzZSBhIHNpbXBsZSBweXRob24tbGlrZSBleHBy
ZXNzaW9uCitsYW5ndWFnZSBlLmcuOjoKKworICBpZiBkZWJ1ZyBhbmQgKHBsYXRmb3JtID09ICJs
aW51eCIgb3IgcGxhdGZvcm0gPT0gIm9zeCIpOiBGQUlMCisKK0ZvciB0ZXN0IGV4cGVjdGF0aW9u
cyB0aGUgYXZhbGlhYmxlIHZhcmlhYmxlcyBhcmUgdGhvc2UgaW4gdGhlCitgcnVuX2luZm9gIHdo
aWNoIGZvciBkZXNrdG9wIGFyZSBgdmVyc2lvbmAsIGBvc2AsIGBiaXRzYCwgYHByb2Nlc3NvcmAs
CitgZGVidWdgIGFuZCBgcHJvZHVjdGAuCisKK0tleS12YWx1ZSBwYWlycyBzcGVjaWZpZWQgYXQg
dGhlIHRvcCBsZXZlbCBvZiB0aGUgZmlsZSBiZWZvcmUgYW55CitzZWN0aW9ucyBhcmUgc3BlY2lh
bCBhcyB0aGV5IHByb3ZpZGUgZGVmYXVsdHMgZm9yIHRoZSByZXN0IG9mIHRoZSBmaWxlCitlLmcu
OjoKKworICBrZXkxOiB2YWx1ZTEKKworICBbc2VjdGlvbiAxXQorICAgIGtleTI6IHZhbHVlMgor
CisgIFtzZWN0aW9uIDJdCisgICAga2V5MTogdmFsdWUzCisKK0luIHRoaXMgY2FzZSwgaW5zaWRl
IHNlY3Rpb24gMSwgYGtleTFgIHdvdWxkIGhhdmUgdGhlIHZhbHVlIGB2YWx1ZTFgCithbmQgYGtl
eTJgIHRoZSB2YWx1ZSBgdmFsdWUyYCB3aGVyZWFzIGluIHNlY3Rpb24gMiBga2V5MWAgd291bGQg
aGF2ZQordGhlIHZhbHVlIGB2YWx1ZTNgIGFuZCBga2V5MmAgd291bGQgYmUgdW5kZWZpbmVkLgor
CitUaGUgd2ViLXBsYXRmb3JtLXRlc3QgaGFybmVzcyBrbm93cyBhYm91dCBzZXZlcmFsIGtleXM6
CisKK2BleHBlY3RlZGAKKyAgTXVzdCBldmFsdWF0ZSB0byBhIHBvc3NpYmxlIHRlc3Qgc3RhdHVz
IGluZGljYXRpbmcgdGhlIGV4cGVjdGVkCisgIHJlc3VsdCBvZiB0aGUgdGVzdC4gVGhlIGltcGxp
Y2l0IGRlZmF1bHQgaXMgUEFTUyBvciBPSyB3aGVuIHRoZQorICBmaWVsZCBpc24ndCBwcmVzZW50
LgorCitgZGlzYWJsZWRgCisgIEFueSB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgdGVzdCBpcyBk
aXNhYmxlZC4KKworYHR5cGVgCisgIFRoZSB0ZXN0IHR5cGUgZS5nLiBgdGVzdGhhcm5lc3NgLCBg
cmVmdGVzdGAsIG9yIGB3ZHNwZWNgLgorCitgcmVmdHlwZWAKKyAgVGhlIHR5cGUgb2YgY29tcGFy
aXNvbiBmb3IgcmVmdGVzdHM7IGVpdGhlciBgPT1gIG9yIGAhPWAuCisKK2ByZWZ1cmxgCisgIFRo
ZSByZWZlcmVuY2UgdXJsIGZvciByZWZ0ZXN0cy4KKworLi4gX2B3ZWItcGxhdGZvcm0tdGVzdHMg
dGVzdHN1aXRlYDogaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL2RvY3MvTWFrZWZpbGUgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL01ha2VmaWxlCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQwMmI2YzVlN2M0ZjI2NzAzMWJkMzkwMTNjMzg4NGFiNTg1MzM4ZjgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9kb2NzL01ha2VmaWxlCkBAIC0wLDAgKzEsMTc3IEBACisjIE1ha2VmaWxlIGZvciBT
cGhpbnggZG9jdW1lbnRhdGlvbgorIworCisjIFlvdSBjYW4gc2V0IHRoZXNlIHZhcmlhYmxlcyBm
cm9tIHRoZSBjb21tYW5kIGxpbmUuCitTUEhJTlhPUFRTICAgID0KK1NQSElOWEJVSUxEICAgPSBz
cGhpbngtYnVpbGQKK1BBUEVSICAgICAgICAgPQorQlVJTERESVIgICAgICA9IF9idWlsZAorCisj
IFVzZXItZnJpZW5kbHkgY2hlY2sgZm9yIHNwaGlueC1idWlsZAoraWZlcSAoJChzaGVsbCB3aGlj
aCAkKFNQSElOWEJVSUxEKSA+L2Rldi9udWxsIDI+JjE7IGVjaG8gJCQ/KSwgMSkKKyQoZXJyb3Ig
VGhlICckKFNQSElOWEJVSUxEKScgY29tbWFuZCB3YXMgbm90IGZvdW5kLiBNYWtlIHN1cmUgeW91
IGhhdmUgU3BoaW54IGluc3RhbGxlZCwgdGhlbiBzZXQgdGhlIFNQSElOWEJVSUxEIGVudmlyb25t
ZW50IHZhcmlhYmxlIHRvIHBvaW50IHRvIHRoZSBmdWxsIHBhdGggb2YgdGhlICckKFNQSElOWEJV
SUxEKScgZXhlY3V0YWJsZS4gQWx0ZXJuYXRpdmVseSB5b3UgY2FuIGFkZCB0aGUgZGlyZWN0b3J5
IHdpdGggdGhlIGV4ZWN1dGFibGUgdG8geW91ciBQQVRILiBJZiB5b3UgZG9uJ3QgaGF2ZSBTcGhp
bnggaW5zdGFsbGVkLCBncmFiIGl0IGZyb20gaHR0cDovL3NwaGlueC1kb2Mub3JnLykKK2VuZGlm
CisKKyMgSW50ZXJuYWwgdmFyaWFibGVzLgorUEFQRVJPUFRfYTQgICAgID0gLUQgbGF0ZXhfcGFw
ZXJfc2l6ZT1hNAorUEFQRVJPUFRfbGV0dGVyID0gLUQgbGF0ZXhfcGFwZXJfc2l6ZT1sZXR0ZXIK
K0FMTFNQSElOWE9QVFMgICA9IC1kICQoQlVJTERESVIpL2RvY3RyZWVzICQoUEFQRVJPUFRfJChQ
QVBFUikpICQoU1BISU5YT1BUUykgLgorIyB0aGUgaTE4biBidWlsZGVyIGNhbm5vdCBzaGFyZSB0
aGUgZW52aXJvbm1lbnQgYW5kIGRvY3RyZWVzIHdpdGggdGhlIG90aGVycworSTE4TlNQSElOWE9Q
VFMgID0gJChQQVBFUk9QVF8kKFBBUEVSKSkgJChTUEhJTlhPUFRTKSAuCisKKy5QSE9OWTogaGVs
cCBjbGVhbiBodG1sIGRpcmh0bWwgc2luZ2xlaHRtbCBwaWNrbGUganNvbiBodG1saGVscCBxdGhl
bHAgZGV2aGVscCBlcHViIGxhdGV4IGxhdGV4cGRmIHRleHQgbWFuIGNoYW5nZXMgbGlua2NoZWNr
IGRvY3Rlc3QgZ2V0dGV4dAorCitoZWxwOgorCUBlY2hvICJQbGVhc2UgdXNlIFxgbWFrZSA8dGFy
Z2V0Picgd2hlcmUgPHRhcmdldD4gaXMgb25lIG9mIgorCUBlY2hvICIgIGh0bWwgICAgICAgdG8g
bWFrZSBzdGFuZGFsb25lIEhUTUwgZmlsZXMiCisJQGVjaG8gIiAgZGlyaHRtbCAgICB0byBtYWtl
IEhUTUwgZmlsZXMgbmFtZWQgaW5kZXguaHRtbCBpbiBkaXJlY3RvcmllcyIKKwlAZWNobyAiICBz
aW5nbGVodG1sIHRvIG1ha2UgYSBzaW5nbGUgbGFyZ2UgSFRNTCBmaWxlIgorCUBlY2hvICIgIHBp
Y2tsZSAgICAgdG8gbWFrZSBwaWNrbGUgZmlsZXMiCisJQGVjaG8gIiAganNvbiAgICAgICB0byBt
YWtlIEpTT04gZmlsZXMiCisJQGVjaG8gIiAgaHRtbGhlbHAgICB0byBtYWtlIEhUTUwgZmlsZXMg
YW5kIGEgSFRNTCBoZWxwIHByb2plY3QiCisJQGVjaG8gIiAgcXRoZWxwICAgICB0byBtYWtlIEhU
TUwgZmlsZXMgYW5kIGEgcXRoZWxwIHByb2plY3QiCisJQGVjaG8gIiAgZGV2aGVscCAgICB0byBt
YWtlIEhUTUwgZmlsZXMgYW5kIGEgRGV2aGVscCBwcm9qZWN0IgorCUBlY2hvICIgIGVwdWIgICAg
ICAgdG8gbWFrZSBhbiBlcHViIgorCUBlY2hvICIgIGxhdGV4ICAgICAgdG8gbWFrZSBMYVRlWCBm
aWxlcywgeW91IGNhbiBzZXQgUEFQRVI9YTQgb3IgUEFQRVI9bGV0dGVyIgorCUBlY2hvICIgIGxh
dGV4cGRmICAgdG8gbWFrZSBMYVRlWCBmaWxlcyBhbmQgcnVuIHRoZW0gdGhyb3VnaCBwZGZsYXRl
eCIKKwlAZWNobyAiICBsYXRleHBkZmphIHRvIG1ha2UgTGFUZVggZmlsZXMgYW5kIHJ1biB0aGVt
IHRocm91Z2ggcGxhdGV4L2R2aXBkZm14IgorCUBlY2hvICIgIHRleHQgICAgICAgdG8gbWFrZSB0
ZXh0IGZpbGVzIgorCUBlY2hvICIgIG1hbiAgICAgICAgdG8gbWFrZSBtYW51YWwgcGFnZXMiCisJ
QGVjaG8gIiAgdGV4aW5mbyAgICB0byBtYWtlIFRleGluZm8gZmlsZXMiCisJQGVjaG8gIiAgaW5m
byAgICAgICB0byBtYWtlIFRleGluZm8gZmlsZXMgYW5kIHJ1biB0aGVtIHRocm91Z2ggbWFrZWlu
Zm8iCisJQGVjaG8gIiAgZ2V0dGV4dCAgICB0byBtYWtlIFBPIG1lc3NhZ2UgY2F0YWxvZ3MiCisJ
QGVjaG8gIiAgY2hhbmdlcyAgICB0byBtYWtlIGFuIG92ZXJ2aWV3IG9mIGFsbCBjaGFuZ2VkL2Fk
ZGVkL2RlcHJlY2F0ZWQgaXRlbXMiCisJQGVjaG8gIiAgeG1sICAgICAgICB0byBtYWtlIERvY3V0
aWxzLW5hdGl2ZSBYTUwgZmlsZXMiCisJQGVjaG8gIiAgcHNldWRveG1sICB0byBtYWtlIHBzZXVk
b3htbC1YTUwgZmlsZXMgZm9yIGRpc3BsYXkgcHVycG9zZXMiCisJQGVjaG8gIiAgbGlua2NoZWNr
ICB0byBjaGVjayBhbGwgZXh0ZXJuYWwgbGlua3MgZm9yIGludGVncml0eSIKKwlAZWNobyAiICBk
b2N0ZXN0ICAgIHRvIHJ1biBhbGwgZG9jdGVzdHMgZW1iZWRkZWQgaW4gdGhlIGRvY3VtZW50YXRp
b24gKGlmIGVuYWJsZWQpIgorCitjbGVhbjoKKwlybSAtcmYgJChCVUlMRERJUikvKgorCitodG1s
OgorCSQoU1BISU5YQlVJTEQpIC1iIGh0bWwgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9o
dG1sCisJQGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSBIVE1MIHBhZ2VzIGFyZSBp
biAkKEJVSUxERElSKS9odG1sLiIKKworZGlyaHRtbDoKKwkkKFNQSElOWEJVSUxEKSAtYiBkaXJo
dG1sICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvZGlyaHRtbAorCUBlY2hvCisJQGVjaG8g
IkJ1aWxkIGZpbmlzaGVkLiBUaGUgSFRNTCBwYWdlcyBhcmUgaW4gJChCVUlMRERJUikvZGlyaHRt
bC4iCisKK3NpbmdsZWh0bWw6CisJJChTUEhJTlhCVUlMRCkgLWIgc2luZ2xlaHRtbCAkKEFMTFNQ
SElOWE9QVFMpICQoQlVJTERESVIpL3NpbmdsZWh0bWwKKwlAZWNobworCUBlY2hvICJCdWlsZCBm
aW5pc2hlZC4gVGhlIEhUTUwgcGFnZSBpcyBpbiAkKEJVSUxERElSKS9zaW5nbGVodG1sLiIKKwor
cGlja2xlOgorCSQoU1BISU5YQlVJTEQpIC1iIHBpY2tsZSAkKEFMTFNQSElOWE9QVFMpICQoQlVJ
TERESVIpL3BpY2tsZQorCUBlY2hvCisJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkOyBub3cgeW91IGNh
biBwcm9jZXNzIHRoZSBwaWNrbGUgZmlsZXMuIgorCitqc29uOgorCSQoU1BISU5YQlVJTEQpIC1i
IGpzb24gJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9qc29uCisJQGVjaG8KKwlAZWNobyAi
QnVpbGQgZmluaXNoZWQ7IG5vdyB5b3UgY2FuIHByb2Nlc3MgdGhlIEpTT04gZmlsZXMuIgorCito
dG1saGVscDoKKwkkKFNQSElOWEJVSUxEKSAtYiBodG1saGVscCAkKEFMTFNQSElOWE9QVFMpICQo
QlVJTERESVIpL2h0bWxoZWxwCisJQGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQ7IG5vdyB5
b3UgY2FuIHJ1biBIVE1MIEhlbHAgV29ya3Nob3Agd2l0aCB0aGUiIFwKKwkgICAgICAiLmhocCBw
cm9qZWN0IGZpbGUgaW4gJChCVUlMRERJUikvaHRtbGhlbHAuIgorCitxdGhlbHA6CisJJChTUEhJ
TlhCVUlMRCkgLWIgcXRoZWxwICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvcXRoZWxwCisJ
QGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQ7IG5vdyB5b3UgY2FuIHJ1biAicWNvbGxlY3Rp
b25nZW5lcmF0b3IiIHdpdGggdGhlIiBcCisJICAgICAgIi5xaGNwIHByb2plY3QgZmlsZSBpbiAk
KEJVSUxERElSKS9xdGhlbHAsIGxpa2UgdGhpczoiCisJQGVjaG8gIiMgcWNvbGxlY3Rpb25nZW5l
cmF0b3IgJChCVUlMRERJUikvcXRoZWxwL3dwdHJ1bm5lci5xaGNwIgorCUBlY2hvICJUbyB2aWV3
IHRoZSBoZWxwIGZpbGU6IgorCUBlY2hvICIjIGFzc2lzdGFudCAtY29sbGVjdGlvbkZpbGUgJChC
VUlMRERJUikvcXRoZWxwL3dwdHJ1bm5lci5xaGMiCisKK2RldmhlbHA6CisJJChTUEhJTlhCVUlM
RCkgLWIgZGV2aGVscCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL2RldmhlbHAKKwlAZWNo
bworCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4iCisJQGVjaG8gIlRvIHZpZXcgdGhlIGhlbHAgZmls
ZToiCisJQGVjaG8gIiMgbWtkaXIgLXAgJCRIT01FLy5sb2NhbC9zaGFyZS9kZXZoZWxwL3dwdHJ1
bm5lciIKKwlAZWNobyAiIyBsbiAtcyAkKEJVSUxERElSKS9kZXZoZWxwICQkSE9NRS8ubG9jYWwv
c2hhcmUvZGV2aGVscC93cHRydW5uZXIiCisJQGVjaG8gIiMgZGV2aGVscCIKKworZXB1YjoKKwkk
KFNQSElOWEJVSUxEKSAtYiBlcHViICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvZXB1Ygor
CUBlY2hvCisJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgZXB1YiBmaWxlIGlzIGluICQoQlVJ
TERESVIpL2VwdWIuIgorCitsYXRleDoKKwkkKFNQSElOWEJVSUxEKSAtYiBsYXRleCAkKEFMTFNQ
SElOWE9QVFMpICQoQlVJTERESVIpL2xhdGV4CisJQGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNo
ZWQ7IHRoZSBMYVRlWCBmaWxlcyBhcmUgaW4gJChCVUlMRERJUikvbGF0ZXguIgorCUBlY2hvICJS
dW4gXGBtYWtlJyBpbiB0aGF0IGRpcmVjdG9yeSB0byBydW4gdGhlc2UgdGhyb3VnaCAocGRmKWxh
dGV4IiBcCisJICAgICAgIih1c2UgXGBtYWtlIGxhdGV4cGRmJyBoZXJlIHRvIGRvIHRoYXQgYXV0
b21hdGljYWxseSkuIgorCitsYXRleHBkZjoKKwkkKFNQSElOWEJVSUxEKSAtYiBsYXRleCAkKEFM
TFNQSElOWE9QVFMpICQoQlVJTERESVIpL2xhdGV4CisJQGVjaG8gIlJ1bm5pbmcgTGFUZVggZmls
ZXMgdGhyb3VnaCBwZGZsYXRleC4uLiIKKwkkKE1BS0UpIC1DICQoQlVJTERESVIpL2xhdGV4IGFs
bC1wZGYKKwlAZWNobyAicGRmbGF0ZXggZmluaXNoZWQ7IHRoZSBQREYgZmlsZXMgYXJlIGluICQo
QlVJTERESVIpL2xhdGV4LiIKKworbGF0ZXhwZGZqYToKKwkkKFNQSElOWEJVSUxEKSAtYiBsYXRl
eCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL2xhdGV4CisJQGVjaG8gIlJ1bm5pbmcgTGFU
ZVggZmlsZXMgdGhyb3VnaCBwbGF0ZXggYW5kIGR2aXBkZm14Li4uIgorCSQoTUFLRSkgLUMgJChC
VUlMRERJUikvbGF0ZXggYWxsLXBkZi1qYQorCUBlY2hvICJwZGZsYXRleCBmaW5pc2hlZDsgdGhl
IFBERiBmaWxlcyBhcmUgaW4gJChCVUlMRERJUikvbGF0ZXguIgorCit0ZXh0OgorCSQoU1BISU5Y
QlVJTEQpIC1iIHRleHQgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS90ZXh0CisJQGVjaG8K
KwlAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSB0ZXh0IGZpbGVzIGFyZSBpbiAkKEJVSUxERElS
KS90ZXh0LiIKKworbWFuOgorCSQoU1BISU5YQlVJTEQpIC1iIG1hbiAkKEFMTFNQSElOWE9QVFMp
ICQoQlVJTERESVIpL21hbgorCUBlY2hvCisJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgbWFu
dWFsIHBhZ2VzIGFyZSBpbiAkKEJVSUxERElSKS9tYW4uIgorCit0ZXhpbmZvOgorCSQoU1BISU5Y
QlVJTEQpIC1iIHRleGluZm8gJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS90ZXhpbmZvCisJ
QGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSBUZXhpbmZvIGZpbGVzIGFyZSBpbiAk
KEJVSUxERElSKS90ZXhpbmZvLiIKKwlAZWNobyAiUnVuIFxgbWFrZScgaW4gdGhhdCBkaXJlY3Rv
cnkgdG8gcnVuIHRoZXNlIHRocm91Z2ggbWFrZWluZm8iIFwKKwkgICAgICAiKHVzZSBcYG1ha2Ug
aW5mbycgaGVyZSB0byBkbyB0aGF0IGF1dG9tYXRpY2FsbHkpLiIKKworaW5mbzoKKwkkKFNQSElO
WEJVSUxEKSAtYiB0ZXhpbmZvICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvdGV4aW5mbwor
CUBlY2hvICJSdW5uaW5nIFRleGluZm8gZmlsZXMgdGhyb3VnaCBtYWtlaW5mby4uLiIKKwltYWtl
IC1DICQoQlVJTERESVIpL3RleGluZm8gaW5mbworCUBlY2hvICJtYWtlaW5mbyBmaW5pc2hlZDsg
dGhlIEluZm8gZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3RleGluZm8uIgorCitnZXR0ZXh0Ogor
CSQoU1BISU5YQlVJTEQpIC1iIGdldHRleHQgJChJMThOU1BISU5YT1BUUykgJChCVUlMRERJUikv
bG9jYWxlCisJQGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSBtZXNzYWdlIGNhdGFs
b2dzIGFyZSBpbiAkKEJVSUxERElSKS9sb2NhbGUuIgorCitjaGFuZ2VzOgorCSQoU1BISU5YQlVJ
TEQpIC1iIGNoYW5nZXMgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9jaGFuZ2VzCisJQGVj
aG8KKwlAZWNobyAiVGhlIG92ZXJ2aWV3IGZpbGUgaXMgaW4gJChCVUlMRERJUikvY2hhbmdlcy4i
CisKK2xpbmtjaGVjazoKKwkkKFNQSElOWEJVSUxEKSAtYiBsaW5rY2hlY2sgJChBTExTUEhJTlhP
UFRTKSAkKEJVSUxERElSKS9saW5rY2hlY2sKKwlAZWNobworCUBlY2hvICJMaW5rIGNoZWNrIGNv
bXBsZXRlOyBsb29rIGZvciBhbnkgZXJyb3JzIGluIHRoZSBhYm92ZSBvdXRwdXQgIiBcCisJICAg
ICAgIm9yIGluICQoQlVJTERESVIpL2xpbmtjaGVjay9vdXRwdXQudHh0LiIKKworZG9jdGVzdDoK
KwkkKFNQSElOWEJVSUxEKSAtYiBkb2N0ZXN0ICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikv
ZG9jdGVzdAorCUBlY2hvICJUZXN0aW5nIG9mIGRvY3Rlc3RzIGluIHRoZSBzb3VyY2VzIGZpbmlz
aGVkLCBsb29rIGF0IHRoZSAiIFwKKwkgICAgICAicmVzdWx0cyBpbiAkKEJVSUxERElSKS9kb2N0
ZXN0L291dHB1dC50eHQuIgorCit4bWw6CisJJChTUEhJTlhCVUlMRCkgLWIgeG1sICQoQUxMU1BI
SU5YT1BUUykgJChCVUlMRERJUikveG1sCisJQGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQu
IFRoZSBYTUwgZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3htbC4iCisKK3BzZXVkb3htbDoKKwkk
KFNQSElOWEJVSUxEKSAtYiBwc2V1ZG94bWwgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9w
c2V1ZG94bWwKKwlAZWNobworCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIHBzZXVkby1YTUwg
ZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3BzZXVkb3htbC4iCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2Nz
L2FyY2hpdGVjdHVyZS5zdmcgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL2FyY2hpdGVjdHVyZS5zdmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWZmOTVmOGU4ZTA1OTM5MjM3ZmMzM2NlNTM1MmMxNTIzNDY3MmM2ZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL2RvY3MvYXJjaGl0ZWN0dXJlLnN2ZwpAQCAtMCwwICsxIEBACis8c3ZnIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiIHdpZHRoPSI3ODBweCIgaGVpZ2h0PSIxMDg3cHgiIHZlcnNpb249IjEuMSI+
PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIiBp
ZD0ibXgtZ3JhZGllbnQtYTljNGViLTEtYTljNGViLTEtcy0wIj48c3RvcCBvZmZzZXQ9IjAlIiBz
dHlsZT0ic3RvcC1jb2xvcjojQTlDNEVCIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdHlsZT0ic3Rv
cC1jb2xvcjojQTlDNEVCIi8+PC9saW5lYXJncmFkaWVudD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoMC41LDAuNSkiPjxyZWN0IHg9IjQ5OCIgeT0iNDk4IiB3aWR0aD0iMTIwIiBoZWln
aHQ9IjYwIiBmaWxsPSIjZTZkMGRlIiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJu
b25lIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAwLDUyMSkiPjxzd2l0Y2g+PGZvcmVpZ25P
YmplY3QgcG9pbnRlci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVpZ2h0PSIxNSIgcmVxdWly
ZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmls
aXR5Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlz
cGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp
Y2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2OyB2ZXJ0aWNhbC1hbGln
bjogdG9wOyB3aWR0aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHRleHQtYWxpZ246IGNl
bnRlcjsiPlRlc3RSdW5uZXI8L2Rpdj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0
IiBmaWxsPSIjMDAwMDAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZv
bnQtZmFtaWx5PSJIZWx2ZXRpY2EiPltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9z
d2l0Y2g+PC9nPjxyZWN0IHg9IjMzOCIgeT0iNzc4IiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBm
aWxsPSIjZjE5Yzk5IiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcg
dHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQwLDgwMSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9p
bnRlci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVpZ2h0PSIxNSIgcmVxdWlyZWRGZWF0dXJl
cz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5Ij48ZGl2
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogaW5s
aW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9y
OiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3
aWR0aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsiPlBy
b2R1Y3QgdW5kZXIgdGVzdDwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQi
IGZpbGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9u
dC1mYW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3
aXRjaD48L2c+PHJlY3QgeD0iMzM4IiB5PSIzODgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAiIGZp
bGw9IiNlNmQwZGUiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyB0
cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDAsNDExKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2lu
dGVyLWV2ZW50cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVz
PSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6
IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdp
ZHRoOiAxMTZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+VGVz
dFJ1bm5lck1hbmFnZXI8L2Rpdj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0IiBm
aWxsPSIjMDAwMDAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZvbnQt
ZmFtaWx5PSJIZWx2ZXRpY2EiPltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9zd2l0
Y2g+PC9nPjxyZWN0IHg9IjMzOCIgeT0iMjI4IiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxs
PSIjZTZkMGRlIiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgdHJh
bnNmb3JtPSJ0cmFuc2xhdGUoMzQwLDI1MSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRl
ci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVpZ2h0PSIxNSIgcmVxdWlyZWRGZWF0dXJlcz0i
aHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5Ij48ZGl2IHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogaW5saW5l
LWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiBy
Z2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aWR0
aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsiPk1hbmFn
ZXJHcm91cDwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMw
MDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9
IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+
PHJlY3QgeD0iNjU4IiB5PSI2MDgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAiIGZpbGw9IiNmZmNl
OWYiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyB0cmFuc2Zvcm09
InRyYW5zbGF0ZSg2NjAsNjMxKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50
cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAw
LCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZw
eDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+RXhlY3V0b3I8L2Rp
dj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0IiBmaWxsPSIjMDAwMDAwIiB0ZXh0
LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2Ei
PltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0IHg9IjMz
OCIgeT0iNDk4IiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxsPSJ1cmwoI214LWdyYWRpZW50
LWE5YzRlYi0xLWE5YzRlYi0xLXMtMCkiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9
Im5vbmUiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDAsNTIxKSI+PHN3aXRjaD48Zm9yZWln
bk9iamVjdCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1
aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2li
aWxpdHkiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFs
aWduOiB0b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjog
Y2VudGVyOyI+QnJvd3NlcjwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQi
IGZpbGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9u
dC1mYW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3
aXRjaD48L2c+PHBhdGggZD0iTSAzOTggMjg4IEwgMzk4IDM4MiIgZmlsbD0ibm9uZSIgc3Ryb2tl
PSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+
PHBhdGggZD0iTSAzOTggMzg3IEwgMzk1IDM4MCBMIDM5OCAzODIgTCA0MDIgMzgwIFoiIGZpbGw9
IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVy
LWV2ZW50cz0ibm9uZSIvPjxwYXRoIGQ9Ik0gMzk4IDQ0OCBMIDM5OCA0OTIiIGZpbGw9Im5vbmUi
IHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0i
bm9uZSIvPjxwYXRoIGQ9Ik0gMzk4IDQ5NyBMIDM5NSA0OTAgTCAzOTggNDkyIEwgNDAyIDQ5MCBa
IiBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIg
cG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDYxOCA1MjggTCA2ODQgNjAzIiBmaWxs
PSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1l
dmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDY4NyA2MDcgTCA2ODAgNjA0IEwgNjg0IDYwMyBMIDY4
NSA2MDAgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1p
dD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iNDk4IiB5PSI2MDgiIHdpZHRo
PSIxMjAiIGhlaWdodD0iNjAiIGZpbGw9IiNhOWM0ZWIiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRl
ci1ldmVudHM9Im5vbmUiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MDAsNjMxKSI+PHN3aXRj
aD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9
IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJl
I0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwi
IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1p
bHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZl
cnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4
dC1hbGlnbjogY2VudGVyOyI+RXhlY3V0b3JCcm93c2VyPC9kaXY+PC9mb3JlaWdub2JqZWN0Pjx0
ZXh0IHg9IjU4IiB5PSIxNCIgZmlsbD0iIzAwMDAwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9u
dC1zaXplPSIxMnB4IiBmb250LWZhbWlseT0iSGVsdmV0aWNhIj5bTm90IHN1cHBvcnRlZCBieSB2
aWV3ZXJdPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDYyNCA2MzggTCA2NTggNjM4IiBm
aWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRl
ci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDYxOSA2MzggTCA2MjYgNjM1IEwgNjI0IDYzOCBM
IDYyNiA2NDIgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJs
aW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSA0MjggNDQ4IEwgNTUy
IDQ5NiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAi
IHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJN
IDU1NyA0OTggTCA1NDkgNDk4IEwgNTUyIDQ5NiBMIDU1MiA0OTIgWiIgZmlsbD0iIzAwMDAwMCIg
c3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJu
b25lIi8+PHBhdGggZD0iTSAzOTggNTU4IEwgMzk4IDc3MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIj
MDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIgcG9p
bnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDM5OCA3NzcgTCAzOTUgNzcwIEwgMzk4IDc3
MiBMIDQwMiA3NzAgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0
ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iMzM4IiB5PSI0OCIg
d2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2U2ZDBkZSIgc3Ryb2tlPSIjMDAwMDAwIiBw
b2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM0MCw3MSkiPjxz
d2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVp
Z2h0PSIxNSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVh
dHVyZSNFeHRlbnNpYmlsaXR5Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3ho
dG1sIiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQt
ZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2
OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aWR0aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7
IHRleHQtYWxpZ246IGNlbnRlcjsiPnJ1bl90ZXN0czwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4
dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQt
c2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmll
d2VyXTwvdGV4dD48L3N3aXRjaD48L2c+PHBhdGggZD0iTSA0NTggNzggTCA2NTIgNzgiIGZpbGw9
Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2
ZW50cz0ibm9uZSIvPjxwYXRoIGQ9Ik0gNjU3IDc4IEwgNjUwIDgyIEwgNjUyIDc4IEwgNjUwIDc1
IFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEw
IiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0IHg9IjY1OCIgeT0iNDgiIHdpZHRoPSIxMjAi
IGhlaWdodD0iNjAiIGZpbGw9IiNlNmQwZGUiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVu
dHM9Im5vbmUiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2NjAsNzEpIj48c3dpdGNoPjxmb3Jl
aWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJhbGwiIHdpZHRoPSIxMTYiIGhlaWdodD0iMTUiIHJl
cXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5z
aWJpbGl0eSI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9
ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVs
dmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yNjsgdmVydGljYWwt
YWxpZ246IHRvcDsgd2lkdGg6IDExNnB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij5UZXN0TG9hZGVyPC9kaXY+PC9mb3JlaWdub2JqZWN0Pjx0ZXh0IHg9IjU4IiB5
PSIxNCIgZmlsbD0iIzAwMDAwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4
IiBmb250LWZhbWlseT0iSGVsdmV0aWNhIj5bTm90IHN1cHBvcnRlZCBieSB2aWV3ZXJdPC90ZXh0
Pjwvc3dpdGNoPjwvZz48cmVjdCB4PSI3MSIgeT0iNDgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAi
IGZpbGw9IiNlNmQwZGUiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48
ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3Myw3MSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9p
bnRlci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVpZ2h0PSIxNSIgcmVxdWlyZWRGZWF0dXJl
cz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5Ij48ZGl2
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogaW5s
aW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9y
OiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3
aWR0aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsiPlRl
c3RFbnZpcm9ubWVudDwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZp
bGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1m
YW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRj
aD48L2c+PHJlY3QgeD0iMTUxIiB5PSI2MTgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAiIGZpbGw9
IiNiOWUwYTUiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyB0cmFu
c2Zvcm09InRyYW5zbGF0ZSgxNTMsNjQxKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVy
LWV2ZW50cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJn
YigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRo
OiAxMTZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+d3B0c2Vy
dmU8L2Rpdj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0IiBmaWxsPSIjMDAwMDAw
IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZvbnQtZmFtaWx5PSJIZWx2
ZXRpY2EiPltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0
IHg9IjEiIHk9IjYxOCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2I5ZTBhNSIgc3Ry
b2tlPSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNs
YXRlKDMsNjQxKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3
aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9y
Zy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6
ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGlu
ZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+cHl3ZWJzb2NrZXQ8L2Rpdj48L2Zv
cmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0IiBmaWxsPSIjMDAwMDAwIiB0ZXh0LWFuY2hv
cj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiPltOb3Qg
c3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9zd2l0Y2g+PC9nPjxwYXRoIGQ9Ik0gMzM4IDc4
IEwgMTk3IDc4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0
PSIxMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDE5MiA3OCBMIDE5OSA3NSBM
IDE5NyA3OCBMIDE5OSA4MiBaIiBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9r
ZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDEwMSAz
MDggTCA2MiA2MTIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGlt
aXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIzIDMiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBh
dGggZD0iTSA2MSA2MTcgTCA1OSA2MTAgTCA2MiA2MTIgTCA2NiA2MTAgWiIgZmlsbD0iIzAwMDAw
MCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRz
PSJub25lIi8+PHBhdGggZD0iTSAxNjEgMzA4IEwgMjA0IDYxMiIgZmlsbD0ibm9uZSIgc3Ryb2tl
PSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIg
cG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDIwNCA2MTcgTCAyMDAgNjEwIEwgMjA0
IDYxMiBMIDIwNyA2MDkgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Ut
bWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAzMzggODIz
IEwgNjEgNjc4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0
PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iMyAzIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxwYXRo
IGQ9Ik0gMjExIDY3OCBMIDMzOCA3OTMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ry
b2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIzIDMiIHBvaW50ZXItZXZlbnRz
PSJub25lIi8+PHBhdGggZD0iTSAzOTggMTA4IEwgMzk4IDIyMiIgZmlsbD0ibm9uZSIgc3Ryb2tl
PSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+
PHBhdGggZD0iTSAzOTggMjI3IEwgMzk1IDIyMCBMIDM5OCAyMjIgTCA0MDIgMjIwIFoiIGZpbGw9
IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVy
LWV2ZW50cz0ibm9uZSIvPjxwYXRoIGQ9Ik0gNzA2IDI4OCBMIDYxOCA1MTMiIGZpbGw9Im5vbmUi
IHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5
PSIzIDMiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iNjU4IiB5PSIzODgiIHdpZHRo
PSI3MCIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50
cz0ibm9uZSIvPjxnIGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQt
YW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCI+PHRleHQgeD0iNjkzIiB5PSI0MTIiPlF1
ZXVlLmdldDwvdGV4dD48L2c+PHBhdGggZD0iTSA0NTggODA4IEwgNzE4IDY2OCIgZmlsbD0ibm9u
ZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJy
YXk9IjMgMyIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cmVjdCB4PSI3MSIgeT0iMjQ4IiB3aWR0
aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxsPSIjYjllMGE1IiBzdHJva2U9IiMwMDAwMDAiIHBvaW50
ZXItZXZlbnRzPSJub25lIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzMsMjcxKSI+PHN3aXRj
aD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9
IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJl
I0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwi
IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1p
bHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZl
cnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4
dC1hbGlnbjogY2VudGVyOyI+c2VydmUucHk8L2Rpdj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0i
NTgiIHk9IjE0IiBmaWxsPSIjMDAwMDAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9
IjEycHgiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiPltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08
L3RleHQ+PC9zd2l0Y2g+PC9nPjxwYXRoIGQ9Ik0gMTMxIDEwOCBMIDEzMSAyNDIiIGZpbGw9Im5v
bmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFy
cmF5PSIzIDMiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAxMzEgMjQ3IEwgMTI4
IDI0MCBMIDEzMSAyNDIgTCAxMzUgMjQwIFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAw
MCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxwYXRoIGQ9
Ik0gODggOTczIEwgMTMyIDk3MyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Ut
bWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAxMzcgOTcz
IEwgMTMwIDk3NyBMIDEzMiA5NzMgTCAxMzAgOTcwIFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0i
IzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxy
ZWN0IHg9IjEzOCIgeT0iMTAxOCIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIzMCIgZmlsbD0ibm9uZSIg
c3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIGZpbGw9IiMwMDAwMDAiIGZv
bnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJw
eCI+PHRleHQgeD0iMjI4IiB5PSIxMDM3Ij5Db21tdW5pY2F0aW9uIChjcm9zcyBwcm9jZXNzKTwv
dGV4dD48L2c+PHBhdGggZD0iTSA4OCAxMDAyIEwgMTMyIDEwMDIiIGZpbGw9Im5vbmUiIHN0cm9r
ZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIzIDMi
IHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAxMzcgMTAwMiBMIDEzMCAxMDA2IEwg
MTMyIDEwMDIgTCAxMzAgOTk5IFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ry
b2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0IHg9IjEzOCIg
eT0iOTU4IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjMwIiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUi
IHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9Ikhl
bHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4Ij48dGV4dCB4PSIy
MjgiIHk9Ijk3NyI+T3duZXJzaGlwIChzYW1lIHByb2Nlc3MpPC90ZXh0PjwvZz48cGF0aCBkPSJN
IDg4IDEwMzMgTCAxMzggMTAzMyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Ut
bWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIgcG9pbnRlci1ldmVudHM9Im5v
bmUiLz48cmVjdCB4PSIxNDMiIHk9Ijk4OCIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIzMCIgZmlsbD0i
bm9uZSIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIGZpbGw9IiMwMDAw
MDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6
ZT0iMTJweCI+PHRleHQgeD0iMjMzIiB5PSIxMDA3Ij5Pd25lcnNoaXAgKGNyb3NzIHByb2Nlc3Mp
PC90ZXh0PjwvZz48cmVjdCB4PSI0MjgiIHk9Ijk2NiIgd2lkdGg9IjUwIiBoZWlnaHQ9IjE1IiBm
aWxsPSIjZTZkMGRlIiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJl
Y3QgeD0iNDI4IiB5PSI5OTAiIHdpZHRoPSI1MCIgaGVpZ2h0PSIxNSIgZmlsbD0iI2E5YzRlYiIg
c3Ryb2tlPSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0IHg9IjQyOCIgeT0i
MTAxNSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjE1IiBmaWxsPSIjZmZjZTlmIiBzdHJva2U9IiMwMDAw
MDAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iNDI4IiB5PSIxMDYzIiB3aWR0aD0i
NTAiIGhlaWdodD0iMTUiIGZpbGw9IiNmMTljOTkiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1l
dmVudHM9Im5vbmUiLz48cmVjdCB4PSI0MjgiIHk9IjEwMzgiIHdpZHRoPSI1MCIgaGVpZ2h0PSIx
NSIgZmlsbD0iI2I5ZTBhNSIgc3Ryb2tlPSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIv
PjxyZWN0IHg9IjQ4NSIgeT0iOTU4IiB3aWR0aD0iOTAiIGhlaWdodD0iMzAiIGZpbGw9Im5vbmUi
IHN0cm9rZT0ibm9uZSIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyBmaWxsPSIjMDAwMDAwIiBm
b250LWZhbWlseT0iSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEy
cHgiPjx0ZXh0IHg9IjUzMCIgeT0iOTc3Ij53cHRydW5uZXIgY2xhc3M8L3RleHQ+PC9nPjxyZWN0
IHg9IjQ4NiIgeT0iOTgzIiB3aWR0aD0iMTUwIiBoZWlnaHQ9IjMwIiBmaWxsPSJub25lIiBzdHJv
a2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAwMCIgZm9udC1m
YW1pbHk9IkhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4Ij48
dGV4dCB4PSI1NjEiIHk9IjEwMDIiPlBlci1wcm9kdWN0IHdwdHJ1bm5lciBjbGFzczwvdGV4dD48
L2c+PHJlY3QgeD0iNDg2IiB5PSIxMDA4IiB3aWR0aD0iMTUwIiBoZWlnaHQ9IjMwIiBmaWxsPSJu
b25lIiBzdHJva2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAw
MCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXpl
PSIxMnB4Ij48dGV4dCB4PSI1NjEiIHk9IjEwMjciPlBlci1wcm90b2NvbCB3cHRydW5uZXIgY2xh
c3M8L3RleHQ+PC9nPjxyZWN0IHg9IjQ5MSIgeT0iMTAzMSIgd2lkdGg9IjE1MCIgaGVpZ2h0PSIz
MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIGZp
bGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUi
IGZvbnQtc2l6ZT0iMTJweCI+PHRleHQgeD0iNTY2IiB5PSIxMDUwIj5XZWItcGxhdGZvcm0tdGVz
dHMgY29tcG9uZW50PC90ZXh0PjwvZz48cmVjdCB4PSI0ODYiIHk9IjEwNTUiIHdpZHRoPSI5MCIg
aGVpZ2h0PSIzMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0ibm9u
ZSIvPjxnIGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQtYW5jaG9y
PSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCI+PHRleHQgeD0iNTMxIiB5PSIxMDc0Ij5Ccm93c2Vy
IHByb2Nlc3M8L3RleHQ+PC9nPjxwYXRoIGQ9Ik0gMzk4IDggTCAzOTggNDIiIGZpbGw9Im5vbmUi
IHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0i
bm9uZSIvPjxwYXRoIGQ9Ik0gMzk4IDQ3IEwgMzk1IDQwIEwgMzk4IDQyIEwgNDAyIDQwIFoiIGZp
bGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2lu
dGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0IHg9IjQ3OCIgeT0iMzg4IiB3aWR0aD0iMTIwIiBoZWln
aHQ9IjYwIiBmaWxsLW9wYWNpdHk9IjAuNSIgZmlsbD0iI2U2ZDBkZSIgc3Ryb2tlPSIjMDAwMDAw
IiBzdHJva2Utb3BhY2l0eT0iMC41IiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9y
bT0idHJhbnNsYXRlKDQ4MCw0MTEpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZl
bnRzPSJhbGwiIHdpZHRoPSIxMTYiIGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6
Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRpdiB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9j
azsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAs
IDAsIDApOyBsaW5lLWhlaWdodDogMS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDEx
NnB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5UZXN0UnVubmVy
TWFuYWdlcjwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMw
MDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9
IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+
PHBhdGggZD0iTSAzOTggMjg4IEwgNTMzIDM4NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAw
IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0i
TSA1MzcgMzg3IEwgNTI5IDM4NiBMIDUzMyAzODQgTCA1MzMgMzgwIFoiIGZpbGw9IiMwMDAwMDAi
IHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0i
bm9uZSIvPjxyZWN0IHg9IjE5OCIgeT0iMzg4IiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxs
LW9wYWNpdHk9IjAuNSIgZmlsbD0iI2U2ZDBkZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utb3Bh
Y2l0eT0iMC41IiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRl
KDIwMCw0MTEpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJhbGwiIHdp
ZHRoPSIxMTYiIGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3Jn
L1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXpl
OiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5l
LWhlaWdodDogMS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDExNnB4OyB3aGl0ZS1z
cGFjZTogbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5UZXN0UnVubmVyTWFuYWdlcjwvZGl2
PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMwMDAwMDAiIHRleHQt
YW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSI+
W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+PHBhdGggZD0iTSAz
OTggMjg4IEwgMjYzIDM4NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0
ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAyNTkgMzg3IEwg
MjYzIDM4MCBMIDI2MyAzODQgTCAyNjcgMzg2IFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAw
MDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0
IHg9IjU3NSIgeT0iNzQ4IiB3aWR0aD0iMTEwIiBoZWlnaHQ9IjQwIiBmaWxsPSJub25lIiBzdHJv
a2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAwMCIgZm9udC1m
YW1pbHk9IkhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4Ij48
dGV4dCB4PSI2MzAiIHk9Ijc1OCI+QnJvd3NlciBjb250cm9sPC90ZXh0Pjx0ZXh0IHg9IjYzMCIg
eT0iNzcyIj5wcm90b2NvbDwvdGV4dD48dGV4dCB4PSI2MzAiIHk9Ijc4NiI+KGUuZy4gV2ViRHJp
dmVyKTwvdGV4dD48L2c+PHJlY3QgeD0iMjU4IiB5PSI3MDgiIHdpZHRoPSI4MCIgaGVpZ2h0PSI0
MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIGZp
bGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUi
IGZvbnQtc2l6ZT0iMTJweCI+PHRleHQgeD0iMjk4IiB5PSI3MzIiPkhUVFA8L3RleHQ+PC9nPjxy
ZWN0IHg9IjExMSIgeT0iNzI4IiB3aWR0aD0iODAiIGhlaWdodD0iNDAiIGZpbGw9Im5vbmUiIHN0
cm9rZT0ibm9uZSIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyBmaWxsPSIjMDAwMDAwIiBmb250
LWZhbWlseT0iSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgi
Pjx0ZXh0IHg9IjE1MSIgeT0iNzUyIj53ZWJzb2NrZXRzPC90ZXh0PjwvZz48cmVjdCB4PSI2NTgi
IHk9IjIyOCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2U2ZDBkZSIgc3Ryb2tlPSIj
MDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY2
MCwyNTEpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJhbGwiIHdpZHRo
PSIxMTYiIGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RS
L1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAx
MnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhl
aWdodDogMS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDExNnB4OyB3aGl0ZS1zcGFj
ZTogbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5UZXN0cyBRdWV1ZTwvZGl2PjwvZm9yZWln
bm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJt
aWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBw
b3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+PHBhdGggZD0iTSA3MTggMTA4IEwg
NzE4IDIyMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0i
MTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSA3MTggMjI3IEwgNzE1IDIyMCBM
IDcxOCAyMjIgTCA3MjIgMjIwIFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ry
b2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxwYXRoIGQ9Ik0gNDI4
IDk3MCBMIDQyOCA5NzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVy
bGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjwvZz48L3N2Zz4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL2RvY3MvY29uZi5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvY29uZi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWU1Y2M0ZjBk
MjA0MjVkN2Y3ZjIyMGFhOTZhY2U5MzE5N2I5NzAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9j
cy9jb25mLnB5CkBAIC0wLDAgKzEsMjY3IEBACisjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorIwor
IyB3cHRydW5uZXIgZG9jdW1lbnRhdGlvbiBidWlsZCBjb25maWd1cmF0aW9uIGZpbGUsIGNyZWF0
ZWQgYnkKKyMgc3BoaW54LXF1aWNrc3RhcnQgb24gTW9uIE1heSAxOSAxODoxNDoyMCAyMDE0Lgor
IworIyBUaGlzIGZpbGUgaXMgZXhlY2ZpbGUoKWQgd2l0aCB0aGUgY3VycmVudCBkaXJlY3Rvcnkg
c2V0IHRvIGl0cworIyBjb250YWluaW5nIGRpci4KKyMKKyMgTm90ZSB0aGF0IG5vdCBhbGwgcG9z
c2libGUgY29uZmlndXJhdGlvbiB2YWx1ZXMgYXJlIHByZXNlbnQgaW4gdGhpcworIyBhdXRvZ2Vu
ZXJhdGVkIGZpbGUuCisjCisjIEFsbCBjb25maWd1cmF0aW9uIHZhbHVlcyBoYXZlIGEgZGVmYXVs
dDsgdmFsdWVzIHRoYXQgYXJlIGNvbW1lbnRlZCBvdXQKKyMgc2VydmUgdG8gc2hvdyB0aGUgZGVm
YXVsdC4KKworaW1wb3J0IHN5cworaW1wb3J0IG9zCisKKyMgSWYgZXh0ZW5zaW9ucyAob3IgbW9k
dWxlcyB0byBkb2N1bWVudCB3aXRoIGF1dG9kb2MpIGFyZSBpbiBhbm90aGVyIGRpcmVjdG9yeSwK
KyMgYWRkIHRoZXNlIGRpcmVjdG9yaWVzIHRvIHN5cy5wYXRoIGhlcmUuIElmIHRoZSBkaXJlY3Rv
cnkgaXMgcmVsYXRpdmUgdG8gdGhlCisjIGRvY3VtZW50YXRpb24gcm9vdCwgdXNlIG9zLnBhdGgu
YWJzcGF0aCB0byBtYWtlIGl0IGFic29sdXRlLCBsaWtlIHNob3duIGhlcmUuCisjc3lzLnBhdGgu
aW5zZXJ0KDAsIG9zLnBhdGguYWJzcGF0aCgnLicpKQorCisjIC0tIEdlbmVyYWwgY29uZmlndXJh
dGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwor
IyBJZiB5b3VyIGRvY3VtZW50YXRpb24gbmVlZHMgYSBtaW5pbWFsIFNwaGlueCB2ZXJzaW9uLCBz
dGF0ZSBpdCBoZXJlLgorI25lZWRzX3NwaGlueCA9ICcxLjAnCisKKyMgQWRkIGFueSBTcGhpbngg
ZXh0ZW5zaW9uIG1vZHVsZSBuYW1lcyBoZXJlLCBhcyBzdHJpbmdzLiBUaGV5IGNhbiBiZQorIyBl
eHRlbnNpb25zIGNvbWluZyB3aXRoIFNwaGlueCAobmFtZWQgJ3NwaGlueC5leHQuKicpIG9yIHlv
dXIgY3VzdG9tCisjIG9uZXMuCitleHRlbnNpb25zID0gWworICAgICdzcGhpbnguZXh0LmF1dG9k
b2MnLAorICAgICdzcGhpbnguZXh0LmludGVyc3BoaW54JywKKyAgICAnc3BoaW54LmV4dC52aWV3
Y29kZScsCitdCisKKyMgQWRkIGFueSBwYXRocyB0aGF0IGNvbnRhaW4gdGVtcGxhdGVzIGhlcmUs
IHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LgordGVtcGxhdGVzX3BhdGggPSBbJ190ZW1wbGF0
ZXMnXQorCisjIFRoZSBzdWZmaXggb2Ygc291cmNlIGZpbGVuYW1lcy4KK3NvdXJjZV9zdWZmaXgg
PSAnLnJzdCcKKworIyBUaGUgZW5jb2Rpbmcgb2Ygc291cmNlIGZpbGVzLgorI3NvdXJjZV9lbmNv
ZGluZyA9ICd1dGYtOC1zaWcnCisKKyMgVGhlIG1hc3RlciB0b2N0cmVlIGRvY3VtZW50LgorbWFz
dGVyX2RvYyA9ICdpbmRleCcKKworIyBHZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9q
ZWN0LgorcHJvamVjdCA9IHUnd3B0cnVubmVyJworY29weXJpZ2h0ID0gdScnCisKKyMgVGhlIHZl
cnNpb24gaW5mbyBmb3IgdGhlIHByb2plY3QgeW91J3JlIGRvY3VtZW50aW5nLCBhY3RzIGFzIHJl
cGxhY2VtZW50IGZvcgorIyB8dmVyc2lvbnwgYW5kIHxyZWxlYXNlfCwgYWxzbyB1c2VkIGluIHZh
cmlvdXMgb3RoZXIgcGxhY2VzIHRocm91Z2hvdXQgdGhlCisjIGJ1aWx0IGRvY3VtZW50cy4KKyMK
KyMgVGhlIHNob3J0IFguWSB2ZXJzaW9uLgordmVyc2lvbiA9ICcwLjMnCisjIFRoZSBmdWxsIHZl
cnNpb24sIGluY2x1ZGluZyBhbHBoYS9iZXRhL3JjIHRhZ3MuCityZWxlYXNlID0gJzAuMycKKwor
IyBUaGUgbGFuZ3VhZ2UgZm9yIGNvbnRlbnQgYXV0b2dlbmVyYXRlZCBieSBTcGhpbnguIFJlZmVy
IHRvIGRvY3VtZW50YXRpb24KKyMgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgbGFuZ3VhZ2VzLgor
I2xhbmd1YWdlID0gTm9uZQorCisjIFRoZXJlIGFyZSB0d28gb3B0aW9ucyBmb3IgcmVwbGFjaW5n
IHx0b2RheXw6IGVpdGhlciwgeW91IHNldCB0b2RheSB0byBzb21lCisjIG5vbi1mYWxzZSB2YWx1
ZSwgdGhlbiBpdCBpcyB1c2VkOgorI3RvZGF5ID0gJycKKyMgRWxzZSwgdG9kYXlfZm10IGlzIHVz
ZWQgYXMgdGhlIGZvcm1hdCBmb3IgYSBzdHJmdGltZSBjYWxsLgorI3RvZGF5X2ZtdCA9ICclQiAl
ZCwgJVknCisKKyMgTGlzdCBvZiBwYXR0ZXJucywgcmVsYXRpdmUgdG8gc291cmNlIGRpcmVjdG9y
eSwgdGhhdCBtYXRjaCBmaWxlcyBhbmQKKyMgZGlyZWN0b3JpZXMgdG8gaWdub3JlIHdoZW4gbG9v
a2luZyBmb3Igc291cmNlIGZpbGVzLgorZXhjbHVkZV9wYXR0ZXJucyA9IFsnX2J1aWxkJ10KKwor
IyBUaGUgcmVTVCBkZWZhdWx0IHJvbGUgKHVzZWQgZm9yIHRoaXMgbWFya3VwOiBgdGV4dGApIHRv
IHVzZSBmb3IgYWxsCisjIGRvY3VtZW50cy4KKyNkZWZhdWx0X3JvbGUgPSBOb25lCisKKyMgSWYg
dHJ1ZSwgJygpJyB3aWxsIGJlIGFwcGVuZGVkIHRvIDpmdW5jOiBldGMuIGNyb3NzLXJlZmVyZW5j
ZSB0ZXh0LgorI2FkZF9mdW5jdGlvbl9wYXJlbnRoZXNlcyA9IFRydWUKKworIyBJZiB0cnVlLCB0
aGUgY3VycmVudCBtb2R1bGUgbmFtZSB3aWxsIGJlIHByZXBlbmRlZCB0byBhbGwgZGVzY3JpcHRp
b24KKyMgdW5pdCB0aXRsZXMgKHN1Y2ggYXMgLi4gZnVuY3Rpb246OikuCisjYWRkX21vZHVsZV9u
YW1lcyA9IFRydWUKKworIyBJZiB0cnVlLCBzZWN0aW9uYXV0aG9yIGFuZCBtb2R1bGVhdXRob3Ig
ZGlyZWN0aXZlcyB3aWxsIGJlIHNob3duIGluIHRoZQorIyBvdXRwdXQuIFRoZXkgYXJlIGlnbm9y
ZWQgYnkgZGVmYXVsdC4KKyNzaG93X2F1dGhvcnMgPSBGYWxzZQorCisjIFRoZSBuYW1lIG9mIHRo
ZSBQeWdtZW50cyAoc3ludGF4IGhpZ2hsaWdodGluZykgc3R5bGUgdG8gdXNlLgorcHlnbWVudHNf
c3R5bGUgPSAnc3BoaW54JworCisjIEEgbGlzdCBvZiBpZ25vcmVkIHByZWZpeGVzIGZvciBtb2R1
bGUgaW5kZXggc29ydGluZy4KKyNtb2RpbmRleF9jb21tb25fcHJlZml4ID0gW10KKworIyBJZiB0
cnVlLCBrZWVwIHdhcm5pbmdzIGFzICJzeXN0ZW0gbWVzc2FnZSIgcGFyYWdyYXBocyBpbiB0aGUg
YnVpbHQgZG9jdW1lbnRzLgorI2tlZXBfd2FybmluZ3MgPSBGYWxzZQorCisKKyMgLS0gT3B0aW9u
cyBmb3IgSFRNTCBvdXRwdXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorCisjIFRoZSB0aGVtZSB0byB1c2UgZm9yIEhUTUwgYW5kIEhUTUwgSGVscCBwYWdl
cy4gIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IKKyMgYSBsaXN0IG9mIGJ1aWx0aW4gdGhlbWVz
LgoraHRtbF90aGVtZSA9ICdkZWZhdWx0JworCisjIFRoZW1lIG9wdGlvbnMgYXJlIHRoZW1lLXNw
ZWNpZmljIGFuZCBjdXN0b21pemUgdGhlIGxvb2sgYW5kIGZlZWwgb2YgYSB0aGVtZQorIyBmdXJ0
aGVyLiAgRm9yIGEgbGlzdCBvZiBvcHRpb25zIGF2YWlsYWJsZSBmb3IgZWFjaCB0aGVtZSwgc2Vl
IHRoZQorIyBkb2N1bWVudGF0aW9uLgorI2h0bWxfdGhlbWVfb3B0aW9ucyA9IHt9CisKKyMgQWRk
IGFueSBwYXRocyB0aGF0IGNvbnRhaW4gY3VzdG9tIHRoZW1lcyBoZXJlLCByZWxhdGl2ZSB0byB0
aGlzIGRpcmVjdG9yeS4KKyNodG1sX3RoZW1lX3BhdGggPSBbXQorCisjIFRoZSBuYW1lIGZvciB0
aGlzIHNldCBvZiBTcGhpbnggZG9jdW1lbnRzLiAgSWYgTm9uZSwgaXQgZGVmYXVsdHMgdG8KKyMg
Ijxwcm9qZWN0PiB2PHJlbGVhc2U+IGRvY3VtZW50YXRpb24iLgorI2h0bWxfdGl0bGUgPSBOb25l
CisKKyMgQSBzaG9ydGVyIHRpdGxlIGZvciB0aGUgbmF2aWdhdGlvbiBiYXIuICBEZWZhdWx0IGlz
IHRoZSBzYW1lIGFzIGh0bWxfdGl0bGUuCisjaHRtbF9zaG9ydF90aXRsZSA9IE5vbmUKKworIyBU
aGUgbmFtZSBvZiBhbiBpbWFnZSBmaWxlIChyZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeSkgdG8g
cGxhY2UgYXQgdGhlIHRvcAorIyBvZiB0aGUgc2lkZWJhci4KKyNodG1sX2xvZ28gPSBOb25lCisK
KyMgVGhlIG5hbWUgb2YgYW4gaW1hZ2UgZmlsZSAod2l0aGluIHRoZSBzdGF0aWMgcGF0aCkgdG8g
dXNlIGFzIGZhdmljb24gb2YgdGhlCisjIGRvY3MuICBUaGlzIGZpbGUgc2hvdWxkIGJlIGEgV2lu
ZG93cyBpY29uIGZpbGUgKC5pY28pIGJlaW5nIDE2eDE2IG9yIDMyeDMyCisjIHBpeGVscyBsYXJn
ZS4KKyNodG1sX2Zhdmljb24gPSBOb25lCisKKyMgQWRkIGFueSBwYXRocyB0aGF0IGNvbnRhaW4g
Y3VzdG9tIHN0YXRpYyBmaWxlcyAoc3VjaCBhcyBzdHlsZSBzaGVldHMpIGhlcmUsCisjIHJlbGF0
aXZlIHRvIHRoaXMgZGlyZWN0b3J5LiBUaGV5IGFyZSBjb3BpZWQgYWZ0ZXIgdGhlIGJ1aWx0aW4g
c3RhdGljIGZpbGVzLAorIyBzbyBhIGZpbGUgbmFtZWQgImRlZmF1bHQuY3NzIiB3aWxsIG92ZXJ3
cml0ZSB0aGUgYnVpbHRpbiAiZGVmYXVsdC5jc3MiLgoraHRtbF9zdGF0aWNfcGF0aCA9IFsnX3N0
YXRpYyddCisKKyMgQWRkIGFueSBleHRyYSBwYXRocyB0aGF0IGNvbnRhaW4gY3VzdG9tIGZpbGVz
IChzdWNoIGFzIHJvYm90cy50eHQgb3IKKyMgLmh0YWNjZXNzKSBoZXJlLCByZWxhdGl2ZSB0byB0
aGlzIGRpcmVjdG9yeS4gVGhlc2UgZmlsZXMgYXJlIGNvcGllZAorIyBkaXJlY3RseSB0byB0aGUg
cm9vdCBvZiB0aGUgZG9jdW1lbnRhdGlvbi4KKyNodG1sX2V4dHJhX3BhdGggPSBbXQorCisjIElm
IG5vdCAnJywgYSAnTGFzdCB1cGRhdGVkIG9uOicgdGltZXN0YW1wIGlzIGluc2VydGVkIGF0IGV2
ZXJ5IHBhZ2UgYm90dG9tLAorIyB1c2luZyB0aGUgZ2l2ZW4gc3RyZnRpbWUgZm9ybWF0LgorI2h0
bWxfbGFzdF91cGRhdGVkX2ZtdCA9ICclYiAlZCwgJVknCisKKyMgSWYgdHJ1ZSwgU21hcnR5UGFu
dHMgd2lsbCBiZSB1c2VkIHRvIGNvbnZlcnQgcXVvdGVzIGFuZCBkYXNoZXMgdG8KKyMgdHlwb2dy
YXBoaWNhbGx5IGNvcnJlY3QgZW50aXRpZXMuCisjaHRtbF91c2Vfc21hcnR5cGFudHMgPSBUcnVl
CisKKyMgQ3VzdG9tIHNpZGViYXIgdGVtcGxhdGVzLCBtYXBzIGRvY3VtZW50IG5hbWVzIHRvIHRl
bXBsYXRlIG5hbWVzLgorI2h0bWxfc2lkZWJhcnMgPSB7fQorCisjIEFkZGl0aW9uYWwgdGVtcGxh
dGVzIHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkIHRvIHBhZ2VzLCBtYXBzIHBhZ2UgbmFtZXMgdG8K
KyMgdGVtcGxhdGUgbmFtZXMuCisjaHRtbF9hZGRpdGlvbmFsX3BhZ2VzID0ge30KKworIyBJZiBm
YWxzZSwgbm8gbW9kdWxlIGluZGV4IGlzIGdlbmVyYXRlZC4KKyNodG1sX2RvbWFpbl9pbmRpY2Vz
ID0gVHJ1ZQorCisjIElmIGZhbHNlLCBubyBpbmRleCBpcyBnZW5lcmF0ZWQuCisjaHRtbF91c2Vf
aW5kZXggPSBUcnVlCisKKyMgSWYgdHJ1ZSwgdGhlIGluZGV4IGlzIHNwbGl0IGludG8gaW5kaXZp
ZHVhbCBwYWdlcyBmb3IgZWFjaCBsZXR0ZXIuCisjaHRtbF9zcGxpdF9pbmRleCA9IEZhbHNlCisK
KyMgSWYgdHJ1ZSwgbGlua3MgdG8gdGhlIHJlU1Qgc291cmNlcyBhcmUgYWRkZWQgdG8gdGhlIHBh
Z2VzLgorI2h0bWxfc2hvd19zb3VyY2VsaW5rID0gVHJ1ZQorCisjIElmIHRydWUsICJDcmVhdGVk
IHVzaW5nIFNwaGlueCIgaXMgc2hvd24gaW4gdGhlIEhUTUwgZm9vdGVyLiBEZWZhdWx0IGlzIFRy
dWUuCisjaHRtbF9zaG93X3NwaGlueCA9IFRydWUKKworIyBJZiB0cnVlLCAiKEMpIENvcHlyaWdo
dCAuLi4iIGlzIHNob3duIGluIHRoZSBIVE1MIGZvb3Rlci4gRGVmYXVsdCBpcyBUcnVlLgorI2h0
bWxfc2hvd19jb3B5cmlnaHQgPSBUcnVlCisKKyMgSWYgdHJ1ZSwgYW4gT3BlblNlYXJjaCBkZXNj
cmlwdGlvbiBmaWxlIHdpbGwgYmUgb3V0cHV0LCBhbmQgYWxsIHBhZ2VzIHdpbGwKKyMgY29udGFp
biBhIDxsaW5rPiB0YWcgcmVmZXJyaW5nIHRvIGl0LiAgVGhlIHZhbHVlIG9mIHRoaXMgb3B0aW9u
IG11c3QgYmUgdGhlCisjIGJhc2UgVVJMIGZyb20gd2hpY2ggdGhlIGZpbmlzaGVkIEhUTUwgaXMg
c2VydmVkLgorI2h0bWxfdXNlX29wZW5zZWFyY2ggPSAnJworCisjIFRoaXMgaXMgdGhlIGZpbGUg
bmFtZSBzdWZmaXggZm9yIEhUTUwgZmlsZXMgKGUuZy4gIi54aHRtbCIpLgorI2h0bWxfZmlsZV9z
dWZmaXggPSBOb25lCisKKyMgT3V0cHV0IGZpbGUgYmFzZSBuYW1lIGZvciBIVE1MIGhlbHAgYnVp
bGRlci4KK2h0bWxoZWxwX2Jhc2VuYW1lID0gJ3dwdHJ1bm5lcmRvYycKKworCisjIC0tIE9wdGlv
bnMgZm9yIExhVGVYIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKworbGF0ZXhfZWxlbWVudHMgPSB7CisjIFRoZSBwYXBlciBzaXplICgnbGV0dGVy
cGFwZXInIG9yICdhNHBhcGVyJykuCisjJ3BhcGVyc2l6ZSc6ICdsZXR0ZXJwYXBlcicsCisKKyMg
VGhlIGZvbnQgc2l6ZSAoJzEwcHQnLCAnMTFwdCcgb3IgJzEycHQnKS4KKyMncG9pbnRzaXplJzog
JzEwcHQnLAorCisjIEFkZGl0aW9uYWwgc3R1ZmYgZm9yIHRoZSBMYVRlWCBwcmVhbWJsZS4KKyMn
cHJlYW1ibGUnOiAnJywKK30KKworIyBHcm91cGluZyB0aGUgZG9jdW1lbnQgdHJlZSBpbnRvIExh
VGVYIGZpbGVzLiBMaXN0IG9mIHR1cGxlcworIyAoc291cmNlIHN0YXJ0IGZpbGUsIHRhcmdldCBu
YW1lLCB0aXRsZSwKKyMgIGF1dGhvciwgZG9jdW1lbnRjbGFzcyBbaG93dG8sIG1hbnVhbCwgb3Ig
b3duIGNsYXNzXSkuCitsYXRleF9kb2N1bWVudHMgPSBbCisgICgnaW5kZXgnLCAnd3B0cnVubmVy
LnRleCcsIHUnd3B0cnVubmVyIERvY3VtZW50YXRpb24nLAorICAgdSdKYW1lcyBHcmFoYW0nLCAn
bWFudWFsJyksCitdCisKKyMgVGhlIG5hbWUgb2YgYW4gaW1hZ2UgZmlsZSAocmVsYXRpdmUgdG8g
dGhpcyBkaXJlY3RvcnkpIHRvIHBsYWNlIGF0IHRoZSB0b3Agb2YKKyMgdGhlIHRpdGxlIHBhZ2Uu
CisjbGF0ZXhfbG9nbyA9IE5vbmUKKworIyBGb3IgIm1hbnVhbCIgZG9jdW1lbnRzLCBpZiB0aGlz
IGlzIHRydWUsIHRoZW4gdG9wbGV2ZWwgaGVhZGluZ3MgYXJlIHBhcnRzLAorIyBub3QgY2hhcHRl
cnMuCisjbGF0ZXhfdXNlX3BhcnRzID0gRmFsc2UKKworIyBJZiB0cnVlLCBzaG93IHBhZ2UgcmVm
ZXJlbmNlcyBhZnRlciBpbnRlcm5hbCBsaW5rcy4KKyNsYXRleF9zaG93X3BhZ2VyZWZzID0gRmFs
c2UKKworIyBJZiB0cnVlLCBzaG93IFVSTCBhZGRyZXNzZXMgYWZ0ZXIgZXh0ZXJuYWwgbGlua3Mu
CisjbGF0ZXhfc2hvd191cmxzID0gRmFsc2UKKworIyBEb2N1bWVudHMgdG8gYXBwZW5kIGFzIGFu
IGFwcGVuZGl4IHRvIGFsbCBtYW51YWxzLgorI2xhdGV4X2FwcGVuZGljZXMgPSBbXQorCisjIElm
IGZhbHNlLCBubyBtb2R1bGUgaW5kZXggaXMgZ2VuZXJhdGVkLgorI2xhdGV4X2RvbWFpbl9pbmRp
Y2VzID0gVHJ1ZQorCisKKyMgLS0gT3B0aW9ucyBmb3IgbWFudWFsIHBhZ2Ugb3V0cHV0IC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjIE9uZSBlbnRyeSBwZXIgbWFu
dWFsIHBhZ2UuIExpc3Qgb2YgdHVwbGVzCisjIChzb3VyY2Ugc3RhcnQgZmlsZSwgbmFtZSwgZGVz
Y3JpcHRpb24sIGF1dGhvcnMsIG1hbnVhbCBzZWN0aW9uKS4KK21hbl9wYWdlcyA9IFsKKyAgICAo
J2luZGV4JywgJ3dwdHJ1bm5lcicsIHUnd3B0cnVubmVyIERvY3VtZW50YXRpb24nLAorICAgICBb
dSdKYW1lcyBHcmFoYW0nXSwgMSkKK10KKworIyBJZiB0cnVlLCBzaG93IFVSTCBhZGRyZXNzZXMg
YWZ0ZXIgZXh0ZXJuYWwgbGlua3MuCisjbWFuX3Nob3dfdXJscyA9IEZhbHNlCisKKworIyAtLSBP
cHRpb25zIGZvciBUZXhpbmZvIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisKKyMgR3JvdXBpbmcgdGhlIGRvY3VtZW50IHRyZWUgaW50byBUZXhpbmZv
IGZpbGVzLiBMaXN0IG9mIHR1cGxlcworIyAoc291cmNlIHN0YXJ0IGZpbGUsIHRhcmdldCBuYW1l
LCB0aXRsZSwgYXV0aG9yLAorIyAgZGlyIG1lbnUgZW50cnksIGRlc2NyaXB0aW9uLCBjYXRlZ29y
eSkKK3RleGluZm9fZG9jdW1lbnRzID0gWworICAoJ2luZGV4JywgJ3dwdHJ1bm5lcicsIHUnd3B0
cnVubmVyIERvY3VtZW50YXRpb24nLAorICAgdSdKYW1lcyBHcmFoYW0nLCAnd3B0cnVubmVyJywg
J09uZSBsaW5lIGRlc2NyaXB0aW9uIG9mIHByb2plY3QuJywKKyAgICdNaXNjZWxsYW5lb3VzJyks
CitdCisKKyMgRG9jdW1lbnRzIHRvIGFwcGVuZCBhcyBhbiBhcHBlbmRpeCB0byBhbGwgbWFudWFs
cy4KKyN0ZXhpbmZvX2FwcGVuZGljZXMgPSBbXQorCisjIElmIGZhbHNlLCBubyBtb2R1bGUgaW5k
ZXggaXMgZ2VuZXJhdGVkLgorI3RleGluZm9fZG9tYWluX2luZGljZXMgPSBUcnVlCisKKyMgSG93
IHRvIGRpc3BsYXkgVVJMIGFkZHJlc3NlczogJ2Zvb3Rub3RlJywgJ25vJywgb3IgJ2lubGluZScu
CisjdGV4aW5mb19zaG93X3VybHMgPSAnZm9vdG5vdGUnCisKKyMgSWYgdHJ1ZSwgZG8gbm90IGdl
bmVyYXRlIGEgQGRldGFpbG1lbnUgaW4gdGhlICJUb3AiIG5vZGUncyBtZW51LgorI3RleGluZm9f
bm9fZGV0YWlsbWVudSA9IEZhbHNlCisKKworIyBFeGFtcGxlIGNvbmZpZ3VyYXRpb24gZm9yIGlu
dGVyc3BoaW54OiByZWZlciB0byB0aGUgUHl0aG9uIHN0YW5kYXJkIGxpYnJhcnkuCitpbnRlcnNw
aGlueF9tYXBwaW5nID0geydweXRob24nOiAoJ2h0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvJywgTm9u
ZSksCisgICAgICAgICAgICAgICAgICAgICAgICdtb3psb2cnOiAoJ2h0dHA6Ly9tb3piYXNlLnJl
YWR0aGVkb2NzLm9yZy9lbi9sYXRlc3QvJywgTm9uZSl9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL2Rl
c2lnbi5yc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci9kb2NzL2Rlc2lnbi5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmYxMDhhMDA4N2RhMGM2
ZWMxMjMxNjljNzE1ODZmNmNlM2JmYmE3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvZGVz
aWduLnJzdApAQCAtMCwwICsxLDEwNiBAQAord3B0cnVubmVyIERlc2lnbgorPT09PT09PT09PT09
PT09PQorCitUaGUgZGVzaWduIG9mIHdwdHJ1bm5lciBpcyBpbnRlbmRlZCB0byBtZWV0IHRoZSBm
b2xsb3dpbmcKK3JlcXVpcmVtZW50czoKKworICogUG9zc2libGUgdG8gcnVuIHRlc3RzIGZyb20g
VzNDIHdlYi1wbGF0Zm9ybS10ZXN0cy4KKworICogVGVzdHMgc2hvdWxkIGJlIHJ1biBhcyBmYXN0
IGFzIHBvc3NpYmxlLiBJbiBwYXJ0aWN1bGFyIGl0IHNob3VsZAorICAgbm90IGJlIG5lY2Vzc2Fy
eSB0byByZXN0YXJ0IHRoZSBicm93c2VyIGJldHdlZW4gdGVzdHMsIG9yIHNpbWlsYXIuCisKKyAq
IEFzIGZhciBhcyBwb3NzaWJsZSwgdGhlIHRlc3RzIHNob3VsZCBydW4gaW4gYSAibm9ybWFsIiBi
cm93c2VyIGFuZAorICAgYnJvd3NpbmcgY29udGV4dC4gSW4gcGFydGljdWxhciBtYW55IHRlc3Rz
IGFzc3VtZSB0aGF0IHRoZXkgYXJlCisgICBydW5uaW5nIGluIGEgdG9wLWxldmVsIGJyb3dzaW5n
IGNvbnRleHQsIHNvIHdlIG11c3QgYXZvaWQgdGhlIHVzZQorICAgb2YgYW4gYGBpZnJhbWVgYCB0
ZXN0IGNvbnRhaW5lci4KKworICogSXQgbXVzdCBiZSBwb3NzaWJsZSB0byBkZWFsIHdpdGggYWxs
IGtpbmRzIG9mIGJlaGF2aW91ciBvZiB0aGUKKyAgIGJyb3dzZXIgcnVuZGVyIHRlc3QsIGZvciBl
eGFtcGxlLCBjcmFzaGluZywgaGFuZ2luZywgZXRjLgorCisgKiBJdCBzaG91bGQgYmUgcG9zc2li
bGUgdG8gYWRkIHN1cHBvcnQgZm9yIG5ldyBwbGF0Zm9ybXMgYW5kIGJyb3dzZXJzCisgICB3aXRo
IG1pbmltYWwgY29kZSBjaGFuZ2VzLgorCisgKiBJdCBtdXN0IGJlIHBvc3NpYmxlIHRvIHJ1biB0
ZXN0cyBpbiBwYXJhbGxlbCB0byBmdXJ0aGVyIGltcHJvdmUKKyAgIHBlcmZvcm1hbmNlLgorCisg
KiBUZXN0IG91dHB1dCBtdXN0IGJlIGluIGEgbWFjaGluZSByZWFkYWJsZSBmb3JtLgorCitBcmNo
aXRlY3R1cmUKKy0tLS0tLS0tLS0tLQorCitJbiBvcmRlciB0byBtZWV0IHRoZSBhYm92ZSByZXF1
aXJlbWVudHMsIHdwdHJ1bm5lciBpcyBkZXNpZ25lZCB0bworcHVzaCBhcyBtdWNoIG9mIHRoZSB0
ZXN0IHNjaGVkdWxpbmcgYXMgcG9zc2libGUgaW50byB0aGUgaGFybmVzcy4gVGhpcworYWxsb3dz
IHRoZSBoYXJuZXNzIHRvIG1vbml0b3IgdGhlIHN0YXRlIG9mIHRoZSBicm93c2VyIGFuZCBwZXJm
b3JtCithcHByb3ByaWF0ZSBhY3Rpb24gaWYgaXQgZ2V0cyBpbnRvIGFuIHVud2FudGVkIHN0YXRl
IGUuZy4ga2lsbCB0aGUKK2Jyb3dzZXIgaWYgaXQgYXBwZWFycyB0byBiZSBodW5nLgorCitUaGUg
aGFybmVzcyB3aWxsIHR5cGljYWxseSBjb21tdW5pY2F0ZSB3aXRoIHRoZSBicm93c2VyIHZpYSBz
b21lIHJlbW90ZQorY29udHJvbCBwcm90b2NvbCBzdWNoIGFzIFdlYkRyaXZlci4gSG93ZXZlciBm
b3IgYnJvd3NlcnMgd2hlcmUgbm8gc3VjaAorcHJvdG9jb2wgaXMgc3VwcG9ydGVkLCBvdGhlciBp
bXBsZW1lbnRhdGlvbiBzdHJhdGVnaWVzIGFyZSBwb3NzaWJsZSwKK3R5cGljYWxseSBhdCB0aGUg
ZXhwZW5zZSBvZiBzcGVlZC4KKworVGhlIG92ZXJhbGwgYXJjaGl0ZWN0dXJlIG9mIHdwdHJ1bm5l
ciBpcyBzaG93biBpbiB0aGUgZGlhZ3JhbSBiZWxvdzoKKworLi4gaW1hZ2U6OiBhcmNoaXRlY3R1
cmUuc3ZnCisKK1RoZSBtYWluIGVudHJ5IHBvaW50IHRvIHRoZSBjb2RlIGlzIDpweTpmdW5jOmBy
dW5fdGVzdHNgIGluCitgYHdwdHJ1bm5lci5weWBgLiBUaGlzIGlzIHJlc3BvbnNpYmxlIGZvciBz
ZXR0aW5nIHVwIHRoZSB0ZXN0CitlbnZpcm9ubWVudCwgbG9hZGluZyB0aGUgbGlzdCBvZiB0ZXN0
cyB0byBiZSBleGVjdXRlZCwgYW5kIGludm9raW5nCit0aGUgcmVtYWluZGVyIG9mIHRoZSBjb2Rl
IHRvIGFjdHVhbGx5IGV4ZWN1dGUgc29tZSB0ZXN0cy4KKworVGhlIHRlc3QgZW52aXJvbm1lbnQg
aXMgZW5jYXBzdWxhdGVkIGluIHRoZQorOnB5OmNsYXNzOmBUZXN0RW52aXJvbm1lbnRgIGNsYXNz
LiBUaGlzIGRlZmVycyB0byBjb2RlIGluCitgYHdlYi1wbGF0Zm9ybS10ZXN0c2BgIHdoaWNoIGFj
dHVhbGx5IHN0YXJ0cyB0aGUgcmVxdWlyZWQgc2VydmVycyB0bworcnVuIHRoZSB0ZXN0cy4KKwor
VGhlIHNldCBvZiB0ZXN0cyB0byBydW4gaXMgZGVmaW5lZCBieSB0aGUKKzpweTpjbGFzczpgVGVz
dExvYWRlcmAuIFRoaXMgaXMgY29uc3RydWN0ZWQgd2l0aCBhCis6cHk6Y2xhc3M6YFRlc3RGaWx0
ZXJgIChub3Qgc2hvd24pLCB3aGljaCB0YWtlcyBhbnkgZmlsdGVyIGFyZ3VtZW50cworZnJvbSB0
aGUgY29tbWFuZCBsaW5lIHRvIHJlc3RyaWN0IHRoZSBzZXQgb2YgdGVzdHMgdGhhdCB3aWxsIGJl
CitydW4uIFRoZSA6cHk6Y2xhc3M6YFRlc3RMb2FkZXJgIHJlYWRzIGJvdGggdGhlIGBgd2ViLXBs
YXRmb3JtLXRlc3RzYGAKK0pTT04gbWFuaWZlc3QgYW5kIHRoZSBleHBlY3RhdGlvbiBkYXRhIHN0
b3JlZCBpbiBpbmkgZmlsZXMgYW5kCitwcm9kdWNlcyBhIDpweTpjbGFzczpgbXVsdGlwcm9jZXNz
aW5nLlF1ZXVlYCBvZiB0ZXN0cyB0byBydW4sIGFuZAordGhlaXIgZXhwZWN0ZWQgcmVzdWx0cy4K
KworQWN0dWFsbHkgcnVubmluZyB0aGUgdGVzdHMgaGFwcGVucyB0aHJvdWdoIHRoZQorOnB5OmNs
YXNzOmBNYW5hZ2VyR3JvdXBgIG9iamVjdC4gVGhpcyB0YWtlcyB0aGUgOnB5OmNsYXNzOmBRdWV1
ZWAgb2YKK3Rlc3RzIHRvIGJlIHJ1biBhbmQgc3RhcnRzIGEgOnB5OmNsYXNzOmB0ZXN0cnVubmVy
LlRlc3RSdW5uZXJNYW5hZ2VyYCBmb3IgZWFjaAoraW5zdGFuY2Ugb2YgdGhlIGJyb3dzZXIgdW5k
ZXIgdGVzdCB0aGF0IHdpbGwgYmUgc3RhcnRlZC4gVGhlc2UKKzpweTpjbGFzczpgVGVzdFJ1bm5l
ck1hbmFnZXJgIGluc3RhbmNlcyBhcmUgZWFjaCBzdGFydGVkIGluIHRoZWlyIG93bgordGhyZWFk
LgorCitBIDpweTpjbGFzczpgVGVzdFJ1bm5lck1hbmFnZXJgIGNvb3JkaW5hdGVzIHN0YXJ0aW5n
IHRoZSBwcm9kdWN0IHVuZGVyCit0ZXN0LCBhbmQgb3V0cHV0dGluZyByZXN1bHRzIGZyb20gdGhl
IHRlc3QuIEluIHRoZSBjYXNlIHRoYXQgdGhlIHRlc3QKK2hhcyB0aW1lZCBvdXQgb3IgdGhlIGJy
b3dzZXIgaGFzIGNyYXNoZWQsIGl0IGhhcyB0byByZXN0YXJ0IHRoZQorYnJvd3NlciB0byBlbnN1
cmUgdGhlIHRlc3QgcnVuIGNhbiBjb250aW51ZS4gVGhlIGZ1bmN0aW9uYWxpdHkgZm9yCitpbml0
aWFsaXNpbmcgdGhlIGJyb3dzZXIgdW5kZXIgdGVzdCwgYW5kIHByb2JpbmcgaXRzIHN0YXRlCiso
ZS5nLiB3aGV0aGVyIHRoZSBwcm9jZXNzIGlzIHN0aWxsIGFsaXZlKSBpcyBpbXBsZW1lbnRlZCB0
aHJvdWdoIGEKKzpweTpjbGFzczpgQnJvd3NlcmAgb2JqZWN0LiBBbiBpbXBsZW1lbnRhdGlvbiBv
ZiB0aGlzIGNsYXNzIG11c3QgYmUKK3Byb3ZpZGVkIGZvciBlYWNoIHByb2R1Y3QgdGhhdCBpcyBz
dXBwb3J0ZWQuCisKK1RoZSBmdW5jdGlvbmFsaXR5IGZvciBhY3R1YWxseSBydW5uaW5nIHRoZSB0
ZXN0cyBpcyBwcm92aWRlZCBieSBhCis6cHk6Y2xhc3M6YFRlc3RSdW5uZXJgIG9iamVjdC4gOnB5
OmNsYXNzOmBUZXN0UnVubmVyYCBpbnN0YW5jZXMgYXJlCitydW4gaW4gdGhlaXIgb3duIGNoaWxk
IHByb2Nlc3MgY3JlYXRlZCB3aXRoIHRoZQorOnB5Om1vZDpgbXVsdGlwcm9jZXNzaW5nYCBtb2R1
bGUuIFRoaXMgYWxsb3dzIHRoZW0gdG8gcnVuIGNvbmN1cnJlbnRseQorYW5kIHRvIGJlIGtpbGxl
ZCBhbmQgcmVzdGFydGVkIGFzIHJlcXVpcmVkLiBDb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlCis6
cHk6Y2xhc3M6YFRlc3RSdW5uZXJNYW5hZ2VyYCBhbmQgdGhlIDpweTpjbGFzczpgVGVzdFJ1bm5l
cmAgaXMKK3Byb3ZpZGVkIGJ5IGEgcGFpciBvZiBxdWV1ZXMsIG9uZSBmb3Igc2VuZGluZyBtZXNz
YWdlcyBpbiBlYWNoCitkaXJlY3Rpb24uIEluIHBhcnRpY3VsYXIgdGVzdCByZXN1bHRzIGFyZSBz
ZW50IGZyb20gdGhlCis6cHk6Y2xhc3M6YFRlc3RSdW5uZXJgIHRvIHRoZSA6cHk6Y2xhc3M6YFRl
c3RSdW5uZXJNYW5hZ2VyYCB1c2luZyBvbmUKK29mIHRoZXNlIHF1ZXVlcy4KKworVGhlIDpweTpj
bGFzczpgVGVzdFJ1bm5lcmAgb2JqZWN0IGlzIGdlbmVyaWMgaW4gdGhhdCB0aGUgc2FtZQorOnB5
OmNsYXNzOmBUZXN0UnVubmVyYCBpcyB1c2VkIHJlZ2FyZGxlc3Mgb2YgdGhlIHByb2R1Y3QgdW5k
ZXIKK3Rlc3QuIEhvd2V2ZXIgdGhlIGRldGFpbHMgb2YgaG93IHRvIHJ1biB0aGUgdGVzdCBtYXkg
dmFyeSBncmVhdGx5IHdpdGgKK3RoZSBwcm9kdWN0IHNpbmNlIGRpZmZlcmVudCBwcm9kdWN0cyBz
dXBwb3J0IGRpZmZlcmVudCByZW1vdGUgY29udHJvbAorcHJvdG9jb2xzIChvciBub25lIGF0IGFs
bCkuIFRoZXNlIHByb3RvY29sLXNwZWNpZmljIHBhcnRzIGFyZSBwbGFjZWQKK2luIHRoZSA6cHk6
Y2xhc3M6YEV4ZWN1dG9yYCBvYmplY3QuIFRoZXJlIGlzIHR5cGljYWxseSBhIGRpZmZlcmVudAor
OnB5OmNsYXNzOmBFeGVjdXRvcmAgY2xhc3MgZm9yIGVhY2ggY29tYmluYXRpb24gb2YgY29udHJv
bCBwcm90b2NvbAorYW5kIHRlc3QgdHlwZS4gVGhlIDpweTpjbGFzczpgVGVzdFJ1bm5lcmAgaXMg
cmVzcG9uc2libGUgZm9yIHB1bGxpbmcKK2VhY2ggdGVzdCBvZmYgdGhlIDpweTpjbGFzczpgUXVl
dWVgIG9mIHRlc3RzIGFuZCBwYXNzaW5nIGl0IGRvd24gdG8KK3RoZSA6cHk6Y2xhc3M6YEV4ZWN1
dG9yYC4KKworVGhlIGV4ZWN1dG9yIG9mdGVuIHJlcXVpcmVzIGFjY2VzcyB0byBkZXRhaWxzIG9m
IHRoZSBwYXJ0aWN1bGFyCiticm93c2VyIGluc3RhbmNlIHRoYXQgaXQgaXMgdGVzdGluZyBzbyB0
aGF0IGl0IGtub3dzIGUuZy4gd2hpY2ggcG9ydAordG8gY29ubmVjdCB0byB0byBzZW5kIGNvbW1h
bmRzIHRvIHRoZSBicm93c2VyLiBUaGVzZSBkZXRhaWxzIGFyZQorZW5jYXBzdWxhdGVkIGluIHRo
ZSA6cHk6Y2xhc3M6YEV4ZWN1dG9yQnJvd3NlcmAgY2xhc3MuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2Nz
L2V4cGVjdGF0aW9uLnJzdCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvZXhwZWN0YXRpb24ucnN0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZh
MGM3NzY4NGEzYjgzYWJhODg0MzZlODRiMzk5ZmQ4ZmI2NGUzMjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci9kb2NzL2V4cGVjdGF0aW9uLnJzdApAQCAtMCwwICsxLDI0OCBAQAorRXhwZWN0YXRpb24g
RGF0YQorPT09PT09PT09PT09PT09PQorCitJbnRyb2R1Y3Rpb24KKy0tLS0tLS0tLS0tLQorCitG
b3IgdXNlIGluIGNvbnRpbnVvdXMgaW50ZWdyYXRpb24gc3lzdGVtcywgYW5kIG90aGVyIHNjZW5h
cmlvcyB3aGVyZQorcmVncmVzc2lvbiB0cmFja2luZyBpcyByZXF1aXJlZCwgd3B0cnVubmVyIHN1
cHBvcnRzIHN0b3JpbmcgYW5kCitsb2FkaW5nIHRoZSBleHBlY3RlZCByZXN1bHQgb2YgZWFjaCB0
ZXN0IGluIGEgdGVzdCBydW4uIFR5cGljYWxseQordGhlc2UgZXhwZWN0ZWQgcmVzdWx0cyB3aWxs
IGluaXRpYWxseSBiZSBnZW5lcmF0ZWQgYnkgcnVubmluZyB0aGUKK3Rlc3RzdWl0ZSBpbiBhIGJh
c2VsaW5lIGJ1aWxkLiBUaGV5IG1heSB0aGVuIGJlIGVkaXRlZCBieSBodW1hbnMgYXMKK25ldyBm
ZWF0dXJlcyBhcmUgYWRkZWQgdG8gdGhlIHByb2R1Y3QgdGhhdCBjaGFuZ2UgdGhlIGV4cGVjdGVk
CityZXN1bHRzLiBUaGUgZXhwZWN0ZWQgcmVzdWx0cyBtYXkgYWxzbyB2YXJ5IGZvciBhIHNpbmds
ZSBwcm9kdWN0CitkZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtIG9uIHdoaWNoIGl0IGlzIHJ1bi4g
VGhlcmVmb3JlLCB0aGUgcmF3CitzdHJ1Y3R1cmVkIGxvZyBkYXRhIGlzIG5vdCBhIHN1aXRhYmxl
IGZvcm1hdCBmb3Igc3RvcmluZyB0aGVzZQorZmlsZXMuIEluc3RlYWQgc29tZXRoaW5nIGlzIHJl
cXVpcmVkIHRoYXQgaXM6CisKKyAqIEh1bWFuIHJlYWRhYmxlCisKKyAqIEh1bWFuIGVkaXRhYmxl
CisKKyAqIE1hY2hpbmUgcmVhZGFibGUgLyB3cml0YWJsZQorCisgKiBDYXBhYmxlIG9mIHN0b3Jp
bmcgdGVzdCBpZCAvIHJlc3VsdCBwYWlycworCisgKiBTdWl0YWJsZSBmb3Igc3RvcmluZyBpbiBh
IHZlcnNpb24gY29udHJvbCBzeXN0ZW0gKGkuZS4gdGV4dC1iYXNlZCkKKworVGhlIG5lZWQgZm9y
IGRpZmZlcmVudCByZXN1bHRzIHBlciBwbGF0Zm9ybSBtZWFucyBlaXRoZXIgaGF2aW5nCittdWx0
aXBsZSBleHBlY3RhdGlvbiBmaWxlcyBmb3IgZWFjaCBwbGF0Zm9ybSwgb3IgaGF2aW5nIGEgd2F5
IHRvCitleHByZXNzIGNvbmRpdGlvbmFsIHZhbHVlcyB3aXRoaW4gYSBjZXJ0YWluIGZpbGUuIFRo
ZSBmb3JtZXIgd291bGQgYmUKK3JhdGhlciBjdW1iZXJzb21lIGZvciBodW1hbnMgdXBkYXRpbmcg
dGhlIGV4cGVjdGF0aW9uIGZpbGVzLCBzbyB0aGUKK2xhdHRlciBhcHByb2FjaCBoYXMgYmVlbiBh
ZG9wdGVkLCBsZWFkaW5nIHRvIHRoZSByZXF1aXJlbWVudDoKKworICogQ2FwYWJsZSBvZiBzdG9y
aW5nIHJlc3VsdCB2YWx1ZXMgdGhhdCBhcmUgY29uZGl0aW9uYWwgb24gdGhlIHBsYXRmb3JtLgor
CitUaGVyZSBhcmUgZmV3IGV4dGFudCBmb3JtYXRzIHRoYXQgbWVldCB0aGVzZSByZXF1aXJlbWVu
dHMsIHNvCit3cHRydW5uZXIgdXNlcyBhIGJlc3Bva2UgYGBleHBlY3RhdGlvbiBtYW5pZmVzdGBg
IGZvcm1hdCwgd2hpY2ggaXMKK2Nsb3NlbHkgYmFzZWQgb24gdGhlIHN0YW5kYXJkIGBgaW5pYGAg
Zm9ybWF0LgorCitEaXJlY3RvcnkgTGF5b3V0CistLS0tLS0tLS0tLS0tLS0tCisKK0V4cGVjdGF0
aW9uIG1hbmlmZXN0IGZpbGVzIG11c3QgYmUgc3RvcmVkIHVuZGVyIHRoZSBgYG1ldGFkYXRhYGAK
K2RpcmVjdG9yeSBwYXNzZWQgdG8gdGhlIHRlc3QgcnVubmVyLiBUaGUgZGlyZWN0b3J5IGxheW91
dCBmb2xsb3dzIHRoYXQKK29mIHdlYi1wbGF0Zm9ybS10ZXN0cyB3aXRoIGVhY2ggdGVzdCBwYXRo
IGhhdmluZyBhIGNvcnJlc3BvbmRpbmcKK21hbmlmZXN0IGZpbGUuIFRlc3RzIHRoYXQgZGlmZmVy
IG9ubHkgYnkgcXVlcnkgc3RyaW5nLCBvciByZWZ0ZXN0cword2l0aCB0aGUgc2FtZSB0ZXN0IHBh
dGggYnV0IGRpZmZlcmVudCByZWYgcGF0aHMgc2hhcmUgdGhlIHNhbWUKK3JlZmVyZW5jZSBmaWxl
LiBUaGUgZmlsZSBuYW1lIGlzIHRha2VuIGZyb20gdGhlIGxhc3QgLy1zZXBhcmF0ZWQgcGFydAor
b2YgdGhlIHBhdGgsIHN1ZmZpeGVkIHdpdGggYGAuaW5pYGAuCisKK0FzIGFuIG9wdGltaXNhdGlv
biwgZmlsZXMgd2hpY2ggcHJvZHVjZSBvbmx5IGRlZmF1bHQgcmVzdWx0cworKGkuZS4gYGBQQVNT
YGAgb3IgYGBPS2BgKSBkb24ndCByZXF1aXJlIGEgY29ycmVzcG9uZGluZyBtYW5pZmVzdCBmaWxl
LgorCitGb3IgZXhhbXBsZSBhIHRlc3Qgd2l0aCB1cmw6OgorCisgIC9zcGVjL3NlY3Rpb24vZmls
ZS5odG1sP3F1ZXJ5PXBhcmFtCisKK3dvdWxkIGhhdmUgYW4gZXhwZWN0YXRpb24gZmlsZSA6Ogor
CisgIG1ldGFkYXRhL3NwZWMvc2VjdGlvbi9maWxlLmh0bWwuaW5pCisKKworLi4gX3dwdHVwZGF0
ZS1sYWJlbDoKKworR2VuZXJhdGluZyBFeHBlY3RhdGlvbiBGaWxlcworLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorCit3cHRydW5uZXIgcHJvdmlkZXMgdGhlIHRvb2wgYGB3cHR1cGRhdGVg
YCB0byBnZW5lcmF0ZSBleHBlY3RhdGlvbgorZmlsZXMgZnJvbSB0aGUgcmVzdWx0cyBvZiBhIHNl
dCBvZiBiYXNlbGluZSB0ZXN0IHJ1bnMuIFRoZSBiYXNpYworc3ludGF4IGZvciB0aGlzIGlzOjoK
KworICB3cHR1cGRhdGUgW29wdGlvbnNdIFtsb2dmaWxlXS4uLgorCitFYWNoIGBgbG9nZmlsZWBg
IGlzIGEgc3RydWN0dXJlZCBsb2cgZmlsZSBmcm9tIGEgcHJldmlvdXMgcnVuLiBUaGVzZQorY2Fu
IGJlIGdlbmVyYXRlZCBmcm9tIHdwdHJ1bm5lciB1c2luZyB0aGUgYGAtLWxvZy1yYXdgYCBvcHRp
b24KK2UuZy4gYGAtLWxvZy1yYXc9c3RydWN0dXJlZC5sb2dgYC4gVGhlIGRlZmF1bHQgYmVoYXZp
b3VyIGlzIHRvIHVwZGF0ZQorYWxsIHRoZSB0ZXN0IGRhdGEgZm9yIHRoZSBwYXJ0aWN1bGFyIGNv
bWJpbmF0aW9uIG9mIGhhcmR3YXJlIGFuZCBPUwordXNlZCBpbiB0aGUgcnVuIGNvcnJlc3BvbmRp
bmcgdG8gdGhlIGxvZyBkYXRhLCB3aGlsc3QgbGVhdmluZyBhbnkKK290aGVyIGV4cGVjdGF0aW9u
cyB1bnRvdWNoZWQuCisKK3dwdHVwZGF0ZSB0YWtlcyBzZXZlcmFsIHVzZWZ1bCBvcHRpb25zOgor
CitgYC0tc3luY2BgCisgIFB1bGwgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHdlYi1wbGF0Zm9ybS10
ZXN0cyBmcm9tIHRoZQorICB1cHN0cmVhbSBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZyBmaWxlLiBJ
ZiB0aGlzIGlzIHNwZWNpZmllZCBpbgorICBjb21iaW5hdGlvbiB3aXRoIGxvZ2ZpbGVzLCBpdCBp
cyBhc3N1bWVkIHRoYXQgdGhlIHJlc3VsdHMgaW4gdGhlIGxvZworICBmaWxlcyBhcHBseSB0byB0
aGUgcG9zdC11cGRhdGUgdGVzdHMuCisKK2BgLS1uby1jaGVjay1jbGVhbmBgCisgIERvbid0IGF0
dGVtcHQgdG8gY2hlY2sgaWYgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuIGJlZm9yZQor
ICBkb2luZyB0aGUgdXBkYXRlIChhc3N1bWluZyB0aGF0IHRoZSB3b3JraW5nIGRpcmVjdG9yeSBp
cyBhIGdpdCBvcgorICBtZXJjdXJpYWwgdHJlZSkuCisKK2BgLS1wYXRjaGBgCisgIENyZWF0ZSBh
IGEgZ2l0IGNvbW1pdCwgb3IgYSBtcSBwYXRjaCwgd2l0aCB0aGUgY2hhbmdlcyBtYWRlIGJ5IHdw
dHVwZGF0ZS4KKworYGAtLWlnbm9yZS1leGlzdGluZ2BgCisgIE92ZXJ3cml0ZSBhbGwgdGhlIGV4
cGVjdGF0aW9uIGRhdGEgZm9yIGFueSB0ZXN0cyB0aGF0IGhhdmUgYSByZXN1bHQKKyAgaW4gdGhl
IHBhc3NlZCBsb2cgZmlsZXMsIG5vdCBqdXN0IGRhdGEgZm9yIHRoZSBzYW1lIHBsYXRmb3JtLgor
CitFeGFtcGxlcworfn5+fn5+fn4KKworVXBkYXRlIHRoZSBsb2NhbCBjb3B5IG9mIHdlYi1wbGF0
Zm9ybS10ZXN0cyB3aXRob3V0IGNoYW5naW5nIHRoZQorZXhwZWN0YXRpb24gZGF0YSBhbmQgY29t
bWl0IChvciBjcmVhdGUgYSBtcSBwYXRjaCBmb3IpIHRoZSByZXN1bHQ6OgorCisgIHdwdHVwZGF0
ZSAtLXBhdGNoIC0tc3luYworCitVcGRhdGUgYWxsIHRoZSBleHBlY3RhdGlvbnMgZnJvbSBhIHNl
dCBvZiBjcm9zcy1wbGF0Zm9ybSB0ZXN0IHJ1bnM6OgorCisgIHdwdHVwZGF0ZSAtLW5vLWNoZWNr
LWNsZWFuIC0tcGF0Y2ggb3N4LmxvZyBsaW51eC5sb2cgd2luZG93cy5sb2cKKworQWRkIGV4cGVj
dGF0aW9uIGRhdGEgZm9yIHNvbWUgbmV3IHRlc3RzIHRoYXQgYXJlIGV4cGVjdGVkIHRvIGJlCitw
bGF0Zm9ybS1pbmRlcGVuZGVudDo6CisKKyAgd3B0dXBkYXRlIC0tbm8tY2hlY2stY2xlYW4gLS1w
YXRjaCAtLWlnbm9yZS1leGlzdGluZyB0ZXN0cy5sb2cKKworTWFuaWZlc3QgRm9ybWF0CistLS0t
LS0tLS0tLS0tLS0KK1RoZSBmb3JtYXQgb2YgdGhlIG1hbmlmZXN0IGZpbGVzIGlzIGJhc2VkIG9u
IHRoZSBpbmkgZm9ybWF0LiBGaWxlcyBhcmUKK2RpdmlkZWQgaW50byBzZWN0aW9ucywgZWFjaCAo
YXBhcnQgZnJvbSB0aGUgcm9vdCBzZWN0aW9uKSBoYXZpbmcgYQoraGVhZGluZyBlbmNsb3NlZCBp
biBzcXVhcmUgYnJhY2VzLiBXaXRoaW4gZWFjaCBzZWN0aW9uIGFyZSBrZXktdmFsdWUKK3BhaXJz
LiBUaGVyZSBhcmUgc2V2ZXJhbCBub3RhYmxlIGRpZmZlcmVuY2VzIGZyb20gc3RhbmRhcmQgLmlu
aSBmaWxlcywKK2hvd2V2ZXI6CisKKyAqIFNlY3Rpb25zIG1heSBiZSBoaWVyYXJjaGljYWxseSBu
ZXN0ZWQsIHdpdGggc2lnbmlmaWNhbnQgd2hpdGVzcGFjZQorICAgaW5kaWNhdGluZyBuZXN0aW5n
IGRlcHRoLgorCisgKiBPbmx5IGBgOmBgIGlzIHZhbGlkIGFzIGEga2V5L3ZhbHVlIHNlcGFyYXRv
cgorCitBIHNpbXBsZSBleGFtcGxlIG9mIGEgbWFuaWZlc3QgZmlsZSBpczo6CisKKyAgcm9vdF9r
ZXk6IHJvb3RfdmFsdWUKKworICBbc2VjdGlvbl0KKyAgICBzZWN0aW9uX2tleTogc2VjdGlvbl92
YWx1ZQorCisgICAgW3N1YnNlY3Rpb25dCisgICAgICAgc3Vic2VjdGlvbl9rZXk6IHN1YnNlY3Rp
b25fdmFsdWUKKworICBbYW5vdGhlcl9zZWN0aW9uXQorICAgIGFub3RoZXJfa2V5OiBhbm90aGVy
X3ZhbHVlCisKK0NvbmRpdGlvbmFsIFZhbHVlcworfn5+fn5+fn5+fn5+fn5+fn5+CisKK0luIG9y
ZGVyIHRvIHN1cHBvcnQgdmFsdWVzIHRoYXQgZGVwZW5kIG9uIHNvbWUgZXh0ZXJuYWwgZGF0YSwg
dGhlCityaWdodCBoYW5kIHNpZGUgb2YgYSBrZXkvdmFsdWUgcGFpciBjYW4gdGFrZSBhIHNldCBv
ZiBjb25kaXRpb25hbHMKK3JhdGhlciB0aGFuIGEgcGxhaW4gdmFsdWUuIFRoZXNlIHZhbHVlcyBh
cmUgcGxhY2VkIG9uIGEgbmV3IGxpbmUKK2ZvbGxvd2luZyB0aGUga2V5LCB3aXRoIHNpZ25pZmlj
YW50IGluZGVudGF0aW9uLiBDb25kaXRpb25hbCB2YWx1ZXMKK2FyZSBwcmVmaXhlZCB3aXRoIGBg
aWZgYCBhbmQgdGVybWluYXRlZCB3aXRoIGEgY29sb24sIGZvciBleGFtcGxlOjoKKworICBrZXk6
CisgICAgaWYgY29uZDE6IHZhbHVlMQorICAgIGlmIGNvbmQyOiB2YWx1ZTIKKyAgICB2YWx1ZTMK
KworSW4gdGhpcyBleGFtcGxlLCB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGBga2V5YGAgaXMg
ZGV0ZXJtaW5lZCBieQorZmlyc3QgZXZhbHVhdGluZyBgYGNvbmQxYGAgYWdhaW5zdCBleHRlcm5h
bCBkYXRhLiBJZiB0aGF0IGlzIHRydWUsCitgYGtleWBgIGlzIGFzc2lnbmVkIHRoZSB2YWx1ZSBg
YHZhbHVlMWBgLCBvdGhlcndpc2UgYGBjb25kMmBgIGlzCitldmFsdWF0ZWQgaW4gdGhlIHNhbWUg
d2F5LiBJZiBib3RoIGBgY29uZDFgYCBhbmQgYGBjb25kMmBgIGFyZSBmYWxzZSwKK3RoZSB1bmNv
bmRpdGlvbmFsIGBgdmFsdWUzYGAgaXMgdXNlZC4KKworQ29uZGl0aW9ucyB0aGVtc2VsdmVzIHVz
ZSBhIFB5dGhvbi1saWtlIGV4cHJlc3Npb24gc3ludGF4LiBPcGVyYW5kcworY2FuIGVpdGhlciBi
ZSB2YXJpYWJsZXMsIGNvcnJlc3BvbmRpbmcgdG8gZGF0YSBwYXNzZWQgaW4sIG51bWJlcnMKKyhp
bnRlZ2VyIG9yIGZsb2F0aW5nIHBvaW50OyBleHBvbmVudGlhbCBub3RhdGlvbiBpcyBub3Qgc3Vw
cG9ydGVkKSBvcgorcXVvdGUtZGVsaW1pdGVkIHN0cmluZ3MuIEVxdWFsaXR5IGlzIHRlc3RlZCB1
c2luZyBgYD09YGAgYW5kCitpbmVxdWFsaXR5IGJ5IGBgIT1gYC4gVGhlIG9wZXJhdG9ycyBgYGFu
ZGBgLCBgYG9yYGAgYW5kIGBgbm90YGAgYXJlCit1c2VkIGluIHRoZSBleHBlY3RlZCB3YXkuIFBh
cmVudGhlc2VzIGNhbiBhbHNvIGJlIHVzZWQgZm9yCitncm91cGluZy4gRm9yIGV4YW1wbGU6Ogor
CisgIGtleToKKyAgICBpZiAoYSA9PSAyIG9yIGEgPT0gMykgYW5kIGIgPT0gImFiYyI6IHZhbHVl
MQorICAgIGlmIGEgPT0gMSBvciBiICE9ICJhYmMiOiB2YWx1ZTIKKyAgICB2YWx1ZTMKKworSGVy
ZSBgYGFgYCBhbmQgYGBiYGAgYXJlIHZhcmlhYmxlcywgdGhlIHZhbHVlIG9mIHdoaWNoIHdpbGwg
YmUKK3N1cHBsaWVkIHdoZW4gdGhlIG1hbmlmZXN0IGlzIHVzZWQuCisKK0V4cGVjdGF0aW9uIE1h
bmlmZXN0cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doZW4gdXNlZCBmb3IgZXhwZWN0YXRp
b24gZGF0YSwgbWFuaWZlc3RzIGhhdmUgdGhlIGZvbGxvd2luZyBmb3JtYXQ6CisKKyAqIEEgc2Vj
dGlvbiBwZXIgdGVzdCBVUkwgZGVzY3JpYmVkIGJ5IHRoZSBtYW5pZmVzdCwgd2l0aCB0aGUgc2Vj
dGlvbgorICAgaGVhZGluZyBiZWluZyB0aGUgcGFydCBvZiB0aGUgdGVzdCBVUkwgZm9sbG93aW5n
IHRoZSBsYXN0IGBgL2BgIGluCisgICB0aGUgcGF0aCAodGhpcyBhbGxvd3MgbXVsdGlwbGUgdGVz
dHMgaW4gYSBzaW5nbGUgbWFuaWZlc3QgZmlsZSB3aXRoCisgICB0aGUgc2FtZSBwYXRoIHBhcnQg
b2YgdGhlIFVSTCwgYnV0IGRpZmZlcmVudCBxdWVyeSBwYXJ0cykuCisKKyAqIEEgc3Vic2VjdGlv
biBwZXIgc3VidGVzdCwgd2l0aCB0aGUgaGVhZGluZyBiZWluZyB0aGUgdGl0bGUgb2YgdGhlCisg
ICBzdWJ0ZXN0LgorCisgKiBBIGtleSBgYHR5cGVgYCBpbmRpY2F0aW5nIHRoZSB0ZXN0IHR5cGUu
IFRoaXMgdGFrZXMgdGhlIHZhbHVlcworICAgYGB0ZXN0aGFybmVzc2BgIGFuZCBgYHJlZnRlc3Rg
YC4KKworICogRm9yIHJlZnRlc3RzLCBrZXlzIGBgcmVmdHlwZWBgIGluZGljYXRpbmcgdGhlIHJl
ZmVyZW5jZSB0eXBlCisgICAoYGA9PWBgIG9yIGBgIT1gYCkgYW5kIGBgcmVmdXJsYGAgaW5kaWNh
dGluZyB0aGUgVVJMIG9mIHRoZQorICAgcmVmZXJlbmNlLgorCisgKiBBIGtleSBgYGV4cGVjdGVk
YGAgZ2l2aW5nIHRoZSBleHBlY3RhdGlvbiB2YWx1ZSBvZiBlYWNoIChzdWIpdGVzdC4KKworICog
QSBrZXkgYGBkaXNhYmxlZGBgIHdoaWNoIGNhbiBiZSBzZXQgdG8gYW55IHZhbHVlIHRvIGluZGlj
YXRlIHRoYXQKKyAgIHRoZSAoc3ViKXRlc3QgaXMgZGlzYWJsZWQgYW5kIHNob3VsZCBlaXRoZXIg
bm90IGJlIHJ1biAoZm9yIHRlc3RzKQorICAgb3IgdGhhdCBpdHMgcmVzdWx0cyBzaG91bGQgYmUg
aWdub3JlZCAoc3VidGVzdHMpLgorCisgKiBBIGtleSBgYHJlc3RhcnQtYWZ0ZXJgYCB3aGljaCBj
YW4gYmUgc2V0IHRvIGFueSB2YWx1ZSB0byBpbmRpY2F0ZSB0aGF0CisgICB0aGUgcnVubmVyIHNo
b3VsZCByZXN0YXJ0IHRoZSBicm93c2VyIGFmdGVyIHJ1bm5pbmcgdGhpcyB0ZXN0IChlLmcuIHRv
CisgICBjbGVhciBvdXQgdW53YW50ZWQgc3RhdGUpLgorCisgKiBWYXJpYWJsZXMgYGBkZWJ1Z2Bg
LCBgYG9zYGAsIGBgdmVyc2lvbmBgLCBgYHByb2Nlc3NvcmBgIGFuZAorICAgYGBiaXRzYGAgdGhh
dCBkZXNjcmliZSB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgYnJvd3NlciB1bmRlcgorICAgdGVz
dC4gYGBkZWJ1Z2BgIGlzIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgYSBidWlsZCBpcyBh
IGRlYnVnCisgICBidWlsZC4gYGBvc2BgIGlzIGEgc3RyaW5nIGluZGljYXRpbmcgdGhlIG9wZXJh
dGluZyBzeXN0ZW0sIGFuZAorICAgYGB2ZXJzaW9uYGAgYSBzdHJpbmcgaW5kaWNhdGluZyB0aGUg
cGFydGljdWxhciB2ZXJzaW9uIG9mIHRoYXQKKyAgIG9wZXJhdGluZyBzeXN0ZW0uIGBgcHJvY2Vz
c29yYGAgaXMgYSBzdHJpbmcgaW5kaWNhdGluZyB0aGUKKyAgIHByb2Nlc3NvciBhcmNoaXRlY3R1
cmUgYW5kIGBgYml0c2BgIGFuIGludGVnZXIgaW5kaWNhdGluZyB0aGUKKyAgIG51bWJlciBvZiBi
aXRzLiBUaGlzIGluZm9ybWF0aW9uIGlzIHR5cGljYWxseSBwcm92aWRlZCBieQorICAgOnB5Om1v
ZDpgbW96aW5mb2AuCisKKyAqIFRvcCBsZXZlbCBrZXlzIGFyZSB0YWtlbiBhcyBkZWZhdWx0cyBm
b3IgdGhlIHdob2xlIGZpbGUuIFNvLCBmb3IKKyAgIGV4YW1wbGUsIGEgdG9wIGxldmVsIGtleSB3
aXRoIGBgZXhwZWN0ZWQ6IEZBSUxgYCB3b3VsZCBpbmRpY2F0ZQorICAgdGhhdCBhbGwgdGVzdHMg
YW5kIHN1YnRlc3RzIGluIHRoZSBmaWxlIGFyZSBleHBlY3RlZCB0byBmYWlsLAorICAgdW5sZXNz
IHRoZXkgaGF2ZSBhbiBgYGV4cGVjdGVkYGAga2V5IG9mIHRoZWlyIG93bi4KKworQW4gc2ltcGxl
IGV4YW1wbGUgbWFuaWZlc3QgbWlnaHQgbG9vayBsaWtlOjoKKworICBbdGVzdC5odG1sP3Zhcmlh
bnQ9YmFzaWNdCisgICAgdHlwZTogdGVzdGhhcm5lc3MKKworICAgIFtUZXN0IHNvbWV0aGluZyB1
bnN1cHBvcnRlZF0KKyAgICAgICBleHBlY3RlZDogRkFJTAorCisgIFt0ZXN0Lmh0bWw/dmFyaWFu
dD1icm9rZW5dCisgICAgZXhwZWN0ZWQ6IEVSUk9SCisKKyAgW3Rlc3QuaHRtbD92YXJpYW50PXVu
c3RhYmxlXQorICAgIGRpc2FibGVkOiBodHRwOi8vdGVzdC5idWdzLmV4YW1wbGUub3JnL2J1Z3Mv
MTIzNDUKKworQSBtb3JlIGNvbXBsZXggbWFuaWZlc3Qgd2l0aCBjb25kaXRpb25hbCBwcm9wZXJ0
aWVzIG1pZ2h0IGJlOjoKKworICBbY2FudmFzX3Rlc3QuaHRtbF0KKyAgICBleHBlY3RlZDoKKyAg
ICAgIGlmIG9zID09ICJvc3giOiBGQUlMCisgICAgICBpZiBvcyA9PSAid2luZG93cyIgYW5kIHZl
cnNpb24gPT0gIlhQIjogRkFJTAorICAgICAgUEFTUworCitOb3RlIHRoYXQgYGBQQVNTYGAgaW4g
dGhlIGFib3ZlIHdvcmtzLCBidXQgaXMgdW5uZWNlc3Nhcnk7IGBgUEFTU2BgCisob3IgYGBPS2Bg
KSBpcyBhbHdheXMgdGhlIGRlZmF1bHQgZXhwZWN0YXRpb24gZm9yIChzdWIpdGVzdHMuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci9kb2NzL2luZGV4LnJzdCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvaW5kZXgucnN0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjUxNDdkM2UzMWMzYmM0NGIxMjE2ZTQ2YmJjMDNhMDRjMzgwY2IzYWQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9kb2NzL2luZGV4LnJzdApAQCAtMCwwICsxLDI0IEBACisuLiB3cHRydW5uZXIgZG9j
dW1lbnRhdGlvbiBtYXN0ZXIgZmlsZSwgY3JlYXRlZCBieQorICAgc3BoaW54LXF1aWNrc3RhcnQg
b24gTW9uIE1heSAxOSAxODoxNDoyMCAyMDE0LgorICAgWW91IGNhbiBhZGFwdCB0aGlzIGZpbGUg
Y29tcGxldGVseSB0byB5b3VyIGxpa2luZywgYnV0IGl0IHNob3VsZCBhdCBsZWFzdAorICAgY29u
dGFpbiB0aGUgcm9vdCBgdG9jdHJlZWAgZGlyZWN0aXZlLgorCitXZWxjb21lIHRvIHdwdHJ1bm5l
cidzIGRvY3VtZW50YXRpb24hCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CisKK0NvbnRlbnRzOgorCisuLiB0b2N0cmVlOjoKKyAgIDptYXhkZXB0aDogMgorCisgICB1c2Fn
ZQorICAgZXhwZWN0YXRpb24KKyAgIGRlc2lnbgorCitJbmRpY2VzIGFuZCB0YWJsZXMKKz09PT09
PT09PT09PT09PT09PQorCisqIDpyZWY6YGdlbmluZGV4YAorKiA6cmVmOmBtb2RpbmRleGAKKyog
OnJlZjpgc2VhcmNoYAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL21ha2UuYmF0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9t
YWtlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NTljMTYxNWEyODlkYjBiMWE5MGEwOTBkODk0ZmE0YjU0YjRm
YTNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9tYWtlLmJhdApAQCAtMCwwICsxLDI0MiBA
QAorQEVDSE8gT0ZGDQorDQorUkVNIENvbW1hbmQgZmlsZSBmb3IgU3BoaW54IGRvY3VtZW50YXRp
b24NCisNCitpZiAiJVNQSElOWEJVSUxEJSIgPT0gIiIgKA0KKwlzZXQgU1BISU5YQlVJTEQ9c3Bo
aW54LWJ1aWxkDQorKQ0KK3NldCBCVUlMRERJUj1fYnVpbGQNCitzZXQgQUxMU1BISU5YT1BUUz0t
ZCAlQlVJTERESVIlL2RvY3RyZWVzICVTUEhJTlhPUFRTJSAuDQorc2V0IEkxOE5TUEhJTlhPUFRT
PSVTUEhJTlhPUFRTJSAuDQoraWYgTk9UICIlUEFQRVIlIiA9PSAiIiAoDQorCXNldCBBTExTUEhJ
TlhPUFRTPS1EIGxhdGV4X3BhcGVyX3NpemU9JVBBUEVSJSAlQUxMU1BISU5YT1BUUyUNCisJc2V0
IEkxOE5TUEhJTlhPUFRTPS1EIGxhdGV4X3BhcGVyX3NpemU9JVBBUEVSJSAlSTE4TlNQSElOWE9Q
VFMlDQorKQ0KKw0KK2lmICIlMSIgPT0gIiIgZ290byBoZWxwDQorDQoraWYgIiUxIiA9PSAiaGVs
cCIgKA0KKwk6aGVscA0KKwllY2hvLlBsZWFzZSB1c2UgYG1ha2UgXjx0YXJnZXRePmAgd2hlcmUg
Xjx0YXJnZXRePiBpcyBvbmUgb2YNCisJZWNoby4gIGh0bWwgICAgICAgdG8gbWFrZSBzdGFuZGFs
b25lIEhUTUwgZmlsZXMNCisJZWNoby4gIGRpcmh0bWwgICAgdG8gbWFrZSBIVE1MIGZpbGVzIG5h
bWVkIGluZGV4Lmh0bWwgaW4gZGlyZWN0b3JpZXMNCisJZWNoby4gIHNpbmdsZWh0bWwgdG8gbWFr
ZSBhIHNpbmdsZSBsYXJnZSBIVE1MIGZpbGUNCisJZWNoby4gIHBpY2tsZSAgICAgdG8gbWFrZSBw
aWNrbGUgZmlsZXMNCisJZWNoby4gIGpzb24gICAgICAgdG8gbWFrZSBKU09OIGZpbGVzDQorCWVj
aG8uICBodG1saGVscCAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBIVE1MIGhlbHAgcHJvamVj
dA0KKwllY2hvLiAgcXRoZWxwICAgICB0byBtYWtlIEhUTUwgZmlsZXMgYW5kIGEgcXRoZWxwIHBy
b2plY3QNCisJZWNoby4gIGRldmhlbHAgICAgdG8gbWFrZSBIVE1MIGZpbGVzIGFuZCBhIERldmhl
bHAgcHJvamVjdA0KKwllY2hvLiAgZXB1YiAgICAgICB0byBtYWtlIGFuIGVwdWINCisJZWNoby4g
IGxhdGV4ICAgICAgdG8gbWFrZSBMYVRlWCBmaWxlcywgeW91IGNhbiBzZXQgUEFQRVI9YTQgb3Ig
UEFQRVI9bGV0dGVyDQorCWVjaG8uICB0ZXh0ICAgICAgIHRvIG1ha2UgdGV4dCBmaWxlcw0KKwll
Y2hvLiAgbWFuICAgICAgICB0byBtYWtlIG1hbnVhbCBwYWdlcw0KKwllY2hvLiAgdGV4aW5mbyAg
ICB0byBtYWtlIFRleGluZm8gZmlsZXMNCisJZWNoby4gIGdldHRleHQgICAgdG8gbWFrZSBQTyBt
ZXNzYWdlIGNhdGFsb2dzDQorCWVjaG8uICBjaGFuZ2VzICAgIHRvIG1ha2UgYW4gb3ZlcnZpZXcg
b3ZlciBhbGwgY2hhbmdlZC9hZGRlZC9kZXByZWNhdGVkIGl0ZW1zDQorCWVjaG8uICB4bWwgICAg
ICAgIHRvIG1ha2UgRG9jdXRpbHMtbmF0aXZlIFhNTCBmaWxlcw0KKwllY2hvLiAgcHNldWRveG1s
ICB0byBtYWtlIHBzZXVkb3htbC1YTUwgZmlsZXMgZm9yIGRpc3BsYXkgcHVycG9zZXMNCisJZWNo
by4gIGxpbmtjaGVjayAgdG8gY2hlY2sgYWxsIGV4dGVybmFsIGxpbmtzIGZvciBpbnRlZ3JpdHkN
CisJZWNoby4gIGRvY3Rlc3QgICAgdG8gcnVuIGFsbCBkb2N0ZXN0cyBlbWJlZGRlZCBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBpZiBlbmFibGVkDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0g
ImNsZWFuIiAoDQorCWZvciAvZCAlJWkgaW4gKCVCVUlMRERJUiVcKikgZG8gcm1kaXIgL3EgL3Mg
JSVpDQorCWRlbCAvcSAvcyAlQlVJTERESVIlXCoNCisJZ290byBlbmQNCispDQorDQorDQorJVNQ
SElOWEJVSUxEJSAyPiBudWwNCitpZiBlcnJvcmxldmVsIDkwMDkgKA0KKwllY2hvLg0KKwllY2hv
LlRoZSAnc3BoaW54LWJ1aWxkJyBjb21tYW5kIHdhcyBub3QgZm91bmQuIE1ha2Ugc3VyZSB5b3Ug
aGF2ZSBTcGhpbngNCisJZWNoby5pbnN0YWxsZWQsIHRoZW4gc2V0IHRoZSBTUEhJTlhCVUlMRCBl
bnZpcm9ubWVudCB2YXJpYWJsZSB0byBwb2ludA0KKwllY2hvLnRvIHRoZSBmdWxsIHBhdGggb2Yg
dGhlICdzcGhpbngtYnVpbGQnIGV4ZWN1dGFibGUuIEFsdGVybmF0aXZlbHkgeW91DQorCWVjaG8u
bWF5IGFkZCB0aGUgU3BoaW54IGRpcmVjdG9yeSB0byBQQVRILg0KKwllY2hvLg0KKwllY2hvLklm
IHlvdSBkb24ndCBoYXZlIFNwaGlueCBpbnN0YWxsZWQsIGdyYWIgaXQgZnJvbQ0KKwllY2hvLmh0
dHA6Ly9zcGhpbngtZG9jLm9yZy8NCisJZXhpdCAvYiAxDQorKQ0KKw0KK2lmICIlMSIgPT0gImh0
bWwiICgNCisJJVNQSElOWEJVSUxEJSAtYiBodG1sICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIl
L2h0bWwNCisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxk
IGZpbmlzaGVkLiBUaGUgSFRNTCBwYWdlcyBhcmUgaW4gJUJVSUxERElSJS9odG1sLg0KKwlnb3Rv
IGVuZA0KKykNCisNCitpZiAiJTEiID09ICJkaXJodG1sIiAoDQorCSVTUEhJTlhCVUlMRCUgLWIg
ZGlyaHRtbCAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9kaXJodG1sDQorCWlmIGVycm9ybGV2
ZWwgMSBleGl0IC9iIDENCisJZWNoby4NCisJZWNoby5CdWlsZCBmaW5pc2hlZC4gVGhlIEhUTUwg
cGFnZXMgYXJlIGluICVCVUlMRERJUiUvZGlyaHRtbC4NCisJZ290byBlbmQNCispDQorDQoraWYg
IiUxIiA9PSAic2luZ2xlaHRtbCIgKA0KKwklU1BISU5YQlVJTEQlIC1iIHNpbmdsZWh0bWwgJUFM
TFNQSElOWE9QVFMlICVCVUlMRERJUiUvc2luZ2xlaHRtbA0KKwlpZiBlcnJvcmxldmVsIDEgZXhp
dCAvYiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBIVE1MIHBhZ2VzIGFy
ZSBpbiAlQlVJTERESVIlL3NpbmdsZWh0bWwuDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIg
PT0gInBpY2tsZSIgKA0KKwklU1BISU5YQlVJTEQlIC1iIHBpY2tsZSAlQUxMU1BISU5YT1BUUyUg
JUJVSUxERElSJS9waWNrbGUNCisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0K
KwllY2hvLkJ1aWxkIGZpbmlzaGVkOyBub3cgeW91IGNhbiBwcm9jZXNzIHRoZSBwaWNrbGUgZmls
ZXMuDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gImpzb24iICgNCisJJVNQSElOWEJV
SUxEJSAtYiBqc29uICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL2pzb24NCisJaWYgZXJyb3Js
ZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkOyBub3cgeW91
IGNhbiBwcm9jZXNzIHRoZSBKU09OIGZpbGVzLg0KKwlnb3RvIGVuZA0KKykNCisNCitpZiAiJTEi
ID09ICJodG1saGVscCIgKA0KKwklU1BISU5YQlVJTEQlIC1iIGh0bWxoZWxwICVBTExTUEhJTlhP
UFRTJSAlQlVJTERESVIlL2h0bWxoZWxwDQorCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCisJ
ZWNoby4NCisJZWNoby5CdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuIEhUTUwgSGVscCBX
b3Jrc2hvcCB3aXRoIHRoZSBeDQorLmhocCBwcm9qZWN0IGZpbGUgaW4gJUJVSUxERElSJS9odG1s
aGVscC4NCisJZ290byBlbmQNCispDQorDQoraWYgIiUxIiA9PSAicXRoZWxwIiAoDQorCSVTUEhJ
TlhCVUlMRCUgLWIgcXRoZWxwICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL3F0aGVscA0KKwlp
ZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQ7
IG5vdyB5b3UgY2FuIHJ1biAicWNvbGxlY3Rpb25nZW5lcmF0b3IiIHdpdGggdGhlIF4NCisucWhj
cCBwcm9qZWN0IGZpbGUgaW4gJUJVSUxERElSJS9xdGhlbHAsIGxpa2UgdGhpczoNCisJZWNoby5e
PiBxY29sbGVjdGlvbmdlbmVyYXRvciAlQlVJTERESVIlXHF0aGVscFx3cHRydW5uZXIucWhjcA0K
KwllY2hvLlRvIHZpZXcgdGhlIGhlbHAgZmlsZToNCisJZWNoby5ePiBhc3Npc3RhbnQgLWNvbGxl
Y3Rpb25GaWxlICVCVUlMRERJUiVccXRoZWxwXHdwdHJ1bm5lci5naGMNCisJZ290byBlbmQNCisp
DQorDQoraWYgIiUxIiA9PSAiZGV2aGVscCIgKA0KKwklU1BISU5YQlVJTEQlIC1iIGRldmhlbHAg
JUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvZGV2aGVscA0KKwlpZiBlcnJvcmxldmVsIDEgZXhp
dCAvYiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQuDQorCWdvdG8gZW5kDQorKQ0K
Kw0KK2lmICIlMSIgPT0gImVwdWIiICgNCisJJVNQSElOWEJVSUxEJSAtYiBlcHViICVBTExTUEhJ
TlhPUFRTJSAlQlVJTERESVIlL2VwdWINCisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwll
Y2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkLiBUaGUgZXB1YiBmaWxlIGlzIGluICVCVUlMRERJ
UiUvZXB1Yi4NCisJZ290byBlbmQNCispDQorDQoraWYgIiUxIiA9PSAibGF0ZXgiICgNCisJJVNQ
SElOWEJVSUxEJSAtYiBsYXRleCAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9sYXRleA0KKwlp
ZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQ7
IHRoZSBMYVRlWCBmaWxlcyBhcmUgaW4gJUJVSUxERElSJS9sYXRleC4NCisJZ290byBlbmQNCisp
DQorDQoraWYgIiUxIiA9PSAibGF0ZXhwZGYiICgNCisJJVNQSElOWEJVSUxEJSAtYiBsYXRleCAl
QUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9sYXRleA0KKwljZCAlQlVJTERESVIlL2xhdGV4DQor
CW1ha2UgYWxsLXBkZg0KKwljZCAlQlVJTERESVIlLy4uDQorCWVjaG8uDQorCWVjaG8uQnVpbGQg
ZmluaXNoZWQ7IHRoZSBQREYgZmlsZXMgYXJlIGluICVCVUlMRERJUiUvbGF0ZXguDQorCWdvdG8g
ZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gImxhdGV4cGRmamEiICgNCisJJVNQSElOWEJVSUxEJSAt
YiBsYXRleCAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9sYXRleA0KKwljZCAlQlVJTERESVIl
L2xhdGV4DQorCW1ha2UgYWxsLXBkZi1qYQ0KKwljZCAlQlVJTERESVIlLy4uDQorCWVjaG8uDQor
CWVjaG8uQnVpbGQgZmluaXNoZWQ7IHRoZSBQREYgZmlsZXMgYXJlIGluICVCVUlMRERJUiUvbGF0
ZXguDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gInRleHQiICgNCisJJVNQSElOWEJV
SUxEJSAtYiB0ZXh0ICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL3RleHQNCisJaWYgZXJyb3Js
ZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkLiBUaGUgdGV4
dCBmaWxlcyBhcmUgaW4gJUJVSUxERElSJS90ZXh0Lg0KKwlnb3RvIGVuZA0KKykNCisNCitpZiAi
JTEiID09ICJtYW4iICgNCisJJVNQSElOWEJVSUxEJSAtYiBtYW4gJUFMTFNQSElOWE9QVFMlICVC
VUlMRERJUiUvbWFuDQorCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCisJZWNoby4NCisJZWNo
by5CdWlsZCBmaW5pc2hlZC4gVGhlIG1hbnVhbCBwYWdlcyBhcmUgaW4gJUJVSUxERElSJS9tYW4u
DQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gInRleGluZm8iICgNCisJJVNQSElOWEJV
SUxEJSAtYiB0ZXhpbmZvICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL3RleGluZm8NCisJaWYg
ZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkLiBU
aGUgVGV4aW5mbyBmaWxlcyBhcmUgaW4gJUJVSUxERElSJS90ZXhpbmZvLg0KKwlnb3RvIGVuZA0K
KykNCisNCitpZiAiJTEiID09ICJnZXR0ZXh0IiAoDQorCSVTUEhJTlhCVUlMRCUgLWIgZ2V0dGV4
dCAlSTE4TlNQSElOWE9QVFMlICVCVUlMRERJUiUvbG9jYWxlDQorCWlmIGVycm9ybGV2ZWwgMSBl
eGl0IC9iIDENCisJZWNoby4NCisJZWNoby5CdWlsZCBmaW5pc2hlZC4gVGhlIG1lc3NhZ2UgY2F0
YWxvZ3MgYXJlIGluICVCVUlMRERJUiUvbG9jYWxlLg0KKwlnb3RvIGVuZA0KKykNCisNCitpZiAi
JTEiID09ICJjaGFuZ2VzIiAoDQorCSVTUEhJTlhCVUlMRCUgLWIgY2hhbmdlcyAlQUxMU1BISU5Y
T1BUUyUgJUJVSUxERElSJS9jaGFuZ2VzDQorCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCisJ
ZWNoby4NCisJZWNoby5UaGUgb3ZlcnZpZXcgZmlsZSBpcyBpbiAlQlVJTERESVIlL2NoYW5nZXMu
DQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gImxpbmtjaGVjayIgKA0KKwklU1BISU5Y
QlVJTEQlIC1iIGxpbmtjaGVjayAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9saW5rY2hlY2sN
CisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkxpbmsgY2hlY2sg
Y29tcGxldGU7IGxvb2sgZm9yIGFueSBlcnJvcnMgaW4gdGhlIGFib3ZlIG91dHB1dCBeDQorb3Ig
aW4gJUJVSUxERElSJS9saW5rY2hlY2svb3V0cHV0LnR4dC4NCisJZ290byBlbmQNCispDQorDQor
aWYgIiUxIiA9PSAiZG9jdGVzdCIgKA0KKwklU1BISU5YQlVJTEQlIC1iIGRvY3Rlc3QgJUFMTFNQ
SElOWE9QVFMlICVCVUlMRERJUiUvZG9jdGVzdA0KKwlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAx
DQorCWVjaG8uDQorCWVjaG8uVGVzdGluZyBvZiBkb2N0ZXN0cyBpbiB0aGUgc291cmNlcyBmaW5p
c2hlZCwgbG9vayBhdCB0aGUgXg0KK3Jlc3VsdHMgaW4gJUJVSUxERElSJS9kb2N0ZXN0L291dHB1
dC50eHQuDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gInhtbCIgKA0KKwklU1BISU5Y
QlVJTEQlIC1iIHhtbCAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS94bWwNCisJaWYgZXJyb3Js
ZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkLiBUaGUgWE1M
IGZpbGVzIGFyZSBpbiAlQlVJTERESVIlL3htbC4NCisJZ290byBlbmQNCispDQorDQoraWYgIiUx
IiA9PSAicHNldWRveG1sIiAoDQorCSVTUEhJTlhCVUlMRCUgLWIgcHNldWRveG1sICVBTExTUEhJ
TlhPUFRTJSAlQlVJTERESVIlL3BzZXVkb3htbA0KKwlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAx
DQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBwc2V1ZG8tWE1MIGZpbGVzIGFy
ZSBpbiAlQlVJTERESVIlL3BzZXVkb3htbC4NCisJZ290byBlbmQNCispDQorDQorOmVuZA0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL2RvY3MvdXNhZ2UucnN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy91c2FnZS5yc3QKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGU3NGE0MzIwYzgyODc2Mzc1MWIwYjE3YWUzMTNjMjMzYTkzNTkwNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL2RvY3MvdXNhZ2UucnN0CkBAIC0wLDAgKzEsMjM4IEBACitHZXR0aW5nIFN0YXJ0
ZWQKKz09PT09PT09PT09PT09PQorCitJbnN0YWxsaW5nIHdwdHJ1bm5lcgorLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKworVGhlIGVhc2llc3Qgd2F5IHRvIGluc3RhbGwgd3B0cnVubmVyIGlzIGludG8g
YSB2aXJ0dWFsZW52LCB1c2luZyBwaXA6OgorCisgIHZpcnR1YWxlbnYgd3B0cnVubmVyCisgIGNk
IHdwdHJ1bm5lcgorICBzb3VyY2UgYmluL2FjdGl2YXRlCisgIHBpcCBpbnN0YWxsIHdwdHJ1bm5l
cgorCitUaGlzIHdpbGwgaW5zdGFsbCB0aGUgYmFzZSBkZXBlbmRlbmNpZXMgZm9yIHdwdHJ1bm5l
ciwgYnV0IG5vdCBhbnkKK2V4dHJhIGRlcGVuZGVuY2llcyByZXF1aXJlZCB0byB0ZXN0IGFnYWlu
c3Qgc3BlY2lmaWMgYnJvd3NlcnMuIEluCitvcmRlciB0byBkbyB0aGlzIHlvdSBtdXN0IHVzZSB1
c2UgdGhlIGV4dHJhIHJlcXVpcmVtZW50cyBmaWxlcyBpbgorYGAkVklSVFVBTF9FTlYvcmVxdWly
ZW1lbnRzL3JlcXVpcmVtZW50c19icm93c2VyLnR4dGBgLiBGb3IgZXhhbXBsZSwKK2luIG9yZGVy
IHRvIHRlc3QgYWdhaW5zdCBGaXJlZm94IHlvdSB3b3VsZCBoYXZlIHRvIHJ1bjo6CisKKyAgcGlw
IGluc3RhbGwgLXIgcmVxdWlyZW1lbnRzL3JlcXVpcmVtZW50c19maXJlZm94LnR4dAorCitJZiB5
b3UgaW50ZW5kIHRvIHdvcmsgb24gdGhlIGNvZGUsIHRoZSBgYC1lYGAgb3B0aW9uIHRvIHBpcCBz
aG91bGQgYmUKK3VzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhIHNvdXJjZSBjaGVja291dCBpLmUu
IGluc2lkZSBhIHZpcnR1YWwKK2Vudmlyb25tZW50IGNyZWF0ZWQgYXMgYWJvdmU6OgorCisgIGdp
dCBjbG9uZSBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dwdHJ1bm5lci5naXQKKyAgY2Qgd3B0cnVu
bmVyCisgIHBpcCBpbnN0YWxsIC1lIC4vCisKK0luIGFkZGl0aW9uIHRvIHRoZSBkZXBlbmRlbmNp
ZXMgaW5zdGFsbGVkIGJ5IHBpcCwgd3B0cnVubmVyIHJlcXVpcmVzCithIGNvcHkgb2YgdGhlIHdl
Yi1wbGF0Zm9ybS10ZXN0cyByZXBvc2l0b3J5LiBUaGlzIGNhbiBiZSBsb2NhdGVkCithbnl3aGVy
ZSBvbiB0aGUgZmlsZXN5c3RlbSwgYnV0IHRoZSBlYXNpZXN0IG9wdGlvbiBpcyB0byBwdXQgaXQK
K3VuZGVyIHRoZSBzYW1lIHBhcmVudCBkaXJlY3RvcnkgYXMgdGhlIHdwdHJ1bm5lciBjaGVja291
dDo6CisKKyAgZ2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzLmdpdAorCitJdCBpcyBhbHNvIG5lY2Vzc2FyeSB0byBnZW5lcmF0ZSBhIHdlYi1wbGF0Zm9y
bS10ZXN0cyBgYE1BTklGRVNULmpzb25gYAorZmlsZS4gSXQncyByZWNvbW1lbmRlZCB0byBhbHNv
IHB1dCB0aGF0IHVuZGVyIHRoZSBzYW1lIHBhcmVudCBkaXJlY3RvcnkgYXMKK3RoZSB3cHRydW5u
ZXIgY2hlY2tvdXQsIGluIGEgZGlyZWN0b3J5IG5hbWVkIGBgbWV0YWBgOjoKKworICBta2RpciBt
ZXRhCisgIGNkIHdlYi1wbGF0Zm9ybS10ZXN0cworICBweXRob24gbWFuaWZlc3QgLS1wYXRoIC4u
L21ldGEvTUFOSUZFU1QuanNvbgorCitUaGUgYGBNQU5JRkVTVC5qc29uYGAgZmlsZSBuZWVkcyB0
byBiZSByZWdlbmVyYXRlZCBlYWNoIHRpbWUgdGhlCit3ZWItcGxhdGZvcm0tdGVzdHMgY2hlY2tv
dXQgaXMgdXBkYXRlZC4gVG8gYWlkIHdpdGggdGhlIHVwZGF0ZSBwcm9jZXNzCit0aGVyZSBpcyBh
IHRvb2wgY2FsbGVkIGBgd3B0dXBkYXRlYGAsIHdoaWNoIGlzIGRlc2NyaWJlZCBpbgorOnJlZjpg
d3B0dXBkYXRlLWxhYmVsYC4KKworUnVubmluZyB0aGUgVGVzdHMKKy0tLS0tLS0tLS0tLS0tLS0t
CisKK0EgdGVzdCBydW4gaXMgc3RhcnRlZCB1c2luZyB0aGUgYGB3cHRydW5uZXJgYCBjb21tYW5k
LiAgVGhlIGNvbW1hbmQKK3Rha2VzIG11bHRpcGxlIG9wdGlvbnMsIG9mIHdoaWNoIHRoZSBmb2xs
b3dpbmcgYXJlIG1vc3Qgc2lnbmlmaWNhbnQ6CisKK2BgLS1wcm9kdWN0YGAgKGRlZmF1bHRzIHRv
IGBmaXJlZm94YCkKKyAgVGhlIHByb2R1Y3QgdG8gdGVzdCBhZ2FpbnN0OiBgYjJnYCwgYGNocm9t
ZWAsIGBmaXJlZm94YCwgb3IgYHNlcnZvYC4KKworYGAtLWJpbmFyeWBgIChyZXF1aXJlZCBpZiBw
cm9kdWN0IGlzIGBmaXJlZm94YCBvciBgc2Vydm9gKQorICBUaGUgcGF0aCB0byBhIGJpbmFyeSBm
aWxlIGZvciB0aGUgcHJvZHVjdCAoYnJvd3NlcikgdG8gdGVzdCBhZ2FpbnN0LgorCitgYC0td2Vi
ZHJpdmVyLWJpbmFyeWBgIChyZXF1aXJlZCBpZiBwcm9kdWN0IGlzIGBjaHJvbWVgKQorICBUaGUg
cGF0aCB0byBhIGAqZHJpdmVyYCBiaW5hcnk7IGUuZy4sIGEgYGNocm9tZWRyaXZlcmAgYmluYXJ5
LgorCitgYC0tY2VydHV0aWwtYmluYXJ5YGAgKHJlcXVpcmVkIGlmIHByb2R1Y3QgaXMgYGZpcmVm
b3hgIFsjXV8pCisgIFRoZSBwYXRoIHRvIGEgYGNlcnR1dGlsYCBiaW5hcnkgKGZvciB0ZXN0cyB0
aGF0IG11c3QgYmUgcnVuIG92ZXIgaHR0cHMpLgorCitgYC0tbWV0YWRhdGFgYCAocmVxdWlyZWQg
b25seSB3aGVuIG5vdCBgdXNpbmcgZGVmYXVsdCBwYXRoc2BfKQorICBUaGUgcGF0aCB0byBhIGRp
cmVjdG9yeSBjb250YWluaW5nIHRlc3QgbWV0YWRhdGEuIFsjXV8KKworYGAtLXRlc3RzYGAgKHJl
cXVpcmVkIG9ubHkgd2hlbiBub3QgYHVzaW5nIGRlZmF1bHQgcGF0aHNgXykKKyAgVGhlIHBhdGgg
dG8gYSBkaXJlY3RvcnkgY29udGFpbmluZyBhIHdlYi1wbGF0Zm9ybS10ZXN0cyBjaGVja291dC4K
KworYGAtLXByZWZzLXJvb3RgYCAocmVxdWlyZWQgb25seSB3aGVuIHRlc3RpbmcgYSBGaXJlZm94
IGJpbmFyeSkKKyAgVGhlIHBhdGggdG8gYSBkaXJlY3RvcnkgY29udGFpbmluZyBGaXJlZm94IHRl
c3QtaGFybmVzcyBwcmVmZXJlbmNlcy4gWyNdXworCitgYC0tY29uZmlnYGAgKHNob3VsZCBkZWZh
dWx0IHRvIGB3cHRydW5uZXIuZGVmYXVsdC5pbmlgKQorICBUaGUgcGF0aCB0byB0aGUgY29uZmln
IChpbmkpIGZpbGUuCisKKy4uIFsjXSBUaGUgYGAtLWNlcnR1dGlsLWJpbmFyeWBgIG9wdGlvbiBp
cyByZXF1aXJlZCB3aGVuIHRoZSBwcm9kdWN0IGlzCisgICBgYGZpcmVmb3hgYCB1bmxlc3MgYGAt
LXNzbC10eXBlPW5vbmVgYCBpcyBzcGVjaWZpZWQuCisKKy4uIFsjXSBUaGUgYGAtLW1ldGFkYXRh
YGAgcGF0aCBpcyB0byBhIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zOgorCisgICogYSBgYE1BTklG
RVNULmpzb25gYCBmaWxlICh0aGUgd2ViLXBsYXRmb3JtLXRlc3RzIGRvY3VtZW50YXRpb24gaGFz
CisgICAgaW5zdHJ1Y3Rpb25zIG9uIGdlbmVyYXRpbmcgdGhpcyBmaWxlKQorICAqIChvcHRpb25h
bGx5KSBhbnkgZXhwZWN0YXRpb24gZmlsZXMgKHNlZSA6cmVmOmB3cHR1cGRhdGUtbGFiZWxgKQor
CisuLiBbI10gRXhhbXBsZSBgYC0tcHJlZnMtcm9vdGBgIHZhbHVlOiBgYH4vbW96aWxsYS1jZW50
cmFsL3Rlc3RpbmcvcHJvZmlsZXNgYC4KKworVGhlcmUgYXJlIGFsc28gYSB2YXJpZXR5IG9mIG90
aGVyIGNvbW1hbmQtbGluZSBvcHRpb25zIGF2YWlsYWJsZTsgdXNlCitgYC0taGVscGBgIHRvIGxp
c3QgdGhlbS4KKworVGhlIGZvbGxvd2luZyBleGFtcGxlcyBzaG93IGhvdyB0byBzdGFydCB3cHRy
dW5uZXIgd2l0aCB2YXJpb3VzIG9wdGlvbnMuCisKKy0tLS0tLS0tLS0tLS0tLS0tLQorU3RhcnRp
bmcgd3B0cnVubmVyCistLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIGV4YW1wbGVzIGJlbG93IGFz
c3VtZSB0aGUgZm9sbG93aW5nIGRpcmVjdG9yeSBsYXlvdXQsCit0aG91Z2ggbm8gc3BlY2lmaWMg
Zm9sZGVyIHN0cnVjdHVyZSBpcyByZXF1aXJlZDo6CisKKyAgfi90ZXN0dHdmL3dwdHJ1bm5lciAg
ICAgICAgICAjIHdwdHJ1bm5lciBjaGVja291dAorICB+L3Rlc3R0d2Yvd2ViLXBsYXRmb3JtLXRl
c3RzICMgd2ViLXBsYXRmb3JtLXRlc3RzIGNoZWNrb3V0CisgIH4vdGVzdHR3Zi9tZXRhICAgICAg
ICAgICAgICAgIyBtZXRhZGF0YQorCitUbyB0ZXN0IGEgRmlyZWZveCBOaWdodGx5IGJ1aWxkIGlu
IGFuIE9TIFggZW52aXJvbm1lbnQsIHlvdSBtaWdodCBzdGFydAord3B0cnVubmVyIHVzaW5nIHNv
bWV0aGluZyBzaW1pbGFyIHRvIHRoZSBmb2xsb3dpbmcgZXhhbXBsZTo6CisKKyAgd3B0cnVubmVy
IC0tbWV0YWRhdGE9fi90ZXN0dHdmL21ldGEvIC0tdGVzdHM9fi90ZXN0dHdmL3dlYi1wbGF0Zm9y
bS10ZXN0cy8gXAorICAgIC0tYmluYXJ5PX4vbW96aWxsYS1jZW50cmFsL29iai14ODZfNjQtYXBw
bGUtZGFyd2luMTQuMy4wL2Rpc3QvTmlnaHRseS5hcHAvQ29udGVudHMvTWFjT1MvZmlyZWZveCBc
CisgICAgLS1jZXJ0dXRpbC1iaW5hcnk9fi9tb3ppbGxhLWNlbnRyYWwvb2JqLXg4Nl82NC1hcHBs
ZS1kYXJ3aW4xNC4zLjAvc2VjdXJpdHkvbnNzL2NtZC9jZXJ0dXRpbC9jZXJ0dXRpbCBcCisgICAg
LS1wcmVmcy1yb290PX4vbW96aWxsYS1jZW50cmFsL3Rlc3RpbmcvcHJvZmlsZXMKKworCitBbmQg
dG8gdGVzdCBhIENocm9taXVtIGJ1aWxkIGluIGFuIE9TIFggZW52aXJvbm1lbnQsIHlvdSBtaWdo
dCBzdGFydAord3B0cnVubmVyIHVzaW5nIHNvbWV0aGluZyBzaW1pbGFyIHRvIHRoZSBmb2xsb3dp
bmcgZXhhbXBsZTo6CisKKyAgd3B0cnVubmVyIC0tbWV0YWRhdGE9fi90ZXN0dHdmL21ldGEvIC0t
dGVzdHM9fi90ZXN0dHdmL3dlYi1wbGF0Zm9ybS10ZXN0cy8gXAorICAgIC0tYmluYXJ5PX4vY2hy
b21pdW0vc3JjL291dC9SZWxlYXNlL0Nocm9taXVtLmFwcC9Db250ZW50cy9NYWNPUy9DaHJvbWl1
bSBcCisgICAgLS13ZWJkcml2ZXItYmluYXJ5PS91c3IvbG9jYWwvYmluL2Nocm9tZWRyaXZlciAt
LXByb2R1Y3Q9Y2hyb21lCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tCitSdW5uaW5nIHRlc3Qgc3Vi
c2V0cworLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVG8gcmVzdHJpY3QgYSB0ZXN0IHJ1biBqdXN0
IHRvIHRlc3RzIGluIGEgcGFydGljdWxhciB3ZWItcGxhdGZvcm0tdGVzdHMKK3N1YmRpcmVjdG9y
eSwgc3BlY2lmeSB0aGUgZGlyZWN0b3J5IG5hbWUgaW4gdGhlIHBvc2l0aW9uYWwgYXJndW1lbnRz
IGFmdGVyCit0aGUgb3B0aW9uczsgZm9yIGV4YW1wbGUsIHJ1biBqdXN0IHRoZSB0ZXN0cyBpbiB0
aGUgYGRvbWAgc3ViZGlyZWN0b3J5OjoKKworICB3cHRydW5uZXIgLS1tZXRhZGF0YT1+L3Rlc3R0
d2YvbWV0YSAtLXRlc3RzPX4vdGVzdHR3Zi93ZWItcGxhdGZvcm0tdGVzdHMvIFwKKyAgICAtLWJp
bmFyeT0vcGF0aC90by9maXJlZm94IC0tY2VydHV0aWwtYmluYXJ5PS9wYXRoL3RvL2NlcnR1dGls
IFwKKyAgICAtLXByZWZzLXJvb3Q9L3BhdGgvdG8vdGVzdGluZy9wcm9maWxlcyBcCisgICAgZG9t
CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0KK1J1bm5pbmcgaW4gcGFyYWxsZWwKKy0tLS0tLS0tLS0t
LS0tLS0tLS0KKworVG8gc3BlZWQgdXAgdGhlIHRlc3RpbmcgcHJvY2VzcywgdXNlIHRoZSBgYC0t
cHJvY2Vzc2VzYGAgb3B0aW9uIHRvIGhhdmUKK3dwdHJ1bm5lciBydW4gbXVsdGlwbGUgYnJvd3Nl
ciBpbnN0YW5jZXMgaW4gcGFyYWxsZWwuIEZvciBleGFtcGxlLCB0bworaGF2ZSB3cHRydW5uZXIg
YXR0ZW1wdCB0byBydW4gdGVzdHMgYWdhaW5zdCB3aXRoIHNpeCBicm93c2VyIGluc3RhbmNlcwor
aW4gcGFyYWxsZWwsIHNwZWNpZnkgYGAtLXByb2Nlc3Nlcz02YGAuIEJ1dCBub3RlIHRoYXQgYmVo
YXZpb3VyIGluIHRoaXMKK21vZGUgaXMgbmVjZXNzYXJpbHkgbGVzcyBkZXRlcm1pbmlzdGljIHRo
YW4gd2l0aCBgYC0tcHJvY2Vzc2VzPTFgYCAodGhlCitkZWZhdWx0KSwgc28gdGhlcmUgbWF5IGJl
IG1vcmUgbm9pc2UgaW4gdGhlIHRlc3QgcmVzdWx0cy4KKworLS0tLS0tLS0tLS0tLS0tLS0tLQor
VXNpbmcgZGVmYXVsdCBwYXRocworLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgKG90aGVyd2lz
ZS1yZXF1aXJlZCkgYGAtLXRlc3RzYGAgYW5kIGBgLS1tZXRhZGF0YWBgIGNvbW1hbmQtbGluZQor
b3B0aW9ucy9mbGFncyBiZSBvbWl0dGVkIGlmIGFueSBjb25maWd1cmF0aW9uIGZpbGUgaXMgZm91
bmQgdGhhdAorY29udGFpbnMgYSBzZWN0aW9uIHNwZWNpZnlpbmcgdGhlIGBgdGVzdHNgYCBhbmQg
YGBtZXRhZGF0YWBgIGtleXMuCisKK1NlZSB0aGUgYENvbmZpZ3VyYXRpb24gRmlsZWBfIHNlY3Rp
b24gZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQKK2NvbmZpZ3VyYXRpb24gZmlsZXMsIGluY2x1
ZGluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGVpciBleHBlY3RlZAorbG9jYXRpb25zLgorCitUaGUg
Y29udGVudCBvZiB0aGUgYGB3cHRydW5uZXIuZGVmYXVsdC5pbmlgYCBkZWZhdWx0IGNvbmZpZ3Vy
YXRpb24gZmlsZQorbWFrZXMgd3B0cnVubmVyIGxvb2sgZm9yIHRlc3RzICh0aGF0IGlzLCBhIHdl
Yi1wbGF0Zm9ybS10ZXN0cyBjaGVja291dCkKK2FzIGEgc3ViZGlyZWN0b3J5IG9mIHRoZSBjdXJy
ZW50IGRpcmVjdG9yeSBuYW1lZCBgYHRlc3RzYGAsIGFuZCBmb3IKK21ldGFkYXRhIGZpbGVzIGlu
IGEgc3ViZGlyZWN0b3J5IG9mIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBuYW1lZCBgYG1ldGFgYC4K
KworT3V0cHV0CistLS0tLS0KKword3B0cnVubmVyIHVzZXMgdGhlIDpweTptb2Q6YG1vemxvZ2Ag
cGFja2FnZSBmb3Igb3V0cHV0LiBUaGlzCitzdHJ1Y3R1cmVzIGV2ZW50cyBzdWNoIGFzIHRlc3Qg
cmVzdWx0cyBvciBsb2cgbWVzc2FnZXMgYXMgSlNPTiBvYmplY3RzCit0aGF0IGNhbiB0aGVuIGJl
IGZlZCB0byBvdGhlciB0b29scyBmb3IgaW50ZXJwcmV0YXRpb24uIE1vcmUgZGV0YWlscworYWJv
dXQgdGhlIG1lc3NhZ2UgZm9ybWF0IGFyZSBnaXZlbiBpbiB0aGUKKzpweTptb2Q6YG1vemxvZ2Ag
ZG9jdW1lbnRhdGlvbi4KKworQnkgZGVmYXVsdCB0aGUgcmF3IEpTT04gbWVzc2FnZXMgYXJlIGR1
bXBlZCB0byBzdGRvdXQuIFRoaXMgaXMKK2NvbnZlbmllbnQgZm9yIHBpcGluZyBpbnRvIG90aGVy
IHRvb2xzLCBidXQgbm90IGlkZWFsIGZvciBodW1hbnMKK3JlYWRpbmcgdGhlIG91dHB1dC4gOnB5
Om1vZDpgbW96bG9nYCBjb21lcyB3aXRoIHNldmVyYWwgb3RoZXIKK2Zvcm1hdHRlcnMsIHdoaWNo
IGFyZSBhY2Nlc3NpYmxlIHRocm91Z2ggY29tbWFuZCBsaW5lIG9wdGlvbnMuIFRoZQorZ2VuZXJh
bCBmb3JtYXQgb2YgdGhlc2Ugb3B0aW9ucyBpcyBgYC0tbG9nLW5hbWU9ZGVzdGBgLCB3aGVyZSBg
YG5hbWVgYAoraXMgdGhlIG5hbWUgb2YgdGhlIGZvcm1hdCBhbmQgYGBkZXN0YGAgaXMgYSBwYXRo
IHRvIGEgZGVzdGluYXRpb24KK2ZpbGUsIG9yIGBgLWBgIGZvciBzdGRvdXQuIFRoZSByYXcgSlNP
TiBkYXRhIGlzIHdyaXR0ZW4gYnkgdGhlIGBgcmF3YGAKK2Zvcm1hdHRlciBzbywgdGhlIGRlZmF1
bHQgc2V0dXAgY29ycmVzcG9uZHMgdG8gYGAtLWxvZy1yYXc9LWBgLgorCitBIHJlYXNvbmFibGUg
b3V0cHV0IGZvcm1hdCBmb3IgaHVtYW5zIGlzIHByb3ZpZGVkIGFzIGBgbWFjaGBgLiBTbyBpbgor
b3JkZXIgdG8gb3V0cHV0IHRoZSBmdWxsIHJhdyBsb2cgdG8gYSBmaWxlIGFuZCBhIGh1bWFuLXJl
YWRhYmxlCitzdW1tYXJ5IHRvIHN0ZG91dCwgb25lIG1pZ2h0IHBhc3MgdGhlIG9wdGlvbnM6Ogor
CisgIC0tbG9nLXJhdz1vdXRwdXQubG9nIC0tbG9nLW1hY2g9LQorCitDb25maWd1cmF0aW9uIEZp
bGUKKy0tLS0tLS0tLS0tLS0tLS0tLQorCit3cHRydW5uZXIgdXNlcyBhIGBgLmluaWBgIGZpbGUg
dG8gY29udHJvbCBzb21lIGNvbmZpZ3VyYXRpb24KK3NlY3Rpb25zLiBUaGUgZmlsZSBoYXMgdGhy
ZWUgc2VjdGlvbnM7IGBgW3Byb2R1Y3RzXWBgLAorYGBbbWFuaWZlc3Q6ZGVmYXVsdF1gYCBhbmQg
YGBbd2ViLXBsYXRmb3JtLXRlc3RzXWBgLgorCitgYFtwcm9kdWN0c11gYCBpcyB1c2VkIHRvCitk
ZWZpbmUgdGhlIHNldCBvZiBhdmFpbGFibGUgcHJvZHVjdHMuIEJ5IGRlZmF1bHQgdGhpcyBzZWN0
aW9uIGlzIGVtcHR5Cit3aGljaCBtZWFucyB0aGF0IGFsbCB0aGUgcHJvZHVjdHMgZGlzdHJpYnV0
ZWQgd2l0aCB3cHRydW5uZXIgYXJlCitlbmFibGVkIChhbHRob3VnaCB0aGVpciBkZXBlbmRlbmNp
ZXMgbWF5IG5vdCBiZSBpbnN0YWxsZWQpLiBUaGUgc2V0CitvZiBlbmFibGVkIHByb2R1Y3RzIGNh
biBiZSBzZXQgYnkgdXNpbmcgdGhlIHByb2R1Y3QgbmFtZSBhcyB0aGUKK2tleS4gRm9yIGJ1aWx0
IGluIHByb2R1Y3RzIHRoZSB2YWx1ZSBpcyBlbXB0eS4gSXQgaXMgYWxzbyBwb3NzaWJsZSB0bwor
cHJvdmlkZSB0aGUgcGF0aCB0byBhIHNjcmlwdCBpbXBsZW1lbnRpbmcgdGhlIGJyb3dzZXIgZnVu
Y3Rpb25hbGl0eQorZS5nLjo6CisKKyAgW3Byb2R1Y3RzXQorICBjaHJvbWUgPQorICBuZXRzY2Fw
ZTQgPSBwYXRoL3RvL25ldHNjYXBlLnB5CisKK2BgW21hbmlmZXN0OmRlZmF1bHRdYGAgc3BlY2lm
aWVzIHRoZSBkZWZhdWx0IHBhdGhzIGZvciB0aGUgdGVzdHMgYW5kIG1ldGFkYXRhLAorcmVsYXRp
dmUgdG8gdGhlIGNvbmZpZyBmaWxlLiBGb3IgZXhhbXBsZTo6CisKKyAgW21hbmlmZXN0OmRlZmF1
bHRdCisgIHRlc3RzID0gfi90ZXN0dHdmL3dlYi1wbGF0Zm9ybS10ZXN0cworICBtZXRhZGF0YSA9
IH4vdGVzdHR3Zi9tZXRhCisKKworYGBbd2ViLXBsYXRmb3JtLXRlc3RzXWBgIGlzIHVzZWQgdG8g
c2V0IHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSB1cHN0cmVhbQorcmVwb3NpdG9yeSB3aGVuIHVwZGF0
aW5nIHRoZSBwYXRocy4gYGByZW1vdGVfdXJsYGAgc3BlY2lmaWVzIHRoZSBnaXQKK3VybCB0byBw
dWxsIGZyb207IGBgYnJhbmNoYGAgdGhlIGJyYW5jaCB0byBzeW5jIGFnYWluc3QgYW5kCitgYHN5
bmNfcGF0aGBgIHRoZSBsb2NhbCBwYXRoLCByZWxhdGl2ZSB0byB0aGUgY29uZmlndXJhdGlvbiBm
aWxlLCB0bwordXNlIHdoZW4gY2hlY2tpbmcgb3V0IHRoZSB0ZXN0cyBlLmcuOjoKKworICBbd2Vi
LXBsYXRmb3JtLXRlc3RzXQorICByZW1vdGVfdXJsID0gaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMuZ2l0CisgIGJyYW5jaCA9IG1hc3RlcgorICBzeW5jX3BhdGggPSBz
eW5jCisKK0EgY29uZmlndXJhdGlvbiBmaWxlIG11c3QgY29udGFpbiBhbGwgdGhlIGFib3ZlIGZp
ZWxkczsgZmFsbGluZyBiYWNrCit0byB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHVuc3BlY2lmaWVk
IGZpZWxkcyBpcyBub3QgeWV0IHN1cHBvcnRlZC4KKworVGhlIGBgd3B0cnVubmVyYGAgYW5kIGBg
d3B0dXBkYXRlYGAgY29tbWFuZHMgd2lsbCB1c2UgY29uZmlndXJhdGlvbgorZmlsZXMgaW4gdGhl
IGZvbGxvd2luZyBvcmRlcjoKKworICogQW55IHBhdGggc3VwcGxpZWQgd2l0aCBhIGBgLS1jb25m
aWdgYCBmbGFnIHRvIHRoZSBjb21tYW5kLgorCisgKiBBIGZpbGUgY2FsbGVkIGBgd3B0cnVubmVy
LmluaWBgIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeQorCisgKiBUaGUgZGVmYXVsdCBjb25maWd1
cmF0aW9uIGZpbGUgKGBgd3B0cnVubmVyLmRlZmF1bHQuaW5pYGAgaW4gdGhlCisgICBzb3VyY2Ug
ZGlyZWN0b3J5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3Mv
dzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJjNjFhZjhlMmUwM2ExMzE1YmFhNjk5ZWU1ZDli
OGFiMzM3ODcxOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvdzNjLWltcG9ydC5sb2cKQEAg
LTAsMCArMSwyNCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJv
cGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9NYWtlZmlsZQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvYXJjaGl0
ZWN0dXJlLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL2RvY3MvY29uZi5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvZGVzaWduLnJzdAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2Rv
Y3MvZXhwZWN0YXRpb24ucnN0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9pbmRleC5yc3QKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL21ha2UuYmF0
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvZG9jcy91c2FnZS5yc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50cy50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci9yZXF1aXJlbWVudHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxOWEyZmY5ODRhYTE2NGExMTA0ZTAyNDRl
MzY0MjI4YzRjMzlkZGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHMudHh0CkBA
IC0wLDAgKzEsNCBAQAoraHRtbDVsaWIgPj0gMC45OQorbW96aW5mbyA+PSAwLjcKK21vemxvZyA+
PSAzLjMKK21vemRlYnVnID49IDAuMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX2Nocm9t
ZS50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfY2hyb21lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMmY1NDQyNWYz
ZWZkNTUyMGYxY2Y3YmViZThmOTBhMWU1N2MwZjgyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVx
dWlyZW1lbnRzX2Nocm9tZS50eHQKQEAgLTAsMCArMSwyIEBACittb3pwcm9jZXNzID49IDAuMTkK
K3NlbGVuaXVtID49IDIuNDEuMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX2ZpcmVmb3gu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvcmVxdWlyZW1lbnRzX2ZpcmVmb3gudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3OWU1MjJhY2M0
NThkYjI4MDRkNzJlYzg2YjQzNmFkMTVhYTNiMjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1
aXJlbWVudHNfZmlyZWZveC50eHQKQEAgLTAsMCArMSw1IEBACittYXJpb25ldHRlX2RyaXZlciA+
PSAwLjQKK21venByb2ZpbGUgPj0gMC4yMQorbW96cHJvY2VzcyA+PSAwLjE5Cittb3pjcmFzaCA+
PSAwLjEzCittb3pydW5uZXIgPj0gNi43CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfc2F1
Y2UudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX3NhdWNlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjgyOGY4NGIw
OGQzMzM0YTlmZjllZWZkZTIxMWE2Mjc4YjNjNTQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVx
dWlyZW1lbnRzX3NhdWNlLnR4dApAQCAtMCwwICsxLDIgQEAKK21venByb2Nlc3MgPj0gMC4xOQor
c2VsZW5pdW0gPj0gMy4zLjAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19zZXJ2by50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci9yZXF1aXJlbWVudHNfc2Vydm8udHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyYmNmYTEyM2E1NDk0MjJh
MjcxMmYyMjE4YmQ5MmFkMmQxYTNjMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVu
dHNfc2Vydm8udHh0CkBAIC0wLDAgKzEgQEAKK21venByb2Nlc3MgPj0gMC4xOQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvc2V0dXAucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci9zZXR1cC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWMxODlmZWZkOWFlZTli
NTgwOWZlOWFmNmYxODVlMTZmNTBjYTFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvc2V0dXAucHkK
QEAgLTAsMCArMSw3NCBAQAorIyBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0
aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljCisjIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBj
b3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMgZmlsZSwKKyMgWW91
IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4KKworaW1wb3J0
IGdsb2IKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRleHR3cmFwCisKK2Zyb20gc2V0
dXB0b29scyBpbXBvcnQgc2V0dXAsIGZpbmRfcGFja2FnZXMKKworaGVyZSA9IG9zLnBhdGguc3Bs
aXQoX19maWxlX18pWzBdCisKK1BBQ0tBR0VfTkFNRSA9ICd3cHRydW5uZXInCitQQUNLQUdFX1ZF
UlNJT04gPSAnMS4xNCcKKworIyBEZXBlbmRlbmNpZXMKK3dpdGggb3Blbihvcy5wYXRoLmpvaW4o
aGVyZSwgInJlcXVpcmVtZW50cy50eHQiKSkgYXMgZjoKKyAgICBkZXBzID0gZi5yZWFkKCkuc3Bs
aXRsaW5lcygpCisKKyMgQnJvd3Nlci1zcGVjaWZpYyByZXF1aXJlbWVudHMKK3JlcXVpcmVtZW50
c19maWxlcyA9IGdsb2IuZ2xvYigicmVxdWlyZW1lbnRzXyoudHh0IikKKworcHJvZmlsZV9kZXN0
ID0gTm9uZQorZGVzdF9leGlzdHMgPSBGYWxzZQorCitzZXR1cChuYW1lPVBBQ0tBR0VfTkFNRSwK
KyAgICAgIHZlcnNpb249UEFDS0FHRV9WRVJTSU9OLAorICAgICAgZGVzY3JpcHRpb249Ikhhcm5l
c3MgZm9yIHJ1bm5pbmcgdGhlIFczQyB3ZWItcGxhdGZvcm0tdGVzdHMgYWdhaW5zdCB2YXJpb3Vz
IHByb2R1Y3RzIiwKKyAgICAgIGF1dGhvcj0nTW96aWxsYSBBdXRvbWF0aW9uIGFuZCBUZXN0aW5n
IFRlYW0nLAorICAgICAgYXV0aG9yX2VtYWlsPSd0b29sc0BsaXN0cy5tb3ppbGxhLm9yZycsCisg
ICAgICBsaWNlbnNlPSdNUEwgMi4wJywKKyAgICAgIHBhY2thZ2VzPWZpbmRfcGFja2FnZXMoZXhj
bHVkZT1bInRlc3RzIiwgIm1ldGFkYXRhIiwgInByZWZzIl0pLAorICAgICAgZW50cnlfcG9pbnRz
PXsKKyAgICAgICAgICAnY29uc29sZV9zY3JpcHRzJzogWworICAgICAgICAgICAgICAnd3B0cnVu
bmVyID0gd3B0cnVubmVyLndwdHJ1bm5lcjptYWluJywKKyAgICAgICAgICAgICAgJ3dwdHVwZGF0
ZSA9IHdwdHJ1bm5lci51cGRhdGU6bWFpbicsCisgICAgICAgICAgXQorICAgICAgfSwKKyAgICAg
IHppcF9zYWZlPUZhbHNlLAorICAgICAgcGxhdGZvcm1zPVsnQW55J10sCisgICAgICBjbGFzc2lm
aWVycz1bJ0RldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YScsCisgICAgICAgICAgICAgICAg
ICAgJ0Vudmlyb25tZW50IDo6IENvbnNvbGUnLAorICAgICAgICAgICAgICAgICAgICdJbnRlbmRl
ZCBBdWRpZW5jZSA6OiBEZXZlbG9wZXJzJywKKyAgICAgICAgICAgICAgICAgICAnTGljZW5zZSA6
OiBPU0kgQXBwcm92ZWQgOjogQlNEIExpY2Vuc2UnLAorICAgICAgICAgICAgICAgICAgICdPcGVy
YXRpbmcgU3lzdGVtIDo6IE9TIEluZGVwZW5kZW50J10sCisgICAgICBwYWNrYWdlX2RhdGE9eyJ3
cHRydW5uZXIiOiBbImV4ZWN1dG9ycy90ZXN0aGFybmVzc19tYXJpb25ldHRlLmpzIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX3dlYmRy
aXZlci5qcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4ZWN1dG9ycy9y
ZWZ0ZXN0LmpzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhlY3V0b3Jz
L3JlZnRlc3Qtd2FpdC5qcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRl
c3RoYXJuZXNzcmVwb3J0LmpzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dGVzdGhhcm5lc3NfcnVubmVyLmh0bWwiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJjb25maWcuanNvbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndw
dHJ1bm5lci5kZWZhdWx0LmluaSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImJyb3dzZXJzL3NlcnZlci1sb2NhdGlvbnMudHh0IiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiYnJvd3NlcnMvYjJnX3NldHVwLyoiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJicm93c2Vycy9zYXVjZV9zZXR1cC8qIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicHJlZnMvKiJdfSwKKyAgICAgIGluY2x1ZGVfcGFja2FnZV9kYXRh
PVRydWUsCisgICAgICBkYXRhX2ZpbGVzPVsoInJlcXVpcmVtZW50cyIsIHJlcXVpcmVtZW50c19m
aWxlcyldLAorICAgICAgaW5zdGFsbF9yZXF1aXJlcz1kZXBzCisgICAgICkKKworaWYgImluc3Rh
bGwiIGluIHN5cy5hcmd2OgorICAgIHBhdGggPSBvcy5wYXRoLnJlbHBhdGgob3MucGF0aC5qb2lu
KHN5cy5wcmVmaXgsICJyZXF1aXJlbWVudHMiKSwgb3MuY3VyZGlyKQorICAgIHByaW50IHRleHR3
cmFwLmZpbGwoIiIiSW4gb3JkZXIgdG8gdXNlIHdpdGggb25lIG9mIHRoZSBidWlsdC1pbiBicm93
c2VyCitwcm9kdWN0cywgeW91IHdpbGwgbmVlZCB0byBpbnN0YWxsIHRoZSBleHRyYSBkZXBlbmRl
bmNpZXMuIFRoZXNlIGFyZSBwcm92aWRlZAorYXMgcmVxdWlyZW1lbnRzX1tuYW1lXS50eHQgaW4g
dGhlICVzIGRpcmVjdG9yeSBhbmQgY2FuIGJlIGluc3RhbGxlZCB1c2luZworZS5nLiIiIiAlIHBh
dGgsIDgwKQorCisgICAgcHJpbnQgIiIiCisKK3BpcCBpbnN0YWxsIC1yICVzL3JlcXVpcmVtZW50
c19maXJlZm94LnR4dAorIiIiICUgcGF0aApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9y
ZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRl
c3QvcmVmdGVzdF9hbmRfZmFpbC5odG1sLmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MWFlZjA0OWNkMTIyZjcz
MzJjNjZmNWEwODc5NDdlNTEyYTU5ZDBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRh
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbC5pbmkKQEAgLTAsMCArMSwzIEBACitb
cmVmdGVzdF9hbmRfZmFpbC5odG1sXQorICB0eXBlOiByZWZ0ZXN0CisgIGV4cGVjdGVkOiBGQUlM
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWls
Lmh0bWwuaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfZmFpbC5o
dG1sLmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40NzJiMzNmNzc2NGJkZTZlMmFlYTdiYzJjY2Q4YmYzNzM5YmFi
YWQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rf
Y3ljbGVfZmFpbC5odG1sLmluaQpAQCAtMCwwICsxLDMgQEAKK1tyZWZ0ZXN0X2N5Y2xlX2ZhaWwu
aHRtbF0KKyAgdHlwZTogcmVmdGVzdAorICBleHBlY3RlZDogRkFJTApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC5odG1sLmluaSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoX2ZhaWwuaHRtbC5pbmkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjNkYzMzNjJmYWM0MWJiZThkZWQ0NDU4OWU4OThlZjU4OWNiMWE4OQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoX2ZhaWwuaHRtbC5p
bmkKQEAgLTAsMCArMSwzIEBACitbcmVmdGVzdF9tYXRjaF9mYWlsLmh0bWxdCisgIHR5cGU6IHJl
ZnRlc3QKKyAgZXhwZWN0ZWQ6IEZBSUwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwuaHRtbC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Jl
ZnRlc3QvcmVmdGVzdF9taXNtYXRjaF9mYWlsLmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwNTUzMzdl
MmQ2NWNiOGYyMWQyY2VhYzYyZTM1Y2U3YmI5OWE5NzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNtYXRjaF9mYWlsLmh0bWwuaW5pCkBAIC0w
LDAgKzEsMyBAQAorW3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC5odG1sXQorICB0eXBlOiByZWZ0ZXN0
CisgIGV4cGVjdGVkOiBGQUlMCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9yZWZfdGltZW91dC5odG1sLmluaSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X3JlZl90aW1lb3V0Lmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5MzYyNDFhZDI5Y2QxNjJm
OTYxMDc2YzJiYThlYjk2MGY3Njk4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFk
YXRhL3JlZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC5odG1sLmluaQpAQCAtMCwwICsxLDMgQEAK
K1tyZWZ0ZXN0X3JlZl90aW1lb3V0Lmh0bWxdCisgIHR5cGU6IHJlZnRlc3QKKyAgZXhwZWN0ZWQ6
IFRJTUVPVVQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3Rp
bWVvdXQuaHRtbC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF90aW1lb3V0
Lmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkMWI5YmFkZTk1ZDdiMTAxYzhkYmY1MTU0N2ZmYmFlYzIy
NjBjMjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVz
dF90aW1lb3V0Lmh0bWwuaW5pCkBAIC0wLDAgKzEsMyBAQAorW3JlZnRlc3RfdGltZW91dC5odG1s
XQorICB0eXBlOiByZWZ0ZXN0CisgIGV4cGVjdGVkOiBUSU1FT1VUCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L21ldGFkYXRhL3JlZnRlc3QvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Jl
ZnRlc3QvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWVlNGZiYjc2Mzk2ZWIyNjQxYjNhNDBm
ZjFhZmE0N2ZhYWUzZDhmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVm
dGVzdC93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21l
dGFkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbC5odG1sLmluaQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRh
dGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWwuaHRtbC5pbmkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRh
L3JlZnRlc3QvcmVmdGVzdF9tYXRjaF9mYWlsLmh0bWwuaW5pCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9y
ZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC5odG1sLmluaQorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEv
cmVmdGVzdC9yZWZ0ZXN0X3JlZl90aW1lb3V0Lmh0bWwuaW5pCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9y
ZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC5odG1sLmluaQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRh
ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L19fZGlyX18uaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90
ZXN0aGFybmVzcy9maXJlZm94L19fZGlyX18uaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5ZDE2NGNkNDE4YTJh
NzdjNzkzNjY5YzdjZjZiMDlmZmM2MThlNjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21l
dGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvX19kaXJfXy5pbmkKQEAgLTAsMCArMSwyIEBACitw
cmVmczogWyJicm93c2VyLmRpc3BsYXkuZm9yZWdyb3VuZF9jb2xvcjojRkYwMDAwIiwKKyAgICAg
ICAgImJyb3dzZXIuZGlzcGxheS5iYWNrZ3JvdW5kX2NvbG9yOiMwMDAwMDAiXQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5l
c3MvZmlyZWZveC9zdWJkaXIvdGVzdF9wcmVmX3Jlc2V0Lmh0bWwuaW5pIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRh
ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfcmVzZXQuaHRtbC5pbmkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNmM5MTk4ZDliYmYxYzc3OWJlNDJmNDdiYjUyYzY4OTZmOWFkNjI0ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJk
aXIvdGVzdF9wcmVmX3Jlc2V0Lmh0bWwuaW5pCkBAIC0wLDAgKzEsMiBAQAorW3Rlc3RfcHJlZl9y
ZXNldC5odG1sXQorICBwcmVmczogW0BSZXNldF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRh
dGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21l
dGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3czYy1pbXBvcnQubG9nCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlkNTU5NjUwNmI3ZDg4MTI2Nzc1NDg0YzA2YTMxNDY2ODRjYzhkYzIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3czYy1p
bXBvcnQubG9nCkBAIC0wLDAgKzEsMTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9u
ZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVz
dGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdGVzdF9wcmVmX3Jlc2V0Lmh0bWwuaW5pCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdGVzdF9wcmVmX3NldC5o
dG1sLmluaSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC90ZXN0X3ByZWZf
c2V0Lmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjOWJmYjljNDEzOTdkYzE3ZGNhZmYwYTQ0OWRmODEw
ZWY0OWNhNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNz
L2ZpcmVmb3gvdGVzdF9wcmVmX3NldC5odG1sLmluaQpAQCAtMCwwICsxLDMgQEAKK1t0ZXN0X3By
ZWZfc2V0Lmh0bWxdCisgIHByZWZzOiBbImJyb3dzZXIuZGlzcGxheS5mb3JlZ3JvdW5kX2NvbG9y
OiMwMEZGMDAiLAorICAgICAgICAgICJicm93c2VyLmRpc3BsYXkuYmFja2dyb3VuZF9jb2xvcjoj
MDAwMDAwIl0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZv
eC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC93
M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDBmZmUxY2Q4NmFjNjllNDYyYzExOTQ4NjIxMWEx
ZjEyZThhM2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVz
cy9maXJlZm94L3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0
aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8g
Tk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciBy
ZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9fX2Rpcl9fLmluaQorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0
YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC90ZXN0X3ByZWZfc2V0Lmh0bWwuaW5pCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3N1YmRpci9fX2Rpcl9fLmluaSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL19fZGlyX18uaW5pCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE5MTU3ZmJjNmE5ZjRhOWE2YmIzYzg5NGIzZTA5NWJmYTUxZTMxNGMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3N1YmRpci9fX2Rpcl9fLmluaQpAQCAt
MCwwICsxIEBACitkaXNhYmxlZDogdHJ1ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3Rlc3RoYXJuZXNz
XzEuaHRtbC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3N1YmRpci90ZXN0aGFy
bmVzc18xLmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiOTM5Mzk4N2I2YzczZTY5MTBhZmNmMGNhMGI3
NTM4ZmNkYjkxOWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJu
ZXNzL3N1YmRpci90ZXN0aGFybmVzc18xLmh0bWwuaW5pCkBAIC0wLDAgKzEsMiBAQAorW3Rlc3Ro
YXJuZXNzXzEuaHRtbF0KKyAgZGlzYWJsZWQ6IEBGYWxzZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdzNjLWlt
cG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZjOTEzNzg5MjZlNDExNGRiN2UxMzc2ZjEzZGY4MzJhMzNi
OGZlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mvc3Vi
ZGlyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUg
dGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0
YWRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL19fZGlyX18uaW5pCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90
ZXN0aGFybmVzcy9zdWJkaXIvdGVzdGhhcm5lc3NfMS5odG1sLmluaQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc18wLmh0bWwuaW5pIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc18wLmh0bWwuaW5pCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkwYjlhNmU5ZjAxMmI1ZTIzNGMxNWQyOTgwNWM2MWY2YmU4ZDVhNTQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbC5pbmkK
QEAgLTAsMCArMSw0IEBACitbdGVzdGhhcm5lc3NfMC5odG1sXQorICB0eXBlOiB0ZXN0aGFybmVz
cworICBbVGVzdCB0aGF0IHNob3VsZCBmYWlsXQorICAgIGV4cGVjdGVkOiBGQUlMCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX2Vycm9yLmh0bWwu
aW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc19lcnJvci5odG1s
LmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mYTUzZTA3MzNhYmNiMTczOTE5YjNkNDhhNzc2N2I1YmJhZDhiMGU4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFy
bmVzc19lcnJvci5odG1sLmluaQpAQCAtMCwwICsxLDMgQEAKK1t0ZXN0aGFybmVzc19lcnJvci5o
dG1sXQorICB0eXBlOiB0ZXN0aGFybmVzcworICBleHBlY3RlZDogRVJST1IKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfdGltZW91dC5odG1sLmlu
aSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfdGltZW91dC5odG1s
LmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NWVjYTUxOTFhYjFmYTZjNWQ1NTMxYTFlMDViOTkyZDA5NzIzZGVm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFy
bmVzc190aW1lb3V0Lmh0bWwuaW5pCkBAIC0wLDAgKzEsMyBAQAorW3Rlc3RoYXJuZXNzX3RpbWVv
dXQuaHRtbF0KKyAgdHlwZTogdGVzdGhhcm5lc3MKKyAgZXhwZWN0ZWQ6IFRJTUVPVVQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwZGI1
NTdlNjBiMzJmMTQ1OTU0YzgzODYzODQ4N2ZkNWJkN2RiOTcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTkg
QEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKwor
RG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1By
b3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVl
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0
IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfMC5o
dG1sLmluaQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfZXJyb3Iu
aHRtbC5pbmkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVv
dXQuaHRtbC5pbmkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdC5jZmcuZXhhbXBsZSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdC5jZmcuZXhhbXBsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjQ4MjI2MjE2YzMwZWI3ZDhiMDc4MTg5
NjM2OTY0YjdmN2NlNTIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0LmNmZy5leGFt
cGxlCkBAIC0wLDAgKzEsMjAgQEAKK1tnZW5lcmFsXQordGVzdHM9L3BhdGgvdG8vd2ViLXBsYXRm
b3JtLXRlc3RzLworbWV0YWRhdGE9L3BhdGgvdG8vd2ViLXBsYXRmb3JtLXRlc3RzLworc3NsLXR5
cGU9bm9uZQorCisjIFtmaXJlZm94XQorIyBiaW5hcnk9L3BhdGgvdG8vZmlyZWZveAorIyBwcmVm
cy1yb290PS9wYXRoL3RvL2dlY2tvLXNyYy90ZXN0aW5nL3Byb2ZpbGVzLworCisjIFtzZXJ2b10K
KyMgYmluYXJ5PS9wYXRoL3RvL3NlcnZvLXNyYy90YXJnZXQvcmVsZWFzZS9zZXJ2bworIyBleGNs
dWRlPXRlc3RoYXJuZXNzICMgQmVjYXVzZSBpdCBuZWVkcyBhIHNwZWNpYWwgdGVzdGhhcm5lc3Mu
anMKKworIyBbc2Vydm9kcml2ZXJdCisjIGJpbmFyeT0vcGF0aC90by9zZXJ2by1zcmMvdGFyZ2V0
L3JlbGVhc2Uvc2Vydm8KKyMgZXhjbHVkZT10ZXN0aGFybmVzcyAjIEJlY2F1c2UgaXQgbmVlZHMg
YSBzcGVjaWFsIHRlc3RoYXJuZXNzLmpzCisKKyMgW2Nocm9tZV0KKyMgYmluYXJ5PS9wYXRoL3Rv
L2Nocm9tZQorIyB3ZWJkcml2ZXItYmluYXJ5PS9wYXRoL3RvL2Nocm9tZWRyaXZlcgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0LnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzNGUz
MTdiZDUyZjA4NjUxODAwMWFlMDgwOGY4MDc5ZGZjZWIwOGUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3QucHkKQEAgLTAsMCArMSwxNjYgQEAKK2ltcG9ydCBDb25maWdQYXJzZXIKK2lt
cG9ydCBhcmdwYXJzZQoraW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0
IHRlbXBmaWxlCitpbXBvcnQgdGhyZWFkaW5nCitpbXBvcnQgdGltZQorZnJvbSBTdHJpbmdJTyBp
bXBvcnQgU3RyaW5nSU8KKworZnJvbSBtb3psb2cgaW1wb3J0IHN0cnVjdHVyZWRsb2csIHJlYWRl
cgorZnJvbSBtb3psb2cuaGFuZGxlcnMgaW1wb3J0IEJhc2VIYW5kbGVyLCBTdHJlYW1IYW5kbGVy
LCBTdGF0dXNIYW5kbGVyCitmcm9tIG1vemxvZy5mb3JtYXR0ZXJzIGltcG9ydCBNYWNoRm9ybWF0
dGVyCitmcm9tIHdwdHJ1bm5lciBpbXBvcnQgd3B0Y29tbWFuZGxpbmUsIHdwdHJ1bm5lcgorCito
ZXJlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpCisKK2RlZiBz
ZXR1cF93cHRydW5uZXJfbG9nZ2luZyhsb2dnZXIpOgorICAgIHN0cnVjdHVyZWRsb2cuc2V0X2Rl
ZmF1bHRfbG9nZ2VyKGxvZ2dlcikKKyAgICB3cHRydW5uZXIubG9nZ2VyID0gbG9nZ2VyCisgICAg
d3B0cnVubmVyLndwdGxvZ2dpbmcuc2V0dXBfc3RkbGliX2xvZ2dlcigpCisKK2NsYXNzIFJlc3Vs
dEhhbmRsZXIoQmFzZUhhbmRsZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2ZXJib3NlPUZh
bHNlLCBsb2dnZXI9Tm9uZSk6CisgICAgICAgIHNlbGYuaW5uZXIgPSBTdHJlYW1IYW5kbGVyKHN5
cy5zdGRvdXQsIE1hY2hGb3JtYXR0ZXIoKSkKKyAgICAgICAgQmFzZUhhbmRsZXIuX19pbml0X18o
c2VsZiwgc2VsZi5pbm5lcikKKyAgICAgICAgc2VsZi5wcm9kdWN0ID0gTm9uZQorICAgICAgICBz
ZWxmLnZlcmJvc2UgPSB2ZXJib3NlCisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCisKKyAg
ICAgICAgc2VsZi5yZWdpc3Rlcl9tZXNzYWdlX2hhbmRsZXJzKCJ3cHRydW5uZXItdGVzdCIsIHsi
c2V0LXByb2R1Y3QiOiBzZWxmLnNldF9wcm9kdWN0fSkKKworICAgIGRlZiBzZXRfcHJvZHVjdChz
ZWxmLCBwcm9kdWN0KToKKyAgICAgICAgc2VsZi5wcm9kdWN0ID0gcHJvZHVjdAorCisgICAgZGVm
IF9fY2FsbF9fKHNlbGYsIGRhdGEpOgorICAgICAgICBpZiBzZWxmLnByb2R1Y3QgaXMgbm90IE5v
bmUgYW5kIGRhdGFbImFjdGlvbiJdIGluIFsic3VpdGVfc3RhcnQiLCAic3VpdGVfZW5kIl06Cisg
ICAgICAgICAgICAjIEhhY2s6IG1vemxvZyBzZXRzIHNvbWUgaW50ZXJuYWwgc3RhdGUgdG8gcHJl
dmVudCBtdWx0aXBsZSBzdWl0ZV9zdGFydCBvcgorICAgICAgICAgICAgIyBzdWl0ZV9lbmQgbWVz
c2FnZXMuIFdlIGFjdHVhbGx5IHdhbnQgdGhhdCBoZXJlIChvbmUgZnJvbSB0aGUgbWV0YWhhcm5l
c3MKKyAgICAgICAgICAgICMgYW5kIG9uZSBmcm9tIHRoZSBpbmRpdmlkdWFsIHRlc3QgdHlwZSBo
YXJuZXNzKSwgc28gb3ZlcnJpZGUgdGhhdCBpbnRlcm5hbAorICAgICAgICAgICAgIyBzdGF0ZSAo
YSBiZXR0ZXIgc29sdXRpb24gbWlnaHQgYmUgdG8gbm90IHNoYXJlIGxvZ2dlcnMsIGJ1dCB0aGlz
IHdvcmtzIHdlbGwKKyAgICAgICAgICAgICMgZW5vdWdoKQorICAgICAgICAgICAgc2VsZi5sb2dn
ZXIuX3N0YXRlLnN1aXRlX3N0YXJ0ZWQgPSBUcnVlCisgICAgICAgICAgICByZXR1cm4KKworICAg
ICAgICBpZiAobm90IHNlbGYudmVyYm9zZSBhbmQKKyAgICAgICAgICAgIChkYXRhWyJhY3Rpb24i
XSA9PSAicHJvY2Vzc19vdXRwdXQiIG9yCisgICAgICAgICAgICAgZGF0YVsiYWN0aW9uIl0gPT0g
ImxvZyIgYW5kIGRhdGFbImxldmVsIl0gbm90IGluIFsiZXJyb3IiLCAiY3JpdGljYWwiXSkpOgor
ICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgaWYgInRlc3QiIGluIGRhdGE6CisgICAgICAg
ICAgICBkYXRhID0gZGF0YS5jb3B5KCkKKyAgICAgICAgICAgIGRhdGFbInRlc3QiXSA9ICIlczog
JXMiICUgKHNlbGYucHJvZHVjdCwgZGF0YVsidGVzdCJdKQorCisgICAgICAgIHJldHVybiBzZWxm
LmlubmVyKGRhdGEpCisKK2RlZiB0ZXN0X3NldHRpbmdzKCk6CisgICAgcmV0dXJuIHsKKyAgICAg
ICAgImluY2x1ZGUiOiAiX3Rlc3QiLAorICAgICAgICAibWFuaWZlc3QtdXBkYXRlIjogIiIsCisg
ICAgICAgICJuby1jYXB0dXJlLXN0ZGlvIjogIiIKKyAgICB9CisKK2RlZiByZWFkX2NvbmZpZygp
OgorICAgIHBhcnNlciA9IENvbmZpZ1BhcnNlci5Db25maWdQYXJzZXIoKQorICAgIHBhcnNlci5y
ZWFkKCJ0ZXN0LmNmZyIpCisKKyAgICBydiA9IHsiZ2VuZXJhbCI6e30sCisgICAgICAgICAgInBy
b2R1Y3RzIjp7fX0KKworICAgIHJ2WyJnZW5lcmFsIl0udXBkYXRlKGRpY3QocGFyc2VyLml0ZW1z
KCJnZW5lcmFsIikpKQorCisgICAgIyBUaGlzIG9ubHkgYWxsb3dzIG9uZSBwcm9kdWN0IHBlciB3
aGF0ZXZlciBmb3Igbm93CisgICAgZm9yIHByb2R1Y3QgaW4gcGFyc2VyLnNlY3Rpb25zKCk6Cisg
ICAgICAgIGlmIHByb2R1Y3QgIT0gImdlbmVyYWwiOgorICAgICAgICAgICAgZGVzdCA9IHJ2WyJw
cm9kdWN0cyJdW3Byb2R1Y3RdID0ge30KKyAgICAgICAgICAgIGZvciBrZXksIHZhbHVlIGluIHBh
cnNlci5pdGVtcyhwcm9kdWN0KToKKyAgICAgICAgICAgICAgICBydlsicHJvZHVjdHMiXVtwcm9k
dWN0XVtrZXldID0gdmFsdWUKKworICAgIHJldHVybiBydgorCitkZWYgcnVuX3Rlc3RzKHByb2R1
Y3QsIGt3YXJncyk6CisgICAga3dhcmdzWyJ0ZXN0X3BhdGhzIl1bIi9fdGVzdC8iXSA9IHsidGVz
dHNfcGF0aCI6IG9zLnBhdGguam9pbihoZXJlLCAidGVzdGRhdGEiKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJtZXRhZGF0YV9wYXRoIjogb3MucGF0aC5qb2luKGhl
cmUsICJtZXRhZGF0YSIpfQorCisgICAgd3B0cnVubmVyLnJ1bl90ZXN0cygqKmt3YXJncykKKwor
ZGVmIHNldHRpbmdzX3RvX2FyZ3Yoc2V0dGluZ3MpOgorICAgIHJ2ID0gW10KKyAgICBmb3IgbmFt
ZSwgdmFsdWUgaW4gc2V0dGluZ3MuaXRlcml0ZW1zKCk6CisgICAgICAgIGtleSA9ICItLSVzIiAl
IG5hbWUKKyAgICAgICAgaWYgbm90IHZhbHVlOgorICAgICAgICAgICAgcnYuYXBwZW5kKGtleSkK
KyAgICAgICAgZWxpZiBpc2luc3RhbmNlKHZhbHVlLCBsaXN0KToKKyAgICAgICAgICAgIGZvciBp
dGVtIGluIHZhbHVlOgorICAgICAgICAgICAgICAgIHJ2LmV4dGVuZChba2V5LCBpdGVtXSkKKyAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgIHJ2LmV4dGVuZChba2V5LCB2YWx1ZV0pCisgICAgcmV0
dXJuIHJ2CisKK2RlZiBzZXRfZnJvbV9hcmdzKHNldHRpbmdzLCBhcmdzKToKKyAgICBpZiBhcmdz
LnRlc3Q6CisgICAgICAgIHNldHRpbmdzWyJpbmNsdWRlIl0gPSBhcmdzLnRlc3QKKyAgICBpZiBh
cmdzLnRhZ3M6CisgICAgICAgIHNldHRpbmdzWyJ0YWdzIl0gPSBhcmdzLnRhZ3MKKworZGVmIHJ1
bihjb25maWcsIGFyZ3MpOgorICAgIGxvZ2dlciA9IHN0cnVjdHVyZWRsb2cuU3RydWN0dXJlZExv
Z2dlcigid2ViLXBsYXRmb3JtLXRlc3RzIikKKyAgICBsb2dnZXIuYWRkX2hhbmRsZXIoUmVzdWx0
SGFuZGxlcihsb2dnZXI9bG9nZ2VyLCB2ZXJib3NlPWFyZ3MudmVyYm9zZSkpCisgICAgc2V0dXBf
d3B0cnVubmVyX2xvZ2dpbmcobG9nZ2VyKQorCisgICAgcGFyc2VyID0gd3B0Y29tbWFuZGxpbmUu
Y3JlYXRlX3BhcnNlcigpCisKKyAgICBsb2dnZXIuc3VpdGVfc3RhcnQodGVzdHM9W10pCisKKyAg
ICBmb3IgcHJvZHVjdCwgcHJvZHVjdF9zZXR0aW5ncyBpbiBjb25maWdbInByb2R1Y3RzIl0uaXRl
cml0ZW1zKCk6CisgICAgICAgIGlmIGFyZ3MucHJvZHVjdCBhbmQgcHJvZHVjdCBub3QgaW4gYXJn
cy5wcm9kdWN0OgorICAgICAgICAgICAgY29udGludWUKKworICAgICAgICBzZXR0aW5ncyA9IHRl
c3Rfc2V0dGluZ3MoKQorICAgICAgICBzZXR0aW5ncy51cGRhdGUoY29uZmlnWyJnZW5lcmFsIl0p
CisgICAgICAgIHNldHRpbmdzLnVwZGF0ZShwcm9kdWN0X3NldHRpbmdzKQorICAgICAgICBzZXR0
aW5nc1sicHJvZHVjdCJdID0gcHJvZHVjdAorICAgICAgICBzZXRfZnJvbV9hcmdzKHNldHRpbmdz
LCBhcmdzKQorCisgICAgICAgIGt3YXJncyA9IHZhcnMocGFyc2VyLnBhcnNlX2FyZ3Moc2V0dGlu
Z3NfdG9fYXJndihzZXR0aW5ncykpKQorICAgICAgICB3cHRjb21tYW5kbGluZS5jaGVja19hcmdz
KGt3YXJncykKKworICAgICAgICBsb2dnZXIuc2VuZF9tZXNzYWdlKCJ3cHRydW5uZXItdGVzdCIs
ICJzZXQtcHJvZHVjdCIsIHByb2R1Y3QpCisKKyAgICAgICAgcnVuX3Rlc3RzKHByb2R1Y3QsIGt3
YXJncykKKworICAgIGxvZ2dlci5zZW5kX21lc3NhZ2UoIndwdHJ1bm5lci10ZXN0IiwgInNldC1w
cm9kdWN0IiwgTm9uZSkKKyAgICBsb2dnZXIuc3VpdGVfZW5kKCkKKworZGVmIGdldF9wYXJzZXIo
KToKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCisgICAgcGFyc2VyLmFk
ZF9hcmd1bWVudCgiLXYiLCAiLS12ZXJib3NlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVs
dD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9InZlcmJvc2UgbG9nIG91dHB1
dCIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1wcm9kdWN0IiwgYWN0aW9uPSJhcHBlbmQi
LAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU3BlY2lmaWMgcHJvZHVjdCB0byBpbmNs
dWRlIGluIHRlc3QgcnVuIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXBkYiIsIGFjdGlv
bj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJJbnZva2UgcGRi
IG9uIHVuY2F1Z2h0IGV4Y2VwdGlvbiIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS10YWci
LCBhY3Rpb249ImFwcGVuZCIsIGRlc3Q9InRhZ3MiLAorICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0idGFncyB0byBzZWxlY3QgdGVzdHMiKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoInRl
c3QiLCBuYXJncz0iKiIsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJTcGVjaWZpYyB0
ZXN0cyB0byBpbmNsdWRlIGluIHRlc3QgcnVuIikKKyAgICByZXR1cm4gcGFyc2VyCisKK2RlZiBt
YWluKCk6CisgICAgY29uZmlnID0gcmVhZF9jb25maWcoKQorCisgICAgYXJncyA9IGdldF9wYXJz
ZXIoKS5wYXJzZV9hcmdzKCkKKworICAgIHRyeToKKyAgICAgICAgcnVuKGNvbmZpZywgYXJncykK
KyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICBpZiBhcmdzLnBkYjoKKyAgICAgICAgICAg
IGltcG9ydCBwZGIsIHRyYWNlYmFjaworICAgICAgICAgICAgcHJpbnQgdHJhY2ViYWNrLmZvcm1h
dF9leGMoKQorICAgICAgICAgICAgcGRiLnBvc3RfbW9ydGVtKCkKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIHJhaXNlCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgbWFpbigp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4tZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjBlMTQ1ZDYwYjU1YjM1MDI2MzlkMTVmMTBkNGQ2M2E2YjBmNzliN2QKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4tZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDQgQEAKKzxsaW5rIHJlbD1tYXRjaCBocmVmPWdyZWVuLmh0bWw+Cis8c3R5bGU+Cis6
cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLXJl
Zi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLXJlZi1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4MTY3YmI1OGQ1NzFlNzVmNTQ5MDgxNjZjNTQyYWNhODQ3
MzFhZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4t
cmVmLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6cm9vdCB7YmFja2dy
b3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLXJlZi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLXJlZi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMTQ1ZDYw
YjU1YjM1MDI2MzlkMTVmMTBkNGQ2M2E2YjBmNzliN2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4tcmVmLmh0bWwKQEAgLTAsMCArMSw0IEBACis8bGlu
ayByZWw9bWF0Y2ggaHJlZj1ncmVlbi5odG1sPgorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQt
Y29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L2dyZWVuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzgxNjdiYjU4ZDU3MWU3NWY1NDkw
ODE2NmM1NDJhY2E4NDczMWFlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
cmVmdGVzdC9ncmVlbi5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJvb3Qge2JhY2tn
cm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjY3N2UwMDYzNGJjZDE2YzMy
YmE4ZDAyOWNjYWIwNDBmMDE2NzgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS9yZWZ0ZXN0L3JlZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJvb3Qge2JhY2tn
cm91bmQtY29sb3I6cmVkfQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdC5odHRwcy1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0cHMtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zODE2N2JiNThkNTcxZTc1ZjU0OTA4MTY2YzU0MmFjYTg0NzMxYWVj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0
cHMtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMgQEAKKzxzdHlsZT4KKzpyb290IHtiYWNrZ3Jv
dW5kLWNvbG9yOmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdC5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
YTQ1ZjEwZjM1ZWI0NzJlYzEzY2M1ZGQyNDdmZjhkZjVjMjY1Mzg1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0cHMuaHRtbApAQCAtMCwwICsx
LDkgQEAKKzxsaW5rIHJlbD1tYXRjaCBocmVmPWdyZWVuLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7
YmFja2dyb3VuZC1jb2xvcjpyZWR9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubG9j
YXRpb24ucHJvdG9jb2wgPT09ICJodHRwczoiKSB7CisgICBkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKK30KKzwvc2NyaXB0PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVz
dC9yZWZ0ZXN0X2FuZF9mYWlsLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRl
c3QvcmVmdGVzdF9hbmRfZmFpbC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0ZmI5YWExNTE3
NmU2MTkxZGVkNWVjY2Y0NDJmY2ZkNmNkY2Y1NjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbC1leHBlY3RlZC5odG1sCkBAIC0wLDAg
KzEsNSBAQAorPHRpdGxlPlJlZnRlc3QgY2hhaW4gdGhhdCBzaG91bGQgZmFpbDwvdGl0bGU+Cis8
bGluayByZWw9bWF0Y2ggaHJlZj1yZWQuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5k
LWNvbG9yOmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yOTYwMTk1MzU2MjM4ZjAzNTQzMjA3ZTllNmEzNTk5MzYxZGFlYjkxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbApAQCAt
MCwwICsxLDUgQEAKKzx0aXRsZT5SZWZ0ZXN0IGNoYWluIHRoYXQgc2hvdWxkIGZhaWw8L3RpdGxl
PgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVmdGVzdF9hbmRfZmFpbF8wLXJlZi5odG1sPgorPHN0
eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X2FuZF9mYWlsXzAtcmVmLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Jl
ZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJi
Njc3ZTAwNjM0YmNkMTZjMzJiYThkMDI5Y2NhYjA0MGYwMTY3ODAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6
cmVkfQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWxfMC1yZWYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wNGZiOWFhMTUxNzZlNjE5MWRlZDVlY2NmNDQyZmNmZDZjZGNmNTY2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWxfMC1yZWYu
aHRtbApAQCAtMCwwICsxLDUgQEAKKzx0aXRsZT5SZWZ0ZXN0IGNoYWluIHRoYXQgc2hvdWxkIGZh
aWw8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVkLmh0bWw+Cis8c3R5bGU+Cis6cm9v
dCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3lj
bGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xl
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE4YmZkODg0NDdiNDgyMTJhZjI5ZTU0ODYxYmI2
ZDUwOWE1ZTFiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X2N5Y2xlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+T1IgbWF0
Y2ggdGhhdCBzaG91bGQgcGFzczwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1yZWZ0ZXN0
X2N5Y2xlXzEtcmVmLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpncmVl
bn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE4NGEzYjY3NDFlZTQx
ZmU2MTg3YTliZGM3NjZkNzQ5MjA2YzgzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+
UmVmdGVzdCB3aXRoIGN5Y2xlLCBhbGwgbWF0Y2g8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNoIGhy
ZWY9cmVmdGVzdF9jeWNsZV8wLXJlZi5odG1sPgorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQt
Y29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlXzAtcmVmLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV8wLXJlZi1l
eHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5YmUwYjY0MWRlZjZiZDczYTBjY2E3MmYxN2QzMzA0
NjQxYjQ4ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVm
dGVzdF9jeWNsZV8wLXJlZi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxlPlJl
ZnRlc3Qgd2l0aCBjeWNsZSwgYWxsIG1hdGNoPC90aXRsZT4KKzxsaW5rIHJlbD1tYXRjaCBocmVm
PXJlZnRlc3RfY3ljbGUuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdy
ZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV8wLXJlZi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMC1yZWYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MThiZmQ4ODQ0N2I0ODIxMmFmMjllNTQ4NjFiYjZkNTA5YTVlMWIxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMC1yZWYuaHRtbApAQCAt
MCwwICsxLDUgQEAKKzx0aXRsZT5PUiBtYXRjaCB0aGF0IHNob3VsZCBwYXNzPC90aXRsZT4KKzxs
aW5rIHJlbD1tYXRjaCBocmVmPXJlZnRlc3RfY3ljbGVfMS1yZWYuaHRtbD4KKzxzdHlsZT4KKzpy
b290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9j
eWNsZV8xLXJlZi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRl
c3RfY3ljbGVfMS1yZWYtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTg0YTNiNjc0MWVlNDFm
ZTYxODdhOWJkYzc2NmQ3NDkyMDZjODNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMS1yZWYtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDUgQEAKKzx0aXRsZT5SZWZ0ZXN0IHdpdGggY3ljbGUsIGFsbCBtYXRjaDwvdGl0bGU+Cis8bGlu
ayByZWw9bWF0Y2ggaHJlZj1yZWZ0ZXN0X2N5Y2xlXzAtcmVmLmh0bWw+Cis8c3R5bGU+Cis6cm9v
dCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3lj
bGVfMS1yZWYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlXzEt
cmVmLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTliZTBiNjQxZGVmNmJkNzNhMGNjYTcyZjE3ZDMzMDQ2NDFi
NDhlYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X2N5Y2xlXzEtcmVmLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+UmVmdGVzdCB3aXRoIGN5
Y2xlLCBhbGwgbWF0Y2g8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVmdGVzdF9jeWNs
ZS5odG1sPgorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxl
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jOGU1NDhjNDYyMjU1NjM4YTMyYzQ3NGExNzc3NTlmZjZkN2NjZWFmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfZmFpbC1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxlPlJlZnRlc3Qgd2l0aCBjeWNsZSwgZmFpbHM8
L3RpdGxlPgorPGxpbmsgcmVsPW1pc21hdGNoIGhyZWY9cmVmdGVzdF9jeWNsZV9mYWlsLmh0bWw+
Cis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0
ZXN0L3JlZnRlc3RfY3ljbGVfZmFpbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfY3ljbGVfZmFpbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3NWU3NmM0Y2M5YmI3NjVmOGZjOGRm
YzM0NDU1YWQyZWI5YmM0MDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Jl
ZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+UmVm
dGVzdCB3aXRoIGN5Y2xlLCBmYWlsczwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1yZWZ0
ZXN0X2N5Y2xlX2ZhaWxfMC1yZWYuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNv
bG9yOmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsXzAtcmVmLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWls
XzAtcmVmLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTc1ZTc2YzRjYzliYjc2NWY4ZmM4ZGZj
MzQ0NTVhZDJlYjliYzQwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWxfMC1yZWYtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDUg
QEAKKzx0aXRsZT5SZWZ0ZXN0IHdpdGggY3ljbGUsIGZhaWxzPC90aXRsZT4KKzxsaW5rIHJlbD1t
YXRjaCBocmVmPXJlZnRlc3RfY3ljbGVfZmFpbF8wLXJlZi5odG1sPgorPHN0eWxlPgorOnJvb3Qg
e2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xl
X2ZhaWxfMC1yZWYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xl
X2ZhaWxfMC1yZWYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOGU1NDhjNDYyMjU1NjM4YTMyYzQ3NGExNzc3
NTlmZjZkN2NjZWFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfY3ljbGVfZmFpbF8wLXJlZi5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxlPlJl
ZnRlc3Qgd2l0aCBjeWNsZSwgZmFpbHM8L3RpdGxlPgorPGxpbmsgcmVsPW1pc21hdGNoIGhyZWY9
cmVmdGVzdF9jeWNsZV9mYWlsLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xv
cjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2gtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzgxNjdiYjU4ZDU3MWU3NWY1NDkwODE2NmM1NDJhY2E4NDczMWFlYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xv
cjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2guaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMzY2M2YzFl
Y2RmMjAwMGU0YjExODU2NTY2MTc2MWI4NzZhNzI5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoLmh0bWwKQEAgLTAsMCArMSw1IEBACis8
dGl0bGU+cmVsPW1hdGNoIHRoYXQgc2hvdWxkIHBhc3M8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNo
IGhyZWY9Z3JlZW4uaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVu
fQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9tYXRjaF9mYWlsLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9tYXRjaF9mYWlsLWV4cGVjdGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmI2NzdlMDA2MzRiY2QxNmMzMmJhOGQwMjljY2FiMDQwZjAxNjc4MAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoX2Zh
aWwtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMgQEAKKzxzdHlsZT4KKzpyb290IHtiYWNrZ3Jv
dW5kLWNvbG9yOnJlZH0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE5MjcyZWY3NGRhODczMzdhMDIyM2ZjYjAwZjA1M2NlYmE1ZmI1MmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9tYXRjaF9mYWlsLmh0
bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+cmVsPW1hdGNoIHRoYXQgc2hvdWxkIGZhaWw8L3Rp
dGxlPgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVkLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFj
a2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2gt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNo
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmI2NzdlMDA2MzRiY2QxNmMzMmJhOGQwMjljY2Fi
MDQwZjAxNjc4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X21pc21hdGNoLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6
cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpyZWR9Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21p
c21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNtYXRjaC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFmNWZhMDc1MGQ4M2I2NzU5YzMwZWE0MzRmYzUwOTI1NTI0NmNmODMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNt
YXRjaC5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxlPnJlbD1taXNtYXRjaCB0aGF0IHNob3Vs
ZCBwYXNzPC90aXRsZT4KKzxsaW5rIHJlbD1taXNtYXRjaCBocmVmPXJlZC5odG1sPgorPHN0eWxl
PgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0
ZXN0X21pc21hdGNoX2ZhaWwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVz
dC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODE2N2Ji
NThkNTcxZTc1ZjU0OTA4MTY2YzU0MmFjYTg0NzMxYWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59
Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
ZDE2MGM0ZmMyMDBjYTk3NjMxYjE4NTA1ODQ3ZDUxZmQ3NjJhYmE5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC5odG1sCkBA
IC0wLDAgKzEsNSBAQAorPHRpdGxlPnJlbD1taXNtYXRjaCB0aGF0IHNob3VsZCBmYWlsPC90aXRs
ZT4KKzxsaW5rIHJlbD1taXNtYXRjaCBocmVmPWdyZWVuLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7
YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfb3JfMC1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfb3JfMC1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiNjc3ZTAwNjM0YmNkMTZjMzJiYThkMDI5Y2NhYjA0MGYw
MTY3ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVz
dF9vcl8wLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6cm9vdCB7YmFj
a2dyb3VuZC1jb2xvcjpyZWR9Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X29yXzAuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X29yXzAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
YTUxZGUyMTY0NDEwM2E5M2Y1OWQ0YzU2NTQyOGNjMmQxNjA2ZTU0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfb3JfMC5odG1sCkBAIC0wLDAgKzEs
NiBAQAorPHRpdGxlPk9SIG1hdGNoIHRoYXQgc2hvdWxkIHBhc3M8L3RpdGxlPgorPGxpbmsgcmVs
PW1hdGNoIGhyZWY9cmVkLmh0bWw+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1ncmVlbi5odG1sPgor
PHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVz
dC9yZWZ0ZXN0X3JlZl90aW1lb3V0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Jl
ZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0Y2Ji
NzFlMGMzYzQyODZjMDBkNGMwMWVjZTZhYjFhMWJlYzYxYjgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsNiBAQAorPGh0bWwgY2xhc3M9InJlZnRlc3Qtd2FpdCI+Cis8dGl0bGU+cmVs
PW1hdGNoIHRoYXQgc2hvdWxkIHRpbWUgb3V0IGluIHRoZSByZWY8L3RpdGxlPgorPGxpbmsgcmVs
PW1hdGNoIGhyZWY9cmVmdGVzdF9yZWZfdGltZW91dC1yZWYuaHRtbD4KKzxzdHlsZT4KKzpyb290
IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufQorPC9zdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3JlZl90aW1lb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhZjY4ZjVj
YjVmYTA0Y2QzNjVhNzE5MWVlY2VhZmEzNWNjM2NlNGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC5odG1sCkBAIC0wLDAgKzEs
NiBAQAorPGh0bWw+Cis8dGl0bGU+cmVsPW1hdGNoIHRoYXQgc2hvdWxkIHRpbWUgb3V0IGluIHRo
ZSByZWY8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVmdGVzdF9yZWZfdGltZW91dC1y
ZWYuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufQorPC9zdHls
ZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3RpbWVvdXQt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3RpbWVvdXQt
ZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODE2N2JiNThkNTcxZTc1ZjU0OTA4MTY2YzU0MmFj
YTg0NzMxYWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfdGltZW91dC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJv
b3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3Rp
bWVvdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3RpbWVvdXQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iMTBlNjc2YmYwMDUyZTdiY2JlMmU5MjE0YTY5MGIzY2U2NjVkYTg4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91
dC5odG1sCkBAIC0wLDAgKzEsNiBAQAorPGh0bWwgY2xhc3M9InJlZnRlc3Qtd2FpdCI+Cis8dGl0
bGU+cmVsPW1hdGNoIHRoYXQgc2hvdWxkIHRpbWVvdXQ8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNo
IGhyZWY9Z3JlZW4uaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVu
fQorPC9zdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X3dhaXRfMC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rf
d2FpdF8wLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmI2NzdlMDA2MzRiY2QxNmMzMmJhOGQw
MjljY2FiMDQwZjAxNjc4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X3dhaXRfMC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHN0eWxl
PgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6cmVkfQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVz
dF93YWl0XzAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3dhaXRfMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjRmOTI3MTVjNjFlN2Q5MjJhOTQ5NWU5NzM3Yzk5NmU3YzA2YzM3ZDQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF93YWl0
XzAuaHRtbApAQCAtMCwwICsxLDEzIEBACis8aHRtbCBjbGFzcz0icmVmdGVzdC13YWl0Ij4KKzx0
aXRsZT5yZWw9bWF0Y2ggdGhhdCBzaG91bGQgZmFpbDwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2gg
aHJlZj1yZWQuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOnJlZH0KKzwv
c3R5bGU+Cis8c2NyaXB0Pgorc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgIGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5jbGFzc05hbWUgPSAiIjsKK30sIDIwMDApOworPC9zY3JpcHQ+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWVkMTAwODE0MWVjZWJmNWQzN2FiMDQyMjgxZDI1NGViMDZjZmM0YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDUz
IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgor
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisK
K0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQ
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlz
dCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4tZXhwZWN0ZWQuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1yZWYtZXhwZWN0ZWQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1yZWYuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
cmVmdGVzdC9ncmVlbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0cHMtZXhwZWN0ZWQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbC1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X2FuZF9mYWlsXzAtcmVmLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGUtZXhwZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
cmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVm
dGVzdF9jeWNsZV8wLXJlZi1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfY3ljbGVfMC1yZWYuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0
ZXN0X2N5Y2xlXzEtcmVmLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9jeWNsZV8xLXJlZi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRl
c3RfY3ljbGVfZmFpbC1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfY3ljbGVfZmFpbC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rf
Y3ljbGVfZmFpbF8wLXJlZi1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfY3ljbGVfZmFpbF8wLXJlZi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfbWF0Y2gtZXhwZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X21hdGNoLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9tYXRj
aF9mYWlsLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9t
YXRjaF9mYWlsLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNtYXRj
aC1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0
Y2guaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwt
ZXhwZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNo
X2ZhaWwuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X29yXzAtZXhwZWN0
ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X29yXzAuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3JlZl90aW1lb3V0LWV4cGVjdGVkLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC1leHBlY3RlZC5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfd2FpdF8wLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF93YWl0XzAuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfaW5oZXJpdC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfaW5o
ZXJpdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwYjI4NTE5NGI0YWUwMTBjNjk5YzdhZWNmNzdkNzcxYzIy
MTMyZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2Zp
cmVmb3gvc3ViZGlyL3Rlc3RfcHJlZl9pbmhlcml0Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFk
b2N0eXBlIGh0bWw+Cis8dGl0bGU+RXhhbXBsZSBwcmVmIHRlc3Q8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHA+VGVzdCByZXF1aXJl
cyB0aGUgcHJlZiBicm93c2VyLmRpc3BsYXkuZm9yZWdyb3VuZF9jb2xvciB0byBiZSBzZXQgdG8g
IzAwRkYwMDwvcD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuY29sb3IsICJyZ2IoMjU1LCAwLCAwKSIp
OworfSwgIlRlc3QgdGhhdCBwcmVmIHdhcyBzZXQiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfcmVz
ZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdGVz
dF9wcmVmX3Jlc2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWM3NWMxMTYwNTIyY2U4MTQxNGVkZGVlNGI5
NGNjYWUyMTc4NWEyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhh
cm5lc3MvZmlyZWZveC9zdWJkaXIvdGVzdF9wcmVmX3Jlc2V0Lmh0bWwKQEAgLTAsMCArMSwxMCBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+RXhhbXBsZSBwcmVmIHRlc3Q8L3RpdGxlPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHA+VGVzdCBy
ZXF1aXJlcyB0aGUgcHJlZiBicm93c2VyLmRpc3BsYXkuZm9yZWdyb3VuZF9jb2xvciB0byBiZSBz
ZXQgdG8gIzAwRkYwMDwvcD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuY29sb3IsICJyZ2IoMCwgMCwg
MCkiKTsKK30sICJUZXN0IHRoYXQgcHJlZiB3YXMgcmVzZXQiKTsKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdzNj
LWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjM2N2FiMzhhNjAzZmZkZTlmNTY5MDdiZjlhZGNhZmQ0
YmM2Y2ZmNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mv
ZmlyZWZveC9zdWJkaXIvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOCBAQAorVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfaW5o
ZXJpdC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90
ZXN0X3ByZWZfcmVzZXQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFy
bmVzcy9maXJlZm94L3Rlc3RfcHJlZl9kaXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhh
cm5lc3MvZmlyZWZveC90ZXN0X3ByZWZfZGlyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTA1ZDkwNzBjOWRj
ZWFkY2RiMGNjNjQ3MTM4OTY3OGM4ZDI3MTlhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC90ZXN0X3ByZWZfZGlyLmh0bWwKQEAgLTAsMCAr
MSwxMCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+RXhhbXBsZSBwcmVmIHRlc3Q8L3RpdGxl
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHA+
VGVzdCByZXF1aXJlcyB0aGUgcHJlZiBicm93c2VyLmRpc3BsYXkuZm9yZWdyb3VuZF9jb2xvciB0
byBiZSBzZXQgdG8gI0ZGMDAwMDwvcD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuY29sb3IsICJyZ2Io
MjU1LCAwLCAwKSIpOworfSwgIlRlc3QgdGhhdCBwcmVmIHdhcyBzZXQiKTsKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3Rlc3RfcHJl
Zl9zZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC90ZXN0X3By
ZWZfc2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGU1ZTI5ODliZjcyOTlmNDIyYzlkYzBjMTNmMmM3Mjk4
ZjBkZmY1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mv
ZmlyZWZveC90ZXN0X3ByZWZfc2V0Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8dGl0bGU+RXhhbXBsZSBwcmVmIHRlc3Q8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHA+VGVzdCByZXF1aXJlcyB0aGUgcHJl
ZiBicm93c2VyLmRpc3BsYXkuZm9yZWdyb3VuZF9jb2xvciB0byBiZSBzZXQgdG8gIzAwRkYwMDwv
cD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuY29sb3IsICJyZ2IoMCwgMjU1LCAwKSIpOworfSwgIlRl
c3QgdGhhdCBwcmVmIHdhcyBzZXQiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90
ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1OWRk
MGUwNjFiZGY5MDMwN2YyODgyYTEwMjI1MTdjNjJlZjRhNTkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdzNjLWltcG9ydC5sb2cKQEAgLTAs
MCArMSwxOCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94
L3Rlc3RfcHJlZl9kaXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZv
eC90ZXN0X3ByZWZfc2V0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhh
cm5lc3Mvc3ViZGlyL3Rlc3RoYXJuZXNzXzEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhh
cm5lc3Mvc3ViZGlyL3Rlc3RoYXJuZXNzXzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDJmYzQzMWQzOTk5
OGQ2YmZhNjNiYzBlM2I3ODg0NzkxMDE0YzMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90
ZXN0ZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdGVzdGhhcm5lc3NfMS5odG1sCkBAIC0wLDAgKzEs
OSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+VGVzdCBzaG91bGQgYmUgZW5hYmxlZDwvdGl0
bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X3RydWUodHJ1ZSk7Cit9LCAiVGVz
dCB0aGF0IHNob3VsZCBwYXNzIik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS90ZXN0aGFybmVzcy9zdWJkaXIvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBiNjEzNWZh
MDg3YjM5M2ZkY2I2NGJmM2U0OWVkMmExMzYwMDUyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEs
MTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
KworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZh
bHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitM
aXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3Rlc3Ro
YXJuZXNzXzEuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90
ZXN0aGFybmVzcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0
aGFybmVzcy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4NzFlYWMwMDE0OGQ0NGE4YmViZGM0Mzk0
ZTFjYjhiNGQ1OGRhYzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3Ro
YXJuZXNzL3Rlc3RoYXJuZXNzLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8dGl0bGU+RXhhbXBsZSBodHRwcyB0ZXN0PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0
aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCwgImh0dHBz
OiIpOworfSwgIlRlc3QgdGhhdCBmaWxlIHdhcyBsb2FkZWQgd2l0aCB0aGUgY29ycmVjdCBwcm90
b2NvbCIpOworCis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZmMDY1NGNiOWEwOTI1MWFkMDA4MmU4ZDg0OTE4YjIwNjhjMTJlMWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbApAQCAt
MCwwICsxLDkgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPlRlc3Qgc2hvdWxkIGJlIGRpc2Fi
bGVkPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfdHJ1ZShmYWxzZSk7
Cit9LCAiVGVzdCB0aGF0IHNob3VsZCBmYWlsIik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfZXJyb3IuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfZXJyb3IuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wYWM1YmE0NmEzMzA1ZjZmYmM2M2RkOGQxZmM3NDk2MDM0ZGE5YWZlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc19lcnJvci5odG1s
CkBAIC0wLDAgKzEsNyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+dGVzdGhhcm5lc3MuanMg
dGVzdCB0aGF0IHNob3VsZCBlcnJvcjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordW5kZWZpbmVkX2Z1bmN0aW9uKCkK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0
aGFybmVzc19sb25nX3RpbWVvdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mv
dGVzdGhhcm5lc3NfbG9uZ190aW1lb3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM5NGUwNTViZTBjNTU0
NTRjMTJlMDg1MDFjYzk4MWZkYWY0NTgzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfbG9uZ190aW1lb3V0Lmh0bWwKQEAgLTAsMCAr
MSw5IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT50ZXN0aGFybmVzcy5qcyB0ZXN0IHdpdGgg
bG9uZyB0aW1lb3V0PC90aXRsZT4KKzxtZXRhIG5hbWU9dGltZW91dCBjb250ZW50PWxvbmc+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgordmFyIHQgPSBhc3luY190ZXN0KCJMb25nIHRpbWVvdXQgdGVzdCIpOworc2V0VGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHRydWUpfSksIDE1KjEwMDAp
OworPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc190aW1lb3V0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVvdXQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iOTk5MTVhYzc0NTM5NTJhYTE5OWM3YWMyNGU5MTk0NTlmNjY1YTQyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc190aW1lb3V0
Lmh0bWwKQEAgLTAsMCArMSw2IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5TaW1wbGUgdGVz
dGhhcm5lc3MuanMgdXNhZ2U8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorCisvLyBUaGlzIGZpbGUgc2hvdWxkIHRpbWUgb3V0LCBvYnZp
b3VzbHkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rl
c3RkYXRhL3Rlc3RoYXJuZXNzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0
aGFybmVzcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZjkyNTVkMGYxNzlmODEyZjM3OGY5
ZDQ4NGI1MjUzZjk1YjM2M2RjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90
ZXN0aGFybmVzcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIxIEBACitUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0Rv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzLmh0dHBzLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfZXJyb3IuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
dGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfbG9uZ190aW1lb3V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVvdXQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTQ5OThmMDgwZGJlMzZiMzcyNDU5OTMxOWZmNTcyNTA0MjUwZmJiMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOCBAQAorVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9y
IHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0LmNmZy5leGFtcGxlCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0LnB5CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
b3guaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdG94LmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OGRmZTc5ZGM1ZDFjMTAxMjU2NTZiYmIy
ZTE1OTllNTFmZDRiNTY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdG94LmluaQpAQCAtMCwwICsx
LDE2IEBACitbcHl0ZXN0XQoreGZhaWxfc3RyaWN0PXRydWUKKworW3RveF0KK2Vudmxpc3QgPSB7
cHkyNyxweXB5fS17YmFzZSxiMmcsY2hyb21lLGZpcmVmb3gsc2Vydm99CisKK1t0ZXN0ZW52XQor
ZGVwcyA9CisgICAgIHB5dGVzdD49Mi45CisgICAgIHB5dGVzdC1jb3YKKyAgICAgLXJ7dG94aW5p
ZGlyfS9yZXF1aXJlbWVudHMudHh0CisgICAgIGNocm9tZTogLXJ7dG94aW5pZGlyfS9yZXF1aXJl
bWVudHNfY2hyb21lLnR4dAorICAgICBmaXJlZm94OiAtcnt0b3hpbmlkaXJ9L3JlcXVpcmVtZW50
c19maXJlZm94LnR4dAorICAgICBzZXJ2bzogLXJ7dG94aW5pZGlyfS9yZXF1aXJlbWVudHNfc2Vy
dm8udHh0CisKK2NvbW1hbmRzID0gcHl0ZXN0IC0tY292CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4ZWUxMmM0ZjJmY2Q4Nzhk
YWQ3NTUyMDM5MzhkN2Q0NzNkMDRjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93M2MtaW1wb3J0
LmxvZwpAQCAtMCwwICsxLDI3IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKwor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitO
b25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9MSUNFTlNFCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvTUFOSUZFU1Qu
aW4KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9SRUFETUUucnN0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzLnR4dAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50
c19jaHJvbWUudHh0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX2ZpcmVmb3gudHh0CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1l
bnRzX3NhdWNlLnR4dAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19zZXJ2by50eHQKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9zZXR1cC5weQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3RveC5pbmkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIuZGVmYXVsdC5pbmkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci5kZWZhdWx0LmluaSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci5kZWZhdWx0LmluaQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zNGQyNWY4MDU2YjBjZjcwZjY4YTgyMjYwOGU0NzRmNjNiMDY2NmY1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyLmRlZmF1bHQuaW5pCkBAIC0wLDAgKzEsMTEgQEAKK1twcm9kdWN0
c10KKworW3dlYi1wbGF0Zm9ybS10ZXN0c10KK3JlbW90ZV91cmwgPSBodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy5naXQKK2JyYW5jaCA9IG1hc3Rlcgorc3luY19wYXRo
ID0gJShwd2Qpcy9zeW5jCisKK1ttYW5pZmVzdDpkZWZhdWx0XQordGVzdHMgPSAlKHB3ZClzL3Rl
c3RzCittZXRhZGF0YSA9ICUocHdkKXMvbWV0YQordXJsX2Jhc2UgPSAvClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL19faW5pdF9fLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ODM0YjgyODVhNTZiZWYwZTE1NDNm
ZDkwMWM3ZTZmMmY4YmMyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvX19pbml0
X18ucHkKQEAgLTAsMCArMSBAQAorIyBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFB5dGhvbiB0
byBzZWFyY2ggdGhpcyBkaXJlY3RvcnkgZm9yIG1vZHVsZXMuClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL19faW5pdF9fLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL2Jyb3dzZXJzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzNjA2ZDIzY2Yw
Y2M2ZmRjM2Y2NTQ1ZWRjZWZlMWQzZGExYjE5ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvYnJvd3NlcnMvX19pbml0X18ucHkKQEAgLTAsMCArMSwzMCBAQAorIiIiU3VicGFja2Fn
ZSB3aGVyZSBlYWNoIHByb2R1Y3QgaXMgZGVmaW5lZC4gRWFjaCBwcm9kdWN0IGlzIGNyZWF0ZWQg
YnkgYWRkaW5nIGEKK2EgLnB5IGZpbGUgY29udGFpbmluZyBhIF9fd3B0cnVubmVyX18gdmFyaWFi
bGUgaW4gdGhlIGdsb2JhbCBzY29wZS4gVGhpcyBtdXN0IGJlCithIGRpY3Rpb25hcnkgd2l0aCB0
aGUgZmllbGRzCisKKyJwcm9kdWN0IjogTmFtZSBvZiB0aGUgcHJvZHVjdCwgYXNzdW1lZCB0byBi
ZSB1bmlxdWUuCisiYnJvd3NlciI6IFN0cmluZyBpbmRpY2F0aW5nIHRoZSBCcm93c2VyIGltcGxl
bWVudGF0aW9uIHVzZWQgdG8gbGF1bmNoIHRoYXQKKyAgICAgICAgICAgcHJvZHVjdC4KKyJleGVj
dXRvciI6IERpY3Rpb25hcnkgd2l0aCBrZXlzIGFzIHN1cHBvcnRlZCB0ZXN0IHR5cGVzIGFuZCB2
YWx1ZXMgYXMgdGhlIG5hbWUKKyAgICAgICAgICAgIG9mIHRoZSBFeGVjdXRvciBpbXBsZW1hbnRh
dGlvbiB0aGF0IHdpbGwgYmUgdXNlZCB0byBydW4gdGhhdCB0ZXN0CisgICAgICAgICAgICB0eXBl
LgorImJyb3dzZXJfa3dhcmdzIjogU3RyaW5nIG5hbWluZyBmdW5jdGlvbiB0aGF0IHRha2VzIHBy
b2R1Y3QsIGJpbmFyeSwKKyAgICAgICAgICAgICAgICAgIHByZWZzX3Jvb3QgYW5kIHRoZSB3cHRy
dW5uZXIucnVuX3Rlc3RzIGt3YXJncyBkaWN0IGFzIGFyZ3VtZW50cworICAgICAgICAgICAgICAg
ICAgYW5kIHJldHVybnMgYSBkaWN0aW9uYXJ5IG9mIGt3YXJncyB0byB1c2Ugd2hlbiBjcmVhdGlu
ZyB0aGUKKyAgICAgICAgICAgICAgICAgIEJyb3dzZXIgY2xhc3MuCisiZXhlY3V0b3Jfa3dhcmdz
IjogU3RyaW5nIG5hbWluZyBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgaHR0cCBzZXJ2ZXIgdXJsIGFu
ZAorICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgbXVsdGlwbGllciBhbmQgcmV0dXJucyBrd2Fy
Z3MgdG8gdXNlIHdoZW4gY3JlYXRpbmcKKyAgICAgICAgICAgICAgICAgICB0aGUgZXhlY3V0b3Ig
Y2xhc3MuCisiZW52X29wdGlvbnMiOiBTdHJpbmcgbmFtaW5nIGEgZnVudGlvbiBvZiBubyBhcmd1
bWVudHMgdGhhdCByZXR1cm5zIHRoZQorICAgICAgICAgICAgICAgYXJndW1lbnRzIHBhc3NlZCB0
byB0aGUgVGVzdEVudmlyb25tZW50LgorCitBbGwgY2xhc3NlcyBhbmQgZnVuY3Rpb25zIG5hbWVk
IGluIHRoZSBhYm92ZSBkaWN0IG11c3QgYmUgaW1wb3J0ZWQgaW50byB0aGUKK21vZHVsZSBnbG9i
YWwgc2NvcGUuCisiIiIKKworcHJvZHVjdF9saXN0ID0gWyJjaHJvbWUiLAorICAgICAgICAgICAg
ICAgICJlZGdlIiwKKyAgICAgICAgICAgICAgICAiZmlyZWZveCIsCisgICAgICAgICAgICAgICAg
InNhdWNlIiwKKyAgICAgICAgICAgICAgICAic2Vydm8iLAorICAgICAgICAgICAgICAgICJzZXJ2
b2RyaXZlciJdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYjJnX3NldHVwL2Nl
cnR0ZXN0X2FwcC56aXAgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYjJnX3NldHVwL2NlcnR0ZXN0
X2FwcC56aXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjljYmQ1MzAwYWQ2NTBmODM2OWFiMDJhNGFkYzg4NjZhNWYw
ZGVhMQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTIzNwp6Y21XSVdXQFpzI1V8YF4yRmp2V09E
ZnpUfXRxWUpCMTtrdG9HN09ue0RYQTVEODZ+K25wJl5fTSUkbWpXIUtPRDkKemdHKCM4ODVtaTxH
QlBsTF49PU9JSXE5I3JRcFkzb2d2UUNVOHl8MEszfCFmJVMhU2o+UWBLXjFuYnxKYERWPFpQCnps
YyZyTiR+P1l3IUdrJGJBd3JYKVZpckEhMnNuX3NtfHVgPjZfWWUwTGpjP3pWaW9tblZqbiluY2Bg
RkY/Qlpmegp6OzBMLVJIISZ8V0V3IzhydVJKdj12N2k5IzcjVE9JUDxiRm1iSWpaQC1+N2lHSmJT
LX5iNkVEenM/Sy1TdWZBOC0KeiRTVCZ7c0MwM29mVHhJeClqWGV6fE15TEtkISo9YipgPUs8MX1E
fClZO0IpQF8zUThya1RjXj9gcG5XOXIhY3ZxCnpyfHxSSWlXZWc2e2J+S1ZJeHtaakQ3O1Fsal55
RXZuZnptaystMWlNbytVWEFDUU5mKUhSYVgyeGFLbkU8UWpiVgp6eWlmSzBJZC17JmlCQ1NUZT5+
TjtZUT1RMUJhMmw2Pk5yeVVyXmdnLWFXUztkKn1tOElNc0AlR0hOfiZ3RjR6Nk8KekE/VzIpUWhC
Jnh5Q1MzZit1VTw4MUBuUzZtUVJ4M2NZb1BwUU5mbXRZajBrWT48KEooNSE+WVk7WUNJJCRBYyNZ
CnpIJXhPck97QEhIUXZNZ1MrV0lAez9+TGwhVWh8JmFHPlB9TyhMdyRARVBQNGI0P3xxdk90RV8t
VHoycFRrN0R3dgp6KSNyRiNXfCZeRnlVeTZaVkA+ZmspaTw5UEZgVHZiUyFMRXhFVkhhOVleVTVZ
MlhTOWo+KjtHdnBLT311JWFyO24KemgxMllqJSppWCgwPn1FKmtgJll1dj9YcVNiSSljRktYPEEx
T3BFOCtobDw2YkMpWF53QEBNbXpvZDtaM2JCcEZfCnpsYCtiXmBlfThoe05ea0QjVVZZfUQtQ3ZC
PyNaa1BJeHtpTHQ9Z2VJSmJDTX10R0JsK21WTm1iVF90SyFtfSsrKgp6djtBPyRkOXtBKSpBM1RZ
OXJtOSMre0Z8aUlOXzlDcT44dThmfHxEe21UMUpRXlBqelNYND4yMEdjMFEmUGd7d2sKekYhaSUr
Tj8mP3RVeSl1KiVDPTg/bj1iczZVMi1+aFd+KS10ZWgtMSZHNTJUbHhZVSY5RTRZMHR5KEhyKHRI
NjZ9CnooZ3Z+cVBVZnZvcipRdCtVO2o3dXJpYzU/Sz19bzZQaUp7ZV99WDM5Y1k/UG5fNE8zeT9i
a3kjcjdROU00TzY9egp6U3tDPHkmMiNQOE5jfnJfNS0lNDc8OzdqRktSXkJhUmBvWlQ5fnRIQGVm
JXN1YEBrN2lpSHdsdkZPRWxlSVFFUDMKel8/X298K35yO1F6anRUY142Z0xtTXdpRT5hUEg3cGFZ
UkJAUmtYLWg9ZHdGSCVYYTc4ODQrdCFlMEtOP20qejJWCnozVFUhNWBrWm9EZUVvJEw4fjw/NGVn
NjZBcGBUSn16ailIT0szbCtTZW5RJTh6SDhSd3NhcUJ2NDA7cnpSQDFkWQp6JnVEK351QnBlO2Rm
aCRaVFApOUwrWk8hIW9fS2s0VVREbWhnZiZ7UlBpSVlkZkFaS3JKKWllZVUrOFg0ST8hMXAKej0r
Zi1UXjJXOH4pc2YhPE9UVytEekg7YEN8N00jJHQreypVP21XPldlT0hBUElBWCZtWkxqSGlQfT1k
X1FLNEAzCnptclp9QlhUR24kQFopTEUmZFB0RTZUS2R7Y0trR2RKS2VrVGQpYXNVMEI9U25JYzhq
Q2c5TmFJVXw7fjIwMVFoUwp3S2BpOHdmKSFGeXBrKypDXkR5JWB2VXdkcV5EdUhlJmA/bTAkMXMk
WTRQLXFONUgxRE1RWTtgSTBMNjkhM0lHNUEKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9iMmdfc2V0dXAvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvYjJnX3NldHVwL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM5ZjBlZGEwNmFiMjAzMThiMTQ5YmQxNGQ2Y2M3Y2RkZTEyZjJjYTAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYjJnX3NldHVwL3czYy1pbXBvcnQubG9nCkBAIC0w
LDAgKzEsMTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3Bl
cnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9iMmdfc2V0dXAvY2Vy
dHRlc3RfYXBwLnppcApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2Jhc2UucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYmFzZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODNjYTBkNmNkZWQx
ZTA1NTJlNmQyNDBjMDRmM2JiZmU1ZmU2MjA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2Jyb3dzZXJzL2Jhc2UucHkKQEAgLTAsMCArMSwxNTkgQEAKK2ltcG9ydCBvcworaW1wb3J0
IHBsYXRmb3JtCitpbXBvcnQgc29ja2V0Citmcm9tIGFiYyBpbXBvcnQgQUJDTWV0YSwgYWJzdHJh
Y3RtZXRob2QKKworZnJvbSAuLndwdGNvbW1hbmRsaW5lIGltcG9ydCByZXF1aXJlX2FyZworCito
ZXJlID0gb3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0KKworCitkZWYgY21kX2FyZyhuYW1lLCB2
YWx1ZT1Ob25lKToKKyAgICBwcmVmaXggPSAiLSIgaWYgcGxhdGZvcm0uc3lzdGVtKCkgPT0gIldp
bmRvd3MiIGVsc2UgIi0tIgorICAgIHJ2ID0gcHJlZml4ICsgbmFtZQorICAgIGlmIHZhbHVlIGlz
IG5vdCBOb25lOgorICAgICAgICBydiArPSAiPSIgKyB2YWx1ZQorICAgIHJldHVybiBydgorCisK
K2RlZiBnZXRfZnJlZV9wb3J0KHN0YXJ0X3BvcnQsIGV4Y2x1ZGU9Tm9uZSk6CisgICAgIiIiR2V0
IHRoZSBmaXJzdCBwb3J0IG51bWJlciBhZnRlciBzdGFydF9wb3J0IChpbmNsdXNpdmUpIHRoYXQg
aXMKKyAgICBub3QgY3VycmVudGx5IGJvdW5kLgorCisgICAgOnBhcmFtIHN0YXJ0X3BvcnQ6IElu
dGVnZXIgcG9ydCBudW1iZXIgYXQgd2hpY2ggdG8gc3RhcnQgdGVzdGluZy4KKyAgICA6cGFyYW0g
ZXhjbHVkZTogU2V0IG9mIHBvcnQgbnVtYmVycyB0byBza2lwIiIiCisgICAgcG9ydCA9IHN0YXJ0
X3BvcnQKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICBpZiBleGNsdWRlIGFuZCBwb3J0IGluIGV4
Y2x1ZGU6CisgICAgICAgICAgICBwb3J0ICs9IDEKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAg
ICAgIHMgPSBzb2NrZXQuc29ja2V0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcy5iaW5k
KCgiMTI3LjAuMC4xIiwgcG9ydCkpCisgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAg
ICAgICAgICBwb3J0ICs9IDEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBwb3J0
CisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzLmNsb3NlKCkKKworZGVmIGJyb3dzZXJf
Y29tbWFuZChiaW5hcnksIGFyZ3MsIGRlYnVnX2luZm8pOgorICAgIGlmIGRlYnVnX2luZm86Cisg
ICAgICAgIGlmIGRlYnVnX2luZm8ucmVxdWlyZXNFc2NhcGVkQXJnczoKKyAgICAgICAgICAgIGFy
Z3MgPSBbaXRlbS5yZXBsYWNlKCImIiwgIlxcJiIpIGZvciBpdGVtIGluIGFyZ3NdCisgICAgICAg
IGRlYnVnX2FyZ3MgPSBbZGVidWdfaW5mby5wYXRoXSArIGRlYnVnX2luZm8uYXJncworICAgIGVs
c2U6CisgICAgICAgIGRlYnVnX2FyZ3MgPSBbXQorCisgICAgY29tbWFuZCA9IFtiaW5hcnldICsg
YXJncworCisgICAgcmV0dXJuIGRlYnVnX2FyZ3MsIGNvbW1hbmQKKworCitjbGFzcyBCcm93c2Vy
RXJyb3IoRXhjZXB0aW9uKToKKyAgICBwYXNzCisKKworY2xhc3MgQnJvd3NlcihvYmplY3QpOgor
ICAgIF9fbWV0YWNsYXNzX18gPSBBQkNNZXRhCisKKyAgICBwcm9jZXNzX2NscyA9IE5vbmUKKyAg
ICBpbml0X3RpbWVvdXQgPSAzMAorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlcik6Cisg
ICAgICAgICIiIkFic3RyYWN0IGNsYXNzIHNlcnZpbmcgYXMgdGhlIGJhc2lzIGZvciBCcm93c2Vy
IGltcGxlbWVudGF0aW9ucy4KKworICAgICAgICBUaGUgQnJvd3NlciBpcyB1c2VkIGluIHRoZSBU
ZXN0UnVubmVyTWFuYWdlciB0byBzdGFydCBhbmQgc3RvcCB0aGUgYnJvd3NlcgorICAgICAgICBw
cm9jZXNzLCBhbmQgdG8gY2hlY2sgdGhlIHN0YXRlIG9mIHRoYXQgcHJvY2Vzcy4gVGhpcyBjbGFz
cyBhbHNvIGFjdHMgYXMgYQorICAgICAgICBjb250ZXh0IG1hbmFnZXIsIGVuYWJsaW5nIGl0IHRv
IGRvIGJyb3dzZXItc3BlY2lmaWMgc2V0dXAgYXQgdGhlIHN0YXJ0IG9mCisgICAgICAgIHRoZSB0
ZXN0cnVuIGFuZCBjbGVhbnVwIGFmdGVyIHRoZSBydW4gaXMgY29tcGxldGUuCisKKyAgICAgICAg
OnBhcmFtIGxvZ2dlcjogU3RydWN0dXJlZCBsb2dnZXIgdG8gdXNlIGZvciBvdXRwdXQuCisgICAg
ICAgICIiIgorICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgorCisgICAgZGVmIF9fZW50ZXJf
XyhzZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cCgpCisgICAgICAgIHJldHVybiBzZWxmCisKKyAg
ICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5jbGVh
bnVwKCkKKworICAgIGRlZiBzZXR1cChzZWxmKToKKyAgICAgICAgIiIiVXNlZCBmb3IgYnJvd3Nl
ci1zcGVjaWZpYyBzZXR1cCB0aGF0IGhhcHBlbnMgYXQgdGhlIHN0YXJ0IG9mIGEgdGVzdCBydW4i
IiIKKyAgICAgICAgcGFzcworCisgICAgQGFic3RyYWN0bWV0aG9kCisgICAgZGVmIHN0YXJ0KHNl
bGYpOgorICAgICAgICAiIiJMYXVuY2ggdGhlIGJyb3dzZXIgb2JqZWN0IGFuZCBnZXQgaXQgaW50
byBhIHN0YXRlIHdoZXJlIGlzIGlzIHJlYWR5IHRvIHJ1biB0ZXN0cyIiIgorICAgICAgICBwYXNz
CisKKyAgICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgc3RvcChzZWxmLCBmb3JjZT1GYWxzZSk6
CisgICAgICAgICIiIlN0b3AgdGhlIHJ1bm5pbmcgYnJvd3NlciBwcm9jZXNzLiIiIgorICAgICAg
ICBwYXNzCisKKyAgICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgcGlkKHNlbGYpOgorICAgICAg
ICAiIiJwaWQgb2YgdGhlIGJyb3dzZXIgcHJvY2VzcyBvciBOb25lIGlmIHRoZXJlIGlzIG5vIHBp
ZCIiIgorICAgICAgICBwYXNzCisKKyAgICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgaXNfYWxp
dmUoc2VsZik6CisgICAgICAgICIiIkJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBicm93
c2VyIHByb2Nlc3MgaXMgc3RpbGwgcnVubmluZyIiIgorICAgICAgICBwYXNzCisKKyAgICBkZWYg
c2V0dXBfc3NsKHNlbGYsIGhvc3RzKToKKyAgICAgICAgIiIiUmV0dXJuIGEgY2VydGlmaWNhdGUg
dG8gdXNlIGZvciB0ZXN0cyByZXF1aXJpbmcgc3NsIHRoYXQgd2lsbCBiZSB0cnVzdGVkIGJ5IHRo
ZSBicm93c2VyIiIiCisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoInNzbCB0ZXN0
aW5nIG5vdCBzdXBwb3J0ZWQiKQorCisgICAgZGVmIGNsZWFudXAoc2VsZik6CisgICAgICAgICIi
IkJyb3dzZXItc3BlY2lmaWMgY2xlYW51cCB0aGF0IGlzIHJ1biBhZnRlciB0aGUgdGVzdHJ1biBp
cyBmaW5pc2hlZCIiIgorICAgICAgICBwYXNzCisKKyAgICBkZWYgZXhlY3V0b3JfYnJvd3Nlcihz
ZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgRXhlY3V0b3JCcm93c2VyIHN1YmNsYXNzIGZv
ciB0aGlzIEJyb3dzZXIgc3ViY2xhc3MgYW5kIHRoZSBrZXl3b3JkIGFyZ3VtZW50cworICAgICAg
ICB3aXRoIHdoaWNoIGl0IHNob3VsZCBiZSBpbnN0YW50aWF0ZWQiIiIKKyAgICAgICAgcmV0dXJu
IEV4ZWN1dG9yQnJvd3Nlciwge30KKworICAgIGRlZiBsb2dfY3Jhc2goc2VsZiwgcHJvY2Vzcywg
dGVzdCk6CisgICAgICAgICIiIlJldHVybiBhIGxpc3Qgb2YgZGljdGlvbmFyaWVzIGNvbnRhaW5p
bmcgaW5mb3JtYXRpb24gYWJvdXQgY3Jhc2hlcyB0aGF0IGhhcHBlbmQKKyAgICAgICAgaW4gdGhl
IGJyb3dzZXIsIG9yIGFuIGVtcHR5IGxpc3QgaWYgbm8gY3Jhc2hlcyBvY2N1cnJlZCIiIgorICAg
ICAgICBzZWxmLmxvZ2dlci5jcmFzaChwcm9jZXNzLCB0ZXN0KQorCisKK2NsYXNzIE51bGxCcm93
c2VyKEJyb3dzZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsICoqa3dhcmdzKToK
KyAgICAgICAgc3VwZXIoTnVsbEJyb3dzZXIsIHNlbGYpLl9faW5pdF9fKGxvZ2dlcikKKworICAg
IGRlZiBzdGFydChzZWxmKToKKyAgICAgICAgIiIiTm8tb3AgYnJvd3NlciB0byB1c2UgaW4gc2Nl
bmFyaW9zIHdoZXJlIHRoZSBUZXN0UnVubmVyTWFuYWdlciBzaG91bGRuJ3QKKyAgICAgICAgYWN0
dWFsbHkgb3duIHRoZSBicm93c2VyIHByb2Nlc3MgKGUuZy4gU2Vydm8gd2hlcmUgd2Ugc3RhcnQg
b25lIGJyb3dzZXIKKyAgICAgICAgcGVyIHRlc3QpIiIiCisgICAgICAgIHBhc3MKKworICAgIGRl
ZiBzdG9wKHNlbGYsIGZvcmNlPUZhbHNlKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIHBpZChz
ZWxmKToKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBpc19hbGl2ZShzZWxmKToKKyAg
ICAgICAgcmV0dXJuIFRydWUKKworICAgIGRlZiBvbl9vdXRwdXQoc2VsZiwgbGluZSk6CisgICAg
ICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKworCitjbGFzcyBFeGVjdXRvckJyb3dzZXIo
b2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKiprd2FyZ3MpOgorICAgICAgICAiIiJW
aWV3IG9mIHRoZSBCcm93c2VyIHVzZWQgYnkgdGhlIEV4ZWN1dG9yIG9iamVjdC4KKyAgICAgICAg
VGhpcyBpcyBuZWVkZWQgYmVjYXVzZSB0aGUgRXhlY3V0b3IgcnVucyBpbiBhIGNoaWxkIHByb2Nl
c3MgYW5kCisgICAgICAgIHdlIGNhbid0IHNoaXAgQnJvd3NlciBpbnN0YW5jZXMgYmV0d2VlbiBw
cm9jZXNzZXMgb24gV2luZG93cy4KKworICAgICAgICBUeXBpY2FsbHkgdGhpcyB3aWxsIGhhdmUg
YSBmZXcgcHJvZHVjdC1zcGVjaWZpYyBwcm9wZXJ0aWVzIHNldCwKKyAgICAgICAgYnV0IGluIHNv
bWUgY2FzZXMgaXQgbWF5IGhhdmUgbW9yZSBlbGFib3JhdGUgbWV0aG9kcyBmb3Igc2V0dGluZwor
ICAgICAgICB1cCB0aGUgYnJvd3NlciBmcm9tIHRoZSBydW5uZXIgcHJvY2Vzcy4KKyAgICAgICAg
IiIiCisgICAgICAgIGZvciBrLCB2IGluIGt3YXJncy5pdGVyaXRlbXMoKToKKyAgICAgICAgICAg
IHNldGF0dHIoc2VsZiwgaywgdikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9j
aHJvbWUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvY2hyb21lLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNi
ZDIyN2IzMmY1NTA4ZjYxMTM1ZjllMTYxZmE3NjBiYjExMmYyZWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvYnJvd3NlcnMvY2hyb21lLnB5CkBAIC0wLDAgKzEsOTQgQEAKK2Zyb20g
LmJhc2UgaW1wb3J0IEJyb3dzZXIsIEV4ZWN1dG9yQnJvd3NlciwgcmVxdWlyZV9hcmcKK2Zyb20g
Li53ZWJkcml2ZXJfc2VydmVyIGltcG9ydCBDaHJvbWVEcml2ZXJTZXJ2ZXIKK2Zyb20gLi5leGVj
dXRvcnMgaW1wb3J0IGV4ZWN1dG9yX2t3YXJncyBhcyBiYXNlX2V4ZWN1dG9yX2t3YXJncworZnJv
bSAuLmV4ZWN1dG9ycy5leGVjdXRvcnNlbGVuaXVtIGltcG9ydCAoU2VsZW5pdW1UZXN0aGFybmVz
c0V4ZWN1dG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2Vs
ZW5pdW1SZWZUZXN0RXhlY3V0b3IpCisKKworX193cHRydW5uZXJfXyA9IHsicHJvZHVjdCI6ICJj
aHJvbWUiLAorICAgICAgICAgICAgICAgICAiY2hlY2tfYXJncyI6ICJjaGVja19hcmdzIiwKKyAg
ICAgICAgICAgICAgICAgImJyb3dzZXIiOiAiQ2hyb21lQnJvd3NlciIsCisgICAgICAgICAgICAg
ICAgICJleGVjdXRvciI6IHsidGVzdGhhcm5lc3MiOiAiU2VsZW5pdW1UZXN0aGFybmVzc0V4ZWN1
dG9yIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWZ0ZXN0IjogIlNlbGVuaXVt
UmVmVGVzdEV4ZWN1dG9yIn0sCisgICAgICAgICAgICAgICAgICJicm93c2VyX2t3YXJncyI6ICJi
cm93c2VyX2t3YXJncyIsCisgICAgICAgICAgICAgICAgICJleGVjdXRvcl9rd2FyZ3MiOiAiZXhl
Y3V0b3Jfa3dhcmdzIiwKKyAgICAgICAgICAgICAgICAgImVudl9leHRyYXMiOiAiZW52X2V4dHJh
cyIsCisgICAgICAgICAgICAgICAgICJlbnZfb3B0aW9ucyI6ICJlbnZfb3B0aW9ucyJ9CisKKwor
ZGVmIGNoZWNrX2FyZ3MoKiprd2FyZ3MpOgorICAgIHJlcXVpcmVfYXJnKGt3YXJncywgIndlYmRy
aXZlcl9iaW5hcnkiKQorCisKK2RlZiBicm93c2VyX2t3YXJncygqKmt3YXJncyk6CisgICAgcmV0
dXJuIHsiYmluYXJ5Ijoga3dhcmdzWyJiaW5hcnkiXSwKKyAgICAgICAgICAgICJ3ZWJkcml2ZXJf
YmluYXJ5Ijoga3dhcmdzWyJ3ZWJkcml2ZXJfYmluYXJ5Il0sCisgICAgICAgICAgICAid2ViZHJp
dmVyX2FyZ3MiOiBrd2FyZ3MuZ2V0KCJ3ZWJkcml2ZXJfYXJncyIpfQorCisKK2RlZiBleGVjdXRv
cl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29uZmlnLCBjYWNoZV9tYW5hZ2VyLCBydW5faW5m
b19kYXRhLAorICAgICAgICAgICAgICAgICAgICAqKmt3YXJncyk6CisgICAgZnJvbSBzZWxlbml1
bS53ZWJkcml2ZXIgaW1wb3J0IERlc2lyZWRDYXBhYmlsaXRpZXMKKworICAgIGV4ZWN1dG9yX2t3
YXJncyA9IGJhc2VfZXhlY3V0b3Jfa3dhcmdzKHRlc3RfdHlwZSwgc2VydmVyX2NvbmZpZywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZV9tYW5hZ2VyLCAq
Kmt3YXJncykKKyAgICBleGVjdXRvcl9rd2FyZ3NbImNsb3NlX2FmdGVyX2RvbmUiXSA9IFRydWUK
KyAgICBjYXBhYmlsaXRpZXMgPSBkaWN0KERlc2lyZWRDYXBhYmlsaXRpZXMuQ0hST01FLml0ZW1z
KCkpCisgICAgY2FwYWJpbGl0aWVzLnNldGRlZmF1bHQoImNocm9tZU9wdGlvbnMiLCB7fSlbInBy
ZWZzIl0gPSB7CisgICAgICAgICJwcm9maWxlIjogeworICAgICAgICAgICAgImRlZmF1bHRfY29u
dGVudF9zZXR0aW5nX3ZhbHVlcyI6IHsKKyAgICAgICAgICAgICAgICAicG9wdXBzIjogMQorICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIGZvciAoa3dhcmcsIGNhcGFiaWxpdHkp
IGluIFsoImJpbmFyeSIsICJiaW5hcnkiKSwgKCJiaW5hcnlfYXJncyIsICJhcmdzIildOgorICAg
ICAgICBpZiBrd2FyZ3Nba3dhcmddIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgY2FwYWJpbGl0
aWVzWyJjaHJvbWVPcHRpb25zIl1bY2FwYWJpbGl0eV0gPSBrd2FyZ3Nba3dhcmddCisgICAgZXhl
Y3V0b3Jfa3dhcmdzWyJjYXBhYmlsaXRpZXMiXSA9IGNhcGFiaWxpdGllcworICAgIHJldHVybiBl
eGVjdXRvcl9rd2FyZ3MKKworCitkZWYgZW52X2V4dHJhcygqKmt3YXJncyk6CisgICAgcmV0dXJu
IFtdCisKKworZGVmIGVudl9vcHRpb25zKCk6CisgICAgcmV0dXJuIHsiaG9zdCI6ICJ3ZWItcGxh
dGZvcm0udGVzdCIsCisgICAgICAgICAgICAiYmluZF9ob3N0bmFtZSI6ICJ0cnVlIn0KKworCitj
bGFzcyBDaHJvbWVCcm93c2VyKEJyb3dzZXIpOgorICAgICIiIkNocm9tZSBpcyBiYWNrZWQgYnkg
Y2hyb21lZHJpdmVyLCB3aGljaCBpcyBzdXBwbGllZCB0aHJvdWdoCisgICAgYGB3cHRydW5uZXIu
d2ViZHJpdmVyLkNocm9tZURyaXZlclNlcnZlcmBgLgorICAgICIiIgorCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIGxvZ2dlciwgYmluYXJ5LCB3ZWJkcml2ZXJfYmluYXJ5PSJjaHJvbWVkcml2ZXIi
LAorICAgICAgICAgICAgICAgICB3ZWJkcml2ZXJfYXJncz1Ob25lKToKKyAgICAgICAgIiIiQ3Jl
YXRlcyBhIG5ldyByZXByZXNlbnRhdGlvbiBvZiBDaHJvbWUuICBUaGUgYGJpbmFyeWAgYXJndW1l
bnQgZ2l2ZXMKKyAgICAgICAgdGhlIGJyb3dzZXIgYmluYXJ5IHRvIHVzZSBmb3IgdGVzdGluZy4i
IiIKKyAgICAgICAgQnJvd3Nlci5fX2luaXRfXyhzZWxmLCBsb2dnZXIpCisgICAgICAgIHNlbGYu
YmluYXJ5ID0gYmluYXJ5CisgICAgICAgIHNlbGYuc2VydmVyID0gQ2hyb21lRHJpdmVyU2VydmVy
KHNlbGYubG9nZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
aW5hcnk9d2ViZHJpdmVyX2JpbmFyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYXJncz13ZWJkcml2ZXJfYXJncykKKworICAgIGRlZiBzdGFydChzZWxmKToKKyAg
ICAgICAgc2VsZi5zZXJ2ZXIuc3RhcnQoYmxvY2s9RmFsc2UpCisKKyAgICBkZWYgc3RvcChzZWxm
LCBmb3JjZT1GYWxzZSk6CisgICAgICAgIHNlbGYuc2VydmVyLnN0b3AoZm9yY2U9Zm9yY2UpCisK
KyAgICBkZWYgcGlkKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5zZXJ2ZXIucGlkCisKKyAg
ICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgICMgVE9ETyhhdG8pOiBUaGlzIG9ubHkgaW5k
aWNhdGVzIHRoZSBkcml2ZXIgaXMgYWxpdmUsCisgICAgICAgICMgYW5kIGRvZXNuJ3Qgc2F5IGFu
eXRoaW5nIGFib3V0IHdoZXRoZXIgYSBicm93c2VyIHNlc3Npb24KKyAgICAgICAgIyBpcyBhY3Rp
dmUuCisgICAgICAgIHJldHVybiBzZWxmLnNlcnZlci5pc19hbGl2ZSgpCisKKyAgICBkZWYgY2xl
YW51cChzZWxmKToKKyAgICAgICAgc2VsZi5zdG9wKCkKKworICAgIGRlZiBleGVjdXRvcl9icm93
c2VyKHNlbGYpOgorICAgICAgICByZXR1cm4gRXhlY3V0b3JCcm93c2VyLCB7IndlYmRyaXZlcl91
cmwiOiBzZWxmLnNlcnZlci51cmx9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMv
ZWRnZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9lZGdlLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1NGVk
YjNiYWIxMjQ0YzEyMTY2MzJkNzA0NzAxMWViMDgzMDE4N2EKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvZWRnZS5weQpAQCAtMCwwICsxLDc0IEBACitmcm9tIC5iYXNl
IGltcG9ydCBCcm93c2VyLCBFeGVjdXRvckJyb3dzZXIsIHJlcXVpcmVfYXJnCitmcm9tIC4ud2Vi
ZHJpdmVyX3NlcnZlciBpbXBvcnQgRWRnZURyaXZlclNlcnZlcgorZnJvbSAuLmV4ZWN1dG9ycyBp
bXBvcnQgZXhlY3V0b3Jfa3dhcmdzIGFzIGJhc2VfZXhlY3V0b3Jfa3dhcmdzCitmcm9tIC4uZXhl
Y3V0b3JzLmV4ZWN1dG9yc2VsZW5pdW0gaW1wb3J0IChTZWxlbml1bVRlc3RoYXJuZXNzRXhlY3V0
b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlbml1bVJl
ZlRlc3RFeGVjdXRvcikKKworX193cHRydW5uZXJfXyA9IHsicHJvZHVjdCI6ICJlZGdlIiwKKyAg
ICAgICAgICAgICAgICAgImNoZWNrX2FyZ3MiOiAiY2hlY2tfYXJncyIsCisgICAgICAgICAgICAg
ICAgICJicm93c2VyIjogIkVkZ2VCcm93c2VyIiwKKyAgICAgICAgICAgICAgICAgImV4ZWN1dG9y
IjogeyJ0ZXN0aGFybmVzcyI6ICJTZWxlbml1bVRlc3RoYXJuZXNzRXhlY3V0b3IiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInJlZnRlc3QiOiAiU2VsZW5pdW1SZWZUZXN0RXhlY3V0
b3IifSwKKyAgICAgICAgICAgICAgICAgImJyb3dzZXJfa3dhcmdzIjogImJyb3dzZXJfa3dhcmdz
IiwKKyAgICAgICAgICAgICAgICAgImV4ZWN1dG9yX2t3YXJncyI6ICJleGVjdXRvcl9rd2FyZ3Mi
LAorICAgICAgICAgICAgICAgICAiZW52X2V4dHJhcyI6ICJlbnZfZXh0cmFzIiwKKyAgICAgICAg
ICAgICAgICAgImVudl9vcHRpb25zIjogImVudl9vcHRpb25zIn0KKworCitkZWYgY2hlY2tfYXJn
cygqKmt3YXJncyk6CisgICAgcmVxdWlyZV9hcmcoa3dhcmdzLCAid2ViZHJpdmVyX2JpbmFyeSIp
CisKK2RlZiBicm93c2VyX2t3YXJncygqKmt3YXJncyk6CisgICAgcmV0dXJuIHsid2ViZHJpdmVy
X2JpbmFyeSI6IGt3YXJnc1sid2ViZHJpdmVyX2JpbmFyeSJdLAorICAgICAgICAgICAgIndlYmRy
aXZlcl9hcmdzIjoga3dhcmdzLmdldCgid2ViZHJpdmVyX2FyZ3MiKX0KKworZGVmIGV4ZWN1dG9y
X2t3YXJncyh0ZXN0X3R5cGUsIHNlcnZlcl9jb25maWcsIGNhY2hlX21hbmFnZXIsIHJ1bl9pbmZv
X2RhdGEsCisgICAgICAgICAgICAgICAgICAgICoqa3dhcmdzKToKKyAgICBmcm9tIHNlbGVuaXVt
LndlYmRyaXZlciBpbXBvcnQgRGVzaXJlZENhcGFiaWxpdGllcworCisgICAgZXhlY3V0b3Jfa3dh
cmdzID0gYmFzZV9leGVjdXRvcl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29uZmlnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlX21hbmFnZXIsICoq
a3dhcmdzKQorICAgIGV4ZWN1dG9yX2t3YXJnc1siY2xvc2VfYWZ0ZXJfZG9uZSJdID0gVHJ1ZQor
ICAgIGV4ZWN1dG9yX2t3YXJnc1siY2FwYWJpbGl0aWVzIl0gPSBkaWN0KERlc2lyZWRDYXBhYmls
aXRpZXMuRURHRS5pdGVtcygpKQorICAgIHJldHVybiBleGVjdXRvcl9rd2FyZ3MKKworZGVmIGVu
dl9leHRyYXMoKiprd2FyZ3MpOgorICAgIHJldHVybiBbXQorCitkZWYgZW52X29wdGlvbnMoKToK
KyAgICByZXR1cm4geyJob3N0IjogIndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAgICAgICAgICAgICJi
aW5kX2hvc3RuYW1lIjogInRydWUiLAorICAgICAgICAgICAgInN1cHBvcnRzX2RlYnVnZ2VyIjog
RmFsc2V9CisKK2NsYXNzIEVkZ2VCcm93c2VyKEJyb3dzZXIpOgorICAgIHVzZWRfcG9ydHMgPSBz
ZXQoKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgd2ViZHJpdmVyX2JpbmFyeSwg
d2ViZHJpdmVyX2FyZ3M9Tm9uZSk6CisgICAgICAgIEJyb3dzZXIuX19pbml0X18oc2VsZiwgbG9n
Z2VyKQorICAgICAgICBzZWxmLnNlcnZlciA9IEVkZ2VEcml2ZXJTZXJ2ZXIoc2VsZi5sb2dnZXIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5hcnk9d2ViZHJpdmVy
X2JpbmFyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M9d2Vi
ZHJpdmVyX2FyZ3MpCisgICAgICAgIHNlbGYud2ViZHJpdmVyX2hvc3QgPSAibG9jYWxob3N0Igor
ICAgICAgICBzZWxmLndlYmRyaXZlcl9wb3J0ID0gc2VsZi5zZXJ2ZXIucG9ydAorCisgICAgZGVm
IHN0YXJ0KHNlbGYpOgorICAgICAgICBwcmludCBzZWxmLnNlcnZlci51cmwKKyAgICAgICAgc2Vs
Zi5zZXJ2ZXIuc3RhcnQoKQorCisgICAgZGVmIHN0b3Aoc2VsZik6CisgICAgICAgIHNlbGYuc2Vy
dmVyLnN0b3AoKQorCisgICAgZGVmIHBpZChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuc2Vy
dmVyLnBpZAorCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICAjIFRPRE8oYXRvKTog
VGhpcyBvbmx5IGluZGljYXRlcyB0aGUgc2VydmVyIGlzIGFsaXZlLAorICAgICAgICAjIGFuZCBk
b2Vzbid0IHNheSBhbnl0aGluZyBhYm91dCB3aGV0aGVyIGEgYnJvd3NlciBzZXNzaW9uCisgICAg
ICAgICMgaXMgYWN0aXZlLgorICAgICAgICByZXR1cm4gc2VsZi5zZXJ2ZXIuaXNfYWxpdmUoKQor
CisgICAgZGVmIGNsZWFudXAoc2VsZik6CisgICAgICAgIHNlbGYuc3RvcCgpCisKKyAgICBkZWYg
ZXhlY3V0b3JfYnJvd3NlcihzZWxmKToKKyAgICAgICAgcmV0dXJuIEV4ZWN1dG9yQnJvd3Nlciwg
eyJ3ZWJkcml2ZXJfdXJsIjogc2VsZi5zZXJ2ZXIudXJsfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2Jyb3dzZXJzL2ZpcmVmb3gucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvZmlyZWZveC5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43MTUyZmQ3YzFjMjBjMDk5ZWQ4NzRiYzIzMmE4MTliOTk5MDU5OTllCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2ZpcmVmb3gucHkKQEAgLTAs
MCArMSwzMDggQEAKK2ltcG9ydCBvcworaW1wb3J0IHBsYXRmb3JtCitpbXBvcnQgc2lnbmFsCitp
bXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworCitpbXBvcnQgbW96aW5mbworZnJvbSBtb3pw
cm9jZXNzIGltcG9ydCBQcm9jZXNzSGFuZGxlcgorZnJvbSBtb3pwcm9maWxlIGltcG9ydCBGaXJl
Zm94UHJvZmlsZSwgUHJlZmVyZW5jZXMKK2Zyb20gbW96cHJvZmlsZS5wZXJtaXNzaW9ucyBpbXBv
cnQgU2VydmVyTG9jYXRpb25zCitmcm9tIG1venJ1bm5lciBpbXBvcnQgRmlyZWZveFJ1bm5lcgor
ZnJvbSBtb3pydW5uZXIudXRpbHMgaW1wb3J0IGdldF9zdGFja19maXhlcl9mdW5jdGlvbgorZnJv
bSBtb3pjcmFzaCBpbXBvcnQgbW96Y3Jhc2gKKworZnJvbSAuYmFzZSBpbXBvcnQgKGdldF9mcmVl
X3BvcnQsCisgICAgICAgICAgICAgICAgICAgQnJvd3NlciwKKyAgICAgICAgICAgICAgICAgICBF
eGVjdXRvckJyb3dzZXIsCisgICAgICAgICAgICAgICAgICAgcmVxdWlyZV9hcmcsCisgICAgICAg
ICAgICAgICAgICAgY21kX2FyZywKKyAgICAgICAgICAgICAgICAgICBicm93c2VyX2NvbW1hbmQp
Citmcm9tIC4uZXhlY3V0b3JzIGltcG9ydCBleGVjdXRvcl9rd2FyZ3MgYXMgYmFzZV9leGVjdXRv
cl9rd2FyZ3MKK2Zyb20gLi5leGVjdXRvcnMuZXhlY3V0b3JtYXJpb25ldHRlIGltcG9ydCAoTWFy
aW9uZXR0ZVRlc3RoYXJuZXNzRXhlY3V0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE1hcmlvbmV0dGVSZWZUZXN0RXhlY3V0b3IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hcmlvbmV0dGVXZHNwZWNFeGVjdXRvcikK
K2Zyb20gLi5lbnZpcm9ubWVudCBpbXBvcnQgaG9zdG5hbWVzCisKKworaGVyZSA9IG9zLnBhdGgu
am9pbihvcy5wYXRoLnNwbGl0KF9fZmlsZV9fKVswXSkKKworX193cHRydW5uZXJfXyA9IHsicHJv
ZHVjdCI6ICJmaXJlZm94IiwKKyAgICAgICAgICAgICAgICAgImNoZWNrX2FyZ3MiOiAiY2hlY2tf
YXJncyIsCisgICAgICAgICAgICAgICAgICJicm93c2VyIjogIkZpcmVmb3hCcm93c2VyIiwKKyAg
ICAgICAgICAgICAgICAgImV4ZWN1dG9yIjogeyJ0ZXN0aGFybmVzcyI6ICJNYXJpb25ldHRlVGVz
dGhhcm5lc3NFeGVjdXRvciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVmdGVz
dCI6ICJNYXJpb25ldHRlUmVmVGVzdEV4ZWN1dG9yIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ3ZHNwZWMiOiAiTWFyaW9uZXR0ZVdkc3BlY0V4ZWN1dG9yIn0sCisgICAgICAgICAg
ICAgICAgICJicm93c2VyX2t3YXJncyI6ICJicm93c2VyX2t3YXJncyIsCisgICAgICAgICAgICAg
ICAgICJleGVjdXRvcl9rd2FyZ3MiOiAiZXhlY3V0b3Jfa3dhcmdzIiwKKyAgICAgICAgICAgICAg
ICAgImVudl9leHRyYXMiOiAiZW52X2V4dHJhcyIsCisgICAgICAgICAgICAgICAgICJlbnZfb3B0
aW9ucyI6ICJlbnZfb3B0aW9ucyIsCisgICAgICAgICAgICAgICAgICJydW5faW5mb19leHRyYXMi
OiAicnVuX2luZm9fZXh0cmFzIiwKKyAgICAgICAgICAgICAgICAgInVwZGF0ZV9wcm9wZXJ0aWVz
IjogInVwZGF0ZV9wcm9wZXJ0aWVzIn0KKworCitkZWYgY2hlY2tfYXJncygqKmt3YXJncyk6Cisg
ICAgcmVxdWlyZV9hcmcoa3dhcmdzLCAiYmluYXJ5IikKKyAgICBpZiBrd2FyZ3NbInNzbF90eXBl
Il0gIT0gIm5vbmUiOgorICAgICAgICByZXF1aXJlX2FyZyhrd2FyZ3MsICJjZXJ0dXRpbF9iaW5h
cnkiKQorCisKK2RlZiBicm93c2VyX2t3YXJncygqKmt3YXJncyk6CisgICAgcmV0dXJuIHsiYmlu
YXJ5Ijoga3dhcmdzWyJiaW5hcnkiXSwKKyAgICAgICAgICAgICJwcmVmc19yb290Ijoga3dhcmdz
WyJwcmVmc19yb290Il0sCisgICAgICAgICAgICAiZXh0cmFfcHJlZnMiOiBrd2FyZ3NbImV4dHJh
X3ByZWZzIl0sCisgICAgICAgICAgICAiZGVidWdfaW5mbyI6IGt3YXJnc1siZGVidWdfaW5mbyJd
LAorICAgICAgICAgICAgInN5bWJvbHNfcGF0aCI6IGt3YXJnc1sic3ltYm9sc19wYXRoIl0sCisg
ICAgICAgICAgICAic3RhY2t3YWxrX2JpbmFyeSI6IGt3YXJnc1sic3RhY2t3YWxrX2JpbmFyeSJd
LAorICAgICAgICAgICAgImNlcnR1dGlsX2JpbmFyeSI6IGt3YXJnc1siY2VydHV0aWxfYmluYXJ5
Il0sCisgICAgICAgICAgICAiY2FfY2VydGlmaWNhdGVfcGF0aCI6IGt3YXJnc1sic3NsX2VudiJd
LmNhX2NlcnRfcGF0aCgpLAorICAgICAgICAgICAgImUxMHMiOiBrd2FyZ3NbImdlY2tvX2UxMHMi
XSwKKyAgICAgICAgICAgICJzdGFja2ZpeF9kaXIiOiBrd2FyZ3NbInN0YWNrZml4X2RpciJdLAor
ICAgICAgICAgICAgImJpbmFyeV9hcmdzIjoga3dhcmdzWyJiaW5hcnlfYXJncyJdfQorCisKK2Rl
ZiBleGVjdXRvcl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29uZmlnLCBjYWNoZV9tYW5hZ2Vy
LCBydW5faW5mb19kYXRhLAorICAgICAgICAgICAgICAgICAgICAqKmt3YXJncyk6CisgICAgZXhl
Y3V0b3Jfa3dhcmdzID0gYmFzZV9leGVjdXRvcl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29u
ZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlX21h
bmFnZXIsICoqa3dhcmdzKQorICAgIGV4ZWN1dG9yX2t3YXJnc1siY2xvc2VfYWZ0ZXJfZG9uZSJd
ID0gdGVzdF90eXBlICE9ICJyZWZ0ZXN0IgorICAgIGlmIGt3YXJnc1sidGltZW91dF9tdWx0aXBs
aWVyIl0gaXMgTm9uZToKKyAgICAgICAgaWYgdGVzdF90eXBlID09ICJyZWZ0ZXN0IjoKKyAgICAg
ICAgICAgIGlmIHJ1bl9pbmZvX2RhdGFbImRlYnVnIl0gb3IgcnVuX2luZm9fZGF0YS5nZXQoImFz
YW4iKToKKyAgICAgICAgICAgICAgICBleGVjdXRvcl9rd2FyZ3NbInRpbWVvdXRfbXVsdGlwbGll
ciJdID0gNAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBleGVjdXRvcl9rd2Fy
Z3NbInRpbWVvdXRfbXVsdGlwbGllciJdID0gMgorICAgICAgICBlbGlmIHJ1bl9pbmZvX2RhdGFb
ImRlYnVnIl0gb3IgcnVuX2luZm9fZGF0YS5nZXQoImFzYW4iKToKKyAgICAgICAgICAgIGV4ZWN1
dG9yX2t3YXJnc1sidGltZW91dF9tdWx0aXBsaWVyIl0gPSAzCisgICAgaWYgdGVzdF90eXBlID09
ICJ3ZHNwZWMiOgorICAgICAgICBleGVjdXRvcl9rd2FyZ3NbImJpbmFyeSJdID0ga3dhcmdzWyJi
aW5hcnkiXQorICAgICAgICBleGVjdXRvcl9rd2FyZ3NbIndlYmRyaXZlcl9iaW5hcnkiXSA9IGt3
YXJncy5nZXQoIndlYmRyaXZlcl9iaW5hcnkiKQorICAgICAgICBleGVjdXRvcl9rd2FyZ3NbIndl
YmRyaXZlcl9hcmdzIl0gPSBrd2FyZ3MuZ2V0KCJ3ZWJkcml2ZXJfYXJncyIpCisgICAgICAgIGZ4
T3B0aW9ucyA9IHt9CisgICAgICAgIGlmIGt3YXJnc1siYmluYXJ5Il06CisgICAgICAgICAgICBm
eE9wdGlvbnNbImJpbmFyeSJdID0ga3dhcmdzWyJiaW5hcnkiXQorICAgICAgICBpZiBrd2FyZ3Nb
ImJpbmFyeV9hcmdzIl06CisgICAgICAgICAgICBmeE9wdGlvbnNbImFyZ3MiXSA9IGt3YXJnc1si
YmluYXJ5X2FyZ3MiXQorICAgICAgICBmeE9wdGlvbnNbInByZWZzIl0gPSB7CisgICAgICAgICAg
ICAibmV0d29yay5kbnMubG9jYWxEb21haW5zIjogIiwiLmpvaW4oaG9zdG5hbWVzKQorICAgICAg
ICB9CisgICAgICAgIGNhcGFiaWxpdGllcyA9IHsibW96OmZpcmVmb3hPcHRpb25zIjogZnhPcHRp
b25zfQorICAgICAgICBleGVjdXRvcl9rd2FyZ3NbImNhcGFiaWxpdGllcyJdID0gY2FwYWJpbGl0
aWVzCisgICAgcmV0dXJuIGV4ZWN1dG9yX2t3YXJncworCisKK2RlZiBlbnZfZXh0cmFzKCoqa3dh
cmdzKToKKyAgICByZXR1cm4gW10KKworCitkZWYgZW52X29wdGlvbnMoKToKKyAgICByZXR1cm4g
eyJob3N0IjogIjEyNy4wLjAuMSIsCisgICAgICAgICAgICAiZXh0ZXJuYWxfaG9zdCI6ICJ3ZWIt
cGxhdGZvcm0udGVzdCIsCisgICAgICAgICAgICAiYmluZF9ob3N0bmFtZSI6ICJmYWxzZSIsCisg
ICAgICAgICAgICAiY2VydGlmaWNhdGVfZG9tYWluIjogIndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAg
ICAgICAgICAgICJzdXBwb3J0c19kZWJ1Z2dlciI6IFRydWV9CisKKworZGVmIHJ1bl9pbmZvX2V4
dHJhcygqKmt3YXJncyk6CisgICAgcmV0dXJuIHsiZTEwcyI6IGt3YXJnc1siZ2Vja29fZTEwcyJd
fQorCisKK2RlZiB1cGRhdGVfcHJvcGVydGllcygpOgorICAgIHJldHVybiBbImRlYnVnIiwgImUx
MHMiLCAib3MiLCAidmVyc2lvbiIsICJwcm9jZXNzb3IiLCAiYml0cyJdLCB7ImRlYnVnIiwgImUx
MHMifQorCisKK2NsYXNzIEZpcmVmb3hCcm93c2VyKEJyb3dzZXIpOgorICAgIHVzZWRfcG9ydHMg
PSBzZXQoKQorICAgIGluaXRfdGltZW91dCA9IDYwCisgICAgc2h1dGRvd25fdGltZW91dCA9IDYw
CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBiaW5hcnksIHByZWZzX3Jvb3QsIGV4
dHJhX3ByZWZzPU5vbmUsIGRlYnVnX2luZm89Tm9uZSwKKyAgICAgICAgICAgICAgICAgc3ltYm9s
c19wYXRoPU5vbmUsIHN0YWNrd2Fsa19iaW5hcnk9Tm9uZSwgY2VydHV0aWxfYmluYXJ5PU5vbmUs
CisgICAgICAgICAgICAgICAgIGNhX2NlcnRpZmljYXRlX3BhdGg9Tm9uZSwgZTEwcz1GYWxzZSwg
c3RhY2tmaXhfZGlyPU5vbmUsCisgICAgICAgICAgICAgICAgIGJpbmFyeV9hcmdzPU5vbmUpOgor
ICAgICAgICBCcm93c2VyLl9faW5pdF9fKHNlbGYsIGxvZ2dlcikKKyAgICAgICAgc2VsZi5iaW5h
cnkgPSBiaW5hcnkKKyAgICAgICAgc2VsZi5wcmVmc19yb290ID0gcHJlZnNfcm9vdAorICAgICAg
ICBzZWxmLmV4dHJhX3ByZWZzID0gZXh0cmFfcHJlZnMKKyAgICAgICAgc2VsZi5tYXJpb25ldHRl
X3BvcnQgPSBOb25lCisgICAgICAgIHNlbGYucnVubmVyID0gTm9uZQorICAgICAgICBzZWxmLmRl
YnVnX2luZm8gPSBkZWJ1Z19pbmZvCisgICAgICAgIHNlbGYucHJvZmlsZSA9IE5vbmUKKyAgICAg
ICAgc2VsZi5zeW1ib2xzX3BhdGggPSBzeW1ib2xzX3BhdGgKKyAgICAgICAgc2VsZi5zdGFja3dh
bGtfYmluYXJ5ID0gc3RhY2t3YWxrX2JpbmFyeQorICAgICAgICBzZWxmLmNhX2NlcnRpZmljYXRl
X3BhdGggPSBjYV9jZXJ0aWZpY2F0ZV9wYXRoCisgICAgICAgIHNlbGYuY2VydHV0aWxfYmluYXJ5
ID0gY2VydHV0aWxfYmluYXJ5CisgICAgICAgIHNlbGYuZTEwcyA9IGUxMHMKKyAgICAgICAgc2Vs
Zi5iaW5hcnlfYXJncyA9IGJpbmFyeV9hcmdzCisgICAgICAgIGlmIHNlbGYuc3ltYm9sc19wYXRo
IGFuZCBzdGFja2ZpeF9kaXI6CisgICAgICAgICAgICBzZWxmLnN0YWNrX2ZpeGVyID0gZ2V0X3N0
YWNrX2ZpeGVyX2Z1bmN0aW9uKHN0YWNrZml4X2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zeW1ib2xzX3BhdGgpCisgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnN0YWNrX2ZpeGVyID0gTm9uZQorCisgICAgZGVm
IHN0YXJ0KHNlbGYpOgorICAgICAgICBzZWxmLm1hcmlvbmV0dGVfcG9ydCA9IGdldF9mcmVlX3Bv
cnQoMjgyOCwgZXhjbHVkZT1zZWxmLnVzZWRfcG9ydHMpCisgICAgICAgIHNlbGYudXNlZF9wb3J0
cy5hZGQoc2VsZi5tYXJpb25ldHRlX3BvcnQpCisKKyAgICAgICAgZW52ID0gb3MuZW52aXJvbi5j
b3B5KCkKKyAgICAgICAgZW52WyJNT1pfRElTQUJMRV9OT05MT0NBTF9DT05ORUNUSU9OUyJdID0g
IjEiCisKKyAgICAgICAgbG9jYXRpb25zID0gU2VydmVyTG9jYXRpb25zKGZpbGVuYW1lPW9zLnBh
dGguam9pbihoZXJlLCAic2VydmVyLWxvY2F0aW9ucy50eHQiKSkKKworICAgICAgICBwcmVmZXJl
bmNlcyA9IHNlbGYubG9hZF9wcmVmcygpCisKKyAgICAgICAgc2VsZi5wcm9maWxlID0gRmlyZWZv
eFByb2ZpbGUobG9jYXRpb25zPWxvY2F0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHJlZmVyZW5jZXM9cHJlZmVyZW5jZXMpCisgICAgICAgIHNlbGYucHJvZmls
ZS5zZXRfcHJlZmVyZW5jZXMoeyJtYXJpb25ldHRlLmVuYWJsZWQiOiBUcnVlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWFyaW9uZXR0ZS5wb3J0Ijogc2VsZi5tYXJp
b25ldHRlX3BvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb20u
ZGlzYWJsZV9vcGVuX2R1cmluZ19sb2FkIjogRmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJuZXR3b3JrLmRucy5sb2NhbERvbWFpbnMiOiAiLCIuam9pbihob3N0
bmFtZXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmV0d29yay5w
cm94eS50eXBlIjogMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBs
YWNlcy5oaXN0b3J5LmVuYWJsZWQiOiBGYWxzZX0pCisgICAgICAgIGlmIHNlbGYuZTEwczoKKyAg
ICAgICAgICAgIHNlbGYucHJvZmlsZS5zZXRfcHJlZmVyZW5jZXMoeyJicm93c2VyLnRhYnMucmVt
b3RlLmF1dG9zdGFydCI6IFRydWV9KQorCisgICAgICAgICMgQnVnIDEyNjI5NTQ6IHdpbnhwICsg
ZTEwcywgZGlzYWJsZSBod2FjY2VsCisgICAgICAgIGlmIChzZWxmLmUxMHMgYW5kIHBsYXRmb3Jt
LnN5c3RlbSgpIGluICgiV2luZG93cyIsICJNaWNyb3NvZnQiKSBhbmQKKyAgICAgICAgICAgICc1
LjEnIGluIHBsYXRmb3JtLnZlcnNpb24oKSk6CisgICAgICAgICAgICBzZWxmLnByb2ZpbGUuc2V0
X3ByZWZlcmVuY2VzKHsibGF5ZXJzLmFjY2VsZXJhdGlvbi5kaXNhYmxlZCI6IFRydWV9KQorCisg
ICAgICAgIGlmIHNlbGYuY2FfY2VydGlmaWNhdGVfcGF0aCBpcyBub3QgTm9uZToKKyAgICAgICAg
ICAgIHNlbGYuc2V0dXBfc3NsKCkKKworICAgICAgICBkZWJ1Z19hcmdzLCBjbWQgPSBicm93c2Vy
X2NvbW1hbmQoc2VsZi5iaW5hcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxmLmJpbmFyeV9hcmdzIGlmIHNlbGYuYmluYXJ5X2FyZ3MgZWxzZSBbXSArCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY21kX2FyZygibWFyaW9u
ZXR0ZSIpLCAiYWJvdXQ6YmxhbmsiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlbGYuZGVidWdfaW5mbykKKworICAgICAgICBzZWxmLnJ1bm5lciA9IEZpcmVm
b3hSdW5uZXIocHJvZmlsZT1zZWxmLnByb2ZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBiaW5hcnk9Y21kWzBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY21kYXJncz1jbWRbMTpdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZW52PWVudiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Nf
Y2xhc3M9UHJvY2Vzc0hhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwcm9jZXNzX2FyZ3M9eyJwcm9jZXNzT3V0cHV0TGluZSI6IFtzZWxmLm9uX291dHB1dF19KQor
CisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJTdGFydGluZyBGaXJlZm94IikKKworICAgICAg
ICBzZWxmLnJ1bm5lci5zdGFydChkZWJ1Z19hcmdzPWRlYnVnX2FyZ3MsIGludGVyYWN0aXZlPXNl
bGYuZGVidWdfaW5mbyBhbmQgc2VsZi5kZWJ1Z19pbmZvLmludGVyYWN0aXZlKQorICAgICAgICBz
ZWxmLmxvZ2dlci5kZWJ1ZygiRmlyZWZveCBTdGFydGVkIikKKworICAgIGRlZiBsb2FkX3ByZWZz
KHNlbGYpOgorICAgICAgICBwcmVmcyA9IFByZWZlcmVuY2VzKCkKKworICAgICAgICBwcmVmc19w
YXRoID0gb3MucGF0aC5qb2luKHNlbGYucHJlZnNfcm9vdCwgInByZWZzX2dlbmVyYWwuanMiKQor
ICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwcmVmc19wYXRoKToKKyAgICAgICAgICAgIHByZWZz
LmFkZChQcmVmZXJlbmNlcy5yZWFkX3ByZWZzKHByZWZzX3BhdGgpKQorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgc2VsZi5sb2dnZXIud2FybmluZygiRmFpbGVkIHRvIGZpbmQgYmFzZSBwcmVm
cyBmaWxlIGluICVzIiAlIHByZWZzX3BhdGgpCisKKyAgICAgICAgIyBBZGQgYW55IGN1c3RvbSBw
cmVmZXJlbmNlcworICAgICAgICBwcmVmcy5hZGQoc2VsZi5leHRyYV9wcmVmcywgY2FzdD1UcnVl
KQorCisgICAgICAgIHJldHVybiBwcmVmcygpCisKKyAgICBkZWYgc3RvcChzZWxmLCBmb3JjZT1G
YWxzZSk6CisgICAgICAgIGlmIHNlbGYucnVubmVyIGlzIG5vdCBOb25lIGFuZCBzZWxmLnJ1bm5l
ci5pc19ydW5uaW5nKCk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIyBGb3Ig
RmlyZWZveCB3ZSBhc3N1bWUgdGhhdCBzdG9wcGluZyB0aGUgcnVubmVyIHByb21wdHMgdGhlCisg
ICAgICAgICAgICAgICAgIyBicm93c2VyIHRvIHNodXQgZG93bi4gVGhpcyBhbGxvd3MgdGhlIGxl
YWsgbG9nIHRvIGJlIHdyaXR0ZW4KKyAgICAgICAgICAgICAgICBmb3IgY2xlYW4sIHN0b3BfZiBp
biBbKFRydWUsIGxhbWJkYTogc2VsZi5ydW5uZXIud2FpdChzZWxmLnNodXRkb3duX3RpbWVvdXQp
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEZhbHNlLCBsYW1iZGE6
IHNlbGYucnVubmVyLnN0b3Aoc2lnbmFsLlNJR1RFUk0pKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKEZhbHNlLCBsYW1iZGE6IHNlbGYucnVubmVyLnN0b3Aoc2lnbmFs
LlNJR0tJTEwpKV06CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBmb3JjZSBvciBub3QgY2xl
YW46CisgICAgICAgICAgICAgICAgICAgICAgICByZXRjb2RlID0gc3RvcF9mKCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIHJldGNvZGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiQnJvd3NlciBleGl0ZWQgd2l0aCByZXR1cm4g
Y29kZSAlcyIgJSByZXRjb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisg
ICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICAjIFRoaXMgY2FuIGhh
cHBlbiBvbiBXaW5kb3dzIGlmIHRoZSBwcm9jZXNzIGlzIGFscmVhZHkgZGVhZAorICAgICAgICAg
ICAgICAgIHBhc3MKKworICAgIGRlZiBwaWQoc2VsZik6CisgICAgICAgIGlmIHNlbGYucnVubmVy
LnByb2Nlc3NfaGFuZGxlciBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAg
ICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5uZXIucHJvY2Vzc19oYW5kbGVy
LnBpZAorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICByZXR1cm4g
Tm9uZQorCisgICAgZGVmIG9uX291dHB1dChzZWxmLCBsaW5lKToKKyAgICAgICAgIiIiV3JpdGUg
YSBsaW5lIG9mIG91dHB1dCBmcm9tIHRoZSBmaXJlZm94IHByb2Nlc3MgdG8gdGhlIGxvZyIiIgor
ICAgICAgICBkYXRhID0gbGluZS5kZWNvZGUoInV0ZjgiLCAicmVwbGFjZSIpCisgICAgICAgIGlm
IHNlbGYuc3RhY2tfZml4ZXI6CisgICAgICAgICAgICBkYXRhID0gc2VsZi5zdGFja19maXhlcihk
YXRhKQorICAgICAgICBzZWxmLmxvZ2dlci5wcm9jZXNzX291dHB1dChzZWxmLnBpZCgpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb21tYW5kPSIgIi5qb2luKHNlbGYucnVubmVyLmNvbW1hbmQpKQor
CisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICBpZiBzZWxmLnJ1bm5lcjoKKyAgICAg
ICAgICAgIHJldHVybiBzZWxmLnJ1bm5lci5pc19ydW5uaW5nKCkKKyAgICAgICAgcmV0dXJuIEZh
bHNlCisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgc2VsZi5zdG9wKCkKKworICAg
IGRlZiBleGVjdXRvcl9icm93c2VyKHNlbGYpOgorICAgICAgICBhc3NlcnQgc2VsZi5tYXJpb25l
dHRlX3BvcnQgaXMgbm90IE5vbmUKKyAgICAgICAgcmV0dXJuIEV4ZWN1dG9yQnJvd3NlciwgeyJt
YXJpb25ldHRlX3BvcnQiOiBzZWxmLm1hcmlvbmV0dGVfcG9ydH0KKworICAgIGRlZiBsb2dfY3Jh
c2goc2VsZiwgcHJvY2VzcywgdGVzdCk6CisgICAgICAgIGR1bXBfZGlyID0gb3MucGF0aC5qb2lu
KHNlbGYucHJvZmlsZS5wcm9maWxlLCAibWluaWR1bXBzIikKKworICAgICAgICBtb3pjcmFzaC5s
b2dfY3Jhc2hlcyhzZWxmLmxvZ2dlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVt
cF9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbHNfcGF0aD1zZWxmLnN5
bWJvbHNfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2t3YWxrX2JpbmFy
eT1zZWxmLnN0YWNrd2Fsa19iaW5hcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBy
b2Nlc3M9cHJvY2VzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdD10ZXN0KQor
CisgICAgZGVmIHNldHVwX3NzbChzZWxmKToKKyAgICAgICAgIiIiQ3JlYXRlIGEgY2VydGlmaWNh
dGUgZGF0YWJhc2UgdG8gdXNlIGluIHRoZSB0ZXN0IHByb2ZpbGUuIFRoaXMgaXMgY29uZmlndXJl
ZAorICAgICAgICB0byB0cnVzdCB0aGUgQ0EgQ2VydGlmaWNhdGUgdGhhdCBoYXMgc2lnbmVkIHRo
ZSB3ZWItcGxhdGZvcm0udGVzdCBzZXJ2ZXIKKyAgICAgICAgY2VydGlmaWNhdGUuIiIiCisKKyAg
ICAgICAgc2VsZi5sb2dnZXIuaW5mbygiU2V0dGluZyB1cCBzc2wiKQorCisgICAgICAgICMgTWFr
ZSBzdXJlIHRoZSBjZXJ0dXRpbCBsaWJyYXJpZXMgZnJvbSB0aGUgc291cmNlIHRyZWUgYXJlIGxv
YWRlZCB3aGVuIHVzaW5nIGEKKyAgICAgICAgIyBsb2NhbCBjb3B5IG9mIGNlcnR1dGlsCisgICAg
ICAgICMgVE9ETzogTWF5YmUgb25seSBzZXQgdGhpcyBpZiBjZXJ0dXRpbCB3b24ndCBsYXVuY2g/
CisgICAgICAgIGVudiA9IG9zLmVudmlyb24uY29weSgpCisgICAgICAgIGNlcnR1dGlsX2RpciA9
IG9zLnBhdGguZGlybmFtZShzZWxmLmJpbmFyeSkKKyAgICAgICAgaWYgbW96aW5mby5pc01hYzoK
KyAgICAgICAgICAgIGVudl92YXIgPSAiRFlMRF9MSUJSQVJZX1BBVEgiCisgICAgICAgIGVsaWYg
bW96aW5mby5pc1VuaXg6CisgICAgICAgICAgICBlbnZfdmFyID0gIkxEX0xJQlJBUllfUEFUSCIK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGVudl92YXIgPSAiUEFUSCIKKworCisgICAgICAg
IGVudltlbnZfdmFyXSA9IChvcy5wYXRoLnBhdGhzZXAuam9pbihbY2VydHV0aWxfZGlyLCBlbnZb
ZW52X3Zhcl1dKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgZW52X3ZhciBpbiBlbnYgZWxz
ZSBjZXJ0dXRpbF9kaXIpLmVuY29kZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3lzLmdldGZpbGVzeXN0ZW1lbmNvZGluZygpIG9yICd1dGYtOCcsICdyZXBsYWNlJykKKworICAg
ICAgICBkZWYgY2VydHV0aWwoKmFyZ3MpOgorICAgICAgICAgICAgY21kID0gW3NlbGYuY2VydHV0
aWxfYmluYXJ5XSArIGxpc3QoYXJncykKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLnByb2Nlc3Nf
b3V0cHV0KCJjZXJ0dXRpbCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChjbWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9ZW52LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rk
ZXJyPXN1YnByb2Nlc3MuU1RET1VUKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICIgIi5qb2luKGNtZCkpCisKKyAgICAgICAgcHdfcGF0aCA9IG9zLnBhdGguam9pbihz
ZWxmLnByb2ZpbGUucHJvZmlsZSwgIi5jcnRkYnB3IikKKyAgICAgICAgd2l0aCBvcGVuKHB3X3Bh
dGgsICJ3IikgYXMgZjoKKyAgICAgICAgICAgICMgVXNlIGVtcHR5IHBhc3N3b3JkIGZvciBjZXJ0
aWZpY2F0ZSBkYgorICAgICAgICAgICAgZi53cml0ZSgiXG4iKQorCisgICAgICAgIGNlcnRfZGJf
cGF0aCA9IHNlbGYucHJvZmlsZS5wcm9maWxlCisKKyAgICAgICAgIyBDcmVhdGUgYSBuZXcgY2Vy
dGlmaWNhdGUgZGIKKyAgICAgICAgY2VydHV0aWwoIi1OIiwgIi1kIiwgY2VydF9kYl9wYXRoLCAi
LWYiLCBwd19wYXRoKQorCisgICAgICAgICMgQWRkIHRoZSBDQSBjZXJ0aWZpY2F0ZSB0byB0aGUg
ZGF0YWJhc2UgYW5kIG1hcmsgYXMgdHJ1c3RlZCB0byBpc3N1ZSBzZXJ2ZXIgY2VydHMKKyAgICAg
ICAgY2VydHV0aWwoIi1BIiwgIi1kIiwgY2VydF9kYl9wYXRoLCAiLWYiLCBwd19wYXRoLCAiLXQi
LCAiQ1QsLCIsCisgICAgICAgICAgICAgICAgICItbiIsICJ3ZWItcGxhdGZvcm0tdGVzdHMiLCAi
LWkiLCBzZWxmLmNhX2NlcnRpZmljYXRlX3BhdGgpCisKKyAgICAgICAgIyBMaXN0IGFsbCBjZXJ0
cyBpbiB0aGUgZGF0YWJhc2UKKyAgICAgICAgY2VydHV0aWwoIi1MIiwgIi1kIiwgY2VydF9kYl9w
YXRoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlLnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL2Jyb3dzZXJzL3NhdWNlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczMDBiNmFmZWZiOGI1ZmViY2Ux
NTY0OGZiZGFjMzIzOTA3OWVkZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJv
d3NlcnMvc2F1Y2UucHkKQEAgLTAsMCArMSwyMDggQEAKKyMgVGhpcyBTb3VyY2UgQ29kZSBGb3Jt
IGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpYworIyBMaWNlbnNl
LCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0
aGlzIGZpbGUsCisjIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBM
LzIuMC8uCisKK2ltcG9ydCBnbG9iCitpbXBvcnQgb3MKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCBz
dWJwcm9jZXNzCitpbXBvcnQgdGFyZmlsZQoraW1wb3J0IHRlbXBmaWxlCitpbXBvcnQgdGltZQor
ZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPIGFzIENTdHJpbmdJTworCitpbXBvcnQgcmVx
dWVzdHMKKworZnJvbSAuYmFzZSBpbXBvcnQgQnJvd3NlciwgRXhlY3V0b3JCcm93c2VyLCByZXF1
aXJlX2FyZworZnJvbSAuLmV4ZWN1dG9ycyBpbXBvcnQgZXhlY3V0b3Jfa3dhcmdzIGFzIGJhc2Vf
ZXhlY3V0b3Jfa3dhcmdzCitmcm9tIC4uZXhlY3V0b3JzLmV4ZWN1dG9yc2VsZW5pdW0gaW1wb3J0
IChTZWxlbml1bVRlc3RoYXJuZXNzRXhlY3V0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTZWxlbml1bVJlZlRlc3RFeGVjdXRvcikKKworaGVyZSA9IG9zLnBh
dGguc3BsaXQoX19maWxlX18pWzBdCisKKworX193cHRydW5uZXJfXyA9IHsicHJvZHVjdCI6ICJz
YXVjZSIsCisgICAgICAgICAgICAgICAgICJjaGVja19hcmdzIjogImNoZWNrX2FyZ3MiLAorICAg
ICAgICAgICAgICAgICAiYnJvd3NlciI6ICJTYXVjZUJyb3dzZXIiLAorICAgICAgICAgICAgICAg
ICAiZXhlY3V0b3IiOiB7InRlc3RoYXJuZXNzIjogIlNlbGVuaXVtVGVzdGhhcm5lc3NFeGVjdXRv
ciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVmdGVzdCI6ICJTZWxlbml1bVJl
ZlRlc3RFeGVjdXRvciJ9LAorICAgICAgICAgICAgICAgICAiYnJvd3Nlcl9rd2FyZ3MiOiAiYnJv
d3Nlcl9rd2FyZ3MiLAorICAgICAgICAgICAgICAgICAiZXhlY3V0b3Jfa3dhcmdzIjogImV4ZWN1
dG9yX2t3YXJncyIsCisgICAgICAgICAgICAgICAgICJlbnZfZXh0cmFzIjogImVudl9leHRyYXMi
LAorICAgICAgICAgICAgICAgICAiZW52X29wdGlvbnMiOiAiZW52X29wdGlvbnMifQorCisKK2Rl
ZiBnZXRfY2FwYWJpbGl0aWVzKCoqa3dhcmdzKToKKyAgICBicm93c2VyX25hbWUgPSBrd2FyZ3Nb
InNhdWNlX2Jyb3dzZXIiXQorICAgIHBsYXRmb3JtID0ga3dhcmdzWyJzYXVjZV9wbGF0Zm9ybSJd
CisgICAgdmVyc2lvbiA9IGt3YXJnc1sic2F1Y2VfdmVyc2lvbiJdCisgICAgYnVpbGQgPSBrd2Fy
Z3NbInNhdWNlX2J1aWxkIl0KKyAgICB0YWdzID0ga3dhcmdzWyJzYXVjZV90YWdzIl0KKyAgICB0
dW5uZWxfaWQgPSBrd2FyZ3NbInNhdWNlX3R1bm5lbF9pZCJdCisgICAgcHJlcnVuX3NjcmlwdCA9
IHsKKyAgICAgICAgIk1pY3Jvc29mdEVkZ2UiOiB7CisgICAgICAgICAgICAiZXhlY3V0YWJsZSI6
ICJzYXVjZS1zdG9yYWdlOmVkZ2UtcHJlcnVuLmJhdCIsCisgICAgICAgICAgICAiYmFja2dyb3Vu
ZCI6IEZhbHNlLAorICAgICAgICB9LAorICAgICAgICAic2FmYXJpIjogeworICAgICAgICAgICAg
ImV4ZWN1dGFibGUiOiAic2F1Y2Utc3RvcmFnZTpzYWZhcmktcHJlcnVuLnNoIiwKKyAgICAgICAg
ICAgICJiYWNrZ3JvdW5kIjogRmFsc2UsCisgICAgICAgIH0KKyAgICB9CisgICAgY2FwYWJpbGl0
aWVzID0geworICAgICAgICAiYnJvd3Nlck5hbWUiOiBicm93c2VyX25hbWUsCisgICAgICAgICJi
dWlsZCI6IGJ1aWxkLAorICAgICAgICAiZGlzYWJsZVBvcHVwSGFuZGxlciI6IFRydWUsCisgICAg
ICAgICJuYW1lIjogIiVzICVzIG9uICVzIiAlIChicm93c2VyX25hbWUsIHZlcnNpb24sIHBsYXRm
b3JtKSwKKyAgICAgICAgInBsYXRmb3JtIjogcGxhdGZvcm0sCisgICAgICAgICJwdWJsaWMiOiAi
cHVibGljIiwKKyAgICAgICAgInNlbGVuaXVtLXZlcnNpb24iOiAiMy4zLjEiLAorICAgICAgICAi
dGFncyI6IHRhZ3MsCisgICAgICAgICJ0dW5uZWwtaWRlbnRpZmllciI6IHR1bm5lbF9pZCwKKyAg
ICAgICAgInZlcnNpb24iOiB2ZXJzaW9uLAorICAgICAgICAicHJlcnVuIjogcHJlcnVuX3Njcmlw
dC5nZXQoYnJvd3Nlcl9uYW1lKQorICAgIH0KKworICAgIGlmIGJyb3dzZXJfbmFtZSA9PSAnTWlj
cm9zb2Z0RWRnZSc6CisgICAgICAgIGNhcGFiaWxpdGllc1snc2VsZW5pdW0tdmVyc2lvbiddID0g
JzIuNC44JworCisgICAgcmV0dXJuIGNhcGFiaWxpdGllcworCisKK2RlZiBnZXRfc2F1Y2VfY29u
ZmlnKCoqa3dhcmdzKToKKyAgICBicm93c2VyX25hbWUgPSBrd2FyZ3NbInNhdWNlX2Jyb3dzZXIi
XQorICAgIHNhdWNlX3VzZXIgPSBrd2FyZ3NbInNhdWNlX3VzZXIiXQorICAgIHNhdWNlX2tleSA9
IGt3YXJnc1sic2F1Y2Vfa2V5Il0KKworICAgIGh1Yl91cmwgPSAiJXM6JXNAbG9jYWxob3N0OjQ0
NDUiICUgKHNhdWNlX3VzZXIsIHNhdWNlX2tleSkKKyAgICBkYXRhID0geworICAgICAgICAidXJs
IjogImh0dHA6Ly8lcy93ZC9odWIiICUgaHViX3VybCwKKyAgICAgICAgImJyb3dzZXJOYW1lIjog
YnJvd3Nlcl9uYW1lLAorICAgICAgICAiY2FwYWJpbGl0aWVzIjogZ2V0X2NhcGFiaWxpdGllcygq
Kmt3YXJncykKKyAgICB9CisKKyAgICByZXR1cm4gZGF0YQorCisKK2RlZiBjaGVja19hcmdzKCoq
a3dhcmdzKToKKyAgICByZXF1aXJlX2FyZyhrd2FyZ3MsICJzYXVjZV9icm93c2VyIikKKyAgICBy
ZXF1aXJlX2FyZyhrd2FyZ3MsICJzYXVjZV9wbGF0Zm9ybSIpCisgICAgcmVxdWlyZV9hcmcoa3dh
cmdzLCAic2F1Y2VfdmVyc2lvbiIpCisgICAgcmVxdWlyZV9hcmcoa3dhcmdzLCAic2F1Y2VfdXNl
ciIpCisgICAgcmVxdWlyZV9hcmcoa3dhcmdzLCAic2F1Y2Vfa2V5IikKKworCitkZWYgYnJvd3Nl
cl9rd2FyZ3MoKiprd2FyZ3MpOgorICAgIHNhdWNlX2NvbmZpZyA9IGdldF9zYXVjZV9jb25maWco
Kiprd2FyZ3MpCisKKyAgICByZXR1cm4geyJzYXVjZV9jb25maWciOiBzYXVjZV9jb25maWd9CisK
KworZGVmIGV4ZWN1dG9yX2t3YXJncyh0ZXN0X3R5cGUsIHNlcnZlcl9jb25maWcsIGNhY2hlX21h
bmFnZXIsIHJ1bl9pbmZvX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICoqa3dhcmdzKToKKyAg
ICBleGVjdXRvcl9rd2FyZ3MgPSBiYXNlX2V4ZWN1dG9yX2t3YXJncyh0ZXN0X3R5cGUsIHNlcnZl
cl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fj
aGVfbWFuYWdlciwgKiprd2FyZ3MpCisKKyAgICBleGVjdXRvcl9rd2FyZ3NbImNhcGFiaWxpdGll
cyJdID0gZ2V0X2NhcGFiaWxpdGllcygqKmt3YXJncykKKworICAgIHJldHVybiBleGVjdXRvcl9r
d2FyZ3MKKworCitkZWYgZW52X2V4dHJhcygqKmt3YXJncyk6CisgICAgcmV0dXJuIFtTYXVjZUNv
bm5lY3QoKiprd2FyZ3MpXQorCisKK2RlZiBlbnZfb3B0aW9ucygpOgorICAgIHJldHVybiB7Imhv
c3QiOiAid2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgImJpbmRfaG9zdG5hbWUiOiAi
dHJ1ZSIsCisgICAgICAgICAgICAic3VwcG9ydHNfZGVidWdnZXIiOiBGYWxzZX0KKworCitkZWYg
Z2V0X3Rhcih1cmwsIGRlc3QpOgorICAgIHJlc3AgPSByZXF1ZXN0cy5nZXQodXJsLCBzdHJlYW09
VHJ1ZSkKKyAgICByZXNwLnJhaXNlX2Zvcl9zdGF0dXMoKQorICAgIHdpdGggdGFyZmlsZS5vcGVu
KGZpbGVvYmo9Q1N0cmluZ0lPKHJlc3AucmF3LnJlYWQoKSkpIGFzIGY6CisgICAgICAgIGYuZXh0
cmFjdGFsbChwYXRoPWRlc3QpCisKKworY2xhc3MgU2F1Y2VDb25uZWN0KCk6CisKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnNhdWNlX3VzZXIgPSBrd2Fy
Z3NbInNhdWNlX3VzZXIiXQorICAgICAgICBzZWxmLnNhdWNlX2tleSA9IGt3YXJnc1sic2F1Y2Vf
a2V5Il0KKyAgICAgICAgc2VsZi5zYXVjZV90dW5uZWxfaWQgPSBrd2FyZ3NbInNhdWNlX3R1bm5l
bF9pZCJdCisgICAgICAgIHNlbGYuc2F1Y2VfY29ubmVjdF9iaW5hcnkgPSBrd2FyZ3MuZ2V0KCJz
YXVjZV9jb25uZWN0X2JpbmFyeSIpCisgICAgICAgIHNlbGYuc2NfcHJvY2VzcyA9IE5vbmUKKyAg
ICAgICAgc2VsZi50ZW1wX2RpciA9IE5vbmUKKworICAgIGRlZiBfX2VudGVyX18oc2VsZiwgb3B0
aW9ucyk6CisgICAgICAgIGlmIG5vdCBzZWxmLnNhdWNlX2Nvbm5lY3RfYmluYXJ5OgorICAgICAg
ICAgICAgc2VsZi50ZW1wX2RpciA9IHRlbXBmaWxlLm1rZHRlbXAoKQorICAgICAgICAgICAgZ2V0
X3RhcigiaHR0cHM6Ly9zYXVjZWxhYnMuY29tL2Rvd25sb2Fkcy9zYy1sYXRlc3QtbGludXgudGFy
Lmd6Iiwgc2VsZi50ZW1wX2RpcikKKyAgICAgICAgICAgIHNlbGYuc2F1Y2VfY29ubmVjdF9iaW5h
cnkgPSBnbG9iLmdsb2Iob3MucGF0aC5qb2luKHNlbGYudGVtcF9kaXIsICJzYy0qLWxpbnV4L2Jp
bi9zYyIpKVswXQorCisgICAgICAgIHNlbGYudXBsb2FkX3ByZXJ1bl9leGVjKCdlZGdlLXByZXJ1
bi5iYXQnKQorICAgICAgICBzZWxmLnVwbG9hZF9wcmVydW5fZXhlYygnc2FmYXJpLXByZXJ1bi5z
aCcpCisKKyAgICAgICAgc2VsZi5zY19wcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihbCisgICAg
ICAgICAgICBzZWxmLnNhdWNlX2Nvbm5lY3RfYmluYXJ5LAorICAgICAgICAgICAgIi0tdXNlcj0l
cyIgJSBzZWxmLnNhdWNlX3VzZXIsCisgICAgICAgICAgICAiLS1hcGkta2V5PSVzIiAlIHNlbGYu
c2F1Y2Vfa2V5LAorICAgICAgICAgICAgIi0tbm8tcmVtb3ZlLWNvbGxpZGluZy10dW5uZWxzIiwK
KyAgICAgICAgICAgICItLXR1bm5lbC1pZGVudGlmaWVyPSVzIiAlIHNlbGYuc2F1Y2VfdHVubmVs
X2lkLAorICAgICAgICAgICAgIi0tcmVhZHlmaWxlPS4vc2F1Y2VfaXNfcmVhZHkiLAorICAgICAg
ICAgICAgIi0tdHVubmVsLWRvbWFpbnMiLAorICAgICAgICAgICAgIndlYi1wbGF0Zm9ybS50ZXN0
IiwKKyAgICAgICAgICAgICIqLndlYi1wbGF0Zm9ybS50ZXN0IgorICAgICAgICBdKQorICAgICAg
ICB3aGlsZSBub3Qgb3MucGF0aC5leGlzdHMoJy4vc2F1Y2VfaXNfcmVhZHknKSBhbmQgbm90IHNl
bGYuc2NfcHJvY2Vzcy5wb2xsKCk6CisgICAgICAgICAgICB0aW1lLnNsZWVwKDUpCisKKyAgICAg
ICAgaWYgc2VsZi5zY19wcm9jZXNzLnJldHVybmNvZGUgaXMgbm90IE5vbmUgYW5kIHNlbGYuc2Nf
cHJvY2Vzcy5yZXR1cm5jb2RlID4gMDoKKyAgICAgICAgICAgIHJhaXNlIFNhdWNlRXhjZXB0aW9u
KCJVbmFibGUgdG8gc3RhcnQgU2F1Y2UgQ29ubmVjdCBQcm94eS4gUHJvY2VzcyBleGl0ZWQgd2l0
aCBjb2RlICVzIiwgc2VsZi5zY19wcm9jZXNzLnJldHVybmNvZGUpCisKKyAgICBkZWYgX19leGl0
X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICBzZWxmLnNjX3Byb2Nlc3MudGVybWluYXRlKCkKKyAg
ICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi50ZW1wX2Rpcik6CisgICAgICAgICAgICB0cnk6
CisgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLnRlbXBfZGlyKQorICAgICAgICAg
ICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworCisgICAgZGVmIHVwbG9h
ZF9wcmVydW5fZXhlYyhzZWxmLCBmaWxlX25hbWUpOgorICAgICAgICBhdXRoID0gKHNlbGYuc2F1
Y2VfdXNlciwgc2VsZi5zYXVjZV9rZXkpCisgICAgICAgIHVybCA9ICJodHRwczovL3NhdWNlbGFi
cy5jb20vcmVzdC92MS9zdG9yYWdlLyVzLyVzP292ZXJ3cml0ZT10cnVlIiAlIChzZWxmLnNhdWNl
X3VzZXIsIGZpbGVfbmFtZSkKKworICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGhlcmUs
ICdzYXVjZV9zZXR1cCcsIGZpbGVfbmFtZSksICdyYicpIGFzIGY6CisgICAgICAgICAgICByZXF1
ZXN0cy5wb3N0KHVybCwgZGF0YT1mLCBhdXRoPWF1dGgpCisKKworY2xhc3MgU2F1Y2VFeGNlcHRp
b24oRXhjZXB0aW9uKToKKyAgICBwYXNzCisKKworY2xhc3MgU2F1Y2VCcm93c2VyKEJyb3dzZXIp
OgorICAgIGluaXRfdGltZW91dCA9IDMwMAorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dl
ciwgc2F1Y2VfY29uZmlnKToKKyAgICAgICAgQnJvd3Nlci5fX2luaXRfXyhzZWxmLCBsb2dnZXIp
CisgICAgICAgIHNlbGYuc2F1Y2VfY29uZmlnID0gc2F1Y2VfY29uZmlnCisKKyAgICBkZWYgc3Rh
cnQoc2VsZik6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBzdG9wKHNlbGYsIGZvcmNlPUZhbHNl
KToKKyAgICAgICAgcGFzcworCisgICAgZGVmIHBpZChzZWxmKToKKyAgICAgICAgcmV0dXJuIE5v
bmUKKworICAgIGRlZiBpc19hbGl2ZShzZWxmKToKKyAgICAgICAgIyBUT0RPOiBTaG91bGQgdGhp
cyBjaGVjayBzb21ldGhpbmcgYWJvdXQgdGhlIGNvbm5lY3Rpb24/CisgICAgICAgIHJldHVybiBU
cnVlCisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIGV4
ZWN1dG9yX2Jyb3dzZXIoc2VsZik6CisgICAgICAgIHJldHVybiBFeGVjdXRvckJyb3dzZXIsIHsi
d2ViZHJpdmVyX3VybCI6IHNlbGYuc2F1Y2VfY29uZmlnWyJ1cmwiXX0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZV9zZXR1cC9lZGdlLXByZXJ1bi5iYXQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0dXAvZWRnZS1wcmVydW4uYmF0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1
NTQ4OTQ4OTZiOTgwZTNkM2FiODhmNzM5ZjY0OWMwMGJlMTdiOTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0dXAvZWRnZS1wcmVydW4uYmF0CkBAIC0w
LDAgKzEsMiBAQAorQGVjaG8gb2ZmCityZWcgYWRkICJIS0NVXFNvZnR3YXJlXENsYXNzZXNcTG9j
YWwgU2V0dGluZ3NcU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cQXBw
Q29udGFpbmVyXFN0b3JhZ2VcbWljcm9zb2Z0Lm1pY3Jvc29mdGVkZ2VfOHdla3liM2Q4YmJ3ZVxN
aWNyb3NvZnRFZGdlXE5ldyBXaW5kb3dzIiAvdiAiUG9wdXBNZ3IiIC90IFJFR19TWiAvZCBubwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlX3NldHVwL3NhZmFyaS1wcmVy
dW4uc2ggYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0dXAvc2FmYXJpLXByZXJ1bi5z
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NWM3MmU2YmU2YTA3Y2NmYWJiODk1ODg3ZTFjOGFhM2ZlZWY2OWVjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlX3NldHVwL3NhZmFy
aS1wcmVydW4uc2gKQEAgLTAsMCArMSwyIEBACisjIS9iaW4vYmFzaAorZGVmYXVsdHMgd3JpdGUg
Y29tLmFwcGxlLlNhZmFyaSBjb20uYXBwbGUuU2FmYXJpLkNvbnRlbnRQYWdlR3JvdXBJZGVudGlm
aWVyLldlYktpdDJKYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5IC1ib29sIHRy
dWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZV9zZXR1cC93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZV9zZXR1cC93M2MtaW1wb3J0Lmxv
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zNGYxYzE2ZWM4YmQ0NzhkNmNhOGZkN2RiYmE2YzgwMTlkMThlNDRiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlX3NldHVwL3czYy1p
bXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9u
ZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vy
cy9zYXVjZV9zZXR1cC9lZGdlLXByZXJ1bi5iYXQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1
Y2Vfc2V0dXAvc2FmYXJpLXByZXJ1bi5zaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dz
ZXJzL3NlcnZlci1sb2NhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NlcnZlci1s
b2NhdGlvbnMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkY2FmNGJiNmE0Y2MyYjkwMzZiYjQwNmE1YWY2YzVl
ZjExMjA3MjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2VydmVy
LWxvY2F0aW9ucy50eHQKQEAgLTAsMCArMSwzMSBAQAoraHR0cDovL2xvY2FsaG9zdDo4MDAwICAg
IHByaW1hcnkKKworaHR0cDovL3dlYi1wbGF0Zm9ybS50ZXN0OjgwMDAKK2h0dHA6Ly93d3cud2Vi
LXBsYXRmb3JtLnRlc3Q6ODAwMAoraHR0cDovL3d3dzEud2ViLXBsYXRmb3JtLnRlc3Q6ODAwMAor
aHR0cDovL3d3dzIud2ViLXBsYXRmb3JtLnRlc3Q6ODAwMAoraHR0cDovL3huLS1uOGo2ZHM1M2x3
d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0OjgwMDAKK2h0dHA6Ly94bi0tbHZlLTZsYWQud2Vi
LXBsYXRmb3JtLnRlc3Q6ODAwMAorCitodHRwOi8vd2ViLXBsYXRmb3JtLnRlc3Q6ODAwMQoraHR0
cDovL3d3dy53ZWItcGxhdGZvcm0udGVzdDo4MDAxCitodHRwOi8vd3d3MS53ZWItcGxhdGZvcm0u
dGVzdDo4MDAxCitodHRwOi8vd3d3Mi53ZWItcGxhdGZvcm0udGVzdDo4MDAxCitodHRwOi8veG4t
LW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3Q6ODAwMQoraHR0cDovL3huLS1s
dmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdDo4MDAxCisKK2h0dHBzOi8vd2ViLXBsYXRmb3JtLnRl
c3Q6ODQ0MworaHR0cHM6Ly93d3cud2ViLXBsYXRmb3JtLnRlc3Q6ODQ0MworaHR0cHM6Ly93d3cx
LndlYi1wbGF0Zm9ybS50ZXN0Ojg0NDMKK2h0dHBzOi8vd3d3Mi53ZWItcGxhdGZvcm0udGVzdDo4
NDQzCitodHRwczovL3huLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0Ojg0
NDMKK2h0dHBzOi8veG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0Ojg0NDMKKworIyBUaGVz
ZSBhcmUgYWN0dWFsbHkgd3Mgc2VydmVycywgYnV0IHVudGlsIG1venByb2ZpbGUgaXMKKyMgZml4
ZWQgd2UgaGF2ZSB0byBwcmV0ZW5kIHRoYXQgdGhleSBhcmUgaHR0cCBzZXJ2ZXJzCitodHRwOi8v
d2ViLXBsYXRmb3JtLnRlc3Q6ODg4OAoraHR0cDovL3d3dy53ZWItcGxhdGZvcm0udGVzdDo4ODg4
CitodHRwOi8vd3d3MS53ZWItcGxhdGZvcm0udGVzdDo4ODg4CitodHRwOi8vd3d3Mi53ZWItcGxh
dGZvcm0udGVzdDo4ODg4CitodHRwOi8veG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRm
b3JtLnRlc3Q6ODg4OAoraHR0cDovL3huLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdDo4ODg4
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2Vydm8ucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvYnJvd3NlcnMvc2Vydm8ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTI0ZTRkZmQ5ZGZlOWUwMTdlYzU5YTM3
ZTgwMTJhNzA3YzU3ZTU4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vy
cy9zZXJ2by5weQpAQCAtMCwwICsxLDgxIEBACitpbXBvcnQgb3MKKworZnJvbSAuYmFzZSBpbXBv
cnQgTnVsbEJyb3dzZXIsIEV4ZWN1dG9yQnJvd3NlciwgcmVxdWlyZV9hcmcKK2Zyb20gLi5leGVj
dXRvcnMgaW1wb3J0IGV4ZWN1dG9yX2t3YXJncyBhcyBiYXNlX2V4ZWN1dG9yX2t3YXJncworZnJv
bSAuLmV4ZWN1dG9ycy5leGVjdXRvcnNlcnZvIGltcG9ydCBTZXJ2b1Rlc3RoYXJuZXNzRXhlY3V0
b3IsIFNlcnZvUmVmVGVzdEV4ZWN1dG9yLCBTZXJ2b1dkc3BlY0V4ZWN1dG9yCisKK2hlcmUgPSBv
cy5wYXRoLmpvaW4ob3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0pCisKK19fd3B0cnVubmVyX18g
PSB7CisgICAgInByb2R1Y3QiOiAic2Vydm8iLAorICAgICJjaGVja19hcmdzIjogImNoZWNrX2Fy
Z3MiLAorICAgICJicm93c2VyIjogIlNlcnZvQnJvd3NlciIsCisgICAgImV4ZWN1dG9yIjogewor
ICAgICAgICAidGVzdGhhcm5lc3MiOiAiU2Vydm9UZXN0aGFybmVzc0V4ZWN1dG9yIiwKKyAgICAg
ICAgInJlZnRlc3QiOiAiU2Vydm9SZWZUZXN0RXhlY3V0b3IiLAorICAgICAgICAid2RzcGVjIjog
IlNlcnZvV2RzcGVjRXhlY3V0b3IiLAorICAgIH0sCisgICAgImJyb3dzZXJfa3dhcmdzIjogImJy
b3dzZXJfa3dhcmdzIiwKKyAgICAiZXhlY3V0b3Jfa3dhcmdzIjogImV4ZWN1dG9yX2t3YXJncyIs
CisgICAgImVudl9leHRyYXMiOiAiZW52X2V4dHJhcyIsCisgICAgImVudl9vcHRpb25zIjogImVu
dl9vcHRpb25zIiwKKyAgICAidXBkYXRlX3Byb3BlcnRpZXMiOiAidXBkYXRlX3Byb3BlcnRpZXMi
LAorfQorCisKK2RlZiBjaGVja19hcmdzKCoqa3dhcmdzKToKKyAgICByZXF1aXJlX2FyZyhrd2Fy
Z3MsICJiaW5hcnkiKQorCisKK2RlZiBicm93c2VyX2t3YXJncygqKmt3YXJncyk6CisgICAgcmV0
dXJuIHsKKyAgICAgICAgImJpbmFyeSI6IGt3YXJnc1siYmluYXJ5Il0sCisgICAgICAgICJkZWJ1
Z19pbmZvIjoga3dhcmdzWyJkZWJ1Z19pbmZvIl0sCisgICAgICAgICJiaW5hcnlfYXJncyI6IGt3
YXJnc1siYmluYXJ5X2FyZ3MiXSwKKyAgICAgICAgInVzZXJfc3R5bGVzaGVldHMiOiBrd2FyZ3Mu
Z2V0KCJ1c2VyX3N0eWxlc2hlZXRzIiksCisgICAgICAgICJjYV9jZXJ0aWZpY2F0ZV9wYXRoIjog
a3dhcmdzWyJzc2xfZW52Il0uY2FfY2VydF9wYXRoKCksCisgICAgfQorCisKK2RlZiBleGVjdXRv
cl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29uZmlnLCBjYWNoZV9tYW5hZ2VyLCBydW5faW5m
b19kYXRhLAorICAgICAgICAgICAgICAgICAgICAqKmt3YXJncyk6CisgICAgcnYgPSBiYXNlX2V4
ZWN1dG9yX2t3YXJncyh0ZXN0X3R5cGUsIHNlcnZlcl9jb25maWcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjYWNoZV9tYW5hZ2VyLCAqKmt3YXJncykKKyAgICBydlsicGF1c2VfYWZ0
ZXJfdGVzdCJdID0ga3dhcmdzWyJwYXVzZV9hZnRlcl90ZXN0Il0KKyAgICByZXR1cm4gcnYKKwor
CitkZWYgZW52X2V4dHJhcygqKmt3YXJncyk6CisgICAgcmV0dXJuIFtdCisKKworZGVmIGVudl9v
cHRpb25zKCk6CisgICAgcmV0dXJuIHsiaG9zdCI6ICIxMjcuMC4wLjEiLAorICAgICAgICAgICAg
ImV4dGVybmFsX2hvc3QiOiAid2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgImJpbmRf
aG9zdG5hbWUiOiAidHJ1ZSIsCisgICAgICAgICAgICAidGVzdGhhcm5lc3NyZXBvcnQiOiAidGVz
dGhhcm5lc3NyZXBvcnQtc2Vydm8uanMiLAorICAgICAgICAgICAgInN1cHBvcnRzX2RlYnVnZ2Vy
IjogVHJ1ZX0KKworCitkZWYgdXBkYXRlX3Byb3BlcnRpZXMoKToKKyAgICByZXR1cm4gWyJkZWJ1
ZyIsICJvcyIsICJ2ZXJzaW9uIiwgInByb2Nlc3NvciIsICJiaXRzIl0sIE5vbmUKKworCitjbGFz
cyBTZXJ2b0Jyb3dzZXIoTnVsbEJyb3dzZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dn
ZXIsIGJpbmFyeSwgZGVidWdfaW5mbz1Ob25lLCBiaW5hcnlfYXJncz1Ob25lLAorICAgICAgICAg
ICAgICAgICB1c2VyX3N0eWxlc2hlZXRzPU5vbmUsIGNhX2NlcnRpZmljYXRlX3BhdGg9Tm9uZSk6
CisgICAgICAgIE51bGxCcm93c2VyLl9faW5pdF9fKHNlbGYsIGxvZ2dlcikKKyAgICAgICAgc2Vs
Zi5iaW5hcnkgPSBiaW5hcnkKKyAgICAgICAgc2VsZi5kZWJ1Z19pbmZvID0gZGVidWdfaW5mbwor
ICAgICAgICBzZWxmLmJpbmFyeV9hcmdzID0gYmluYXJ5X2FyZ3Mgb3IgW10KKyAgICAgICAgc2Vs
Zi51c2VyX3N0eWxlc2hlZXRzID0gdXNlcl9zdHlsZXNoZWV0cyBvciBbXQorICAgICAgICBzZWxm
LmNhX2NlcnRpZmljYXRlX3BhdGggPSBjYV9jZXJ0aWZpY2F0ZV9wYXRoCisKKyAgICBkZWYgZXhl
Y3V0b3JfYnJvd3NlcihzZWxmKToKKyAgICAgICAgcmV0dXJuIEV4ZWN1dG9yQnJvd3Nlciwgewor
ICAgICAgICAgICAgImJpbmFyeSI6IHNlbGYuYmluYXJ5LAorICAgICAgICAgICAgImRlYnVnX2lu
Zm8iOiBzZWxmLmRlYnVnX2luZm8sCisgICAgICAgICAgICAiYmluYXJ5X2FyZ3MiOiBzZWxmLmJp
bmFyeV9hcmdzLAorICAgICAgICAgICAgInVzZXJfc3R5bGVzaGVldHMiOiBzZWxmLnVzZXJfc3R5
bGVzaGVldHMsCisgICAgICAgICAgICAiY2FfY2VydGlmaWNhdGVfcGF0aCI6IHNlbGYuY2FfY2Vy
dGlmaWNhdGVfcGF0aCwKKyAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dz
ZXJzL3NlcnZvZHJpdmVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NlcnZvZHJpdmVyLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk1NzVlMGZiZmY5ZGM5NmRhMjNlM2JhNGVlOWI5YmRjNDMzYTFiMDIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2Vydm9kcml2ZXIucHkKQEAg
LTAsMCArMSwxNjUgQEAKK2ltcG9ydCBvcworaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCB0ZW1w
ZmlsZQorCitmcm9tIG1venByb2Nlc3MgaW1wb3J0IFByb2Nlc3NIYW5kbGVyCisKK2Zyb20gLmJh
c2UgaW1wb3J0IEJyb3dzZXIsIHJlcXVpcmVfYXJnLCBnZXRfZnJlZV9wb3J0LCBicm93c2VyX2Nv
bW1hbmQsIEV4ZWN1dG9yQnJvd3NlcgorZnJvbSAuLmV4ZWN1dG9ycyBpbXBvcnQgZXhlY3V0b3Jf
a3dhcmdzIGFzIGJhc2VfZXhlY3V0b3Jfa3dhcmdzCitmcm9tIC4uZXhlY3V0b3JzLmV4ZWN1dG9y
c2Vydm9kcml2ZXIgaW1wb3J0IChTZXJ2b1dlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXJ2b1dlYkRyaXZl
clJlZlRlc3RFeGVjdXRvcikKKworaGVyZSA9IG9zLnBhdGguam9pbihvcy5wYXRoLnNwbGl0KF9f
ZmlsZV9fKVswXSkKKworX193cHRydW5uZXJfXyA9IHsKKyAgICAicHJvZHVjdCI6ICJzZXJ2b2Ry
aXZlciIsCisgICAgImNoZWNrX2FyZ3MiOiAiY2hlY2tfYXJncyIsCisgICAgImJyb3dzZXIiOiAi
U2Vydm9XZWJEcml2ZXJCcm93c2VyIiwKKyAgICAiZXhlY3V0b3IiOiB7CisgICAgICAgICJ0ZXN0
aGFybmVzcyI6ICJTZXJ2b1dlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3IiLAorICAgICAgICAi
cmVmdGVzdCI6ICJTZXJ2b1dlYkRyaXZlclJlZlRlc3RFeGVjdXRvciIsCisgICAgfSwKKyAgICAi
YnJvd3Nlcl9rd2FyZ3MiOiAiYnJvd3Nlcl9rd2FyZ3MiLAorICAgICJleGVjdXRvcl9rd2FyZ3Mi
OiAiZXhlY3V0b3Jfa3dhcmdzIiwKKyAgICAiZW52X2V4dHJhcyI6ICJlbnZfZXh0cmFzIiwKKyAg
ICAiZW52X29wdGlvbnMiOiAiZW52X29wdGlvbnMiLAorICAgICJ1cGRhdGVfcHJvcGVydGllcyI6
ICJ1cGRhdGVfcHJvcGVydGllcyIsCit9CisKK2hvc3RzX3RleHQgPSAiIiIxMjcuMC4wLjEgd2Vi
LXBsYXRmb3JtLnRlc3QKKzEyNy4wLjAuMSB3d3cud2ViLXBsYXRmb3JtLnRlc3QKKzEyNy4wLjAu
MSB3d3cxLndlYi1wbGF0Zm9ybS50ZXN0CisxMjcuMC4wLjEgd3d3Mi53ZWItcGxhdGZvcm0udGVz
dAorMTI3LjAuMC4xIHhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0Cisx
MjcuMC4wLjEgeG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0CisiIiIKKworCitkZWYgY2hl
Y2tfYXJncygqKmt3YXJncyk6CisgICAgcmVxdWlyZV9hcmcoa3dhcmdzLCAiYmluYXJ5IikKKwor
CitkZWYgYnJvd3Nlcl9rd2FyZ3MoKiprd2FyZ3MpOgorICAgIHJldHVybiB7CisgICAgICAgICJi
aW5hcnkiOiBrd2FyZ3NbImJpbmFyeSJdLAorICAgICAgICAiZGVidWdfaW5mbyI6IGt3YXJnc1si
ZGVidWdfaW5mbyJdLAorICAgICAgICAidXNlcl9zdHlsZXNoZWV0cyI6IGt3YXJncy5nZXQoInVz
ZXJfc3R5bGVzaGVldHMiKSwKKyAgICB9CisKKworZGVmIGV4ZWN1dG9yX2t3YXJncyh0ZXN0X3R5
cGUsIHNlcnZlcl9jb25maWcsIGNhY2hlX21hbmFnZXIsIHJ1bl9pbmZvX2RhdGEsICoqa3dhcmdz
KToKKyAgICBydiA9IGJhc2VfZXhlY3V0b3Jfa3dhcmdzKHRlc3RfdHlwZSwgc2VydmVyX2NvbmZp
ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlX21hbmFnZXIsICoqa3dhcmdz
KQorICAgIHJldHVybiBydgorCisKK2RlZiBlbnZfZXh0cmFzKCoqa3dhcmdzKToKKyAgICByZXR1
cm4gW10KKworCitkZWYgZW52X29wdGlvbnMoKToKKyAgICByZXR1cm4geyJob3N0IjogIjEyNy4w
LjAuMSIsCisgICAgICAgICAgICAiZXh0ZXJuYWxfaG9zdCI6ICJ3ZWItcGxhdGZvcm0udGVzdCIs
CisgICAgICAgICAgICAiYmluZF9ob3N0bmFtZSI6ICJ0cnVlIiwKKyAgICAgICAgICAgICJ0ZXN0
aGFybmVzc3JlcG9ydCI6ICJ0ZXN0aGFybmVzc3JlcG9ydC1zZXJ2b2RyaXZlci5qcyIsCisgICAg
ICAgICAgICAic3VwcG9ydHNfZGVidWdnZXIiOiBUcnVlfQorCisKK2RlZiB1cGRhdGVfcHJvcGVy
dGllcygpOgorICAgIHJldHVybiBbImRlYnVnIiwgIm9zIiwgInZlcnNpb24iLCAicHJvY2Vzc29y
IiwgImJpdHMiXSwgTm9uZQorCisKK2RlZiBtYWtlX2hvc3RzX2ZpbGUoKToKKyAgICBob3N0c19m
ZCwgaG9zdHNfcGF0aCA9IHRlbXBmaWxlLm1rc3RlbXAoKQorICAgIHdpdGggb3MuZmRvcGVuKGhv
c3RzX2ZkLCAidyIpIGFzIGY6CisgICAgICAgIGYud3JpdGUoaG9zdHNfdGV4dCkKKyAgICByZXR1
cm4gaG9zdHNfcGF0aAorCisKK2NsYXNzIFNlcnZvV2ViRHJpdmVyQnJvd3NlcihCcm93c2VyKToK
KyAgICB1c2VkX3BvcnRzID0gc2V0KCkKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIs
IGJpbmFyeSwgZGVidWdfaW5mbz1Ob25lLCB3ZWJkcml2ZXJfaG9zdD0iMTI3LjAuMC4xIiwKKyAg
ICAgICAgICAgICAgICAgdXNlcl9zdHlsZXNoZWV0cz1Ob25lKToKKyAgICAgICAgQnJvd3Nlci5f
X2luaXRfXyhzZWxmLCBsb2dnZXIpCisgICAgICAgIHNlbGYuYmluYXJ5ID0gYmluYXJ5CisgICAg
ICAgIHNlbGYud2ViZHJpdmVyX2hvc3QgPSB3ZWJkcml2ZXJfaG9zdAorICAgICAgICBzZWxmLndl
YmRyaXZlcl9wb3J0ID0gTm9uZQorICAgICAgICBzZWxmLnByb2MgPSBOb25lCisgICAgICAgIHNl
bGYuZGVidWdfaW5mbyA9IGRlYnVnX2luZm8KKyAgICAgICAgc2VsZi5ob3N0c19wYXRoID0gbWFr
ZV9ob3N0c19maWxlKCkKKyAgICAgICAgc2VsZi5jb21tYW5kID0gTm9uZQorICAgICAgICBzZWxm
LnVzZXJfc3R5bGVzaGVldHMgPSB1c2VyX3N0eWxlc2hlZXRzIGlmIHVzZXJfc3R5bGVzaGVldHMg
ZWxzZSBbXQorCisgICAgZGVmIHN0YXJ0KHNlbGYpOgorICAgICAgICBzZWxmLndlYmRyaXZlcl9w
b3J0ID0gZ2V0X2ZyZWVfcG9ydCg0NDQ0LCBleGNsdWRlPXNlbGYudXNlZF9wb3J0cykKKyAgICAg
ICAgc2VsZi51c2VkX3BvcnRzLmFkZChzZWxmLndlYmRyaXZlcl9wb3J0KQorCisgICAgICAgIGVu
diA9IG9zLmVudmlyb24uY29weSgpCisgICAgICAgIGVudlsiSE9TVF9GSUxFIl0gPSBzZWxmLmhv
c3RzX3BhdGgKKyAgICAgICAgZW52WyJSVVNUX0JBQ0tUUkFDRSJdID0gIjEiCisKKyAgICAgICAg
ZGVidWdfYXJncywgY29tbWFuZCA9IGJyb3dzZXJfY29tbWFuZCgKKyAgICAgICAgICAgIHNlbGYu
YmluYXJ5LAorICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICItLWhhcmQtZmFpbCIsCisg
ICAgICAgICAgICAgICAgIi0td2ViZHJpdmVyIiwgc3RyKHNlbGYud2ViZHJpdmVyX3BvcnQpLAor
ICAgICAgICAgICAgICAgICJhYm91dDpibGFuayIsCisgICAgICAgICAgICBdLAorICAgICAgICAg
ICAgc2VsZi5kZWJ1Z19pbmZvCisgICAgICAgICkKKworICAgICAgICBmb3Igc3R5bGVzaGVldCBp
biBzZWxmLnVzZXJfc3R5bGVzaGVldHM6CisgICAgICAgICAgICBjb21tYW5kICs9IFsiLS11c2Vy
LXN0eWxlc2hlZXQiLCBzdHlsZXNoZWV0XQorCisgICAgICAgIHNlbGYuY29tbWFuZCA9IGNvbW1h
bmQKKworICAgICAgICBzZWxmLmNvbW1hbmQgPSBkZWJ1Z19hcmdzICsgc2VsZi5jb21tYW5kCisK
KyAgICAgICAgaWYgbm90IHNlbGYuZGVidWdfaW5mbyBvciBub3Qgc2VsZi5kZWJ1Z19pbmZvLmlu
dGVyYWN0aXZlOgorICAgICAgICAgICAgc2VsZi5wcm9jID0gUHJvY2Vzc0hhbmRsZXIoc2VsZi5j
b21tYW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc091
dHB1dExpbmU9W3NlbGYub25fb3V0cHV0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVudj1lbnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdG9yZU91dHB1dD1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYucHJvYy5ydW4oKQorICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgc2VsZi5wcm9jID0gc3VicHJvY2Vzcy5Qb3BlbihzZWxmLmNv
bW1hbmQsIGVudj1lbnYpCisKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlNlcnZvIFN0YXJ0
ZWQiKQorCisgICAgZGVmIHN0b3Aoc2VsZiwgZm9yY2U9RmFsc2UpOgorICAgICAgICBzZWxmLmxv
Z2dlci5kZWJ1ZygiU3RvcHBpbmcgYnJvd3NlciIpCisgICAgICAgIGlmIHNlbGYucHJvYyBpcyBu
b3QgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnByb2Mua2ls
bCgpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICAjIFRoaXMg
Y2FuIGhhcHBlbiBvbiBXaW5kb3dzIGlmIHRoZSBwcm9jZXNzIGlzIGFscmVhZHkgZGVhZAorICAg
ICAgICAgICAgICAgIHBhc3MKKworICAgIGRlZiBwaWQoc2VsZik6CisgICAgICAgIGlmIHNlbGYu
cHJvYyBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICB0cnk6Cisg
ICAgICAgICAgICByZXR1cm4gc2VsZi5wcm9jLnBpZAorICAgICAgICBleGNlcHQgQXR0cmlidXRl
RXJyb3I6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIG9uX291dHB1dChzZWxm
LCBsaW5lKToKKyAgICAgICAgIiIiV3JpdGUgYSBsaW5lIG9mIG91dHB1dCBmcm9tIHRoZSBwcm9j
ZXNzIHRvIHRoZSBsb2ciIiIKKyAgICAgICAgc2VsZi5sb2dnZXIucHJvY2Vzc19vdXRwdXQoc2Vs
Zi5waWQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS5kZWNvZGUo
InV0ZjgiLCAicmVwbGFjZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b21tYW5kPSIgIi5qb2luKHNlbGYuY29tbWFuZCkpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6
CisgICAgICAgIGlmIHNlbGYucnVubmVyOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVubmVy
LmlzX3J1bm5pbmcoKQorICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRlZiBjbGVhbnVwKHNl
bGYpOgorICAgICAgICBzZWxmLnN0b3AoKQorCisgICAgZGVmIGV4ZWN1dG9yX2Jyb3dzZXIoc2Vs
Zik6CisgICAgICAgIGFzc2VydCBzZWxmLndlYmRyaXZlcl9wb3J0IGlzIG5vdCBOb25lCisgICAg
ICAgIHJldHVybiBFeGVjdXRvckJyb3dzZXIsIHsid2ViZHJpdmVyX2hvc3QiOiBzZWxmLndlYmRy
aXZlcl9ob3N0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndlYmRyaXZlcl9w
b3J0Ijogc2VsZi53ZWJkcml2ZXJfcG9ydH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93
c2Vycy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy93M2MtaW1wb3J0Lmxv
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNmQwZDhlZDgwNTZmZDg4ZWMyYzkyZWRhZTEyNDg4MjkwNTY3MmUyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3czYy1pbXBvcnQubG9nCkBA
IC0wLDAgKzEsMjUgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQ
VCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKwor
VGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8g
cmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1By
b3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9fX2luaXRfXy5w
eQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9iYXNlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJz
L2Nocm9tZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9lZGdlLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2Jyb3dzZXJzL2ZpcmVmb3gucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2UucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvc2VydmVyLWxvY2F0aW9ucy50eHQKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
YnJvd3NlcnMvc2Vydm8ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2Vydm9kcml2ZXIucHkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9jb25maWcuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9jb25m
aWcuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMTQ2NDI0YTBmMDhjNTQ3N2UxY2Q1ZWIzZjk5MGQ2YmRiNWRk
OGJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2NvbmZpZy5qc29uCkBAIC0wLDAg
KzEsNyBAQAoreyJob3N0IjogIiUoaG9zdClzIiwKKyAicG9ydHMiOnsiaHR0cCI6WzgwMDAsIDgw
MDFdLAorICAgICAgICAgICJodHRwcyI6Wzg0NDNdLAorICAgICAgICAgICJ3cyI6Wzg4ODhdfSwK
KyAiY2hlY2tfc3ViZG9tYWlucyI6ZmFsc2UsCisgImJpbmRfaG9zdG5hbWUiOiUoYmluZF9ob3N0
bmFtZSlzLAorICJzc2wiOnt9fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2NvbmZpZy5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9jb25maWcucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJkM2Y0NjdmM2VkYTVmNTY0Y2E1
YzUxNTQwZjIzYjI1MjFhMmE1OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9jb25m
aWcucHkKQEAgLTAsMCArMSw2MCBAQAoraW1wb3J0IENvbmZpZ1BhcnNlcgoraW1wb3J0IG9zCitp
bXBvcnQgc3lzCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBPcmRlcmVkRGljdAorCitoZXJlID0g
b3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0KKworY2xhc3MgQ29uZmlnRGljdChkaWN0KToKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgYmFzZV9wYXRoLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAg
ICBzZWxmLmJhc2VfcGF0aCA9IGJhc2VfcGF0aAorICAgICAgICBkaWN0Ll9faW5pdF9fKHNlbGYs
ICphcmdzLCAqKmt3YXJncykKKworICAgIGRlZiBnZXRfcGF0aChzZWxmLCBrZXksIGRlZmF1bHQ9
Tm9uZSk6CisgICAgICAgIGlmIGtleSBub3QgaW4gc2VsZjoKKyAgICAgICAgICAgIHJldHVybiBk
ZWZhdWx0CisgICAgICAgIHBhdGggPSBzZWxmW2tleV0KKyAgICAgICAgb3MucGF0aC5leHBhbmR1
c2VyKHBhdGgpCisgICAgICAgIHJldHVybiBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHNl
bGYuYmFzZV9wYXRoLCBwYXRoKSkKKworZGVmIHJlYWQoY29uZmlnX3BhdGgpOgorICAgIGNvbmZp
Z19wYXRoID0gb3MucGF0aC5hYnNwYXRoKGNvbmZpZ19wYXRoKQorICAgIGNvbmZpZ19yb290ID0g
b3MucGF0aC5zcGxpdChjb25maWdfcGF0aClbMF0KKyAgICBwYXJzZXIgPSBDb25maWdQYXJzZXIu
U2FmZUNvbmZpZ1BhcnNlcigpCisgICAgc3VjY2VzcyA9IHBhcnNlci5yZWFkKGNvbmZpZ19wYXRo
KQorICAgIGFzc2VydCBjb25maWdfcGF0aCBpbiBzdWNjZXNzLCBzdWNjZXNzCisKKyAgICBzdWJu
cyA9IHsicHdkIjogb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguY3VyZGlyKX0KKworICAgIHJ2ID0g
T3JkZXJlZERpY3QoKQorICAgIGZvciBzZWN0aW9uIGluIHBhcnNlci5zZWN0aW9ucygpOgorICAg
ICAgICBydltzZWN0aW9uXSA9IENvbmZpZ0RpY3QoY29uZmlnX3Jvb3QpCisgICAgICAgIGZvciBr
ZXkgaW4gcGFyc2VyLm9wdGlvbnMoc2VjdGlvbik6CisgICAgICAgICAgICBydltzZWN0aW9uXVtr
ZXldID0gcGFyc2VyLmdldChzZWN0aW9uLCBrZXksIEZhbHNlLCBzdWJucykKKworICAgIHJldHVy
biBydgorCitkZWYgcGF0aChhcmd2PU5vbmUpOgorICAgIGlmIGFyZ3YgaXMgTm9uZToKKyAgICAg
ICAgYXJndiA9IFtdCisgICAgcGF0aCA9IE5vbmUKKworICAgIGZvciBpLCBhcmcgaW4gZW51bWVy
YXRlKGFyZ3YpOgorICAgICAgICBpZiBhcmcgPT0gIi0tY29uZmlnIjoKKyAgICAgICAgICAgIGlm
IGkgKyAxIDwgbGVuKGFyZ3YpOgorICAgICAgICAgICAgICAgIHBhdGggPSBhcmd2W2kgKyAxXQor
ICAgICAgICBlbGlmIGFyZy5zdGFydHN3aXRoKCItLWNvbmZpZz0iKToKKyAgICAgICAgICAgIHBh
dGggPSBhcmcuc3BsaXQoIj0iLCAxKVsxXQorICAgICAgICBpZiBwYXRoIGlzIG5vdCBOb25lOgor
ICAgICAgICAgICAgYnJlYWsKKworICAgIGlmIHBhdGggaXMgTm9uZToKKyAgICAgICAgaWYgb3Mu
cGF0aC5leGlzdHMoIndwdHJ1bm5lci5pbmkiKToKKyAgICAgICAgICAgIHBhdGggPSBvcy5wYXRo
LmFic3BhdGgoIndwdHJ1bm5lci5pbmkiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcGF0
aCA9IG9zLnBhdGguam9pbihoZXJlLCAiLi4iLCAid3B0cnVubmVyLmRlZmF1bHQuaW5pIikKKwor
ICAgIHJldHVybiBvcy5wYXRoLmFic3BhdGgocGF0aCkKKworZGVmIGxvYWQoKToKKyAgICByZXR1
cm4gcmVhZChwYXRoKHN5cy5hcmd2KSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9lbnZpcm9u
bWVudC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9lbnZpcm9ubWVudC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDU4ODk0
OTA4OGVkZjNhOGVlZjllZWVjYTYyZmZmYWM5MzRjZWMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2Vudmlyb25tZW50LnB5CkBAIC0wLDAgKzEsMjE2IEBACitpbXBvcnQganNvbgor
aW1wb3J0IG9zCitpbXBvcnQgbXVsdGlwcm9jZXNzaW5nCitpbXBvcnQgc2lnbmFsCitpbXBvcnQg
c29ja2V0CitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQorCitmcm9tIG1vemxvZyBpbXBvcnQgZ2V0
X2RlZmF1bHRfbG9nZ2VyLCBoYW5kbGVycworCitmcm9tIHdwdGxvZ2dpbmcgaW1wb3J0IExvZ0xl
dmVsUmV3cml0ZXIKKworaGVyZSA9IG9zLnBhdGguc3BsaXQoX19maWxlX18pWzBdCisKK3NlcnZl
ID0gTm9uZQorc3NsdXRpbHMgPSBOb25lCisKKworaG9zdG5hbWVzID0gWyJ3ZWItcGxhdGZvcm0u
dGVzdCIsCisgICAgICAgICAgICAgInd3dy53ZWItcGxhdGZvcm0udGVzdCIsCisgICAgICAgICAg
ICAgInd3dzEud2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgICJ3d3cyLndlYi1wbGF0
Zm9ybS50ZXN0IiwKKyAgICAgICAgICAgICAieG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBs
YXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgICJ4bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRl
c3QiXQorCisKK2RlZiBkb19kZWxheWVkX2ltcG9ydHMobG9nZ2VyLCB0ZXN0X3BhdGhzKToKKyAg
ICBnbG9iYWwgc2VydmUsIHNzbHV0aWxzCisKKyAgICBzZXJ2ZV9yb290ID0gc2VydmVfcGF0aCh0
ZXN0X3BhdGhzKQorICAgIHN5cy5wYXRoLmluc2VydCgwLCBzZXJ2ZV9yb290KQorCisgICAgZmFp
bGVkID0gW10KKworICAgIHRyeToKKyAgICAgICAgZnJvbSB0b29scy5zZXJ2ZSBpbXBvcnQgc2Vy
dmUKKyAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgIGZyb20gd3B0X3Rvb2xzLnNlcnZl
IGltcG9ydCBzZXJ2ZQorICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgZmFpbGVkLmFw
cGVuZCgic2VydmUiKQorCisgICAgdHJ5OgorICAgICAgICBpbXBvcnQgc3NsdXRpbHMKKyAgICBl
eGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgIGZhaWxlZC5hcHBlbmQoInNzbHV0aWxzIikKKwor
ICAgIGlmIGZhaWxlZDoKKyAgICAgICAgbG9nZ2VyLmNyaXRpY2FsKAorICAgICAgICAgICAgIkZh
aWxlZCB0byBpbXBvcnQgJXMuIEVuc3VyZSB0aGF0IHRlc3RzIHBhdGggJXMgY29udGFpbnMgd2Vi
LXBsYXRmb3JtLXRlc3RzIiAlCisgICAgICAgICAgICAoIiwgIi5qb2luKGZhaWxlZCksIHNlcnZl
X3Jvb3QpKQorICAgICAgICBzeXMuZXhpdCgxKQorCisKK2RlZiBzZXJ2ZV9wYXRoKHRlc3RfcGF0
aHMpOgorICAgIHJldHVybiB0ZXN0X3BhdGhzWyIvIl1bInRlc3RzX3BhdGgiXQorCisKK2RlZiBn
ZXRfc3NsX2t3YXJncygqKmt3YXJncyk6CisgICAgaWYga3dhcmdzWyJzc2xfdHlwZSJdID09ICJv
cGVuc3NsIjoKKyAgICAgICAgYXJncyA9IHsib3BlbnNzbF9iaW5hcnkiOiBrd2FyZ3NbIm9wZW5z
c2xfYmluYXJ5Il19CisgICAgZWxpZiBrd2FyZ3NbInNzbF90eXBlIl0gPT0gInByZWdlbmVyYXRl
ZCI6CisgICAgICAgIGFyZ3MgPSB7Imhvc3Rfa2V5X3BhdGgiOiBrd2FyZ3NbImhvc3Rfa2V5X3Bh
dGgiXSwKKyAgICAgICAgICAgICAgICAiaG9zdF9jZXJ0X3BhdGgiOiBrd2FyZ3NbImhvc3RfY2Vy
dF9wYXRoIl0sCisgICAgICAgICAgICAgICAgICJjYV9jZXJ0X3BhdGgiOiBrd2FyZ3NbImNhX2Nl
cnRfcGF0aCJdfQorICAgIGVsc2U6CisgICAgICAgIGFyZ3MgPSB7fQorICAgIHJldHVybiBhcmdz
CisKKworZGVmIHNzbF9lbnYobG9nZ2VyLCAqKmt3YXJncyk6CisgICAgc3NsX2Vudl9jbHMgPSBz
c2x1dGlscy5lbnZpcm9ubWVudHNba3dhcmdzWyJzc2xfdHlwZSJdXQorICAgIHJldHVybiBzc2xf
ZW52X2Nscyhsb2dnZXIsICoqZ2V0X3NzbF9rd2FyZ3MoKiprd2FyZ3MpKQorCisKK2NsYXNzIFRl
c3RFbnZpcm9ubWVudEVycm9yKEV4Y2VwdGlvbik6CisgICAgcGFzcworCisKK2NsYXNzIFRlc3RF
bnZpcm9ubWVudChvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0X3BhdGhzLCBz
c2xfZW52LCBwYXVzZV9hZnRlcl90ZXN0LCBkZWJ1Z19pbmZvLCBvcHRpb25zLCBlbnZfZXh0cmFz
KToKKyAgICAgICAgIiIiQ29udGV4dCBtYW5hZ2VyIHRoYXQgb3ducyB0aGUgdGVzdCBlbnZpcm9u
bWVudCBpLmUuIHRoZSBodHRwIGFuZAorICAgICAgICB3ZWJzb2NrZXRzIHNlcnZlcnMiIiIKKyAg
ICAgICAgc2VsZi50ZXN0X3BhdGhzID0gdGVzdF9wYXRocworICAgICAgICBzZWxmLnNzbF9lbnYg
PSBzc2xfZW52CisgICAgICAgIHNlbGYuc2VydmVyID0gTm9uZQorICAgICAgICBzZWxmLmNvbmZp
ZyA9IE5vbmUKKyAgICAgICAgc2VsZi5leHRlcm5hbF9jb25maWcgPSBOb25lCisgICAgICAgIHNl
bGYucGF1c2VfYWZ0ZXJfdGVzdCA9IHBhdXNlX2FmdGVyX3Rlc3QKKyAgICAgICAgc2VsZi50ZXN0
X3NlcnZlcl9wb3J0ID0gb3B0aW9ucy5wb3AoInRlc3Rfc2VydmVyX3BvcnQiLCBUcnVlKQorICAg
ICAgICBzZWxmLmRlYnVnX2luZm8gPSBkZWJ1Z19pbmZvCisgICAgICAgIHNlbGYub3B0aW9ucyA9
IG9wdGlvbnMgaWYgb3B0aW9ucyBpcyBub3QgTm9uZSBlbHNlIHt9CisKKyAgICAgICAgc2VsZi5j
YWNoZV9tYW5hZ2VyID0gbXVsdGlwcm9jZXNzaW5nLk1hbmFnZXIoKQorICAgICAgICBzZWxmLnN0
YXNoID0gc2VydmUuc3Rhc2guU3Rhc2hTZXJ2ZXIoKQorICAgICAgICBzZWxmLmVudl9leHRyYXMg
PSBlbnZfZXh0cmFzCisKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHNlbGYu
c3Rhc2guX19lbnRlcl9fKCkKKyAgICAgICAgc2VsZi5zc2xfZW52Ll9fZW50ZXJfXygpCisgICAg
ICAgIHNlbGYuY2FjaGVfbWFuYWdlci5fX2VudGVyX18oKQorICAgICAgICBmb3IgY20gaW4gc2Vs
Zi5lbnZfZXh0cmFzOgorICAgICAgICAgICAgY20uX19lbnRlcl9fKHNlbGYub3B0aW9ucykKKyAg
ICAgICAgc2VsZi5zZXR1cF9zZXJ2ZXJfbG9nZ2luZygpCisgICAgICAgIHNlbGYuY29uZmlnID0g
c2VsZi5sb2FkX2NvbmZpZygpCisgICAgICAgIHNlcnZlLnNldF9jb21wdXRlZF9kZWZhdWx0cyhz
ZWxmLmNvbmZpZykKKyAgICAgICAgc2VsZi5leHRlcm5hbF9jb25maWcsIHNlbGYuc2VydmVycyA9
IHNlcnZlLnN0YXJ0KHNlbGYuY29uZmlnLCBzZWxmLnNzbF9lbnYsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmdldF9yb3V0ZXMo
KSkKKyAgICAgICAgaWYgc2VsZi5vcHRpb25zLmdldCgic3VwcG9ydHNfZGVidWdnZXIiKSBhbmQg
c2VsZi5kZWJ1Z19pbmZvIGFuZCBzZWxmLmRlYnVnX2luZm8uaW50ZXJhY3RpdmU6CisgICAgICAg
ICAgICBzZWxmLmlnbm9yZV9pbnRlcnJ1cHRzKCkKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAg
IGRlZiBfX2V4aXRfXyhzZWxmLCBleGNfdHlwZSwgZXhjX3ZhbCwgZXhjX3RiKToKKyAgICAgICAg
c2VsZi5wcm9jZXNzX2ludGVycnVwdHMoKQorCisgICAgICAgIGZvciBzY2hlbWUsIHNlcnZlcnMg
aW4gc2VsZi5zZXJ2ZXJzLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgZm9yIHBvcnQsIHNlcnZl
ciBpbiBzZXJ2ZXJzOgorICAgICAgICAgICAgICAgIHNlcnZlci5raWxsKCkKKyAgICAgICAgZm9y
IGNtIGluIHNlbGYuZW52X2V4dHJhczoKKyAgICAgICAgICAgIGNtLl9fZXhpdF9fKCkKKyAgICAg
ICAgc2VsZi5jYWNoZV9tYW5hZ2VyLl9fZXhpdF9fKGV4Y190eXBlLCBleGNfdmFsLCBleGNfdGIp
CisgICAgICAgIHNlbGYuc3NsX2Vudi5fX2V4aXRfXyhleGNfdHlwZSwgZXhjX3ZhbCwgZXhjX3Ri
KQorICAgICAgICBzZWxmLnN0YXNoLl9fZXhpdF9fKCkKKworICAgIGRlZiBpZ25vcmVfaW50ZXJy
dXB0cyhzZWxmKToKKyAgICAgICAgc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHSU5ULCBzaWduYWwu
U0lHX0lHTikKKworICAgIGRlZiBwcm9jZXNzX2ludGVycnVwdHMoc2VsZik6CisgICAgICAgIHNp
Z25hbC5zaWduYWwoc2lnbmFsLlNJR0lOVCwgc2lnbmFsLlNJR19ERkwpCisKKyAgICBkZWYgbG9h
ZF9jb25maWcoc2VsZik6CisgICAgICAgIGRlZmF1bHRfY29uZmlnX3BhdGggPSBvcy5wYXRoLmpv
aW4oc2VydmVfcGF0aChzZWxmLnRlc3RfcGF0aHMpLCAiY29uZmlnLmRlZmF1bHQuanNvbiIpCisg
ICAgICAgIGxvY2FsX2NvbmZpZ19wYXRoID0gb3MucGF0aC5qb2luKGhlcmUsICJjb25maWcuanNv
biIpCisKKyAgICAgICAgd2l0aCBvcGVuKGRlZmF1bHRfY29uZmlnX3BhdGgpIGFzIGY6CisgICAg
ICAgICAgICBkZWZhdWx0X2NvbmZpZyA9IGpzb24ubG9hZChmKQorCisgICAgICAgIHdpdGggb3Bl
bihsb2NhbF9jb25maWdfcGF0aCkgYXMgZjoKKyAgICAgICAgICAgIGRhdGEgPSBmLnJlYWQoKQor
ICAgICAgICAgICAgbG9jYWxfY29uZmlnID0ganNvbi5sb2FkcyhkYXRhICUgc2VsZi5vcHRpb25z
KQorCisgICAgICAgICNUT0RPOiBhbGxvdyBub24tZGVmYXVsdCBjb25maWd1cmF0aW9uIGZvciBz
c2wKKworICAgICAgICBsb2NhbF9jb25maWdbImV4dGVybmFsX2hvc3QiXSA9IHNlbGYub3B0aW9u
cy5nZXQoImV4dGVybmFsX2hvc3QiLCBOb25lKQorICAgICAgICBsb2NhbF9jb25maWdbInNzbCJd
WyJlbmNyeXB0X2FmdGVyX2Nvbm5lY3QiXSA9IHNlbGYub3B0aW9ucy5nZXQoImVuY3J5cHRfYWZ0
ZXJfY29ubmVjdCIsIEZhbHNlKQorCisgICAgICAgIGNvbmZpZyA9IHNlcnZlLm1lcmdlX2pzb24o
ZGVmYXVsdF9jb25maWcsIGxvY2FsX2NvbmZpZykKKyAgICAgICAgY29uZmlnWyJkb2Nfcm9vdCJd
ID0gc2VydmVfcGF0aChzZWxmLnRlc3RfcGF0aHMpCisKKyAgICAgICAgaWYgbm90IHNlbGYuc3Ns
X2Vudi5zc2xfZW5hYmxlZDoKKyAgICAgICAgICAgIGNvbmZpZ1sicG9ydHMiXVsiaHR0cHMiXSA9
IFtOb25lXQorCisgICAgICAgIGhvc3QgPSBzZWxmLm9wdGlvbnMuZ2V0KCJjZXJ0aWZpY2F0ZV9k
b21haW4iLCBjb25maWdbImhvc3QiXSkKKyAgICAgICAgaG9zdHMgPSBbaG9zdF0KKyAgICAgICAg
aG9zdHMuZXh0ZW5kKCIlcy4lcyIgJSAoaXRlbVswXSwgaG9zdCkgZm9yIGl0ZW0gaW4gc2VydmUu
Z2V0X3N1YmRvbWFpbnMoaG9zdCkudmFsdWVzKCkpCisgICAgICAgIGtleV9maWxlLCBjZXJ0aWZp
Y2F0ZSA9IHNlbGYuc3NsX2Vudi5ob3N0X2NlcnRfcGF0aChob3N0cykKKworICAgICAgICBjb25m
aWdbImtleV9maWxlIl0gPSBrZXlfZmlsZQorICAgICAgICBjb25maWdbImNlcnRpZmljYXRlIl0g
PSBjZXJ0aWZpY2F0ZQorCisgICAgICAgIHJldHVybiBjb25maWcKKworICAgIGRlZiBzZXR1cF9z
ZXJ2ZXJfbG9nZ2luZyhzZWxmKToKKyAgICAgICAgc2VydmVyX2xvZ2dlciA9IGdldF9kZWZhdWx0
X2xvZ2dlcihjb21wb25lbnQ9IndwdHNlcnZlIikKKyAgICAgICAgYXNzZXJ0IHNlcnZlcl9sb2dn
ZXIgaXMgbm90IE5vbmUKKyAgICAgICAgbG9nX2ZpbHRlciA9IGhhbmRsZXJzLkxvZ0xldmVsRmls
dGVyKGxhbWJkYSB4OngsICJpbmZvIikKKyAgICAgICAgIyBEb3duZ3JhZGUgZXJyb3JzIHRvIHdh
cm5pbmdzIGZvciB0aGUgc2VydmVyCisgICAgICAgIGxvZ19maWx0ZXIgPSBMb2dMZXZlbFJld3Jp
dGVyKGxvZ19maWx0ZXIsIFsiZXJyb3IiXSwgIndhcm5pbmciKQorICAgICAgICBzZXJ2ZXJfbG9n
Z2VyLmNvbXBvbmVudF9maWx0ZXIgPSBsb2dfZmlsdGVyCisKKyAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgI1NldCBhcyB0aGUgZGVmYXVsdCBsb2dnZXIgZm9yIHdwdHNlcnZlCisgICAgICAgICAg
ICBzZXJ2ZS5zZXRfbG9nZ2VyKHNlcnZlcl9sb2dnZXIpCisgICAgICAgICAgICBzZXJ2ZS5sb2dn
ZXIgPSBzZXJ2ZXJfbG9nZ2VyCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAg
ICAjIFRoaXMgaGFwcGVucyBpZiBsb2dnaW5nIGhhcyBhbHJlYWR5IGJlZW4gc2V0IHVwIGZvciB3
cHRzZXJ2ZQorICAgICAgICAgICAgcGFzcworCisgICAgZGVmIGdldF9yb3V0ZXMoc2VsZik6Cisg
ICAgICAgIHJvdXRlX2J1aWxkZXIgPSBzZXJ2ZS5Sb3V0ZXNCdWlsZGVyKCkKKworICAgICAgICBm
b3IgcGF0aCwgZm9ybWF0X2FyZ3MsIGNvbnRlbnRfdHlwZSwgcm91dGUgaW4gWworICAgICAgICAg
ICAgICAgICgidGVzdGhhcm5lc3NfcnVubmVyLmh0bWwiLCB7fSwgInRleHQvaHRtbCIsICIvdGVz
dGhhcm5lc3NfcnVubmVyLmh0bWwiKSwKKyAgICAgICAgICAgICAgICAoc2VsZi5vcHRpb25zLmdl
dCgidGVzdGhhcm5lc3NyZXBvcnQiLCAidGVzdGhhcm5lc3NyZXBvcnQuanMiKSwKKyAgICAgICAg
ICAgICAgICAgeyJvdXRwdXQiOiBzZWxmLnBhdXNlX2FmdGVyX3Rlc3R9LCAidGV4dC9qYXZhc2Ny
aXB0IiwKKyAgICAgICAgICAgICAgICAgIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
KV06CisgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oaGVy
ZSwgcGF0aCkpCisgICAgICAgICAgICByb3V0ZV9idWlsZGVyLmFkZF9zdGF0aWMocGF0aCwgZm9y
bWF0X2FyZ3MsIGNvbnRlbnRfdHlwZSwgcm91dGUpCisKKyAgICAgICAgZm9yIHVybF9iYXNlLCBw
YXRocyBpbiBzZWxmLnRlc3RfcGF0aHMuaXRlcml0ZW1zKCk6CisgICAgICAgICAgICBpZiB1cmxf
YmFzZSA9PSAiLyI6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHJvdXRl
X2J1aWxkZXIuYWRkX21vdW50X3BvaW50KHVybF9iYXNlLCBwYXRoc1sidGVzdHNfcGF0aCJdKQor
CisgICAgICAgIGlmICIvIiBub3QgaW4gc2VsZi50ZXN0X3BhdGhzOgorICAgICAgICAgICAgZGVs
IHJvdXRlX2J1aWxkZXIubW91bnRwb2ludF9yb3V0ZXNbIi8iXQorCisgICAgICAgIHJldHVybiBy
b3V0ZV9idWlsZGVyLmdldF9yb3V0ZXMoKQorCisgICAgZGVmIGVuc3VyZV9zdGFydGVkKHNlbGYp
OgorICAgICAgICAjIFBhdXNlIGZvciBhIHdoaWxlIHRvIGVuc3VyZSB0aGF0IHRoZSBzZXJ2ZXIg
aGFzIGEgY2hhbmNlIHRvIHN0YXJ0CisgICAgICAgIHRpbWUuc2xlZXAoMikKKyAgICAgICAgZm9y
IHNjaGVtZSwgc2VydmVycyBpbiBzZWxmLnNlcnZlcnMuaXRlcml0ZW1zKCk6CisgICAgICAgICAg
ICBmb3IgcG9ydCwgc2VydmVyIGluIHNlcnZlcnM6CisgICAgICAgICAgICAgICAgaWYgc2VsZi50
ZXN0X3NlcnZlcl9wb3J0OgorICAgICAgICAgICAgICAgICAgICBzID0gc29ja2V0LnNvY2tldCgp
CisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIHMuY29u
bmVjdCgoc2VsZi5jb25maWdbImhvc3QiXSwgcG9ydCkpCisgICAgICAgICAgICAgICAgICAgIGV4
Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBFbnZpcm9u
bWVudEVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBzZXJ2ZXIgb24gcG9y
dCAlZCBmYWlsZWQgdG8gc3RhcnQiICUgKHNjaGVtZSwgcG9ydCkpCisgICAgICAgICAgICAgICAg
ICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgICAgICAgICBzLmNsb3NlKCkKKworICAgICAg
ICAgICAgICAgIGlmIG5vdCBzZXJ2ZXIuaXNfYWxpdmUoKToKKyAgICAgICAgICAgICAgICAgICAg
cmFpc2UgRW52aXJvbm1lbnRFcnJvcigiJXMgc2VydmVyIG9uIHBvcnQgJWQgZmFpbGVkIHRvIHN0
YXJ0IiAlIChzY2hlbWUsIHBvcnQpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9y
cy9fX2luaXRfXy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvX19pbml0X18ucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjQ3NjFiODM4MzA5NGRjMmM4MzA3NWE5M2Q5MjRhYTRkNDY2ZDBmOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvX19pbml0X18ucHkKQEAgLTAsMCArMSw0
IEBACitmcm9tIGJhc2UgaW1wb3J0IChleGVjdXRvcl9rd2FyZ3MsCisgICAgICAgICAgICAgICAg
ICB0ZXN0aGFybmVzc19yZXN1bHRfY29udmVydGVyLAorICAgICAgICAgICAgICAgICAgcmVmdGVz
dF9yZXN1bHRfY29udmVydGVyLAorICAgICAgICAgICAgICAgICAgVGVzdEV4ZWN1dG9yKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9iYXNlLnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4
ZWN1dG9ycy9iYXNlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0YmRhNGZhYWZhZTkxYzNlN2M5ZDQ1NjUxMDQ0
NTljOTAyM2RiNDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2Jh
c2UucHkKQEAgLTAsMCArMSwzMjUgQEAKK2ltcG9ydCBoYXNobGliCitpbXBvcnQganNvbgoraW1w
b3J0IG9zCitpbXBvcnQgdHJhY2ViYWNrCitpbXBvcnQgdXJscGFyc2UKK2Zyb20gYWJjIGltcG9y
dCBBQkNNZXRhLCBhYnN0cmFjdG1ldGhvZAorCitmcm9tIC4udGVzdHJ1bm5lciBpbXBvcnQgU3Rv
cAorCitoZXJlID0gb3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0KKworCitkZWYgZXhlY3V0b3Jf
a3dhcmdzKHRlc3RfdHlwZSwgc2VydmVyX2NvbmZpZywgY2FjaGVfbWFuYWdlciwgKiprd2FyZ3Mp
OgorICAgIHRpbWVvdXRfbXVsdGlwbGllciA9IGt3YXJnc1sidGltZW91dF9tdWx0aXBsaWVyIl0K
KyAgICBpZiB0aW1lb3V0X211bHRpcGxpZXIgaXMgTm9uZToKKyAgICAgICAgdGltZW91dF9tdWx0
aXBsaWVyID0gMQorCisgICAgZXhlY3V0b3Jfa3dhcmdzID0geyJzZXJ2ZXJfY29uZmlnIjogc2Vy
dmVyX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgInRpbWVvdXRfbXVsdGlwbGllciI6
IHRpbWVvdXRfbXVsdGlwbGllciwKKyAgICAgICAgICAgICAgICAgICAgICAgImRlYnVnX2luZm8i
OiBrd2FyZ3NbImRlYnVnX2luZm8iXX0KKworICAgIGlmIHRlc3RfdHlwZSA9PSAicmVmdGVzdCI6
CisgICAgICAgIGV4ZWN1dG9yX2t3YXJnc1sic2NyZWVuc2hvdF9jYWNoZSJdID0gY2FjaGVfbWFu
YWdlci5kaWN0KCkKKworICAgIHJldHVybiBleGVjdXRvcl9rd2FyZ3MKKworCitkZWYgc3RyaXBf
c2VydmVyKHVybCk6CisgICAgIiIiUmVtb3ZlIHRoZSBzY2hlbWUgYW5kIG5ldGxvYyBmcm9tIGEg
dXJsLCBsZWF2aW5nIG9ubHkgdGhlIHBhdGggYW5kIGFueSBxdWVyeQorICAgIG9yIGZyYWdtZW50
LgorCisgICAgdXJsIC0gdGhlIHVybCB0byBzdHJpcAorCisgICAgZS5nLiBodHRwOi8vZXhhbXBs
ZS5vcmc6ODAwMC90ZXN0cz9pZD0xIzIgYmVjb21lcyAvdGVzdHM/aWQ9MSMyIiIiCisKKyAgICB1
cmxfcGFydHMgPSBsaXN0KHVybHBhcnNlLnVybHNwbGl0KHVybCkpCisgICAgdXJsX3BhcnRzWzBd
ID0gIiIKKyAgICB1cmxfcGFydHNbMV0gPSAiIgorICAgIHJldHVybiB1cmxwYXJzZS51cmx1bnNw
bGl0KHVybF9wYXJ0cykKKworCitjbGFzcyBUZXN0aGFybmVzc1Jlc3VsdENvbnZlcnRlcihvYmpl
Y3QpOgorICAgIGhhcm5lc3NfY29kZXMgPSB7MDogIk9LIiwKKyAgICAgICAgICAgICAgICAgICAg
IDE6ICJFUlJPUiIsCisgICAgICAgICAgICAgICAgICAgICAyOiAiVElNRU9VVCJ9CisKKyAgICB0
ZXN0X2NvZGVzID0gezA6ICJQQVNTIiwKKyAgICAgICAgICAgICAgICAgIDE6ICJGQUlMIiwKKyAg
ICAgICAgICAgICAgICAgIDI6ICJUSU1FT1VUIiwKKyAgICAgICAgICAgICAgICAgIDM6ICJOT1RS
VU4ifQorCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIHRlc3QsIHJlc3VsdCk6CisgICAgICAgICIi
IkNvbnZlcnQgYSBKU09OIHJlc3VsdCBpbnRvIGEgKFRlc3RSZXN1bHQsIFtTdWJ0ZXN0UmVzdWx0
XSkgdHVwbGUiIiIKKyAgICAgICAgcmVzdWx0X3VybCwgc3RhdHVzLCBtZXNzYWdlLCBzdGFjaywg
c3VidGVzdF9yZXN1bHRzID0gcmVzdWx0CisgICAgICAgIGFzc2VydCByZXN1bHRfdXJsID09IHRl
c3QudXJsLCAoIkdvdCByZXN1bHRzIGZyb20gJXMsIGV4cGVjdGVkICVzIiAlCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXN1bHRfdXJsLCB0ZXN0LnVybCkpCisgICAg
ICAgIGhhcm5lc3NfcmVzdWx0ID0gdGVzdC5yZXN1bHRfY2xzKHNlbGYuaGFybmVzc19jb2Rlc1tz
dGF0dXNdLCBtZXNzYWdlKQorICAgICAgICByZXR1cm4gKGhhcm5lc3NfcmVzdWx0LAorICAgICAg
ICAgICAgICAgIFt0ZXN0LnN1YnRlc3RfcmVzdWx0X2NscyhuYW1lLCBzZWxmLnRlc3RfY29kZXNb
c3RhdHVzXSwgbWVzc2FnZSwgc3RhY2spCisgICAgICAgICAgICAgICAgIGZvciBuYW1lLCBzdGF0
dXMsIG1lc3NhZ2UsIHN0YWNrIGluIHN1YnRlc3RfcmVzdWx0c10pCisKKwordGVzdGhhcm5lc3Nf
cmVzdWx0X2NvbnZlcnRlciA9IFRlc3RoYXJuZXNzUmVzdWx0Q29udmVydGVyKCkKKworCitkZWYg
cmVmdGVzdF9yZXN1bHRfY29udmVydGVyKHNlbGYsIHRlc3QsIHJlc3VsdCk6CisgICAgcmV0dXJu
ICh0ZXN0LnJlc3VsdF9jbHMocmVzdWx0WyJzdGF0dXMiXSwgcmVzdWx0WyJtZXNzYWdlIl0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmE9cmVzdWx0LmdldCgiZXh0cmEiKSksIFtd
KQorCisKK2RlZiBweXRlc3RfcmVzdWx0X2NvbnZlcnRlcihzZWxmLCB0ZXN0LCBkYXRhKToKKyAg
ICBoYXJuZXNzX2RhdGEsIHN1YnRlc3RfZGF0YSA9IGRhdGEKKworICAgIGlmIHN1YnRlc3RfZGF0
YSBpcyBOb25lOgorICAgICAgICBzdWJ0ZXN0X2RhdGEgPSBbXQorCisgICAgaGFybmVzc19yZXN1
bHQgPSB0ZXN0LnJlc3VsdF9jbHMoKmhhcm5lc3NfZGF0YSkKKyAgICBzdWJ0ZXN0X3Jlc3VsdHMg
PSBbdGVzdC5zdWJ0ZXN0X3Jlc3VsdF9jbHMoKml0ZW0pIGZvciBpdGVtIGluIHN1YnRlc3RfZGF0
YV0KKworICAgIHJldHVybiAoaGFybmVzc19yZXN1bHQsIHN1YnRlc3RfcmVzdWx0cykKKworCitj
bGFzcyBFeGVjdXRvckV4Y2VwdGlvbihFeGNlcHRpb24pOgorICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBzdGF0dXMsIG1lc3NhZ2UpOgorICAgICAgICBzZWxmLnN0YXR1cyA9IHN0YXR1cworICAgICAg
ICBzZWxmLm1lc3NhZ2UgPSBtZXNzYWdlCisKKworY2xhc3MgVGVzdEV4ZWN1dG9yKG9iamVjdCk6
CisgICAgX19tZXRhY2xhc3NfXyA9IEFCQ01ldGEKKworICAgIHRlc3RfdHlwZSA9IE5vbmUKKyAg
ICBjb252ZXJ0X3Jlc3VsdCA9IE5vbmUKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2Vy
LCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKKyAgICAgICAgICAgICAgICAg
ZGVidWdfaW5mbz1Ob25lKToKKyAgICAgICAgIiIiQWJzdHJhY3QgQmFzZSBjbGFzcyBmb3Igb2Jq
ZWN0IHRoYXQgYWN0dWFsbHkgZXhlY3V0ZXMgdGhlIHRlc3RzIGluIGEKKyAgICAgICAgc3BlY2lm
aWMgYnJvd3Nlci4gVHlwaWNhbGx5IHRoZXJlIHdpbGwgYmUgYSBkaWZmZXJlbnQgVGVzdEV4ZWN1
dG9yCisgICAgICAgIHN1YmNsYXNzIGZvciBlYWNoIHRlc3QgdHlwZSBhbmQgbWV0aG9kIG9mIGV4
ZWN1dGluZyB0ZXN0cy4KKworICAgICAgICA6cGFyYW0gYnJvd3NlcjogRXhlY3V0b3JCcm93c2Vy
IGluc3RhbmNlIHByb3ZpZGluZyBwcm9wZXJ0aWVzIG9mIHRoZQorICAgICAgICAgICAgICAgICAg
ICAgICAgYnJvd3NlciB0aGF0IHdpbGwgYmUgdGVzdGVkLgorICAgICAgICA6cGFyYW0gc2VydmVy
X2NvbmZpZzogRGljdGlvbmFyeSBvZiB3cHRzZXJ2ZSBzZXJ2ZXIgY29uZmlndXJhdGlvbiBvZiB0
aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm0gc3RvcmVkIGluIFRlc3RFbnZp
cm9ubWVudC5leHRlcm5hbF9jb25maWcKKyAgICAgICAgOnBhcmFtIHRpbWVvdXRfbXVsdGlwbGll
cjogTXVsdGlwbGllciByZWxhdGl2ZSB0byBiYXNlIHRpbWVvdXQgdG8gdXNlCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gc2V0dGluZyB0ZXN0IHRpbWVvdXQuCisgICAg
ICAgICIiIgorICAgICAgICBzZWxmLnJ1bm5lciA9IE5vbmUKKyAgICAgICAgc2VsZi5icm93c2Vy
ID0gYnJvd3NlcgorICAgICAgICBzZWxmLnNlcnZlcl9jb25maWcgPSBzZXJ2ZXJfY29uZmlnCisg
ICAgICAgIHNlbGYudGltZW91dF9tdWx0aXBsaWVyID0gdGltZW91dF9tdWx0aXBsaWVyCisgICAg
ICAgIHNlbGYuZGVidWdfaW5mbyA9IGRlYnVnX2luZm8KKyAgICAgICAgc2VsZi5sYXN0X2Vudmly
b25tZW50ID0geyJwcm90b2NvbCI6ICJodHRwIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJwcmVmcyI6IHt9fQorICAgICAgICBzZWxmLnByb3RvY29sID0gTm9uZSAjIFRoaXMg
bXVzdCBiZSBzZXQgaW4gc3ViY2xhc3NlcworCisgICAgQHByb3BlcnR5CisgICAgZGVmIGxvZ2dl
cihzZWxmKToKKyAgICAgICAgIiIiU3RydWN0dXJlZExvZ2dlciBmb3IgdGhpcyBleGVjdXRvciIi
IgorICAgICAgICBpZiBzZWxmLnJ1bm5lciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJldHVy
biBzZWxmLnJ1bm5lci5sb2dnZXIKKworICAgIGRlZiBzZXR1cChzZWxmLCBydW5uZXIpOgorICAg
ICAgICAiIiJSdW4gc3RlcHMgbmVlZGVkIGJlZm9yZSB0ZXN0cyBjYW4gYmUgc3RhcnRlZCBlLmcu
IGNvbm5lY3RpbmcgdG8KKyAgICAgICAgYnJvd3NlciBpbnN0YW5jZQorCisgICAgICAgIDpwYXJh
bSBydW5uZXI6IFRlc3RSdW5uZXIgaW5zdGFuY2UgdGhhdCBpcyBnb2luZyB0byBydW4gdGhlIHRl
c3RzIiIiCisgICAgICAgIHNlbGYucnVubmVyID0gcnVubmVyCisgICAgICAgIGlmIHNlbGYucHJv
dG9jb2wgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLnByb3RvY29sLnNldHVwKHJ1bm5l
cikKKworICAgIGRlZiB0ZWFyZG93bihzZWxmKToKKyAgICAgICAgIiIiUnVuIGNsZWFudXAgc3Rl
cHMgYWZ0ZXIgdGVzdHMgaGF2ZSBmaW5pc2hlZCIiIgorICAgICAgICBpZiBzZWxmLnByb3RvY29s
IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5wcm90b2NvbC50ZWFyZG93bigpCisKKyAg
ICBkZWYgcnVuX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgICIiIlJ1biBhIHBhcnRpY3VsYXIg
dGVzdC4KKworICAgICAgICA6cGFyYW0gdGVzdDogVGhlIHRlc3QgdG8gcnVuIiIiCisgICAgICAg
IGlmIHRlc3QuZW52aXJvbm1lbnQgIT0gc2VsZi5sYXN0X2Vudmlyb25tZW50OgorICAgICAgICAg
ICAgc2VsZi5vbl9lbnZpcm9ubWVudF9jaGFuZ2UodGVzdC5lbnZpcm9ubWVudCkKKworICAgICAg
ICB0cnk6CisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmRvX3Rlc3QodGVzdCkKKyAgICAgICAg
ZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5yZXN1bHRf
ZnJvbV9leGNlcHRpb24odGVzdCwgZSkKKworICAgICAgICBpZiByZXN1bHQgaXMgU3RvcDoKKyAg
ICAgICAgICAgIHJldHVybiByZXN1bHQKKworICAgICAgICAjIGxvZyByZXN1bHQgb2YgcGFyZW50
IHRlc3QKKyAgICAgICAgaWYgcmVzdWx0WzBdLnN0YXR1cyA9PSAiRVJST1IiOgorICAgICAgICAg
ICAgc2VsZi5sb2dnZXIuZGVidWcocmVzdWx0WzBdLm1lc3NhZ2UpCisKKyAgICAgICAgc2VsZi5s
YXN0X2Vudmlyb25tZW50ID0gdGVzdC5lbnZpcm9ubWVudAorCisgICAgICAgIHNlbGYucnVubmVy
LnNlbmRfbWVzc2FnZSgidGVzdF9lbmRlZCIsIHRlc3QsIHJlc3VsdCkKKworICAgIGRlZiBzZXJ2
ZXJfdXJsKHNlbGYsIHByb3RvY29sKToKKyAgICAgICAgcmV0dXJuICIlczovLyVzOiVzIiAlIChw
cm90b2NvbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9jb25m
aWdbImhvc3QiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9j
b25maWdbInBvcnRzIl1bcHJvdG9jb2xdWzBdKQorCisgICAgZGVmIHRlc3RfdXJsKHNlbGYsIHRl
c3QpOgorICAgICAgICByZXR1cm4gdXJscGFyc2UudXJsam9pbihzZWxmLnNlcnZlcl91cmwodGVz
dC5lbnZpcm9ubWVudFsicHJvdG9jb2wiXSksIHRlc3QudXJsKQorCisgICAgQGFic3RyYWN0bWV0
aG9kCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgICIiIlRlc3QtdHlwZSBh
bmQgcHJvdG9jb2wgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgcnVubmluZyBhCisgICAgICAg
IHNwZWNpZmljIHRlc3QuCisKKyAgICAgICAgOnBhcmFtIHRlc3Q6IFRoZSB0ZXN0IHRvIHJ1bi4i
IiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIG9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLCBu
ZXdfZW52aXJvbm1lbnQpOgorICAgICAgICBwYXNzCisKKyAgICBkZWYgcmVzdWx0X2Zyb21fZXhj
ZXB0aW9uKHNlbGYsIHRlc3QsIGUpOgorICAgICAgICBpZiBoYXNhdHRyKGUsICJzdGF0dXMiKSBh
bmQgZS5zdGF0dXMgaW4gdGVzdC5yZXN1bHRfY2xzLnN0YXR1c2VzOgorICAgICAgICAgICAgc3Rh
dHVzID0gZS5zdGF0dXMKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHN0YXR1cyA9ICJFUlJP
UiIKKyAgICAgICAgbWVzc2FnZSA9IHVuaWNvZGUoZ2V0YXR0cihlLCAibWVzc2FnZSIsICIiKSkK
KyAgICAgICAgaWYgbWVzc2FnZToKKyAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgorICAgICAg
ICBtZXNzYWdlICs9IHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpCisgICAgICAgIHJldHVybiB0ZXN0
LnJlc3VsdF9jbHMoc3RhdHVzLCBtZXNzYWdlKSwgW10KKworCitjbGFzcyBUZXN0aGFybmVzc0V4
ZWN1dG9yKFRlc3RFeGVjdXRvcik6CisgICAgY29udmVydF9yZXN1bHQgPSB0ZXN0aGFybmVzc19y
ZXN1bHRfY29udmVydGVyCisKKworY2xhc3MgUmVmVGVzdEV4ZWN1dG9yKFRlc3RFeGVjdXRvcik6
CisgICAgY29udmVydF9yZXN1bHQgPSByZWZ0ZXN0X3Jlc3VsdF9jb252ZXJ0ZXIKKworICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxp
ZXI9MSwgc2NyZWVuc2hvdF9jYWNoZT1Ob25lLAorICAgICAgICAgICAgICAgICBkZWJ1Z19pbmZv
PU5vbmUpOgorICAgICAgICBUZXN0RXhlY3V0b3IuX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2Vy
dmVyX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXVsdGlw
bGllcj10aW1lb3V0X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
ZWJ1Z19pbmZvPWRlYnVnX2luZm8pCisKKyAgICAgICAgc2VsZi5zY3JlZW5zaG90X2NhY2hlID0g
c2NyZWVuc2hvdF9jYWNoZQorCisKK2NsYXNzIFJlZlRlc3RJbXBsZW1lbnRhdGlvbihvYmplY3Qp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRvcik6CisgICAgICAgIHNlbGYudGltZW91
dF9tdWx0aXBsaWVyID0gZXhlY3V0b3IudGltZW91dF9tdWx0aXBsaWVyCisgICAgICAgIHNlbGYu
ZXhlY3V0b3IgPSBleGVjdXRvcgorICAgICAgICAjIENhY2hlIG9mIHVybDooc2NyZWVuc2hvdCBo
YXNoLCBzY3JlZW5zaG90KS4gVHlwaWNhbGx5IHRoZQorICAgICAgICAjIHNjcmVlbnNob3QgaXMg
Tm9uZSwgYnV0IHdlIHNldCB0aGlzIHZhbHVlIGlmIGEgdGVzdCBmYWlscworICAgICAgICAjIGFu
ZCB0aGUgc2NyZWVuc2hvdCB3YXMgdGFrZW4gZnJvbSB0aGUgY2FjaGUgc28gdGhhdCB3ZSBtYXkK
KyAgICAgICAgIyByZXRyaWV2ZSB0aGUgc2NyZWVuc2hvdCBmcm9tIHRoZSBjYWNoZSBkaXJlY3Rs
eSBpbiB0aGUgZnV0dXJlCisgICAgICAgIHNlbGYuc2NyZWVuc2hvdF9jYWNoZSA9IHNlbGYuZXhl
Y3V0b3Iuc2NyZWVuc2hvdF9jYWNoZQorICAgICAgICBzZWxmLm1lc3NhZ2UgPSBOb25lCisKKyAg
ICBAcHJvcGVydHkKKyAgICBkZWYgbG9nZ2VyKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5l
eGVjdXRvci5sb2dnZXIKKworICAgIGRlZiBnZXRfaGFzaChzZWxmLCB0ZXN0LCB2aWV3cG9ydF9z
aXplLCBkcGkpOgorICAgICAgICB0aW1lb3V0ID0gdGVzdC50aW1lb3V0ICogc2VsZi50aW1lb3V0
X211bHRpcGxpZXIKKyAgICAgICAga2V5ID0gKHRlc3QudXJsLCB2aWV3cG9ydF9zaXplLCBkcGkp
CisKKyAgICAgICAgaWYga2V5IG5vdCBpbiBzZWxmLnNjcmVlbnNob3RfY2FjaGU6CisgICAgICAg
ICAgICBzdWNjZXNzLCBkYXRhID0gc2VsZi5leGVjdXRvci5zY3JlZW5zaG90KHRlc3QsIHZpZXdw
b3J0X3NpemUsIGRwaSkKKworICAgICAgICAgICAgaWYgbm90IHN1Y2Nlc3M6CisgICAgICAgICAg
ICAgICAgcmV0dXJuIEZhbHNlLCBkYXRhCisKKyAgICAgICAgICAgIHNjcmVlbnNob3QgPSBkYXRh
CisgICAgICAgICAgICBoYXNoX3ZhbHVlID0gaGFzaGxpYi5zaGExKHNjcmVlbnNob3QpLmhleGRp
Z2VzdCgpCisKKyAgICAgICAgICAgIHNlbGYuc2NyZWVuc2hvdF9jYWNoZVtrZXldID0gKGhhc2hf
dmFsdWUsIE5vbmUpCisKKyAgICAgICAgICAgIHJ2ID0gKGhhc2hfdmFsdWUsIHNjcmVlbnNob3Qp
CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBydiA9IHNlbGYuc2NyZWVuc2hvdF9jYWNoZVtr
ZXldCisKKyAgICAgICAgc2VsZi5tZXNzYWdlLmFwcGVuZCgiJXMgJXMiICUgKHRlc3QudXJsLCBy
dlswXSkpCisgICAgICAgIHJldHVybiBUcnVlLCBydgorCisgICAgZGVmIGlzX3Bhc3Moc2VsZiwg
bGhzX2hhc2gsIHJoc19oYXNoLCByZWxhdGlvbik6CisgICAgICAgIGFzc2VydCByZWxhdGlvbiBp
biAoIj09IiwgIiE9IikKKyAgICAgICAgc2VsZi5tZXNzYWdlLmFwcGVuZCgiVGVzdGluZyAlcyAl
cyAlcyIgJSAobGhzX2hhc2gsIHJlbGF0aW9uLCByaHNfaGFzaCkpCisgICAgICAgIHJldHVybiAo
KHJlbGF0aW9uID09ICI9PSIgYW5kIGxoc19oYXNoID09IHJoc19oYXNoKSBvcgorICAgICAgICAg
ICAgICAgIChyZWxhdGlvbiA9PSAiIT0iIGFuZCBsaHNfaGFzaCAhPSByaHNfaGFzaCkpCisKKyAg
ICBkZWYgcnVuX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgIHZpZXdwb3J0X3NpemUgPSB0ZXN0
LnZpZXdwb3J0X3NpemUKKyAgICAgICAgZHBpID0gdGVzdC5kcGkKKyAgICAgICAgc2VsZi5tZXNz
YWdlID0gW10KKworICAgICAgICAjIERlcHRoLWZpcnN0IHNlYXJjaCBvZiByZWZlcmVuY2UgdHJl
ZSwgd2l0aCB0aGUgZ29hbAorICAgICAgICAjIG9mIHJlYWNoaW5ncyBhIGxlYWYgbm9kZSB3aXRo
IG9ubHkgcGFzcyByZXN1bHRzCisKKyAgICAgICAgc3RhY2sgPSBsaXN0KCgodGVzdCwgaXRlbVsw
XSksIGl0ZW1bMV0pIGZvciBpdGVtIGluIHJldmVyc2VkKHRlc3QucmVmZXJlbmNlcykpCisgICAg
ICAgIHdoaWxlIHN0YWNrOgorICAgICAgICAgICAgaGFzaGVzID0gW05vbmUsIE5vbmVdCisgICAg
ICAgICAgICBzY3JlZW5zaG90cyA9IFtOb25lLCBOb25lXQorCisgICAgICAgICAgICBub2Rlcywg
cmVsYXRpb24gPSBzdGFjay5wb3AoKQorCisgICAgICAgICAgICBmb3IgaSwgbm9kZSBpbiBlbnVt
ZXJhdGUobm9kZXMpOgorICAgICAgICAgICAgICAgIHN1Y2Nlc3MsIGRhdGEgPSBzZWxmLmdldF9o
YXNoKG5vZGUsIHZpZXdwb3J0X3NpemUsIGRwaSkKKyAgICAgICAgICAgICAgICBpZiBzdWNjZXNz
IGlzIEZhbHNlOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4geyJzdGF0dXMiOiBkYXRhWzBd
LCAibWVzc2FnZSI6IGRhdGFbMV19CisKKyAgICAgICAgICAgICAgICBoYXNoZXNbaV0sIHNjcmVl
bnNob3RzW2ldID0gZGF0YQorCisgICAgICAgICAgICBpZiBzZWxmLmlzX3Bhc3MoaGFzaGVzWzBd
LCBoYXNoZXNbMV0sIHJlbGF0aW9uKToKKyAgICAgICAgICAgICAgICBpZiBub2Rlc1sxXS5yZWZl
cmVuY2VzOgorICAgICAgICAgICAgICAgICAgICBzdGFjay5leHRlbmQobGlzdCgoKG5vZGVzWzFd
LCBpdGVtWzBdKSwgaXRlbVsxXSkgZm9yIGl0ZW0gaW4gcmV2ZXJzZWQobm9kZXNbMV0ucmVmZXJl
bmNlcykpKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgV2Ug
cGFzc2VkCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB7InN0YXR1cyI6IlBBU1MiLCAibWVz
c2FnZSI6IE5vbmV9CisKKyAgICAgICAgIyBXZSBmYWlsZWQsIHNvIGNvbnN0cnVjdCBhIGZhaWx1
cmUgbWVzc2FnZQorCisgICAgICAgIGZvciBpLCAobm9kZSwgc2NyZWVuc2hvdCkgaW4gZW51bWVy
YXRlKHppcChub2Rlcywgc2NyZWVuc2hvdHMpKToKKyAgICAgICAgICAgIGlmIHNjcmVlbnNob3Qg
aXMgTm9uZToKKyAgICAgICAgICAgICAgICBzdWNjZXNzLCBzY3JlZW5zaG90ID0gc2VsZi5yZXRh
a2Vfc2NyZWVuc2hvdChub2RlLCB2aWV3cG9ydF9zaXplLCBkcGkpCisgICAgICAgICAgICAgICAg
aWYgc3VjY2VzczoKKyAgICAgICAgICAgICAgICAgICAgc2NyZWVuc2hvdHNbaV0gPSBzY3JlZW5z
aG90CisKKyAgICAgICAgbG9nX2RhdGEgPSBbeyJ1cmwiOiBub2Rlc1swXS51cmwsICJzY3JlZW5z
aG90Ijogc2NyZWVuc2hvdHNbMF19LCByZWxhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgeyJ1
cmwiOiBub2Rlc1sxXS51cmwsICJzY3JlZW5zaG90Ijogc2NyZWVuc2hvdHNbMV19XQorCisgICAg
ICAgIHJldHVybiB7InN0YXR1cyI6ICJGQUlMIiwKKyAgICAgICAgICAgICAgICAibWVzc2FnZSI6
ICJcbiIuam9pbihzZWxmLm1lc3NhZ2UpLAorICAgICAgICAgICAgICAgICJleHRyYSI6IHsicmVm
dGVzdF9zY3JlZW5zaG90cyI6IGxvZ19kYXRhfX0KKworICAgIGRlZiByZXRha2Vfc2NyZWVuc2hv
dChzZWxmLCBub2RlLCB2aWV3cG9ydF9zaXplLCBkcGkpOgorICAgICAgICBzdWNjZXNzLCBkYXRh
ID0gc2VsZi5leGVjdXRvci5zY3JlZW5zaG90KG5vZGUsIHZpZXdwb3J0X3NpemUsIGRwaSkKKyAg
ICAgICAgaWYgbm90IHN1Y2Nlc3M6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UsIGRhdGEKKwor
ICAgICAgICBrZXkgPSAobm9kZS51cmwsIHZpZXdwb3J0X3NpemUsIGRwaSkKKyAgICAgICAgaGFz
aF92YWwsIF8gPSBzZWxmLnNjcmVlbnNob3RfY2FjaGVba2V5XQorICAgICAgICBzZWxmLnNjcmVl
bnNob3RfY2FjaGVba2V5XSA9IGhhc2hfdmFsLCBkYXRhCisgICAgICAgIHJldHVybiBUcnVlLCBk
YXRhCisKKworY2xhc3MgV2RzcGVjRXhlY3V0b3IoVGVzdEV4ZWN1dG9yKToKKyAgICBjb252ZXJ0
X3Jlc3VsdCA9IHB5dGVzdF9yZXN1bHRfY29udmVydGVyCisKKworY2xhc3MgUHJvdG9jb2wob2Jq
ZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZXhlY3V0b3IsIGJyb3dzZXIpOgorICAgICAg
ICBzZWxmLmV4ZWN1dG9yID0gZXhlY3V0b3IKKyAgICAgICAgc2VsZi5icm93c2VyID0gYnJvd3Nl
cgorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGxvZ2dlcihzZWxmKToKKyAgICAgICAgcmV0dXJu
IHNlbGYuZXhlY3V0b3IubG9nZ2VyCisKKyAgICBkZWYgc2V0dXAoc2VsZiwgcnVubmVyKToKKyAg
ICAgICAgcGFzcworCisgICAgZGVmIHRlYXJkb3duKHNlbGYpOgorICAgICAgICBwYXNzCisKKyAg
ICBkZWYgd2FpdChzZWxmKToKKyAgICAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy9leGVjdXRvcm1hcmlvbmV0dGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3Jz
L2V4ZWN1dG9ybWFyaW9uZXR0ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMWU2NTA5YWYxNjczODljYWViY2U4
MmJmNGI0ZDhkNDAwMmZhMzE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1
dG9ycy9leGVjdXRvcm1hcmlvbmV0dGUucHkKQEAgLTAsMCArMSw2MTggQEAKK2ltcG9ydCBoYXNo
bGliCitpbXBvcnQgaHR0cGxpYgoraW1wb3J0IG9zCitpbXBvcnQgc29ja2V0CitpbXBvcnQgdGhy
ZWFkaW5nCitpbXBvcnQgdGltZQoraW1wb3J0IHRyYWNlYmFjaworaW1wb3J0IHVybHBhcnNlCitp
bXBvcnQgdXVpZAorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3QKKworZnJvbSAu
LndwdHRlc3QgaW1wb3J0IFdkc3BlY1Jlc3VsdCwgV2RzcGVjU3VidGVzdFJlc3VsdAorCitlcnJv
cnMgPSBOb25lCittYXJpb25ldHRlID0gTm9uZQorcHl0ZXN0cnVubmVyID0gTm9uZQorCitoZXJl
ID0gb3MucGF0aC5qb2luKG9zLnBhdGguc3BsaXQoX19maWxlX18pWzBdKQorCitmcm9tIC5iYXNl
IGltcG9ydCAoRXhlY3V0b3JFeGNlcHRpb24sCisgICAgICAgICAgICAgICAgICAgUHJvdG9jb2ws
CisgICAgICAgICAgICAgICAgICAgUmVmVGVzdEV4ZWN1dG9yLAorICAgICAgICAgICAgICAgICAg
IFJlZlRlc3RJbXBsZW1lbnRhdGlvbiwKKyAgICAgICAgICAgICAgICAgICBUZXN0RXhlY3V0b3Is
CisgICAgICAgICAgICAgICAgICAgVGVzdGhhcm5lc3NFeGVjdXRvciwKKyAgICAgICAgICAgICAg
ICAgICB0ZXN0aGFybmVzc19yZXN1bHRfY29udmVydGVyLAorICAgICAgICAgICAgICAgICAgIHJl
ZnRlc3RfcmVzdWx0X2NvbnZlcnRlciwKKyAgICAgICAgICAgICAgICAgICBzdHJpcF9zZXJ2ZXIs
CisgICAgICAgICAgICAgICAgICAgV2RzcGVjRXhlY3V0b3IpCitmcm9tIC4udGVzdHJ1bm5lciBp
bXBvcnQgU3RvcAorZnJvbSAuLndlYmRyaXZlcl9zZXJ2ZXIgaW1wb3J0IEdlY2tvRHJpdmVyU2Vy
dmVyCisKKyMgRXh0cmEgdGltZW91dCB0byB1c2UgYWZ0ZXIgaW50ZXJuYWwgdGVzdCB0aW1lb3V0
IGF0IHdoaWNoIHRoZSBoYXJuZXNzCisjIHNob3VsZCBmb3JjZSBhIHRpbWVvdXQKK2V4dHJhX3Rp
bWVvdXQgPSA1ICMgc2Vjb25kcworCisKK2RlZiBkb19kZWxheWVkX2ltcG9ydHMoKToKKyAgICBn
bG9iYWwgZXJyb3JzLCBtYXJpb25ldHRlCisKKyAgICAjIE1hcmlvbmV0dGUgY2xpZW50IHVzZWQg
dG8gYmUgY2FsbGVkIG1hcmlvbmV0dGUsIHJlY2VudGx5IGl0IGNoYW5nZWQKKyAgICAjIHRvIG1h
cmlvbmV0dGVfZHJpdmVyIGZvciB1bmZhdGhvbWFibGUgcmVhc29ucworICAgIHRyeToKKyAgICAg
ICAgaW1wb3J0IG1hcmlvbmV0dGUKKyAgICAgICAgZnJvbSBtYXJpb25ldHRlIGltcG9ydCBlcnJv
cnMKKyAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgIGZyb20gbWFyaW9uZXR0ZV9kcml2
ZXIgaW1wb3J0IG1hcmlvbmV0dGUsIGVycm9ycworCisKK2NsYXNzIE1hcmlvbmV0dGVQcm90b2Nv
bChQcm90b2NvbCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4ZWN1dG9yLCBicm93c2VyKToK
KyAgICAgICAgZG9fZGVsYXllZF9pbXBvcnRzKCkKKworICAgICAgICBQcm90b2NvbC5fX2luaXRf
XyhzZWxmLCBleGVjdXRvciwgYnJvd3NlcikKKyAgICAgICAgc2VsZi5tYXJpb25ldHRlID0gTm9u
ZQorICAgICAgICBzZWxmLm1hcmlvbmV0dGVfcG9ydCA9IGJyb3dzZXIubWFyaW9uZXR0ZV9wb3J0
CisgICAgICAgIHNlbGYudGltZW91dCA9IE5vbmUKKyAgICAgICAgc2VsZi5ydW5uZXJfaGFuZGxl
ID0gTm9uZQorCisgICAgZGVmIHNldHVwKHNlbGYsIHJ1bm5lcik6CisgICAgICAgICIiIkNvbm5l
Y3QgdG8gYnJvd3NlciB2aWEgTWFyaW9uZXR0ZS4iIiIKKyAgICAgICAgUHJvdG9jb2wuc2V0dXAo
c2VsZiwgcnVubmVyKQorCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJDb25uZWN0aW5nIHRv
IE1hcmlvbmV0dGUgb24gcG9ydCAlaSIgJSBzZWxmLm1hcmlvbmV0dGVfcG9ydCkKKyAgICAgICAg
c2VsZi5tYXJpb25ldHRlID0gbWFyaW9uZXR0ZS5NYXJpb25ldHRlKGhvc3Q9J2xvY2FsaG9zdCcs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0PXNl
bGYubWFyaW9uZXR0ZV9wb3J0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc29ja2V0X3RpbWVvdXQ9Tm9uZSkKKworICAgICAgICAjIFhYWCBNb3ZlIHRo
aXMgdGltZW91dCBzb21ld2hlcmUKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIldhaXRpbmcg
Zm9yIE1hcmlvbmV0dGUgY29ubmVjdGlvbiIpCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAg
ICAgICBzdWNjZXNzID0gc2VsZi5tYXJpb25ldHRlLndhaXRfZm9yX3BvcnQoNjApCisgICAgICAg
ICAgICAjV2hlbiBydW5uaW5nIGluIGEgZGVidWdnZXIgd2FpdCBpbmRlZmluaXRlbHkgZm9yIGZp
cmVmb3ggdG8gc3RhcnQKKyAgICAgICAgICAgIGlmIHN1Y2Nlc3Mgb3Igc2VsZi5leGVjdXRvci5k
ZWJ1Z19pbmZvIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICBzZXNz
aW9uX3N0YXJ0ZWQgPSBGYWxzZQorICAgICAgICBpZiBzdWNjZXNzOgorICAgICAgICAgICAgdHJ5
OgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJTdGFydGluZyBNYXJpb25ldHRl
IHNlc3Npb24iKQorICAgICAgICAgICAgICAgIHNlbGYubWFyaW9uZXR0ZS5zdGFydF9zZXNzaW9u
KCkKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICBz
ZWxmLmxvZ2dlci53YXJuaW5nKCJTdGFydGluZyBtYXJpb25ldHRlIHNlc3Npb24gZmFpbGVkOiAl
cyIgJSBlKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5k
ZWJ1ZygiTWFyaW9uZXR0ZSBzZXNzaW9uIHN0YXJ0ZWQiKQorICAgICAgICAgICAgICAgIHNlc3Np
b25fc3RhcnRlZCA9IFRydWUKKworICAgICAgICBpZiBub3Qgc3VjY2VzcyBvciBub3Qgc2Vzc2lv
bl9zdGFydGVkOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIud2FybmluZygiRmFpbGVkIHRvIGNv
bm5lY3QgdG8gTWFyaW9uZXR0ZSIpCisgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yLnJ1bm5lci5z
ZW5kX21lc3NhZ2UoImluaXRfZmFpbGVkIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHRy
eToKKyAgICAgICAgICAgICAgICBzZWxmLmFmdGVyX2Nvbm5lY3QoKQorICAgICAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKCJQb3N0
LWNvbm5lY3Rpb24gc3RlcHMgZmFpbGVkIikKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5l
cnJvcih0cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0
b3IucnVubmVyLnNlbmRfbWVzc2FnZSgiaW5pdF9mYWlsZWQiKQorICAgICAgICAgICAgZWxzZToK
KyAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yLnJ1bm5lci5zZW5kX21lc3NhZ2UoImluaXRf
c3VjY2VlZGVkIikKKworICAgIGRlZiB0ZWFyZG93bihzZWxmKToKKyAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgc2VsZi5tYXJpb25ldHRlLl9yZXF1ZXN0X2luX2FwcF9zaHV0ZG93bigpCisgICAg
ICAgICAgICBzZWxmLm1hcmlvbmV0dGUuZGVsZXRlX3Nlc3Npb24oc2VuZF9yZXF1ZXN0PUZhbHNl
LCByZXNldF9zZXNzaW9uX2lkPVRydWUpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAg
ICAgICAgICAjIFRoaXMgaXMgdHlwaWNhbGx5IGJlY2F1c2UgdGhlIHNlc3Npb24gbmV2ZXIgc3Rh
cnRlZAorICAgICAgICAgICAgcGFzcworICAgICAgICBpZiBzZWxmLm1hcmlvbmV0dGUgaXMgbm90
IE5vbmU6CisgICAgICAgICAgICBkZWwgc2VsZi5tYXJpb25ldHRlCisKKyAgICBAcHJvcGVydHkK
KyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgICIiIkNoZWNrIGlmIHRoZSBNYXJpb25l
dHRlIGNvbm5lY3Rpb24gaXMgc3RpbGwgYWN0aXZlLiIiIgorICAgICAgICB0cnk6CisgICAgICAg
ICAgICBzZWxmLm1hcmlvbmV0dGUuY3VycmVudF93aW5kb3dfaGFuZGxlCisgICAgICAgIGV4Y2Vw
dCBFeGNlcHRpb246CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRy
dWUKKworICAgIGRlZiBhZnRlcl9jb25uZWN0KHNlbGYpOgorICAgICAgICBzZWxmLmxvYWRfcnVu
bmVyKHNlbGYuZXhlY3V0b3IubGFzdF9lbnZpcm9ubWVudFsicHJvdG9jb2wiXSkKKworICAgIGRl
ZiBzZXRfdGltZW91dChzZWxmLCB0aW1lb3V0KToKKyAgICAgICAgIiIiU2V0IHRoZSBNYXJpb25l
dHRlIHNjcmlwdCB0aW1lb3V0LgorCisgICAgICAgIDpwYXJhbSB0aW1lb3V0OiBTY3JpcHQgdGlt
ZW91dCBpbiBzZWNvbmRzCisKKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYubWFyaW9uZXR0ZS50
aW1lb3V0LnNjcmlwdCA9IHRpbWVvdXQKKyAgICAgICAgc2VsZi50aW1lb3V0ID0gdGltZW91dAor
CisgICAgZGVmIGxvYWRfcnVubmVyKHNlbGYsIHByb3RvY29sKToKKyAgICAgICAgIyBDaGVjayBp
ZiB3ZSBwcmV2aW91c2x5IGhhZCBhIHRlc3Qgd2luZG93IG9wZW4sIGFuZCBpZiB3ZSBkaWQgbWFr
ZSBzdXJlIGl0J3MgY2xvc2VkCisgICAgICAgIHNlbGYubWFyaW9uZXR0ZS5leGVjdXRlX3Njcmlw
dCgiaWYgKHdpbmRvdy53cmFwcGVkSlNPYmplY3Qud2luKSB7d2luZG93LndyYXBwZWRKU09iamVj
dC53aW4uY2xvc2UoKX0iKQorICAgICAgICB1cmwgPSB1cmxwYXJzZS51cmxqb2luKHNlbGYuZXhl
Y3V0b3Iuc2VydmVyX3VybChwcm90b2NvbCksICIvdGVzdGhhcm5lc3NfcnVubmVyLmh0bWwiKQor
ICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiTG9hZGluZyAlcyIgJSB1cmwpCisgICAgICAgIHNl
bGYucnVubmVyX2hhbmRsZSA9IHNlbGYubWFyaW9uZXR0ZS5jdXJyZW50X3dpbmRvd19oYW5kbGUK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRlLm5hdmlnYXRlKHVybCkK
KyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIu
Y3JpdGljYWwoCisgICAgICAgICAgICAgICAgIkxvYWRpbmcgaW5pdGlhbCBwYWdlICVzIGZhaWxl
ZC4gRW5zdXJlIHRoYXQgdGhlICIKKyAgICAgICAgICAgICAgICAidGhlcmUgYXJlIG5vIG90aGVy
IHByb2dyYW1zIGJvdW5kIHRvIHRoaXMgcG9ydCBhbmQgIgorICAgICAgICAgICAgICAgICJ0aGF0
IHlvdXIgZmlyZXdhbGwgcnVsZXMgb3IgbmV0d29yayBzZXR1cCBkb2VzIG5vdCAiCisgICAgICAg
ICAgICAgICAgInByZXZlbnQgYWNjZXNzLlxlJXMiICUgKHVybCwgdHJhY2ViYWNrLmZvcm1hdF9l
eGMoZSkpKQorICAgICAgICBzZWxmLm1hcmlvbmV0dGUuZXhlY3V0ZV9zY3JpcHQoCisgICAgICAg
ICAgICAiZG9jdW1lbnQudGl0bGUgPSAnJXMnIiAlIHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgp
Lm5hbWUucmVwbGFjZSgiJyIsICciJykpCisKKyAgICBkZWYgY2xvc2Vfb2xkX3dpbmRvd3Moc2Vs
ZiwgcHJvdG9jb2wpOgorICAgICAgICBoYW5kbGVzID0gc2VsZi5tYXJpb25ldHRlLndpbmRvd19o
YW5kbGVzCisgICAgICAgIHJ1bm5lcl9oYW5kbGUgPSBOb25lCisgICAgICAgIHRyeToKKyAgICAg
ICAgICAgIGhhbmRsZXMucmVtb3ZlKHNlbGYucnVubmVyX2hhbmRsZSkKKyAgICAgICAgICAgIHJ1
bm5lcl9oYW5kbGUgPSBzZWxmLnJ1bm5lcl9oYW5kbGUKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJy
b3I6CisgICAgICAgICAgICAjIFRoZSBydW5uZXIgd2luZG93IHByb2JhYmx5IGNoYW5nZWQgaWQg
YnV0IHdlIGNhbiByZXN0b3JlIGl0CisgICAgICAgICAgICAjIFRoaXMgaXNuJ3Qgc3VwcG9zZWQg
dG8gaGFwcGVuLCBidXQgbWFyaW9uZXR0ZSBpZHMgYXJlIG5vdCB5ZXQgc3RhYmxlCisgICAgICAg
ICAgICAjIFdlIGFzc3VtZSB0aGF0IHRoZSBmaXJzdCBoYW5kbGUgcmV0dXJuZWQgY29ycmVzcG9u
ZHMgdG8gdGhlIHJ1bm5lciwKKyAgICAgICAgICAgICMgYnV0IGl0IGhvcGVmdWxseSBkb2Vzbid0
IG1hdHRlciB0b28gbXVjaCBpZiB0aGF0IGFzc3VtcHRpb24gaXMKKyAgICAgICAgICAgICMgd3Jv
bmcgc2luY2Ugd2UgcmVsb2FkIHRoZSBydW5uZXIgaW4gdGhhdCB0YWIgYW55d2F5LgorICAgICAg
ICAgICAgcnVubmVyX2hhbmRsZSA9IGhhbmRsZXMucG9wKDApCisKKyAgICAgICAgZm9yIGhhbmRs
ZSBpbiBoYW5kbGVzOgorICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRlLnN3aXRjaF90b193aW5k
b3coaGFuZGxlKQorICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRlLmNsb3NlKCkKKworICAgICAg
ICBzZWxmLm1hcmlvbmV0dGUuc3dpdGNoX3RvX3dpbmRvdyhydW5uZXJfaGFuZGxlKQorICAgICAg
ICBpZiBydW5uZXJfaGFuZGxlICE9IHNlbGYucnVubmVyX2hhbmRsZToKKyAgICAgICAgICAgIHNl
bGYubG9hZF9ydW5uZXIocHJvdG9jb2wpCisKKyAgICBkZWYgd2FpdChzZWxmKToKKyAgICAgICAg
c29ja2V0X3RpbWVvdXQgPSBzZWxmLm1hcmlvbmV0dGUuY2xpZW50LnNvY2suZ2V0dGltZW91dCgp
CisgICAgICAgIGlmIHNvY2tldF90aW1lb3V0OgorICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRl
LnRpbWVvdXQuc2NyaXB0ID0gc29ja2V0X3RpbWVvdXQgLyAyCisKKyAgICAgICAgd2hpbGUgVHJ1
ZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLm1hcmlvbmV0dGUuZXhl
Y3V0ZV9hc3luY19zY3JpcHQoIiIpCisgICAgICAgICAgICBleGNlcHQgZXJyb3JzLlNjcmlwdFRp
bWVvdXRFeGNlcHRpb246CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlNjcmlw
dCB0aW1lZCBvdXQiKQorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGV4Y2VwdCAo
c29ja2V0LnRpbWVvdXQsIElPRXJyb3IpOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRl
YnVnKCJTb2NrZXQgY2xvc2VkIikKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAg
ZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9y
KHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpKQorICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICBk
ZWYgb25fZW52aXJvbm1lbnRfY2hhbmdlKHNlbGYsIG9sZF9lbnZpcm9ubWVudCwgbmV3X2Vudmly
b25tZW50KToKKyAgICAgICAgI1Vuc2V0IGFsbCB0aGUgb2xkIHByZWZzCisgICAgICAgIGZvciBu
YW1lIGluIG9sZF9lbnZpcm9ubWVudC5nZXQoInByZWZzIiwge30pLml0ZXJrZXlzKCk6CisgICAg
ICAgICAgICB2YWx1ZSA9IHNlbGYuZXhlY3V0b3Iub3JpZ2luYWxfcHJlZl92YWx1ZXNbbmFtZV0K
KyAgICAgICAgICAgIGlmIHZhbHVlIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgc2VsZi5jbGVh
cl91c2VyX3ByZWYobmFtZSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2Vs
Zi5zZXRfcHJlZihuYW1lLCB2YWx1ZSkKKworICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4gbmV3
X2Vudmlyb25tZW50LmdldCgicHJlZnMiLCB7fSkuaXRlcml0ZW1zKCk6CisgICAgICAgICAgICBz
ZWxmLmV4ZWN1dG9yLm9yaWdpbmFsX3ByZWZfdmFsdWVzW25hbWVdID0gc2VsZi5nZXRfcHJlZihu
YW1lKQorICAgICAgICAgICAgc2VsZi5zZXRfcHJlZihuYW1lLCB2YWx1ZSkKKworICAgIGRlZiBz
ZXRfcHJlZihzZWxmLCBuYW1lLCB2YWx1ZSk6CisgICAgICAgIGlmIHZhbHVlLmxvd2VyKCkgbm90
IGluICgidHJ1ZSIsICJmYWxzZSIpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAg
IGludCh2YWx1ZSkKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAg
ICAgIHZhbHVlID0gIiclcyciICUgdmFsdWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHZh
bHVlID0gdmFsdWUubG93ZXIoKQorCisgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oIlNldHRpbmcg
cHJlZiAlcyAoJXMpIiAlIChuYW1lLCB2YWx1ZSkpCisKKyAgICAgICAgc2NyaXB0ID0gIiIiCisg
ICAgICAgICAgICBsZXQgcHJlZkludGVyZmFjZSA9IENvbXBvbmVudHMuY2xhc3Nlc1siQG1vemls
bGEub3JnL3ByZWZlcmVuY2VzLXNlcnZpY2U7MSJdCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAuZ2V0U2VydmljZShDb21wb25lbnRzLmludGVyZmFjZXMubnNJUHJl
ZkJyYW5jaCk7CisgICAgICAgICAgICBsZXQgcHJlZiA9ICclcyc7CisgICAgICAgICAgICBsZXQg
dHlwZSA9IHByZWZJbnRlcmZhY2UuZ2V0UHJlZlR5cGUocHJlZik7CisgICAgICAgICAgICBsZXQg
dmFsdWUgPSAlczsKKyAgICAgICAgICAgIHN3aXRjaCh0eXBlKSB7CisgICAgICAgICAgICAgICAg
Y2FzZSBwcmVmSW50ZXJmYWNlLlBSRUZfU1RSSU5HOgorICAgICAgICAgICAgICAgICAgICBwcmVm
SW50ZXJmYWNlLnNldENoYXJQcmVmKHByZWYsIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBwcmVmSW50ZXJmYWNlLlBSRUZfQk9PTDoKKyAg
ICAgICAgICAgICAgICAgICAgcHJlZkludGVyZmFjZS5zZXRCb29sUHJlZihwcmVmLCB2YWx1ZSk7
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgcHJlZklu
dGVyZmFjZS5QUkVGX0lOVDoKKyAgICAgICAgICAgICAgICAgICAgcHJlZkludGVyZmFjZS5zZXRJ
bnRQcmVmKHByZWYsIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAiIiIgJSAobmFtZSwgdmFsdWUpCisgICAgICAgIHdpdGggc2Vs
Zi5tYXJpb25ldHRlLnVzaW5nX2NvbnRleHQoc2VsZi5tYXJpb25ldHRlLkNPTlRFWFRfQ0hST01F
KToKKyAgICAgICAgICAgIHNlbGYubWFyaW9uZXR0ZS5leGVjdXRlX3NjcmlwdChzY3JpcHQpCisK
KyAgICBkZWYgY2xlYXJfdXNlcl9wcmVmKHNlbGYsIG5hbWUpOgorICAgICAgICBzZWxmLmxvZ2dl
ci5pbmZvKCJDbGVhcmluZyBwcmVmICVzIiAlIChuYW1lKSkKKyAgICAgICAgc2NyaXB0ID0gIiIi
CisgICAgICAgICAgICBsZXQgcHJlZkludGVyZmFjZSA9IENvbXBvbmVudHMuY2xhc3Nlc1siQG1v
emlsbGEub3JnL3ByZWZlcmVuY2VzLXNlcnZpY2U7MSJdCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmljZShDb21wb25lbnRzLmludGVyZmFjZXMubnNJ
UHJlZkJyYW5jaCk7CisgICAgICAgICAgICBsZXQgcHJlZiA9ICclcyc7CisgICAgICAgICAgICBw
cmVmSW50ZXJmYWNlLmNsZWFyVXNlclByZWYocHJlZik7CisgICAgICAgICAgICAiIiIgJSBuYW1l
CisgICAgICAgIHdpdGggc2VsZi5tYXJpb25ldHRlLnVzaW5nX2NvbnRleHQoc2VsZi5tYXJpb25l
dHRlLkNPTlRFWFRfQ0hST01FKToKKyAgICAgICAgICAgIHNlbGYubWFyaW9uZXR0ZS5leGVjdXRl
X3NjcmlwdChzY3JpcHQpCisKKyAgICBkZWYgZ2V0X3ByZWYoc2VsZiwgbmFtZSk6CisgICAgICAg
IHNjcmlwdCA9ICIiIgorICAgICAgICAgICAgbGV0IHByZWZJbnRlcmZhY2UgPSBDb21wb25lbnRz
LmNsYXNzZXNbIkBtb3ppbGxhLm9yZy9wcmVmZXJlbmNlcy1zZXJ2aWNlOzEiXQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldFNlcnZpY2UoQ29tcG9uZW50cy5p
bnRlcmZhY2VzLm5zSVByZWZCcmFuY2gpOworICAgICAgICAgICAgbGV0IHByZWYgPSAnJXMnOwor
ICAgICAgICAgICAgbGV0IHR5cGUgPSBwcmVmSW50ZXJmYWNlLmdldFByZWZUeXBlKHByZWYpOwor
ICAgICAgICAgICAgc3dpdGNoKHR5cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlIHByZWZJbnRl
cmZhY2UuUFJFRl9TVFJJTkc6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmVmSW50ZXJm
YWNlLmdldENoYXJQcmVmKHByZWYpOworICAgICAgICAgICAgICAgIGNhc2UgcHJlZkludGVyZmFj
ZS5QUkVGX0JPT0w6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmVmSW50ZXJmYWNlLmdl
dEJvb2xQcmVmKHByZWYpOworICAgICAgICAgICAgICAgIGNhc2UgcHJlZkludGVyZmFjZS5QUkVG
X0lOVDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZJbnRlcmZhY2UuZ2V0SW50UHJl
ZihwcmVmKTsKKyAgICAgICAgICAgICAgICBjYXNlIHByZWZJbnRlcmZhY2UuUFJFRl9JTlZBTElE
OgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICIiIiAlIG5hbWUKKyAgICAgICAgd2l0aCBzZWxmLm1hcmlvbmV0dGUudXNpbmdfY29u
dGV4dChzZWxmLm1hcmlvbmV0dGUuQ09OVEVYVF9DSFJPTUUpOgorICAgICAgICAgICAgc2VsZi5t
YXJpb25ldHRlLmV4ZWN1dGVfc2NyaXB0KHNjcmlwdCkKKworICAgIGRlZiBjbGVhcl9vcmlnaW4o
c2VsZiwgdXJsKToKKyAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiQ2xlYXJpbmcgb3JpZ2luICVz
IiAlICh1cmwpKQorICAgICAgICBzY3JpcHQgPSAiIiIKKyAgICAgICAgICAgIGxldCB1cmwgPSAn
JXMnOworICAgICAgICAgICAgbGV0IHVyaSA9IENvbXBvbmVudHMuY2xhc3Nlc1siQG1vemlsbGEu
b3JnL25ldHdvcmsvaW8tc2VydmljZTsxIl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLmdldFNlcnZpY2UoQ2kubnNJSU9TZXJ2aWNlKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAubmV3VVJJKHVybCk7CisgICAgICAgICAgICBsZXQgc3NtID0gQ29tcG9uZW50cy5j
bGFzc2VzWyJAbW96aWxsYS5vcmcvc2NyaXB0c2VjdXJpdHltYW5hZ2VyOzEiXQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmljZShDaS5uc0lTY3JpcHRTZWN1cml0eU1h
bmFnZXIpOworICAgICAgICAgICAgbGV0IHByaW5jaXBhbCA9IHNzbS5jcmVhdGVDb2RlYmFzZVBy
aW5jaXBhbCh1cmksIHt9KTsKKyAgICAgICAgICAgIGxldCBxbXMgPSBDb21wb25lbnRzLmNsYXNz
ZXNbIkBtb3ppbGxhLm9yZy9kb20vcXVvdGEtbWFuYWdlci1zZXJ2aWNlOzEiXQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmljZShDb21wb25lbnRzLmludGVyZmFjZXMu
bnNJUXVvdGFNYW5hZ2VyU2VydmljZSk7CisgICAgICAgICAgICBxbXMuY2xlYXJTdG9yYWdlc0Zv
clByaW5jaXBhbChwcmluY2lwYWwsICJkZWZhdWx0IiwgdHJ1ZSk7CisgICAgICAgICAgICAiIiIg
JSB1cmwKKyAgICAgICAgd2l0aCBzZWxmLm1hcmlvbmV0dGUudXNpbmdfY29udGV4dChzZWxmLm1h
cmlvbmV0dGUuQ09OVEVYVF9DSFJPTUUpOgorICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRlLmV4
ZWN1dGVfc2NyaXB0KHNjcmlwdCkKKworCitjbGFzcyBSZW1vdGVNYXJpb25ldHRlUHJvdG9jb2wo
UHJvdG9jb2wpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRvciwgYnJvd3Nlcik6Cisg
ICAgICAgIGRvX2RlbGF5ZWRfaW1wb3J0cygpCisgICAgICAgIFByb3RvY29sLl9faW5pdF9fKHNl
bGYsIGV4ZWN1dG9yLCBicm93c2VyKQorICAgICAgICBzZWxmLndlYmRyaXZlcl9iaW5hcnkgPSBl
eGVjdXRvci53ZWJkcml2ZXJfYmluYXJ5CisgICAgICAgIHNlbGYud2ViZHJpdmVyX2FyZ3MgPSBl
eGVjdXRvci53ZWJkcml2ZXJfYXJncworICAgICAgICBzZWxmLmNhcGFiaWxpdGllcyA9IHNlbGYu
ZXhlY3V0b3IuY2FwYWJpbGl0aWVzCisgICAgICAgIHNlbGYuc2Vzc2lvbl9jb25maWcgPSBOb25l
CisgICAgICAgIHNlbGYuc2VydmVyID0gTm9uZQorCisgICAgZGVmIHNldHVwKHNlbGYsIHJ1bm5l
cik6CisgICAgICAgICIiIkNvbm5lY3QgdG8gYnJvd3NlciB2aWEgdGhlIE1hcmlvbmV0dGUgSFRU
UCBzZXJ2ZXIuIiIiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuc2VydmVyID0gR2Vj
a29Ecml2ZXJTZXJ2ZXIoCisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIsCisgICAgICAgICAg
ICAgICAgYmluYXJ5PXNlbGYud2ViZHJpdmVyX2JpbmFyeSwKKyAgICAgICAgICAgICAgICBhcmdz
PXNlbGYud2ViZHJpdmVyX2FyZ3MpCisgICAgICAgICAgICBzZWxmLnNlcnZlci5zdGFydChibG9j
az1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oCisgICAgICAgICAgICAgICAg
IldlYkRyaXZlciBIVFRQIHNlcnZlciBsaXN0ZW5pbmcgYXQgJXMiICUgc2VsZi5zZXJ2ZXIudXJs
KQorICAgICAgICAgICAgc2VsZi5zZXNzaW9uX2NvbmZpZyA9IHsiaG9zdCI6IHNlbGYuc2VydmVy
Lmhvc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3J0Ijogc2VsZi5z
ZXJ2ZXIucG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNhcGFiaWxp
dGllcyI6IHNlbGYuY2FwYWJpbGl0aWVzfQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAg
ICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IodHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICAg
ICAgICAgIHNlbGYuZXhlY3V0b3IucnVubmVyLnNlbmRfbWVzc2FnZSgiaW5pdF9mYWlsZWQiKQor
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5leGVjdXRvci5ydW5uZXIuc2VuZF9tZXNz
YWdlKCJpbml0X3N1Y2NlZWRlZCIpCisKKyAgICBkZWYgdGVhcmRvd24oc2VsZik6CisgICAgICAg
IGlmIHNlbGYuc2VydmVyIGlzIG5vdCBOb25lIGFuZCBzZWxmLnNlcnZlci5pc19hbGl2ZToKKyAg
ICAgICAgICAgIHNlbGYuc2VydmVyLnN0b3AoKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGlz
X2FsaXZlKHNlbGYpOgorICAgICAgICAiIiJUZXN0IHRoYXQgdGhlIE1hcmlvbmV0dGUgY29ubmVj
dGlvbiBpcyBzdGlsbCBhbGl2ZS4KKworICAgICAgICBCZWNhdXNlIHRoZSByZW1vdGUgY29tbXVu
aWNhdGlvbiBoYXBwZW5zIG92ZXIgSFRUUCB3ZSBuZWVkIHRvCisgICAgICAgIG1ha2UgYW4gZXhw
bGljaXQgcmVxdWVzdCB0byB0aGUgcmVtb3RlLiAgSXQgaXMgYWxsb3dlZCBmb3IKKyAgICAgICAg
V2ViRHJpdmVyIHNwZWMgdGVzdHMgdG8gbm90IGhhdmUgYSBXZWJEcml2ZXIgc2Vzc2lvbiwgc2lu
Y2UgdGhpcworICAgICAgICBtYXkgYmUgd2hhdCBpcyB0ZXN0ZWQuCisKKyAgICAgICAgQW4gSFRU
UCByZXF1ZXN0IHRvIGFuIGludmFsaWQgcGF0aCB0aGF0IHJlc3VsdHMgaW4gYSA0MDQgaXMKKyAg
ICAgICAgcHJvb2YgZW5vdWdoIHRvIHVzIHRoYXQgdGhlIHNlcnZlciBpcyBhbGl2ZSBhbmQga2lj
a2luZy4KKyAgICAgICAgIiIiCisgICAgICAgIGNvbm4gPSBodHRwbGliLkhUVFBDb25uZWN0aW9u
KHNlbGYuc2VydmVyLmhvc3QsIHNlbGYuc2VydmVyLnBvcnQpCisgICAgICAgIGNvbm4ucmVxdWVz
dCgiSEVBRCIsIHNlbGYuc2VydmVyLmJhc2VfcGF0aCArICJpbnZhbGlkIikKKyAgICAgICAgcmVz
ID0gY29ubi5nZXRyZXNwb25zZSgpCisgICAgICAgIHJldHVybiByZXMuc3RhdHVzID09IDQwNAor
CisKK2NsYXNzIEV4ZWN1dGVBc3luY1NjcmlwdFJ1bihvYmplY3QpOgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBsb2dnZXIsIGZ1bmMsIHByb3RvY29sLCB1cmwsIHRpbWVvdXQpOgorICAgICAgICBz
ZWxmLmxvZ2dlciA9IGxvZ2dlcgorICAgICAgICBzZWxmLnJlc3VsdCA9IChOb25lLCBOb25lKQor
ICAgICAgICBzZWxmLnByb3RvY29sID0gcHJvdG9jb2wKKyAgICAgICAgc2VsZi5tYXJpb25ldHRl
ID0gcHJvdG9jb2wubWFyaW9uZXR0ZQorICAgICAgICBzZWxmLmZ1bmMgPSBmdW5jCisgICAgICAg
IHNlbGYudXJsID0gdXJsCisgICAgICAgIHNlbGYudGltZW91dCA9IHRpbWVvdXQKKyAgICAgICAg
c2VsZi5yZXN1bHRfZmxhZyA9IHRocmVhZGluZy5FdmVudCgpCisKKyAgICBkZWYgcnVuKHNlbGYp
OgorICAgICAgICBpbmRleCA9IHNlbGYudXJsLnJmaW5kKCIvc3RvcmFnZS8iKTsKKyAgICAgICAg
aWYgaW5kZXggIT0gLTE6CisgICAgICAgICAgICAjIENsZWFyIHN0b3JhZ2UKKyAgICAgICAgICAg
IHNlbGYucHJvdG9jb2wuY2xlYXJfb3JpZ2luKHNlbGYudXJsKQorCisgICAgICAgIHRpbWVvdXQg
PSBzZWxmLnRpbWVvdXQKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiB0aW1lb3V0IGlz
IG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGlmIHRpbWVvdXQgKyBleHRyYV90aW1lb3V0ICE9
IHNlbGYucHJvdG9jb2wudGltZW91dDoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm90b2Nv
bC5zZXRfdGltZW91dCh0aW1lb3V0ICsgZXh0cmFfdGltZW91dCkKKyAgICAgICAgICAgIGVsc2U6
CisgICAgICAgICAgICAgICAgIyBXZSBqdXN0IHdhbnQgaXQgdG8gbmV2ZXIgdGltZSBvdXQsIHJl
YWxseSwgYnV0IG1hcmlvbmV0dGUgZG9lc24ndAorICAgICAgICAgICAgICAgICMgbWFrZSB0aGF0
IHBvc3NpYmxlLiBJdCBhbHNvIHNlZW1zIHRvIHRpbWUgb3V0IGltbWVkaWF0ZWx5IGlmIHRoZQor
ICAgICAgICAgICAgICAgICMgdGltZW91dCBpcyBzZXQgdG9vIGhpZ2guIFRoaXMgd29ya3MgYXQg
bGVhc3QuCisgICAgICAgICAgICAgICAgc2VsZi5wcm90b2NvbC5zZXRfdGltZW91dCgyKioyOCAt
IDEpCisgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJy
b3IoIkxvc3QgbWFyaW9uZXR0ZSBjb25uZWN0aW9uIGJlZm9yZSBzdGFydGluZyB0ZXN0IikKKyAg
ICAgICAgICAgIHJldHVybiBTdG9wCisKKyAgICAgICAgZXhlY3V0b3IgPSB0aHJlYWRpbmcuVGhy
ZWFkKHRhcmdldCA9IHNlbGYuX3J1bikKKyAgICAgICAgZXhlY3V0b3Iuc3RhcnQoKQorCisgICAg
ICAgIGlmIHRpbWVvdXQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICB3YWl0X3RpbWVvdXQgPSB0
aW1lb3V0ICsgMiAqIGV4dHJhX3RpbWVvdXQKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHdh
aXRfdGltZW91dCA9IE5vbmUKKworICAgICAgICBmbGFnID0gc2VsZi5yZXN1bHRfZmxhZy53YWl0
KHdhaXRfdGltZW91dCkKKyAgICAgICAgaWYgc2VsZi5yZXN1bHRbMV0gaXMgTm9uZToKKyAgICAg
ICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJUaW1lZCBvdXQgd2FpdGluZyBmb3IgYSByZXN1bHQi
KQorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFWFRFUk5BTC1USU1FT1VUIiwg
Tm9uZSkKKyAgICAgICAgcmV0dXJuIHNlbGYucmVzdWx0CisKKyAgICBkZWYgX3J1bihzZWxmKToK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBUcnVlLCBzZWxmLmZ1bmMo
c2VsZi5tYXJpb25ldHRlLCBzZWxmLnVybCwgc2VsZi50aW1lb3V0KQorICAgICAgICBleGNlcHQg
ZXJyb3JzLlNjcmlwdFRpbWVvdXRFeGNlcHRpb246CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5k
ZWJ1ZygiR290IGEgbWFyaW9uZXR0ZSB0aW1lb3V0IikKKyAgICAgICAgICAgIHNlbGYucmVzdWx0
ID0gRmFsc2UsICgiRVhURVJOQUwtVElNRU9VVCIsIE5vbmUpCisgICAgICAgIGV4Y2VwdCAoc29j
a2V0LnRpbWVvdXQsIElPRXJyb3IpOgorICAgICAgICAgICAgIyBUaGlzIGNhbiBoYXBwZW4gb24g
YSBjcmFzaAorICAgICAgICAgICAgIyBBbHNvLCBzaG91bGQgY2hlY2sgYWZ0ZXIgdGhlIHRlc3Qg
aWYgdGhlIGZpcmVmb3ggcHJvY2VzcyBpcyBzdGlsbCBydW5uaW5nCisgICAgICAgICAgICAjIGFu
ZCBvdGhlcndpc2UgaWdub3JlIGFueSBvdGhlciByZXN1bHQgYW5kIHNldCBpdCB0byBjcmFzaAor
ICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJDUkFTSCIsIE5vbmUpCisgICAgICAg
IGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIG1lc3NhZ2UgPSBnZXRhdHRyKGUs
ICJtZXNzYWdlIiwgIiIpCisgICAgICAgICAgICBpZiBtZXNzYWdlOgorICAgICAgICAgICAgICAg
IG1lc3NhZ2UgKz0gIlxuIgorICAgICAgICAgICAgbWVzc2FnZSArPSB0cmFjZWJhY2suZm9ybWF0
X2V4YyhlKQorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFUlJPUiIsIGUpCisK
KyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYucmVzdWx0X2ZsYWcuc2V0KCkKKwor
CitjbGFzcyBNYXJpb25ldHRlVGVzdGhhcm5lc3NFeGVjdXRvcihUZXN0aGFybmVzc0V4ZWN1dG9y
KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywgdGltZW91
dF9tdWx0aXBsaWVyPTEsCisgICAgICAgICAgICAgICAgIGNsb3NlX2FmdGVyX2RvbmU9VHJ1ZSwg
ZGVidWdfaW5mbz1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgICIiIk1hcmlvbmV0dGUtYmFzZWQg
ZXhlY3V0b3IgZm9yIHRlc3RoYXJuZXNzLmpzIHRlc3RzIiIiCisgICAgICAgIFRlc3RoYXJuZXNz
RXhlY3V0b3IuX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0X211bHRpcGxpZXI9dGltZW91dF9t
dWx0aXBsaWVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2lu
Zm89ZGVidWdfaW5mbykKKworICAgICAgICBzZWxmLnByb3RvY29sID0gTWFyaW9uZXR0ZVByb3Rv
Y29sKHNlbGYsIGJyb3dzZXIpCisgICAgICAgIHNlbGYuc2NyaXB0ID0gb3Blbihvcy5wYXRoLmpv
aW4oaGVyZSwgInRlc3RoYXJuZXNzX21hcmlvbmV0dGUuanMiKSkucmVhZCgpCisgICAgICAgIHNl
bGYuY2xvc2VfYWZ0ZXJfZG9uZSA9IGNsb3NlX2FmdGVyX2RvbmUKKyAgICAgICAgc2VsZi53aW5k
b3dfaWQgPSBzdHIodXVpZC51dWlkNCgpKQorCisgICAgICAgIHNlbGYub3JpZ2luYWxfcHJlZl92
YWx1ZXMgPSB7fQorCisgICAgICAgIGlmIG1hcmlvbmV0dGUgaXMgTm9uZToKKyAgICAgICAgICAg
IGRvX2RlbGF5ZWRfaW1wb3J0cygpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAg
IHJldHVybiBzZWxmLnByb3RvY29sLmlzX2FsaXZlCisKKyAgICBkZWYgb25fZW52aXJvbm1lbnRf
Y2hhbmdlKHNlbGYsIG5ld19lbnZpcm9ubWVudCk6CisgICAgICAgIHNlbGYucHJvdG9jb2wub25f
ZW52aXJvbm1lbnRfY2hhbmdlKHNlbGYubGFzdF9lbnZpcm9ubWVudCwgbmV3X2Vudmlyb25tZW50
KQorCisgICAgICAgIGlmIG5ld19lbnZpcm9ubWVudFsicHJvdG9jb2wiXSAhPSBzZWxmLmxhc3Rf
ZW52aXJvbm1lbnRbInByb3RvY29sIl06CisgICAgICAgICAgICBzZWxmLnByb3RvY29sLmxvYWRf
cnVubmVyKG5ld19lbnZpcm9ubWVudFsicHJvdG9jb2wiXSkKKworICAgIGRlZiBkb190ZXN0KHNl
bGYsIHRlc3QpOgorICAgICAgICB0aW1lb3V0ID0gKHRlc3QudGltZW91dCAqIHNlbGYudGltZW91
dF9tdWx0aXBsaWVyIGlmIHNlbGYuZGVidWdfaW5mbyBpcyBOb25lCisgICAgICAgICAgICAgICAg
ICAgZWxzZSBOb25lKQorCisgICAgICAgIHN1Y2Nlc3MsIGRhdGEgPSBFeGVjdXRlQXN5bmNTY3Jp
cHRSdW4oc2VsZi5sb2dnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5kb190ZXN0aGFybmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLnByb3RvY29sLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGVzdF91cmwodGVzdCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCkucnVuKCkKKyAgICAg
ICAgaWYgc3VjY2VzczoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbnZlcnRfcmVzdWx0KHRl
c3QsIGRhdGEpCisKKyAgICAgICAgcmV0dXJuICh0ZXN0LnJlc3VsdF9jbHMoKmRhdGEpLCBbXSkK
KworICAgIGRlZiBkb190ZXN0aGFybmVzcyhzZWxmLCBtYXJpb25ldHRlLCB1cmwsIHRpbWVvdXQp
OgorICAgICAgICBpZiBzZWxmLmNsb3NlX2FmdGVyX2RvbmU6CisgICAgICAgICAgICBtYXJpb25l
dHRlLmV4ZWN1dGVfc2NyaXB0KCJpZiAod2luZG93LndyYXBwZWRKU09iamVjdC53aW4pIHt3aW5k
b3cud3JhcHBlZEpTT2JqZWN0Lndpbi5jbG9zZSgpfSIpCisgICAgICAgICAgICBzZWxmLnByb3Rv
Y29sLmNsb3NlX29sZF93aW5kb3dzKHNlbGYucHJvdG9jb2wpCisKKyAgICAgICAgaWYgdGltZW91
dCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHRpbWVvdXRfbXMgPSBzdHIodGltZW91dCAqIDEw
MDApCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB0aW1lb3V0X21zID0gIm51bGwiCisKKyAg
ICAgICAgc2NyaXB0ID0gc2VsZi5zY3JpcHQgJSB7ImFic191cmwiOiB1cmwsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1cmwiOiBzdHJpcF9zZXJ2ZXIodXJsKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIndpbmRvd19pZCI6IHNlbGYud2luZG93X2lkLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZW91dF9tdWx0aXBsaWVyIjogc2VsZi50
aW1lb3V0X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1l
b3V0IjogdGltZW91dF9tcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGxp
Y2l0X3RpbWVvdXQiOiB0aW1lb3V0IGlzIE5vbmV9CisKKyAgICAgICAgcnYgPSBtYXJpb25ldHRl
LmV4ZWN1dGVfYXN5bmNfc2NyaXB0KHNjcmlwdCwgbmV3X3NhbmRib3g9RmFsc2UpCisgICAgICAg
IHJldHVybiBydgorCisKK2NsYXNzIE1hcmlvbmV0dGVSZWZUZXN0RXhlY3V0b3IoUmVmVGVzdEV4
ZWN1dG9yKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywg
dGltZW91dF9tdWx0aXBsaWVyPTEsCisgICAgICAgICAgICAgICAgIHNjcmVlbnNob3RfY2FjaGU9
Tm9uZSwgY2xvc2VfYWZ0ZXJfZG9uZT1UcnVlLAorICAgICAgICAgICAgICAgICBkZWJ1Z19pbmZv
PU5vbmUsICoqa3dhcmdzKToKKworICAgICAgICAiIiJNYXJpb25ldHRlLWJhc2VkIGV4ZWN1dG9y
IGZvciByZWZ0ZXN0cyIiIgorICAgICAgICBSZWZUZXN0RXhlY3V0b3IuX19pbml0X18oc2VsZiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2NyZWVuc2hvdF9jYWNoZT1zY3JlZW5zaG90X2NhY2hlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVyPXRpbWVvdXRfbXVsdGlw
bGllciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2luZm89ZGVidWdf
aW5mbykKKyAgICAgICAgc2VsZi5wcm90b2NvbCA9IE1hcmlvbmV0dGVQcm90b2NvbChzZWxmLCBi
cm93c2VyKQorICAgICAgICBzZWxmLmltcGxlbWVudGF0aW9uID0gUmVmVGVzdEltcGxlbWVudGF0
aW9uKHNlbGYpCisgICAgICAgIHNlbGYuY2xvc2VfYWZ0ZXJfZG9uZSA9IGNsb3NlX2FmdGVyX2Rv
bmUKKyAgICAgICAgc2VsZi5oYXNfd2luZG93ID0gRmFsc2UKKyAgICAgICAgc2VsZi5vcmlnaW5h
bF9wcmVmX3ZhbHVlcyA9IHt9CisKKyAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihoZXJl
LCAicmVmdGVzdC5qcyIpKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5zY3JpcHQgPSBmLnJlYWQo
KQorICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGhlcmUsICJyZWZ0ZXN0LXdhaXQuanMi
KSkgYXMgZjoKKyAgICAgICAgICAgIHNlbGYud2FpdF9zY3JpcHQgPSBmLnJlYWQoKQorCisgICAg
ZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5wcm90b2NvbC5pc19hbGl2
ZQorCisgICAgZGVmIG9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLCBuZXdfZW52aXJvbm1lbnQp
OgorICAgICAgICBzZWxmLnByb3RvY29sLm9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLmxhc3Rf
ZW52aXJvbm1lbnQsIG5ld19lbnZpcm9ubWVudCkKKworICAgIGRlZiBkb190ZXN0KHNlbGYsIHRl
c3QpOgorICAgICAgICBpZiBzZWxmLmNsb3NlX2FmdGVyX2RvbmUgYW5kIHNlbGYuaGFzX3dpbmRv
dzoKKyAgICAgICAgICAgIHNlbGYucHJvdG9jb2wubWFyaW9uZXR0ZS5jbG9zZSgpCisgICAgICAg
ICAgICBzZWxmLnByb3RvY29sLm1hcmlvbmV0dGUuc3dpdGNoX3RvX3dpbmRvdygKKyAgICAgICAg
ICAgICAgICBzZWxmLnByb3RvY29sLm1hcmlvbmV0dGUud2luZG93X2hhbmRsZXNbLTFdKQorICAg
ICAgICAgICAgc2VsZi5oYXNfd2luZG93ID0gRmFsc2UKKworICAgICAgICBpZiBub3Qgc2VsZi5o
YXNfd2luZG93OgorICAgICAgICAgICAgc2VsZi5wcm90b2NvbC5tYXJpb25ldHRlLmV4ZWN1dGVf
c2NyaXB0KHNlbGYuc2NyaXB0KQorICAgICAgICAgICAgc2VsZi5wcm90b2NvbC5tYXJpb25ldHRl
LnN3aXRjaF90b193aW5kb3coc2VsZi5wcm90b2NvbC5tYXJpb25ldHRlLndpbmRvd19oYW5kbGVz
Wy0xXSkKKyAgICAgICAgICAgIHNlbGYuaGFzX3dpbmRvdyA9IFRydWUKKworICAgICAgICByZXN1
bHQgPSBzZWxmLmltcGxlbWVudGF0aW9uLnJ1bl90ZXN0KHRlc3QpCisgICAgICAgIHJldHVybiBz
ZWxmLmNvbnZlcnRfcmVzdWx0KHRlc3QsIHJlc3VsdCkKKworICAgIGRlZiBzY3JlZW5zaG90KHNl
bGYsIHRlc3QsIHZpZXdwb3J0X3NpemUsIGRwaSk6CisgICAgICAgICMgaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93cHRydW5uZXIvaXNzdWVzLzE2NgorICAgICAgICBhc3NlcnQgdmlld3BvcnRfc2l6
ZSBpcyBOb25lCisgICAgICAgIGFzc2VydCBkcGkgaXMgTm9uZQorCisgICAgICAgIHRpbWVvdXQg
PSAgc2VsZi50aW1lb3V0X211bHRpcGxpZXIgKiB0ZXN0LnRpbWVvdXQgaWYgc2VsZi5kZWJ1Z19p
bmZvIGlzIE5vbmUgZWxzZSBOb25lCisKKyAgICAgICAgdGVzdF91cmwgPSBzZWxmLnRlc3RfdXJs
KHRlc3QpCisKKyAgICAgICAgcmV0dXJuIEV4ZWN1dGVBc3luY1NjcmlwdFJ1bihzZWxmLmxvZ2dl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2NyZWVuc2hvdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm90b2NvbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdF91cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVv
dXQpLnJ1bigpCisKKyAgICBkZWYgX3NjcmVlbnNob3Qoc2VsZiwgbWFyaW9uZXR0ZSwgdXJsLCB0
aW1lb3V0KToKKyAgICAgICAgbWFyaW9uZXR0ZS5uYXZpZ2F0ZSh1cmwpCisKKyAgICAgICAgbWFy
aW9uZXR0ZS5leGVjdXRlX2FzeW5jX3NjcmlwdChzZWxmLndhaXRfc2NyaXB0KQorCisgICAgICAg
IHNjcmVlbnNob3QgPSBtYXJpb25ldHRlLnNjcmVlbnNob3QoZnVsbD1GYWxzZSkKKyAgICAgICAg
IyBzdHJpcCBvZmYgdGhlIGRhdGE6aW1nL3BuZywgcGFydCBvZiB0aGUgdXJsCisgICAgICAgIGlm
IHNjcmVlbnNob3Quc3RhcnRzd2l0aCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LCIpOgorICAgICAg
ICAgICAgc2NyZWVuc2hvdCA9IHNjcmVlbnNob3Quc3BsaXQoIiwiLCAxKVsxXQorCisgICAgICAg
IHJldHVybiBzY3JlZW5zaG90CisKKworY2xhc3MgV2RzcGVjUnVuKG9iamVjdCk6CisgICAgZGVm
IF9faW5pdF9fKHNlbGYsIGZ1bmMsIHNlc3Npb24sIHBhdGgsIHRpbWVvdXQpOgorICAgICAgICBz
ZWxmLmZ1bmMgPSBmdW5jCisgICAgICAgIHNlbGYucmVzdWx0ID0gKE5vbmUsIE5vbmUpCisgICAg
ICAgIHNlbGYuc2Vzc2lvbiA9IHNlc3Npb24KKyAgICAgICAgc2VsZi5wYXRoID0gcGF0aAorICAg
ICAgICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CisgICAgICAgIHNlbGYucmVzdWx0X2ZsYWcgPSB0
aHJlYWRpbmcuRXZlbnQoKQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgIiIiUnVucyBm
dW5jdGlvbiBpbiBhIHRocmVhZCBhbmQgaW50ZXJydXB0cyBpdCBpZiBpdCBleGNlZWRzIHRoZQor
ICAgICAgICBnaXZlbiB0aW1lb3V0LiAgUmV0dXJucyAoVHJ1ZSwgKFJlc3VsdCwgW1N1YnRlc3RS
ZXN1bHQgLi4uXSkpIGluCisgICAgICAgIGNhc2Ugb2Ygc3VjY2Vzcywgb3IgKEZhbHNlLCAoc3Rh
dHVzLCBleHRyYSBpbmZvcm1hdGlvbikpIGluIHRoZQorICAgICAgICBldmVudCBvZiBmYWlsdXJl
LgorICAgICAgICAiIiIKKworICAgICAgICBleGVjdXRvciA9IHRocmVhZGluZy5UaHJlYWQodGFy
Z2V0PXNlbGYuX3J1bikKKyAgICAgICAgZXhlY3V0b3Iuc3RhcnQoKQorCisgICAgICAgIGZsYWcg
PSBzZWxmLnJlc3VsdF9mbGFnLndhaXQoc2VsZi50aW1lb3V0KQorICAgICAgICBpZiBzZWxmLnJl
c3VsdFsxXSBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFWFRF
Uk5BTC1USU1FT1VUIiwgTm9uZSkKKworICAgICAgICByZXR1cm4gc2VsZi5yZXN1bHQKKworICAg
IGRlZiBfcnVuKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnJlc3VsdCA9
IFRydWUsIHNlbGYuZnVuYyhzZWxmLnNlc3Npb24sIHNlbGYucGF0aCwgc2VsZi50aW1lb3V0KQor
ICAgICAgICBleGNlcHQgKHNvY2tldC50aW1lb3V0LCBJT0Vycm9yKToKKyAgICAgICAgICAgIHNl
bGYucmVzdWx0ID0gRmFsc2UsICgiQ1JBU0giLCBOb25lKQorICAgICAgICBleGNlcHQgRXhjZXB0
aW9uIGFzIGU6CisgICAgICAgICAgICBtZXNzYWdlID0gZ2V0YXR0cihlLCAibWVzc2FnZSIpCisg
ICAgICAgICAgICBpZiBtZXNzYWdlOgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgor
ICAgICAgICAgICAgbWVzc2FnZSArPSB0cmFjZWJhY2suZm9ybWF0X2V4YyhlKQorICAgICAgICAg
ICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFUlJPUiIsIG1lc3NhZ2UpCisgICAgICAgIGZpbmFs
bHk6CisgICAgICAgICAgICBzZWxmLnJlc3VsdF9mbGFnLnNldCgpCisKKworY2xhc3MgTWFyaW9u
ZXR0ZVdkc3BlY0V4ZWN1dG9yKFdkc3BlY0V4ZWN1dG9yKToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywgd2ViZHJpdmVyX2JpbmFyeSwKKyAgICAgICAgICAg
ICAgICAgdGltZW91dF9tdWx0aXBsaWVyPTEsIGNsb3NlX2FmdGVyX2RvbmU9VHJ1ZSwgZGVidWdf
aW5mbz1Ob25lLAorICAgICAgICAgICAgICAgICBjYXBhYmlsaXRpZXM9Tm9uZSwgd2ViZHJpdmVy
X2FyZ3M9Tm9uZSwgYmluYXJ5PU5vbmUpOgorICAgICAgICBzZWxmLmRvX2RlbGF5ZWRfaW1wb3J0
cygpCisgICAgICAgIFdkc3BlY0V4ZWN1dG9yLl9faW5pdF9fKHNlbGYsIGJyb3dzZXIsIHNlcnZl
cl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXVsdGlw
bGllcj10aW1lb3V0X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRlYnVnX2luZm89ZGVidWdfaW5mbykKKyAgICAgICAgc2VsZi53ZWJkcml2ZXJfYmluYXJ5ID0g
d2ViZHJpdmVyX2JpbmFyeQorICAgICAgICBzZWxmLndlYmRyaXZlcl9hcmdzID0gd2ViZHJpdmVy
X2FyZ3MgKyBbIi0tYmluYXJ5IiwgYmluYXJ5XQorICAgICAgICBzZWxmLmNhcGFiaWxpdGllcyA9
IGNhcGFiaWxpdGllcworICAgICAgICBzZWxmLnByb3RvY29sID0gUmVtb3RlTWFyaW9uZXR0ZVBy
b3RvY29sKHNlbGYsIGJyb3dzZXIpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAg
IHJldHVybiBzZWxmLnByb3RvY29sLmlzX2FsaXZlCisKKyAgICBkZWYgb25fZW52aXJvbm1lbnRf
Y2hhbmdlKHNlbGYsIG5ld19lbnZpcm9ubWVudCk6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBk
b190ZXN0KHNlbGYsIHRlc3QpOgorICAgICAgICB0aW1lb3V0ID0gdGVzdC50aW1lb3V0ICogc2Vs
Zi50aW1lb3V0X211bHRpcGxpZXIgKyBleHRyYV90aW1lb3V0CisKKyAgICAgICAgc3VjY2Vzcywg
ZGF0YSA9IFdkc3BlY1J1bihzZWxmLmRvX3dkc3BlYywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLnByb3RvY29sLnNlc3Npb25fY29uZmlnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3QuYWJzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGltZW91dCkucnVuKCkKKworICAgICAgICBpZiBzdWNjZXNzOgorICAgICAg
ICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1bHQodGVzdCwgZGF0YSkKKworICAgICAgICBy
ZXR1cm4gKHRlc3QucmVzdWx0X2NscygqZGF0YSksIFtdKQorCisgICAgZGVmIGRvX3dkc3BlYyhz
ZWxmLCBzZXNzaW9uX2NvbmZpZywgcGF0aCwgdGltZW91dCk6CisgICAgICAgIGhhcm5lc3NfcmVz
dWx0ID0gKCJPSyIsIE5vbmUpCisgICAgICAgIHN1YnRlc3RfcmVzdWx0cyA9IHB5dGVzdHJ1bm5l
ci5ydW4ocGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLnNlcnZlcl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2Vzc2lvbl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGltZW91dD10aW1lb3V0KQorICAgICAgICByZXR1cm4gKGhhcm5lc3NfcmVzdWx0
LCBzdWJ0ZXN0X3Jlc3VsdHMpCisKKyAgICBkZWYgZG9fZGVsYXllZF9pbXBvcnRzKHNlbGYpOgor
ICAgICAgICBnbG9iYWwgcHl0ZXN0cnVubmVyCisgICAgICAgIGZyb20gLiBpbXBvcnQgcHl0ZXN0
cnVubmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9yc2VsZW5p
dW0ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9yc2VsZW5pdW0ucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjVlZGJlYzJmNmZhMTkwMWVjZTYwYzA0NzY0NGM5NzI5OGU2OWEwZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZWxlbml1bS5weQpAQCAt
MCwwICsxLDI2MCBAQAoraW1wb3J0IG9zCitpbXBvcnQgc29ja2V0CitpbXBvcnQgc3lzCitpbXBv
cnQgdGhyZWFkaW5nCitpbXBvcnQgdGltZQoraW1wb3J0IHRyYWNlYmFjaworaW1wb3J0IHVybHBh
cnNlCitpbXBvcnQgdXVpZAorCitmcm9tIC5iYXNlIGltcG9ydCAoRXhlY3V0b3JFeGNlcHRpb24s
CisgICAgICAgICAgICAgICAgICAgUHJvdG9jb2wsCisgICAgICAgICAgICAgICAgICAgUmVmVGVz
dEV4ZWN1dG9yLAorICAgICAgICAgICAgICAgICAgIFJlZlRlc3RJbXBsZW1lbnRhdGlvbiwKKyAg
ICAgICAgICAgICAgICAgICBUZXN0RXhlY3V0b3IsCisgICAgICAgICAgICAgICAgICAgVGVzdGhh
cm5lc3NFeGVjdXRvciwKKyAgICAgICAgICAgICAgICAgICB0ZXN0aGFybmVzc19yZXN1bHRfY29u
dmVydGVyLAorICAgICAgICAgICAgICAgICAgIHJlZnRlc3RfcmVzdWx0X2NvbnZlcnRlciwKKyAg
ICAgICAgICAgICAgICAgICBzdHJpcF9zZXJ2ZXIpCitmcm9tIC4udGVzdHJ1bm5lciBpbXBvcnQg
U3RvcAorCitoZXJlID0gb3MucGF0aC5qb2luKG9zLnBhdGguc3BsaXQoX19maWxlX18pWzBdKQor
Cit3ZWJkcml2ZXIgPSBOb25lCitleGNlcHRpb25zID0gTm9uZQorUmVtb3RlQ29ubmVjdGlvbiA9
IE5vbmUKKworZXh0cmFfdGltZW91dCA9IDUKKworZGVmIGRvX2RlbGF5ZWRfaW1wb3J0cygpOgor
ICAgIGdsb2JhbCB3ZWJkcml2ZXIKKyAgICBnbG9iYWwgZXhjZXB0aW9ucworICAgIGdsb2JhbCBS
ZW1vdGVDb25uZWN0aW9uCisgICAgZnJvbSBzZWxlbml1bSBpbXBvcnQgd2ViZHJpdmVyCisgICAg
ZnJvbSBzZWxlbml1bS5jb21tb24gaW1wb3J0IGV4Y2VwdGlvbnMKKyAgICBmcm9tIHNlbGVuaXVt
LndlYmRyaXZlci5yZW1vdGUucmVtb3RlX2Nvbm5lY3Rpb24gaW1wb3J0IFJlbW90ZUNvbm5lY3Rp
b24KKworY2xhc3MgU2VsZW5pdW1Qcm90b2NvbChQcm90b2NvbCk6CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGV4ZWN1dG9yLCBicm93c2VyLCBjYXBhYmlsaXRpZXMsICoqa3dhcmdzKToKKyAgICAg
ICAgZG9fZGVsYXllZF9pbXBvcnRzKCkKKworICAgICAgICBQcm90b2NvbC5fX2luaXRfXyhzZWxm
LCBleGVjdXRvciwgYnJvd3NlcikKKyAgICAgICAgc2VsZi5jYXBhYmlsaXRpZXMgPSBjYXBhYmls
aXRpZXMKKyAgICAgICAgc2VsZi51cmwgPSBicm93c2VyLndlYmRyaXZlcl91cmwKKyAgICAgICAg
c2VsZi53ZWJkcml2ZXIgPSBOb25lCisKKyAgICBkZWYgc2V0dXAoc2VsZiwgcnVubmVyKToKKyAg
ICAgICAgIiIiQ29ubmVjdCB0byBicm93c2VyIHZpYSBTZWxlbml1bSdzIFdlYkRyaXZlciBpbXBs
ZW1lbnRhdGlvbi4iIiIKKyAgICAgICAgc2VsZi5ydW5uZXIgPSBydW5uZXIKKyAgICAgICAgc2Vs
Zi5sb2dnZXIuZGVidWcoIkNvbm5lY3RpbmcgdG8gU2VsZW5pdW0gb24gVVJMOiAlcyIgJSBzZWxm
LnVybCkKKworICAgICAgICBzZXNzaW9uX3N0YXJ0ZWQgPSBGYWxzZQorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBzZWxmLndlYmRyaXZlciA9IHdlYmRyaXZlci5SZW1vdGUoY29tbWFuZF9leGVj
dXRvcj1SZW1vdGVDb25uZWN0aW9uKHNlbGYudXJsLnN0cmlwKCIvIiksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc29sdmVfaXA9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRlc2lyZWRfY2FwYWJpbGl0aWVzPXNlbGYuY2FwYWJpbGl0aWVz
KQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKAorICAg
ICAgICAgICAgICAgICJDb25uZWN0aW5nIHRvIFNlbGVuaXVtIGZhaWxlZDpcbiVzIiAlIHRyYWNl
YmFjay5mb3JtYXRfZXhjKCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmxvZ2dl
ci5kZWJ1ZygiU2VsZW5pdW0gc2Vzc2lvbiBzdGFydGVkIikKKyAgICAgICAgICAgIHNlc3Npb25f
c3RhcnRlZCA9IFRydWUKKworICAgICAgICBpZiBub3Qgc2Vzc2lvbl9zdGFydGVkOgorICAgICAg
ICAgICAgc2VsZi5sb2dnZXIud2FybmluZygiRmFpbGVkIHRvIGNvbm5lY3QgdG8gU2VsZW5pdW0i
KQorICAgICAgICAgICAgc2VsZi5leGVjdXRvci5ydW5uZXIuc2VuZF9tZXNzYWdlKCJpbml0X2Zh
aWxlZCIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAg
c2VsZi5hZnRlcl9jb25uZWN0KCkKKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAg
ICBwcmludCA+PiBzeXMuc3RkZXJyLCB0cmFjZWJhY2suZm9ybWF0X2V4YygpCisgICAgICAgICAg
ICAgICAgc2VsZi5sb2dnZXIud2FybmluZygKKyAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0
byBjb25uZWN0IHRvIG5hdmlnYXRlIGluaXRpYWwgcGFnZSIpCisgICAgICAgICAgICAgICAgc2Vs
Zi5leGVjdXRvci5ydW5uZXIuc2VuZF9tZXNzYWdlKCJpbml0X2ZhaWxlZCIpCisgICAgICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0b3IucnVubmVyLnNlbmRfbWVzc2Fn
ZSgiaW5pdF9zdWNjZWVkZWQiKQorCisgICAgZGVmIHRlYXJkb3duKHNlbGYpOgorICAgICAgICBz
ZWxmLmxvZ2dlci5kZWJ1ZygiSGFuZ2luZyB1cCBvbiBTZWxlbml1bSBzZXNzaW9uIikKKyAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgc2VsZi53ZWJkcml2ZXIucXVpdCgpCisgICAgICAgIGV4Y2Vw
dDoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZGVsIHNlbGYud2ViZHJpdmVyCisKKyAgICBk
ZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgR2V0IGEgc2lt
cGxlIHByb3BlcnR5IG92ZXIgdGhlIGNvbm5lY3Rpb24KKyAgICAgICAgICAgIHNlbGYud2ViZHJp
dmVyLmN1cnJlbnRfd2luZG93X2hhbmRsZQorICAgICAgICAjIFRPRE8gd2hhdCBleGNlcHRpb24/
CisgICAgICAgIGV4Y2VwdCAoc29ja2V0LnRpbWVvdXQsIGV4Y2VwdGlvbnMuRXJyb3JJblJlc3Bv
bnNlRXhjZXB0aW9uKToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4g
VHJ1ZQorCisgICAgZGVmIGFmdGVyX2Nvbm5lY3Qoc2VsZik6CisgICAgICAgIHNlbGYubG9hZF9y
dW5uZXIoImh0dHAiKQorCisgICAgZGVmIGxvYWRfcnVubmVyKHNlbGYsIHByb3RvY29sKToKKyAg
ICAgICAgdXJsID0gdXJscGFyc2UudXJsam9pbihzZWxmLmV4ZWN1dG9yLnNlcnZlcl91cmwocHJv
dG9jb2wpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvdGVzdGhhcm5lc3NfcnVu
bmVyLmh0bWwiKQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiTG9hZGluZyAlcyIgJSB1cmwp
CisgICAgICAgIHNlbGYud2ViZHJpdmVyLmdldCh1cmwpCisgICAgICAgIHNlbGYud2ViZHJpdmVy
LmV4ZWN1dGVfc2NyaXB0KCJkb2N1bWVudC50aXRsZSA9ICclcyciICUKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCkubmFtZS5y
ZXBsYWNlKCInIiwgJyInKSkKKworICAgIGRlZiB3YWl0KHNlbGYpOgorICAgICAgICB3aGlsZSBU
cnVlOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYud2ViZHJpdmVyLmV4
ZWN1dGVfYXN5bmNfc2NyaXB0KCIiKTsKKyAgICAgICAgICAgIGV4Y2VwdCBleGNlcHRpb25zLlRp
bWVvdXRFeGNlcHRpb246CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZXhjZXB0
IChzb2NrZXQudGltZW91dCwgZXhjZXB0aW9ucy5Ob1N1Y2hXaW5kb3dFeGNlcHRpb24sCisgICAg
ICAgICAgICAgICAgICAgIGV4Y2VwdGlvbnMuRXJyb3JJblJlc3BvbnNlRXhjZXB0aW9uLCBJT0Vy
cm9yKToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlv
biBhcyBlOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKHRyYWNlYmFjay5mb3Jt
YXRfZXhjKGUpKQorICAgICAgICAgICAgICAgIGJyZWFrCisKKworY2xhc3MgU2VsZW5pdW1SdW4o
b2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZnVuYywgd2ViZHJpdmVyLCB1cmwsIHRp
bWVvdXQpOgorICAgICAgICBzZWxmLmZ1bmMgPSBmdW5jCisgICAgICAgIHNlbGYucmVzdWx0ID0g
Tm9uZQorICAgICAgICBzZWxmLndlYmRyaXZlciA9IHdlYmRyaXZlcgorICAgICAgICBzZWxmLnVy
bCA9IHVybAorICAgICAgICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CisgICAgICAgIHNlbGYucmVz
dWx0X2ZsYWcgPSB0aHJlYWRpbmcuRXZlbnQoKQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAg
ICAgdGltZW91dCA9IHNlbGYudGltZW91dAorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNl
bGYud2ViZHJpdmVyLnNldF9zY3JpcHRfdGltZW91dCgodGltZW91dCArIGV4dHJhX3RpbWVvdXQp
ICogMTAwMCkKKyAgICAgICAgZXhjZXB0IGV4Y2VwdGlvbnMuRXJyb3JJblJlc3BvbnNlRXhjZXB0
aW9uOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IoIkxvc3QgV2ViRHJpdmVyIGNvbm5l
Y3Rpb24iKQorICAgICAgICAgICAgcmV0dXJuIFN0b3AKKworICAgICAgICBleGVjdXRvciA9IHRo
cmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYuX3J1bikKKyAgICAgICAgZXhlY3V0b3Iuc3RhcnQo
KQorCisgICAgICAgIGZsYWcgPSBzZWxmLnJlc3VsdF9mbGFnLndhaXQodGltZW91dCArIDIgKiBl
eHRyYV90aW1lb3V0KQorICAgICAgICBpZiBzZWxmLnJlc3VsdCBpcyBOb25lOgorICAgICAgICAg
ICAgYXNzZXJ0IG5vdCBmbGFnCisgICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIkVY
VEVSTkFMLVRJTUVPVVQiLCBOb25lKQorCisgICAgICAgIHJldHVybiBzZWxmLnJlc3VsdAorCisg
ICAgZGVmIF9ydW4oc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYucmVzdWx0
ID0gVHJ1ZSwgc2VsZi5mdW5jKHNlbGYud2ViZHJpdmVyLCBzZWxmLnVybCwgc2VsZi50aW1lb3V0
KQorICAgICAgICBleGNlcHQgZXhjZXB0aW9ucy5UaW1lb3V0RXhjZXB0aW9uOgorICAgICAgICAg
ICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFWFRFUk5BTC1USU1FT1VUIiwgTm9uZSkKKyAgICAg
ICAgZXhjZXB0IChzb2NrZXQudGltZW91dCwgZXhjZXB0aW9ucy5FcnJvckluUmVzcG9uc2VFeGNl
cHRpb24pOgorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJDUkFTSCIsIE5vbmUp
CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIG1lc3NhZ2UgPSBn
ZXRhdHRyKGUsICJtZXNzYWdlIiwgIiIpCisgICAgICAgICAgICBpZiBtZXNzYWdlOgorICAgICAg
ICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgorICAgICAgICAgICAgbWVzc2FnZSArPSB0cmFjZWJh
Y2suZm9ybWF0X2V4YyhlKQorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFUlJP
UiIsIGUpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzZWxmLnJlc3VsdF9mbGFnLnNl
dCgpCisKKworY2xhc3MgU2VsZW5pdW1UZXN0aGFybmVzc0V4ZWN1dG9yKFRlc3RoYXJuZXNzRXhl
Y3V0b3IpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0
aW1lb3V0X211bHRpcGxpZXI9MSwKKyAgICAgICAgICAgICAgICAgY2xvc2VfYWZ0ZXJfZG9uZT1U
cnVlLCBjYXBhYmlsaXRpZXM9Tm9uZSwgZGVidWdfaW5mbz1Ob25lKToKKyAgICAgICAgIiIiU2Vs
ZW5pdW0tYmFzZWQgZXhlY3V0b3IgZm9yIHRlc3RoYXJuZXNzLmpzIHRlc3RzIiIiCisgICAgICAg
IFRlc3RoYXJuZXNzRXhlY3V0b3IuX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZp
ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0X211bHRpcGxp
ZXI9dGltZW91dF9tdWx0aXBsaWVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRlYnVnX2luZm89ZGVidWdfaW5mbykKKyAgICAgICAgc2VsZi5wcm90b2NvbCA9IFNlbGVu
aXVtUHJvdG9jb2woc2VsZiwgYnJvd3NlciwgY2FwYWJpbGl0aWVzKQorICAgICAgICB3aXRoIG9w
ZW4ob3MucGF0aC5qb2luKGhlcmUsICJ0ZXN0aGFybmVzc193ZWJkcml2ZXIuanMiKSkgYXMgZjoK
KyAgICAgICAgICAgIHNlbGYuc2NyaXB0ID0gZi5yZWFkKCkKKyAgICAgICAgc2VsZi5jbG9zZV9h
ZnRlcl9kb25lID0gY2xvc2VfYWZ0ZXJfZG9uZQorICAgICAgICBzZWxmLndpbmRvd19pZCA9IHN0
cih1dWlkLnV1aWQ0KCkpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmLnByb3RvY29sLmlzX2FsaXZlKCkKKworICAgIGRlZiBvbl9lbnZpcm9ubWVudF9jaGFu
Z2Uoc2VsZiwgbmV3X2Vudmlyb25tZW50KToKKyAgICAgICAgaWYgbmV3X2Vudmlyb25tZW50WyJw
cm90b2NvbCJdICE9IHNlbGYubGFzdF9lbnZpcm9ubWVudFsicHJvdG9jb2wiXToKKyAgICAgICAg
ICAgIHNlbGYucHJvdG9jb2wubG9hZF9ydW5uZXIobmV3X2Vudmlyb25tZW50WyJwcm90b2NvbCJd
KQorCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgIHVybCA9IHNlbGYudGVz
dF91cmwodGVzdCkKKworICAgICAgICBzdWNjZXNzLCBkYXRhID0gU2VsZW5pdW1SdW4oc2VsZi5k
b190ZXN0aGFybmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
cHJvdG9jb2wud2ViZHJpdmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdC50aW1lb3V0ICog
c2VsZi50aW1lb3V0X211bHRpcGxpZXIpLnJ1bigpCisKKyAgICAgICAgaWYgc3VjY2VzczoKKyAg
ICAgICAgICAgIHJldHVybiBzZWxmLmNvbnZlcnRfcmVzdWx0KHRlc3QsIGRhdGEpCisKKyAgICAg
ICAgcmV0dXJuICh0ZXN0LnJlc3VsdF9jbHMoKmRhdGEpLCBbXSkKKworICAgIGRlZiBkb190ZXN0
aGFybmVzcyhzZWxmLCB3ZWJkcml2ZXIsIHVybCwgdGltZW91dCk6CisgICAgICAgIHJldHVybiB3
ZWJkcml2ZXIuZXhlY3V0ZV9hc3luY19zY3JpcHQoCisgICAgICAgICAgICBzZWxmLnNjcmlwdCAl
IHsiYWJzX3VybCI6IHVybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1cmwiOiBzdHJp
cF9zZXJ2ZXIodXJsKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aW5kb3dfaWQiOiBz
ZWxmLndpbmRvd19pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lb3V0X211bHRp
cGxpZXIiOiBzZWxmLnRpbWVvdXRfbXVsdGlwbGllciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0aW1lb3V0IjogdGltZW91dCAqIDEwMDB9KQorCitjbGFzcyBTZWxlbml1bVJlZlRlc3RF
eGVjdXRvcihSZWZUZXN0RXhlY3V0b3IpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2Vy
LCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKKyAgICAgICAgICAgICAgICAg
c2NyZWVuc2hvdF9jYWNoZT1Ob25lLCBjbG9zZV9hZnRlcl9kb25lPVRydWUsCisgICAgICAgICAg
ICAgICAgIGRlYnVnX2luZm89Tm9uZSwgY2FwYWJpbGl0aWVzPU5vbmUpOgorICAgICAgICAiIiJT
ZWxlbml1bSBXZWJEcml2ZXItYmFzZWQgZXhlY3V0b3IgZm9yIHJlZnRlc3RzIiIiCisgICAgICAg
IFJlZlRlc3RFeGVjdXRvci5fX2luaXRfXyhzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnJvd3NlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZl
cl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JlZW5zaG90X2Nh
Y2hlPXNjcmVlbnNob3RfY2FjaGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
aW1lb3V0X211bHRpcGxpZXI9dGltZW91dF9tdWx0aXBsaWVyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGVidWdfaW5mbz1kZWJ1Z19pbmZvKQorICAgICAgICBzZWxmLnByb3Rv
Y29sID0gU2VsZW5pdW1Qcm90b2NvbChzZWxmLCBicm93c2VyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjYXBhYmlsaXRpZXM9Y2FwYWJpbGl0aWVzKQorICAgICAg
ICBzZWxmLmltcGxlbWVudGF0aW9uID0gUmVmVGVzdEltcGxlbWVudGF0aW9uKHNlbGYpCisgICAg
ICAgIHNlbGYuY2xvc2VfYWZ0ZXJfZG9uZSA9IGNsb3NlX2FmdGVyX2RvbmUKKyAgICAgICAgc2Vs
Zi5oYXNfd2luZG93ID0gRmFsc2UKKworICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGhl
cmUsICJyZWZ0ZXN0LmpzIikpIGFzIGY6CisgICAgICAgICAgICBzZWxmLnNjcmlwdCA9IGYucmVh
ZCgpCisgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oaGVyZSwgInJlZnRlc3Qtd2FpdF93
ZWJkcml2ZXIuanMiKSkgYXMgZjoKKyAgICAgICAgICAgIHNlbGYud2FpdF9zY3JpcHQgPSBmLnJl
YWQoKQorCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5wcm90
b2NvbC5pc19hbGl2ZSgpCisKKyAgICBkZWYgZG9fdGVzdChzZWxmLCB0ZXN0KToKKyAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygiVGVzdCByZXF1aXJlcyBPUy1sZXZlbCB3aW5kb3cgZm9jdXMiKQor
CisgICAgICAgIHNlbGYucHJvdG9jb2wud2ViZHJpdmVyLnNldF93aW5kb3dfc2l6ZSg2MDAsIDYw
MCkKKworICAgICAgICByZXN1bHQgPSBzZWxmLmltcGxlbWVudGF0aW9uLnJ1bl90ZXN0KHRlc3Qp
CisKKyAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1bHQodGVzdCwgcmVzdWx0KQorCisg
ICAgZGVmIHNjcmVlbnNob3Qoc2VsZiwgdGVzdCwgdmlld3BvcnRfc2l6ZSwgZHBpKToKKyAgICAg
ICAgIyBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dwdHJ1bm5lci9pc3N1ZXMvMTY2CisgICAgICAg
IGFzc2VydCB2aWV3cG9ydF9zaXplIGlzIE5vbmUKKyAgICAgICAgYXNzZXJ0IGRwaSBpcyBOb25l
CisKKyAgICAgICAgcmV0dXJuIFNlbGVuaXVtUnVuKHNlbGYuX3NjcmVlbnNob3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLnByb3RvY29sLndlYmRyaXZlciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYudGVzdF91cmwodGVzdCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0LnRpbWVvdXQpLnJ1bigpCisKKyAgICBkZWYgX3NjcmVlbnNob3Qoc2VsZiwg
d2ViZHJpdmVyLCB1cmwsIHRpbWVvdXQpOgorICAgICAgICB3ZWJkcml2ZXIuZ2V0KHVybCkKKwor
ICAgICAgICB3ZWJkcml2ZXIuZXhlY3V0ZV9hc3luY19zY3JpcHQoc2VsZi53YWl0X3NjcmlwdCkK
KworICAgICAgICBzY3JlZW5zaG90ID0gd2ViZHJpdmVyLmdldF9zY3JlZW5zaG90X2FzX2Jhc2U2
NCgpCisKKyAgICAgICAgIyBzdHJpcCBvZmYgdGhlIGRhdGE6aW1nL3BuZywgcGFydCBvZiB0aGUg
dXJsCisgICAgICAgIGlmIHNjcmVlbnNob3Quc3RhcnRzd2l0aCgiZGF0YTppbWFnZS9wbmc7YmFz
ZTY0LCIpOgorICAgICAgICAgICAgc2NyZWVuc2hvdCA9IHNjcmVlbnNob3Quc3BsaXQoIiwiLCAx
KVsxXQorCisgICAgICAgIHJldHVybiBzY3JlZW5zaG90CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL2V4ZWN1dG9yc2Vydm8ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4
ZWN1dG9yc2Vydm8ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjAwMmQ5M2FhNWYyNWEzNzMzNGQ0MGVlN2ZhZDJk
N2U0MDY5NTQ4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhl
Y3V0b3JzZXJ2by5weQpAQCAtMCwwICsxLDM2OCBAQAoraW1wb3J0IGJhc2U2NAoraW1wb3J0IGhh
c2hsaWIKK2ltcG9ydCBodHRwbGliCitpbXBvcnQganNvbgoraW1wb3J0IG9zCitpbXBvcnQgc3Vi
cHJvY2VzcworaW1wb3J0IHRlbXBmaWxlCitpbXBvcnQgdGhyZWFkaW5nCitpbXBvcnQgdHJhY2Vi
YWNrCitpbXBvcnQgdXJscGFyc2UKK2ltcG9ydCB1dWlkCitmcm9tIGNvbGxlY3Rpb25zIGltcG9y
dCBkZWZhdWx0ZGljdAorCitmcm9tIG1venByb2Nlc3MgaW1wb3J0IFByb2Nlc3NIYW5kbGVyCisK
K2Zyb20gLmJhc2UgaW1wb3J0IChFeGVjdXRvckV4Y2VwdGlvbiwKKyAgICAgICAgICAgICAgICAg
ICBQcm90b2NvbCwKKyAgICAgICAgICAgICAgICAgICBSZWZUZXN0SW1wbGVtZW50YXRpb24sCisg
ICAgICAgICAgICAgICAgICAgdGVzdGhhcm5lc3NfcmVzdWx0X2NvbnZlcnRlciwKKyAgICAgICAg
ICAgICAgICAgICByZWZ0ZXN0X3Jlc3VsdF9jb252ZXJ0ZXIsCisgICAgICAgICAgICAgICAgICAg
V2RzcGVjRXhlY3V0b3IpCitmcm9tIC5wcm9jZXNzIGltcG9ydCBQcm9jZXNzVGVzdEV4ZWN1dG9y
Citmcm9tIC4uYnJvd3NlcnMuYmFzZSBpbXBvcnQgYnJvd3Nlcl9jb21tYW5kCitmcm9tIC4ud3B0
dGVzdCBpbXBvcnQgV2RzcGVjUmVzdWx0LCBXZHNwZWNTdWJ0ZXN0UmVzdWx0Citmcm9tIC4ud2Vi
ZHJpdmVyX3NlcnZlciBpbXBvcnQgU2Vydm9Ecml2ZXJTZXJ2ZXIKK2Zyb20gLmV4ZWN1dG9ybWFy
aW9uZXR0ZSBpbXBvcnQgV2RzcGVjUnVuCisKK3B5dGVzdHJ1bm5lciA9IE5vbmUKK3dlYmRyaXZl
ciA9IE5vbmUKKworZXh0cmFfdGltZW91dCA9IDUgIyBzZWNvbmRzCisKK2hvc3RzX3RleHQgPSAi
IiIxMjcuMC4wLjEgd2ViLXBsYXRmb3JtLnRlc3QKKzEyNy4wLjAuMSB3d3cud2ViLXBsYXRmb3Jt
LnRlc3QKKzEyNy4wLjAuMSB3d3cxLndlYi1wbGF0Zm9ybS50ZXN0CisxMjcuMC4wLjEgd3d3Mi53
ZWItcGxhdGZvcm0udGVzdAorMTI3LjAuMC4xIHhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1w
bGF0Zm9ybS50ZXN0CisxMjcuMC4wLjEgeG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0Cisi
IiIKKworZGVmIG1ha2VfaG9zdHNfZmlsZSgpOgorICAgIGhvc3RzX2ZkLCBob3N0c19wYXRoID0g
dGVtcGZpbGUubWtzdGVtcCgpCisgICAgd2l0aCBvcy5mZG9wZW4oaG9zdHNfZmQsICJ3IikgYXMg
ZjoKKyAgICAgICAgZi53cml0ZShob3N0c190ZXh0KQorICAgIHJldHVybiBob3N0c19wYXRoCisK
KworY2xhc3MgU2Vydm9UZXN0aGFybmVzc0V4ZWN1dG9yKFByb2Nlc3NUZXN0RXhlY3V0b3IpOgor
ICAgIGNvbnZlcnRfcmVzdWx0ID0gdGVzdGhhcm5lc3NfcmVzdWx0X2NvbnZlcnRlcgorCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHRpbWVvdXRfbXVsdGlw
bGllcj0xLCBkZWJ1Z19pbmZvPU5vbmUsCisgICAgICAgICAgICAgICAgIHBhdXNlX2FmdGVyX3Rl
c3Q9RmFsc2UpOgorICAgICAgICBkb19kZWxheWVkX2ltcG9ydHMoKQorICAgICAgICBQcm9jZXNz
VGVzdEV4ZWN1dG9yLl9faW5pdF9fKHNlbGYsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVyPXRpbWVv
dXRfbXVsdGlwbGllciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1
Z19pbmZvPWRlYnVnX2luZm8pCisgICAgICAgIHNlbGYucGF1c2VfYWZ0ZXJfdGVzdCA9IHBhdXNl
X2FmdGVyX3Rlc3QKKyAgICAgICAgc2VsZi5yZXN1bHRfZGF0YSA9IE5vbmUKKyAgICAgICAgc2Vs
Zi5yZXN1bHRfZmxhZyA9IE5vbmUKKyAgICAgICAgc2VsZi5wcm90b2NvbCA9IFByb3RvY29sKHNl
bGYsIGJyb3dzZXIpCisgICAgICAgIHNlbGYuaG9zdHNfcGF0aCA9IG1ha2VfaG9zdHNfZmlsZSgp
CisKKyAgICBkZWYgdGVhcmRvd24oc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9z
LnVubGluayhzZWxmLmhvc3RzX3BhdGgpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAg
ICAgICAgcGFzcworICAgICAgICBQcm9jZXNzVGVzdEV4ZWN1dG9yLnRlYXJkb3duKHNlbGYpCisK
KyAgICBkZWYgZG9fdGVzdChzZWxmLCB0ZXN0KToKKyAgICAgICAgc2VsZi5yZXN1bHRfZGF0YSA9
IE5vbmUKKyAgICAgICAgc2VsZi5yZXN1bHRfZmxhZyA9IHRocmVhZGluZy5FdmVudCgpCisKKyAg
ICAgICAgYXJncyA9IFsKKyAgICAgICAgICAgICItLWhhcmQtZmFpbCIsICItdSIsICJTZXJ2by93
cHRydW5uZXIiLAorICAgICAgICAgICAgIi1aIiwgInJlcGxhY2Utc3Vycm9nYXRlcyIsICIteiIs
IHNlbGYudGVzdF91cmwodGVzdCksCisgICAgICAgIF0KKyAgICAgICAgZm9yIHN0eWxlc2hlZXQg
aW4gc2VsZi5icm93c2VyLnVzZXJfc3R5bGVzaGVldHM6CisgICAgICAgICAgICBhcmdzICs9IFsi
LS11c2VyLXN0eWxlc2hlZXQiLCBzdHlsZXNoZWV0XQorICAgICAgICBmb3IgcHJlZiwgdmFsdWUg
aW4gdGVzdC5lbnZpcm9ubWVudC5nZXQoJ3ByZWZzJywge30pLml0ZXJpdGVtcygpOgorICAgICAg
ICAgICAgYXJncyArPSBbIi0tcHJlZiIsICIlcz0lcyIgJSAocHJlZiwgdmFsdWUpXQorICAgICAg
ICBpZiBzZWxmLmJyb3dzZXIuY2FfY2VydGlmaWNhdGVfcGF0aDoKKyAgICAgICAgICAgIGFyZ3Mg
Kz0gWyItLWNlcnRpZmljYXRlLXBhdGgiLCBzZWxmLmJyb3dzZXIuY2FfY2VydGlmaWNhdGVfcGF0
aF0KKyAgICAgICAgYXJncyArPSBzZWxmLmJyb3dzZXIuYmluYXJ5X2FyZ3MKKyAgICAgICAgZGVi
dWdfYXJncywgY29tbWFuZCA9IGJyb3dzZXJfY29tbWFuZChzZWxmLmJpbmFyeSwgYXJncywgc2Vs
Zi5kZWJ1Z19pbmZvKQorCisgICAgICAgIHNlbGYuY29tbWFuZCA9IGNvbW1hbmQKKworICAgICAg
ICBpZiBzZWxmLnBhdXNlX2FmdGVyX3Rlc3Q6CisgICAgICAgICAgICBzZWxmLmNvbW1hbmQucmVt
b3ZlKCIteiIpCisKKyAgICAgICAgc2VsZi5jb21tYW5kID0gZGVidWdfYXJncyArIHNlbGYuY29t
bWFuZAorCisgICAgICAgIGVudiA9IG9zLmVudmlyb24uY29weSgpCisgICAgICAgIGVudlsiSE9T
VF9GSUxFIl0gPSBzZWxmLmhvc3RzX3BhdGgKKyAgICAgICAgZW52WyJSVVNUX0JBQ0tUUkFDRSJd
ID0gIjEiCisKKworICAgICAgICBpZiBub3Qgc2VsZi5pbnRlcmFjdGl2ZToKKyAgICAgICAgICAg
IHNlbGYucHJvYyA9IFByb2Nlc3NIYW5kbGVyKHNlbGYuY29tbWFuZCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NPdXRwdXRMaW5lPVtzZWxmLm9uX291dHB1
dF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZpbmlzaD1zZWxm
Lm9uX2ZpbmlzaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudj1l
bnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZU91dHB1dD1G
YWxzZSkKKyAgICAgICAgICAgIHNlbGYucHJvYy5ydW4oKQorICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgc2VsZi5wcm9jID0gc3VicHJvY2Vzcy5Qb3BlbihzZWxmLmNvbW1hbmQsIGVudj1lbnYp
CisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdGltZW91dCA9IHRlc3QudGltZW91dCAqIHNl
bGYudGltZW91dF9tdWx0aXBsaWVyCisKKyAgICAgICAgICAgICMgTm93IHdhaXQgdG8gZ2V0IHRo
ZSBvdXRwdXQgd2UgZXhwZWN0LCBvciB1bnRpbCB3ZSByZWFjaCB0aGUgdGltZW91dAorICAgICAg
ICAgICAgaWYgbm90IHNlbGYuaW50ZXJhY3RpdmUgYW5kIG5vdCBzZWxmLnBhdXNlX2FmdGVyX3Rl
c3Q6CisgICAgICAgICAgICAgICAgd2FpdF90aW1lb3V0ID0gdGltZW91dCArIDUKKyAgICAgICAg
ICAgICAgICBzZWxmLnJlc3VsdF9mbGFnLndhaXQod2FpdF90aW1lb3V0KQorICAgICAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgICAgICB3YWl0X3RpbWVvdXQgPSBOb25lCisgICAgICAgICAgICAg
ICAgc2VsZi5wcm9jLndhaXQoKQorCisgICAgICAgICAgICBwcm9jX2lzX3J1bm5pbmcgPSBUcnVl
CisKKyAgICAgICAgICAgIGlmIHNlbGYucmVzdWx0X2ZsYWcuaXNfc2V0KCk6CisgICAgICAgICAg
ICAgICAgaWYgc2VsZi5yZXN1bHRfZGF0YSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAg
ICAgcmVzdWx0ID0gc2VsZi5jb252ZXJ0X3Jlc3VsdCh0ZXN0LCBzZWxmLnJlc3VsdF9kYXRhKQor
ICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYucHJvYy53YWl0
KCkKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gKHRlc3QucmVzdWx0X2NscygiQ1JBU0gi
LCBOb25lKSwgW10pCisgICAgICAgICAgICAgICAgICAgIHByb2NfaXNfcnVubmluZyA9IEZhbHNl
CisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh0ZXN0LnJlc3Vs
dF9jbHMoIlRJTUVPVVQiLCBOb25lKSwgW10pCisKKworICAgICAgICAgICAgaWYgcHJvY19pc19y
dW5uaW5nOgorICAgICAgICAgICAgICAgIGlmIHNlbGYucGF1c2VfYWZ0ZXJfdGVzdDoKKyAgICAg
ICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiUGF1c2luZyB1bnRpbCB0aGUgYnJvd3Nl
ciBleGl0cyIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYucHJvYy53YWl0KCkKKyAgICAgICAg
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLnByb2Mua2lsbCgpCisgICAg
ICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgIHNlbGYucHJvYy5raWxs
KCkKKyAgICAgICAgICAgIHJhaXNlCisKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorCisgICAgZGVm
IG9uX291dHB1dChzZWxmLCBsaW5lKToKKyAgICAgICAgcHJlZml4ID0gIkFMRVJUOiBSRVNVTFQ6
ICIKKyAgICAgICAgbGluZSA9IGxpbmUuZGVjb2RlKCJ1dGY4IiwgInJlcGxhY2UiKQorICAgICAg
ICBpZiBsaW5lLnN0YXJ0c3dpdGgocHJlZml4KToKKyAgICAgICAgICAgIHNlbGYucmVzdWx0X2Rh
dGEgPSBqc29uLmxvYWRzKGxpbmVbbGVuKHByZWZpeCk6XSkKKyAgICAgICAgICAgIHNlbGYucmVz
dWx0X2ZsYWcuc2V0KCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYuaW50ZXJh
Y3RpdmU6CisgICAgICAgICAgICAgICAgcHJpbnQgbGluZQorICAgICAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5wcm9jZXNzX291dHB1dChzZWxmLnByb2MucGlkLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAiLmpvaW4oc2VsZi5jb21tYW5k
KSkKKworICAgIGRlZiBvbl9maW5pc2goc2VsZik6CisgICAgICAgIHNlbGYucmVzdWx0X2ZsYWcu
c2V0KCkKKworCitjbGFzcyBUZW1wRmlsZW5hbWUob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18o
c2VsZiwgZGlyZWN0b3J5KToKKyAgICAgICAgc2VsZi5kaXJlY3RvcnkgPSBkaXJlY3RvcnkKKyAg
ICAgICAgc2VsZi5wYXRoID0gTm9uZQorCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAg
ICAgc2VsZi5wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuZGlyZWN0b3J5LCBzdHIodXVpZC51dWlk
NCgpKSkKKyAgICAgICAgcmV0dXJuIHNlbGYucGF0aAorCisgICAgZGVmIF9fZXhpdF9fKHNlbGYs
ICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9zLnVubGluayhz
ZWxmLnBhdGgpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgcGFzcworCisK
K2NsYXNzIFNlcnZvUmVmVGVzdEV4ZWN1dG9yKFByb2Nlc3NUZXN0RXhlY3V0b3IpOgorICAgIGNv
bnZlcnRfcmVzdWx0ID0gcmVmdGVzdF9yZXN1bHRfY29udmVydGVyCisKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywgYmluYXJ5PU5vbmUsIHRpbWVvdXRfbXVs
dGlwbGllcj0xLAorICAgICAgICAgICAgICAgICBzY3JlZW5zaG90X2NhY2hlPU5vbmUsIGRlYnVn
X2luZm89Tm9uZSwgcGF1c2VfYWZ0ZXJfdGVzdD1GYWxzZSk6CisgICAgICAgIGRvX2RlbGF5ZWRf
aW1wb3J0cygpCisgICAgICAgIFByb2Nlc3NUZXN0RXhlY3V0b3IuX19pbml0X18oc2VsZiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9jb25maWcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVyPXRpbWVvdXRfbXVsdGlwbGll
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z19pbmZvPWRlYnVn
X2luZm8pCisKKyAgICAgICAgc2VsZi5wcm90b2NvbCA9IFByb3RvY29sKHNlbGYsIGJyb3dzZXIp
CisgICAgICAgIHNlbGYuc2NyZWVuc2hvdF9jYWNoZSA9IHNjcmVlbnNob3RfY2FjaGUKKyAgICAg
ICAgc2VsZi5pbXBsZW1lbnRhdGlvbiA9IFJlZlRlc3RJbXBsZW1lbnRhdGlvbihzZWxmKQorICAg
ICAgICBzZWxmLnRlbXBkaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi5ob3N0
c19wYXRoID0gbWFrZV9ob3N0c19maWxlKCkKKworICAgIGRlZiB0ZWFyZG93bihzZWxmKToKKyAg
ICAgICAgdHJ5OgorICAgICAgICAgICAgb3MudW5saW5rKHNlbGYuaG9zdHNfcGF0aCkKKyAgICAg
ICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIG9zLnJtZGlyKHNl
bGYudGVtcGRpcikKKyAgICAgICAgUHJvY2Vzc1Rlc3RFeGVjdXRvci50ZWFyZG93bihzZWxmKQor
CisgICAgZGVmIHNjcmVlbnNob3Qoc2VsZiwgdGVzdCwgdmlld3BvcnRfc2l6ZSwgZHBpKToKKyAg
ICAgICAgZnVsbF91cmwgPSBzZWxmLnRlc3RfdXJsKHRlc3QpCisKKyAgICAgICAgd2l0aCBUZW1w
RmlsZW5hbWUoc2VsZi50ZW1wZGlyKSBhcyBvdXRwdXRfcGF0aDoKKyAgICAgICAgICAgIGRlYnVn
X2FyZ3MsIGNvbW1hbmQgPSBicm93c2VyX2NvbW1hbmQoCisgICAgICAgICAgICAgICAgc2VsZi5i
aW5hcnksCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICAiLS1oYXJkLWZh
aWwiLCAiLS1leGl0IiwKKyAgICAgICAgICAgICAgICAgICAgIi11IiwgIlNlcnZvL3dwdHJ1bm5l
ciIsCisgICAgICAgICAgICAgICAgICAgICItWiIsICJkaXNhYmxlLXRleHQtYWEsbG9hZC13ZWJm
b250cy1zeW5jaHJvbm91c2x5LHJlcGxhY2Utc3Vycm9nYXRlcyIsCisgICAgICAgICAgICAgICAg
ICAgICItLW91dHB1dD0lcyIgJSBvdXRwdXRfcGF0aCwgZnVsbF91cmwKKyAgICAgICAgICAgICAg
ICBdICsgc2VsZi5icm93c2VyLmJpbmFyeV9hcmdzLAorICAgICAgICAgICAgICAgIHNlbGYuZGVi
dWdfaW5mbykKKworICAgICAgICAgICAgZm9yIHN0eWxlc2hlZXQgaW4gc2VsZi5icm93c2VyLnVz
ZXJfc3R5bGVzaGVldHM6CisgICAgICAgICAgICAgICAgY29tbWFuZCArPSBbIi0tdXNlci1zdHls
ZXNoZWV0Iiwgc3R5bGVzaGVldF0KKworICAgICAgICAgICAgZm9yIHByZWYsIHZhbHVlIGluIHRl
c3QuZW52aXJvbm1lbnQuZ2V0KCdwcmVmcycsIHt9KS5pdGVyaXRlbXMoKToKKyAgICAgICAgICAg
ICAgICBjb21tYW5kICs9IFsiLS1wcmVmIiwgIiVzPSVzIiAlIChwcmVmLCB2YWx1ZSldCisKKyAg
ICAgICAgICAgIGNvbW1hbmQgKz0gWyItLXJlc29sdXRpb24iLCB2aWV3cG9ydF9zaXplIG9yICI4
MDB4NjAwIl0KKworICAgICAgICAgICAgaWYgc2VsZi5icm93c2VyLmNhX2NlcnRpZmljYXRlX3Bh
dGg6CisgICAgICAgICAgICAgICAgY29tbWFuZCArPSBbIi0tY2VydGlmaWNhdGUtcGF0aCIsIHNl
bGYuYnJvd3Nlci5jYV9jZXJ0aWZpY2F0ZV9wYXRoXQorCisgICAgICAgICAgICBpZiBkcGk6Cisg
ICAgICAgICAgICAgICAgY29tbWFuZCArPSBbIi0tZGV2aWNlLXBpeGVsLXJhdGlvIiwgZHBpXQor
CisgICAgICAgICAgICAjIFJ1biByZWYgdGVzdHMgaW4gaGVhZGxlc3MgbW9kZQorICAgICAgICAg
ICAgY29tbWFuZCArPSBbIi16Il0KKworICAgICAgICAgICAgc2VsZi5jb21tYW5kID0gZGVidWdf
YXJncyArIGNvbW1hbmQKKworICAgICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKKyAg
ICAgICAgICAgIGVudlsiSE9TVF9GSUxFIl0gPSBzZWxmLmhvc3RzX3BhdGgKKyAgICAgICAgICAg
IGVudlsiUlVTVF9CQUNLVFJBQ0UiXSA9ICIxIgorCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5p
bnRlcmFjdGl2ZToKKyAgICAgICAgICAgICAgICBzZWxmLnByb2MgPSBQcm9jZXNzSGFuZGxlcihz
ZWxmLmNvbW1hbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHJvY2Vzc091dHB1dExpbmU9W3NlbGYub25fb3V0cHV0XSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBlbnY9ZW52KQorCisKKyAgICAgICAgICAgICAgICB0cnk6
CisgICAgICAgICAgICAgICAgICAgIHNlbGYucHJvYy5ydW4oKQorICAgICAgICAgICAgICAgICAg
ICB0aW1lb3V0ID0gdGVzdC50aW1lb3V0ICogc2VsZi50aW1lb3V0X211bHRpcGxpZXIgKyA1Cisg
ICAgICAgICAgICAgICAgICAgIHJ2ID0gc2VsZi5wcm9jLndhaXQodGltZW91dD10aW1lb3V0KQor
ICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgICAg
ICAgICAgc2VsZi5wcm9jLmtpbGwoKQorICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnByb2MgPSBzdWJwcm9jZXNzLlBvcGVu
KHNlbGYuY29tbWFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVudj1lbnYpCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBy
diA9IHNlbGYucHJvYy53YWl0KCkKKyAgICAgICAgICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRl
cnJ1cHQ6CisgICAgICAgICAgICAgICAgICAgIHNlbGYucHJvYy5raWxsKCkKKyAgICAgICAgICAg
ICAgICAgICAgcmFpc2UKKworICAgICAgICAgICAgaWYgcnYgaXMgTm9uZToKKyAgICAgICAgICAg
ICAgICBzZWxmLnByb2Mua2lsbCgpCisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCAoIkVY
VEVSTkFMLVRJTUVPVVQiLCBOb25lKQorCisgICAgICAgICAgICBpZiBydiAhPSAwIG9yIG5vdCBv
cy5wYXRoLmV4aXN0cyhvdXRwdXRfcGF0aCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNl
LCAoIkNSQVNIIiwgTm9uZSkKKworICAgICAgICAgICAgd2l0aCBvcGVuKG91dHB1dF9wYXRoKSBh
cyBmOgorICAgICAgICAgICAgICAgICMgTWlnaHQgbmVlZCB0byBzdHJpcCB2YXJpYWJsZSBoZWFk
ZXJzIG9yIHNvbWV0aGluZyBoZXJlCisgICAgICAgICAgICAgICAgZGF0YSA9IGYucmVhZCgpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIFRydWUsIGJhc2U2NC5iNjRlbmNvZGUoZGF0YSkKKworICAg
IGRlZiBkb190ZXN0KHNlbGYsIHRlc3QpOgorICAgICAgICByZXN1bHQgPSBzZWxmLmltcGxlbWVu
dGF0aW9uLnJ1bl90ZXN0KHRlc3QpCisKKyAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1
bHQodGVzdCwgcmVzdWx0KQorCisgICAgZGVmIG9uX291dHB1dChzZWxmLCBsaW5lKToKKyAgICAg
ICAgbGluZSA9IGxpbmUuZGVjb2RlKCJ1dGY4IiwgInJlcGxhY2UiKQorICAgICAgICBpZiBzZWxm
LmludGVyYWN0aXZlOgorICAgICAgICAgICAgcHJpbnQgbGluZQorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgc2VsZi5sb2dnZXIucHJvY2Vzc19vdXRwdXQoc2VsZi5wcm9jLnBpZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiICIuam9pbihzZWxmLmNvbW1hbmQpKQorCitjbGFzcyBT
ZXJ2b1dkc3BlY1Byb3RvY29sKFByb3RvY29sKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZXhl
Y3V0b3IsIGJyb3dzZXIpOgorICAgICAgICBzZWxmLmRvX2RlbGF5ZWRfaW1wb3J0cygpCisgICAg
ICAgIFByb3RvY29sLl9faW5pdF9fKHNlbGYsIGV4ZWN1dG9yLCBicm93c2VyKQorICAgICAgICBz
ZWxmLnNlc3Npb24gPSBOb25lCisgICAgICAgIHNlbGYuc2VydmVyID0gTm9uZQorCisgICAgZGVm
IHNldHVwKHNlbGYsIHJ1bm5lcik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuc2Vy
dmVyID0gU2Vydm9Ecml2ZXJTZXJ2ZXIoc2VsZi5sb2dnZXIsIGJpbmFyeT1zZWxmLmJyb3dzZXIu
YmluYXJ5LCBiaW5hcnlfYXJncz1zZWxmLmJyb3dzZXIuYmluYXJ5X2FyZ3MpCisgICAgICAgICAg
ICBzZWxmLnNlcnZlci5zdGFydChibG9jaz1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYubG9nZ2Vy
LmluZm8oCisgICAgICAgICAgICAgICAgIldlYkRyaXZlciBIVFRQIHNlcnZlciBsaXN0ZW5pbmcg
YXQgJXMiICUgc2VsZi5zZXJ2ZXIudXJsKQorCisgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZv
KAorICAgICAgICAgICAgICAgICJFc3RhYmxpc2hpbmcgbmV3IFdlYkRyaXZlciBzZXNzaW9uIHdp
dGggJXMiICUgc2VsZi5zZXJ2ZXIudXJsKQorICAgICAgICAgICAgc2VsZi5zZXNzaW9uID0gd2Vi
ZHJpdmVyLlNlc3Npb24oCisgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuaG9zdCwgc2VsZi5z
ZXJ2ZXIucG9ydCwgc2VsZi5zZXJ2ZXIuYmFzZV9wYXRoKQorICAgICAgICBleGNlcHQgRXhjZXB0
aW9uOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IodHJhY2ViYWNrLmZvcm1hdF9leGMo
KSkKKyAgICAgICAgICAgIHNlbGYuZXhlY3V0b3IucnVubmVyLnNlbmRfbWVzc2FnZSgiaW5pdF9m
YWlsZWQiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5leGVjdXRvci5ydW5uZXIu
c2VuZF9tZXNzYWdlKCJpbml0X3N1Y2NlZWRlZCIpCisKKyAgICBkZWYgdGVhcmRvd24oc2VsZik6
CisgICAgICAgIGlmIHNlbGYuc2VydmVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgICAgIGlmIHNlbGYuc2Vzc2lvbi5zZXNzaW9uX2lkIGlzIG5vdCBOb25lOgor
ICAgICAgICAgICAgICAgICAgICBzZWxmLnNlc3Npb24uZW5kKCkKKyAgICAgICAgICAgIGV4Y2Vw
dCBFeGNlcHRpb246CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgaWYgc2VsZi5z
ZXJ2ZXIuaXNfYWxpdmU6CisgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc3RvcCgpCisKKyAg
ICBAcHJvcGVydHkKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgIGNvbm4gPSBodHRw
bGliLkhUVFBDb25uZWN0aW9uKHNlbGYuc2VydmVyLmhvc3QsIHNlbGYuc2VydmVyLnBvcnQpCisg
ICAgICAgIGNvbm4ucmVxdWVzdCgiSEVBRCIsIHNlbGYuc2VydmVyLmJhc2VfcGF0aCArICJpbnZh
bGlkIikKKyAgICAgICAgcmVzID0gY29ubi5nZXRyZXNwb25zZSgpCisgICAgICAgIHJldHVybiBy
ZXMuc3RhdHVzID09IDQwNAorCisgICAgZGVmIGRvX2RlbGF5ZWRfaW1wb3J0cyhzZWxmKToKKyAg
ICAgICAgZ2xvYmFsIHB5dGVzdHJ1bm5lciwgd2ViZHJpdmVyCisgICAgICAgIGZyb20gLiBpbXBv
cnQgcHl0ZXN0cnVubmVyCisgICAgICAgIGltcG9ydCB3ZWJkcml2ZXIKKworCitjbGFzcyBTZXJ2
b1dkc3BlY0V4ZWN1dG9yKFdkc3BlY0V4ZWN1dG9yKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
YnJvd3Nlciwgc2VydmVyX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBs
aWVyPTEsIGNsb3NlX2FmdGVyX2RvbmU9VHJ1ZSwgZGVidWdfaW5mbz1Ob25lLAorICAgICAgICAg
ICAgICAgICAqKmt3YXJncyk6CisgICAgICAgIFdkc3BlY0V4ZWN1dG9yLl9faW5pdF9fKHNlbGYs
IGJyb3dzZXIsIHNlcnZlcl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRpbWVvdXRfbXVsdGlwbGllcj10aW1lb3V0X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRlYnVnX2luZm89ZGVidWdfaW5mbykKKyAgICAgICAgc2VsZi5wcm90
b2NvbCA9IFNlcnZvV2RzcGVjUHJvdG9jb2woc2VsZiwgYnJvd3NlcikKKworICAgIGRlZiBpc19h
bGl2ZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYucHJvdG9jb2wuaXNfYWxpdmUKKworICAg
IGRlZiBvbl9lbnZpcm9ubWVudF9jaGFuZ2Uoc2VsZiwgbmV3X2Vudmlyb25tZW50KToKKyAgICAg
ICAgcGFzcworCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgIHRpbWVvdXQg
PSB0ZXN0LnRpbWVvdXQgKiBzZWxmLnRpbWVvdXRfbXVsdGlwbGllciArIGV4dHJhX3RpbWVvdXQK
KworICAgICAgICBzdWNjZXNzLCBkYXRhID0gV2RzcGVjUnVuKHNlbGYuZG9fd2RzcGVjLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucHJvdG9jb2wuc2Vzc2lvbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0LnBhdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGltZW91dCkucnVuKCkKKworICAgICAgICBpZiBzdWNjZXNz
OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1bHQodGVzdCwgZGF0YSkKKwor
ICAgICAgICByZXR1cm4gKHRlc3QucmVzdWx0X2NscygqZGF0YSksIFtdKQorCisgICAgZGVmIGRv
X3dkc3BlYyhzZWxmLCBzZXNzaW9uLCBwYXRoLCB0aW1lb3V0KToKKyAgICAgICAgaGFybmVzc19y
ZXN1bHQgPSAoIk9LIiwgTm9uZSkKKyAgICAgICAgc3VidGVzdF9yZXN1bHRzID0gcHl0ZXN0cnVu
bmVyLnJ1bihwYXRoLCBzZXNzaW9uLCB0aW1lb3V0PXRpbWVvdXQpCisgICAgICAgIHJldHVybiAo
aGFybmVzc19yZXN1bHQsIHN1YnRlc3RfcmVzdWx0cykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci9leGVjdXRvcnMvZXhlY3V0b3JzZXJ2b2RyaXZlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRv
cnMvZXhlY3V0b3JzZXJ2b2RyaXZlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGQzMzFjNzUwOTAyNWNiZDdk
YmZmOTcyYTA0MzE2OTgxNTZkMWNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4
ZWN1dG9ycy9leGVjdXRvcnNlcnZvZHJpdmVyLnB5CkBAIC0wLDAgKzEsMjU3IEBACitpbXBvcnQg
anNvbgoraW1wb3J0IG9zCitpbXBvcnQgc29ja2V0CitpbXBvcnQgdGhyZWFkaW5nCitpbXBvcnQg
dGltZQoraW1wb3J0IHRyYWNlYmFjaworCitmcm9tIC5iYXNlIGltcG9ydCAoUHJvdG9jb2wsCisg
ICAgICAgICAgICAgICAgICAgUmVmVGVzdEV4ZWN1dG9yLAorICAgICAgICAgICAgICAgICAgIFJl
ZlRlc3RJbXBsZW1lbnRhdGlvbiwKKyAgICAgICAgICAgICAgICAgICBUZXN0aGFybmVzc0V4ZWN1
dG9yLAorICAgICAgICAgICAgICAgICAgIHN0cmlwX3NlcnZlcikKK2Zyb20gLi50ZXN0cnVubmVy
IGltcG9ydCBTdG9wCisKK3dlYmRyaXZlciA9IE5vbmUKKworaGVyZSA9IG9zLnBhdGguam9pbihv
cy5wYXRoLnNwbGl0KF9fZmlsZV9fKVswXSkKKworZXh0cmFfdGltZW91dCA9IDUKKworCitkZWYg
ZG9fZGVsYXllZF9pbXBvcnRzKCk6CisgICAgZ2xvYmFsIHdlYmRyaXZlcgorICAgIGltcG9ydCB3
ZWJkcml2ZXIKKworCitjbGFzcyBTZXJ2b1dlYkRyaXZlclByb3RvY29sKFByb3RvY29sKToKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgZXhlY3V0b3IsIGJyb3dzZXIsIGNhcGFiaWxpdGllcywgKipr
d2FyZ3MpOgorICAgICAgICBkb19kZWxheWVkX2ltcG9ydHMoKQorICAgICAgICBQcm90b2NvbC5f
X2luaXRfXyhzZWxmLCBleGVjdXRvciwgYnJvd3NlcikKKyAgICAgICAgc2VsZi5jYXBhYmlsaXRp
ZXMgPSBjYXBhYmlsaXRpZXMKKyAgICAgICAgc2VsZi5ob3N0ID0gYnJvd3Nlci53ZWJkcml2ZXJf
aG9zdAorICAgICAgICBzZWxmLnBvcnQgPSBicm93c2VyLndlYmRyaXZlcl9wb3J0CisgICAgICAg
IHNlbGYuc2Vzc2lvbiA9IE5vbmUKKworICAgIGRlZiBzZXR1cChzZWxmLCBydW5uZXIpOgorICAg
ICAgICAiIiJDb25uZWN0IHRvIGJyb3dzZXIgdmlhIFdlYkRyaXZlci4iIiIKKyAgICAgICAgc2Vs
Zi5ydW5uZXIgPSBydW5uZXIKKworICAgICAgICB1cmwgPSAiaHR0cDovLyVzOiVkIiAlIChzZWxm
Lmhvc3QsIHNlbGYucG9ydCkKKyAgICAgICAgc2Vzc2lvbl9zdGFydGVkID0gRmFsc2UKKyAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5zZXNzaW9uID0gd2ViZHJpdmVyLlNlc3Npb24oc2Vs
Zi5ob3N0LCBzZWxmLnBvcnQsCisgICAgICAgICAgICAgICAgZXh0ZW5zaW9uPXdlYmRyaXZlci5z
ZXJ2by5TZXJ2b0NvbW1hbmRFeHRlbnNpb25zKQorICAgICAgICAgICAgc2VsZi5zZXNzaW9uLnN0
YXJ0KCkKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgc2VsZi5sb2dnZXIud2FybmluZygK
KyAgICAgICAgICAgICAgICAiQ29ubmVjdGluZyB3aXRoIFdlYkRyaXZlciBmYWlsZWQ6XG4lcyIg
JSB0cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2Vs
Zi5sb2dnZXIuZGVidWcoInNlc3Npb24gc3RhcnRlZCIpCisgICAgICAgICAgICBzZXNzaW9uX3N0
YXJ0ZWQgPSBUcnVlCisKKyAgICAgICAgaWYgbm90IHNlc3Npb25fc3RhcnRlZDoKKyAgICAgICAg
ICAgIHNlbGYubG9nZ2VyLndhcm5pbmcoIkZhaWxlZCB0byBjb25uZWN0IHZpYSBXZWJEcml2ZXIi
KQorICAgICAgICAgICAgc2VsZi5leGVjdXRvci5ydW5uZXIuc2VuZF9tZXNzYWdlKCJpbml0X2Zh
aWxlZCIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yLnJ1bm5lci5z
ZW5kX21lc3NhZ2UoImluaXRfc3VjY2VlZGVkIikKKworICAgIGRlZiB0ZWFyZG93bihzZWxmKToK
KyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIkhhbmdpbmcgdXAgb24gV2ViRHJpdmVyIHNlc3Np
b24iKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnNlc3Npb24uZW5kKCkKKyAgICAg
ICAgZXhjZXB0OgorICAgICAgICAgICAgcGFzcworCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgor
ICAgICAgICB0cnk6CisgICAgICAgICAgICAjIEdldCBhIHNpbXBsZSBwcm9wZXJ0eSBvdmVyIHRo
ZSBjb25uZWN0aW9uCisgICAgICAgICAgICBzZWxmLnNlc3Npb24ud2luZG93X2hhbmRsZQorICAg
ICAgICAjIFRPRE8gd2hhdCBleGNlcHRpb24/CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Cisg
ICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIGRlZiBh
ZnRlcl9jb25uZWN0KHNlbGYpOgorICAgICAgICBwYXNzCisKKyAgICBkZWYgd2FpdChzZWxmKToK
KyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBz
ZWxmLnNlc3Npb24uZXhlY3V0ZV9hc3luY19zY3JpcHQoIiIpCisgICAgICAgICAgICBleGNlcHQg
d2ViZHJpdmVyLlRpbWVvdXRFeGNlcHRpb246CisgICAgICAgICAgICAgICAgcGFzcworICAgICAg
ICAgICAgZXhjZXB0IChzb2NrZXQudGltZW91dCwgSU9FcnJvcik6CisgICAgICAgICAgICAgICAg
YnJlYWsKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAg
ICBzZWxmLmxvZ2dlci5lcnJvcih0cmFjZWJhY2suZm9ybWF0X2V4YyhlKSkKKyAgICAgICAgICAg
ICAgICBicmVhaworCisgICAgZGVmIG9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLCBvbGRfZW52
aXJvbm1lbnQsIG5ld19lbnZpcm9ubWVudCk6CisgICAgICAgICNVbnNldCBhbGwgdGhlIG9sZCBw
cmVmcworICAgICAgICBzZWxmLnNlc3Npb24uZXh0ZW5zaW9uLnJlc2V0X3ByZWZzKCpvbGRfZW52
aXJvbm1lbnQuZ2V0KCJwcmVmcyIsIHt9KS5rZXlzKCkpCisgICAgICAgIHNlbGYuc2Vzc2lvbi5l
eHRlbnNpb24uc2V0X3ByZWZzKG5ld19lbnZpcm9ubWVudC5nZXQoInByZWZzIiwge30pKQorCisK
K2NsYXNzIFNlcnZvV2ViRHJpdmVyUnVuKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGZ1bmMsIHNlc3Npb24sIHVybCwgdGltZW91dCwgY3VycmVudF90aW1lb3V0PU5vbmUpOgorICAg
ICAgICBzZWxmLmZ1bmMgPSBmdW5jCisgICAgICAgIHNlbGYucmVzdWx0ID0gTm9uZQorICAgICAg
ICBzZWxmLnNlc3Npb24gPSBzZXNzaW9uCisgICAgICAgIHNlbGYudXJsID0gdXJsCisgICAgICAg
IHNlbGYudGltZW91dCA9IHRpbWVvdXQKKyAgICAgICAgc2VsZi5yZXN1bHRfZmxhZyA9IHRocmVh
ZGluZy5FdmVudCgpCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICBleGVjdXRvciA9IHRo
cmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYuX3J1bikKKyAgICAgICAgZXhlY3V0b3Iuc3RhcnQo
KQorCisgICAgICAgIGZsYWcgPSBzZWxmLnJlc3VsdF9mbGFnLndhaXQoc2VsZi50aW1lb3V0ICsg
ZXh0cmFfdGltZW91dCkKKyAgICAgICAgaWYgc2VsZi5yZXN1bHQgaXMgTm9uZToKKyAgICAgICAg
ICAgIGFzc2VydCBub3QgZmxhZworICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJF
WFRFUk5BTC1USU1FT1VUIiwgTm9uZSkKKworICAgICAgICByZXR1cm4gc2VsZi5yZXN1bHQKKwor
ICAgIGRlZiBfcnVuKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnJlc3Vs
dCA9IFRydWUsIHNlbGYuZnVuYyhzZWxmLnNlc3Npb24sIHNlbGYudXJsLCBzZWxmLnRpbWVvdXQp
CisgICAgICAgIGV4Y2VwdCB3ZWJkcml2ZXIuVGltZW91dEV4Y2VwdGlvbjoKKyAgICAgICAgICAg
IHNlbGYucmVzdWx0ID0gRmFsc2UsICgiRVhURVJOQUwtVElNRU9VVCIsIE5vbmUpCisgICAgICAg
IGV4Y2VwdCAoc29ja2V0LnRpbWVvdXQsIElPRXJyb3IpOgorICAgICAgICAgICAgc2VsZi5yZXN1
bHQgPSBGYWxzZSwgKCJDUkFTSCIsIE5vbmUpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg
ZToKKyAgICAgICAgICAgIG1lc3NhZ2UgPSBnZXRhdHRyKGUsICJtZXNzYWdlIiwgIiIpCisgICAg
ICAgICAgICBpZiBtZXNzYWdlOgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgorICAg
ICAgICAgICAgbWVzc2FnZSArPSB0cmFjZWJhY2suZm9ybWF0X2V4YyhlKQorICAgICAgICAgICAg
c2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFUlJPUiIsIGUpCisgICAgICAgIGZpbmFsbHk6CisgICAg
ICAgICAgICBzZWxmLnJlc3VsdF9mbGFnLnNldCgpCisKKworZGVmIHRpbWVvdXRfZnVuYyh0aW1l
b3V0KToKKyAgICBpZiB0aW1lb3V0OgorICAgICAgICB0MCA9IHRpbWUudGltZSgpCisgICAgICAg
IHJldHVybiBsYW1iZGE6IHRpbWUudGltZSgpIC0gdDAgPiB0aW1lb3V0ICsgZXh0cmFfdGltZW91
dAorICAgIGVsc2U6CisgICAgICAgIHJldHVybiBsYW1iZGE6IEZhbHNlCisKKworY2xhc3MgU2Vy
dm9XZWJEcml2ZXJUZXN0aGFybmVzc0V4ZWN1dG9yKFRlc3RoYXJuZXNzRXhlY3V0b3IpOgorICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRp
cGxpZXI9MSwKKyAgICAgICAgICAgICAgICAgY2xvc2VfYWZ0ZXJfZG9uZT1UcnVlLCBjYXBhYmls
aXRpZXM9Tm9uZSwgZGVidWdfaW5mbz1Ob25lKToKKyAgICAgICAgVGVzdGhhcm5lc3NFeGVjdXRv
ci5fX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxp
ZXI9MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z19pbmZvPU5v
bmUpCisgICAgICAgIHNlbGYucHJvdG9jb2wgPSBTZXJ2b1dlYkRyaXZlclByb3RvY29sKHNlbGYs
IGJyb3dzZXIsIGNhcGFiaWxpdGllcz1jYXBhYmlsaXRpZXMpCisgICAgICAgIHdpdGggb3Blbihv
cy5wYXRoLmpvaW4oaGVyZSwgInRlc3RoYXJuZXNzX3NlcnZvZHJpdmVyLmpzIikpIGFzIGY6Cisg
ICAgICAgICAgICBzZWxmLnNjcmlwdCA9IGYucmVhZCgpCisgICAgICAgIHNlbGYudGltZW91dCA9
IE5vbmUKKworICAgIGRlZiBvbl9wcm90b2NvbF9jaGFuZ2Uoc2VsZiwgbmV3X3Byb3RvY29sKToK
KyAgICAgICAgcGFzcworCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICByZXR1cm4g
c2VsZi5wcm90b2NvbC5pc19hbGl2ZSgpCisKKyAgICBkZWYgZG9fdGVzdChzZWxmLCB0ZXN0KToK
KyAgICAgICAgdXJsID0gc2VsZi50ZXN0X3VybCh0ZXN0KQorCisgICAgICAgIHRpbWVvdXQgPSB0
ZXN0LnRpbWVvdXQgKiBzZWxmLnRpbWVvdXRfbXVsdGlwbGllciArIGV4dHJhX3RpbWVvdXQKKwor
ICAgICAgICBpZiB0aW1lb3V0ICE9IHNlbGYudGltZW91dDoKKyAgICAgICAgICAgIHRyeToKKyAg
ICAgICAgICAgICAgICBzZWxmLnByb3RvY29sLnNlc3Npb24udGltZW91dHMuc2NyaXB0ID0gdGlt
ZW91dAorICAgICAgICAgICAgICAgIHNlbGYudGltZW91dCA9IHRpbWVvdXQKKyAgICAgICAgICAg
IGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKCJMb3N0
IHdlYmRyaXZlciBjb25uZWN0aW9uIikKKyAgICAgICAgICAgICAgICByZXR1cm4gU3RvcAorCisg
ICAgICAgIHN1Y2Nlc3MsIGRhdGEgPSBTZXJ2b1dlYkRyaXZlclJ1bihzZWxmLmRvX3Rlc3RoYXJu
ZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm90
b2NvbC5zZXNzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCku
cnVuKCkKKworICAgICAgICBpZiBzdWNjZXNzOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29u
dmVydF9yZXN1bHQodGVzdCwgZGF0YSkKKworICAgICAgICByZXR1cm4gKHRlc3QucmVzdWx0X2Ns
cygqZGF0YSksIFtdKQorCisgICAgZGVmIGRvX3Rlc3RoYXJuZXNzKHNlbGYsIHNlc3Npb24sIHVy
bCwgdGltZW91dCk6CisgICAgICAgIHNlc3Npb24udXJsID0gdXJsCisgICAgICAgIHJlc3VsdCA9
IGpzb24ubG9hZHMoCisgICAgICAgICAgICBzZXNzaW9uLmV4ZWN1dGVfYXN5bmNfc2NyaXB0KAor
ICAgICAgICAgICAgICAgIHNlbGYuc2NyaXB0ICUgeyJhYnNfdXJsIjogdXJsLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1cmwiOiBzdHJpcF9zZXJ2ZXIodXJsKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidGltZW91dF9tdWx0aXBsaWVyIjogc2VsZi50aW1lb3V0
X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVvdXQiOiB0
aW1lb3V0ICogMTAwMH0pKQorICAgICAgICAjIFByZXZlbnQgbGVha2luZyBldmVyeSBwYWdlIGlu
IGhpc3RvcnkgdW50aWwgU2Vydm8gZGV2ZWxvcHMgYSBtb3JlIHNhbmUKKyAgICAgICAgIyBwYWdl
IGNhY2hlCisgICAgICAgIHNlc3Npb24uYmFjaygpCisgICAgICAgIHJldHVybiByZXN1bHQKKwor
CitjbGFzcyBUaW1lb3V0RXJyb3IoRXhjZXB0aW9uKToKKyAgICBwYXNzCisKKworY2xhc3MgU2Vy
dm9XZWJEcml2ZXJSZWZUZXN0RXhlY3V0b3IoUmVmVGVzdEV4ZWN1dG9yKToKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywgdGltZW91dF9tdWx0aXBsaWVyPTEs
CisgICAgICAgICAgICAgICAgIHNjcmVlbnNob3RfY2FjaGU9Tm9uZSwgY2FwYWJpbGl0aWVzPU5v
bmUsIGRlYnVnX2luZm89Tm9uZSk6CisgICAgICAgICIiIlNlbGVuaXVtIFdlYkRyaXZlci1iYXNl
ZCBleGVjdXRvciBmb3IgcmVmdGVzdHMiIiIKKyAgICAgICAgUmVmVGVzdEV4ZWN1dG9yLl9faW5p
dF9fKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2NvbmZpZywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNjcmVlbnNob3RfY2FjaGU9c2NyZWVuc2hvdF9jYWNoZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXVsdGlwbGllcj10aW1l
b3V0X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z19p
bmZvPWRlYnVnX2luZm8pCisgICAgICAgIHNlbGYucHJvdG9jb2wgPSBTZXJ2b1dlYkRyaXZlclBy
b3RvY29sKHNlbGYsIGJyb3dzZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNhcGFiaWxpdGllcz1jYXBhYmlsaXRpZXMpCisgICAgICAgIHNlbGYuaW1w
bGVtZW50YXRpb24gPSBSZWZUZXN0SW1wbGVtZW50YXRpb24oc2VsZikKKyAgICAgICAgc2VsZi50
aW1lb3V0ID0gTm9uZQorICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGhlcmUsICJyZWZ0
ZXN0LXdhaXRfc2Vydm9kcml2ZXIuanMiKSkgYXMgZjoKKyAgICAgICAgICAgIHNlbGYud2FpdF9z
Y3JpcHQgPSBmLnJlYWQoKQorCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICByZXR1
cm4gc2VsZi5wcm90b2NvbC5pc19hbGl2ZSgpCisKKyAgICBkZWYgZG9fdGVzdChzZWxmLCB0ZXN0
KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5pbXBsZW1lbnRhdGlv
bi5ydW5fdGVzdCh0ZXN0KQorICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1bHQo
dGVzdCwgcmVzdWx0KQorICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgIHJldHVy
biB0ZXN0LnJlc3VsdF9jbHMoIkNSQVNIIiwgTm9uZSksIFtdCisgICAgICAgIGV4Y2VwdCBUaW1l
b3V0RXJyb3I6CisgICAgICAgICAgICByZXR1cm4gdGVzdC5yZXN1bHRfY2xzKCJUSU1FT1VUIiwg
Tm9uZSksIFtdCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIG1l
c3NhZ2UgPSBnZXRhdHRyKGUsICJtZXNzYWdlIiwgIiIpCisgICAgICAgICAgICBpZiBtZXNzYWdl
OgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgorICAgICAgICAgICAgbWVzc2FnZSAr
PSB0cmFjZWJhY2suZm9ybWF0X2V4YyhlKQorICAgICAgICAgICAgcmV0dXJuIHRlc3QucmVzdWx0
X2NscygiRVJST1IiLCBtZXNzYWdlKSwgW10KKworICAgIGRlZiBzY3JlZW5zaG90KHNlbGYsIHRl
c3QsIHZpZXdwb3J0X3NpemUsIGRwaSk6CisgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93cHRydW5uZXIvaXNzdWVzLzE2NgorICAgICAgICBhc3NlcnQgdmlld3BvcnRfc2l6ZSBpcyBO
b25lCisgICAgICAgIGFzc2VydCBkcGkgaXMgTm9uZQorCisgICAgICAgIHRpbWVvdXQgPSAodGVz
dC50aW1lb3V0ICogc2VsZi50aW1lb3V0X211bHRpcGxpZXIgKyBleHRyYV90aW1lb3V0CisgICAg
ICAgICAgICAgICAgICAgaWYgc2VsZi5kZWJ1Z19pbmZvIGlzIE5vbmUgZWxzZSBOb25lKQorCisg
ICAgICAgIGlmIHNlbGYudGltZW91dCAhPSB0aW1lb3V0OgorICAgICAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgICAgIHNlbGYucHJvdG9jb2wuc2Vzc2lvbi50aW1lb3V0cy5zY3JpcHQgPSB0aW1l
b3V0CisgICAgICAgICAgICAgICAgc2VsZi50aW1lb3V0ID0gdGltZW91dAorICAgICAgICAgICAg
ZXhjZXB0IElPRXJyb3I6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IoIkxvc3Qg
d2ViZHJpdmVyIGNvbm5lY3Rpb24iKQorICAgICAgICAgICAgICAgIHJldHVybiBTdG9wCisKKyAg
ICAgICAgcmV0dXJuIFNlcnZvV2ViRHJpdmVyUnVuKHNlbGYuX3NjcmVlbnNob3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnByb3RvY29sLnNlc3Npb24sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRlc3RfdXJsKHRlc3QpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCkucnVuKCkKKworICAgIGRlZiBfc2NyZWVu
c2hvdChzZWxmLCBzZXNzaW9uLCB1cmwsIHRpbWVvdXQpOgorICAgICAgICBzZXNzaW9uLnVybCA9
IHVybAorICAgICAgICBzZXNzaW9uLmV4ZWN1dGVfYXN5bmNfc2NyaXB0KHNlbGYud2FpdF9zY3Jp
cHQpCisgICAgICAgIHJldHVybiBzZXNzaW9uLnNjcmVlbnNob3QoKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2V4ZWN1dG9ycy9wcm9jZXNzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9w
cm9jZXNzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiOGMxN2E5NmJhMDRjZTYwMWFkM2NiOWFkNGM3NTg4Zjk0
N2U5NDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Byb2Nlc3Mu
cHkKQEAgLTAsMCArMSwyMCBAQAorZnJvbSAuYmFzZSBpbXBvcnQgVGVzdEV4ZWN1dG9yCisKKwor
Y2xhc3MgUHJvY2Vzc1Rlc3RFeGVjdXRvcihUZXN0RXhlY3V0b3IpOgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBUZXN0RXhlY3V0b3IuX19pbml0X18o
c2VsZiwgKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBzZWxmLmJpbmFyeSA9IHNlbGYuYnJvd3Nl
ci5iaW5hcnkKKyAgICAgICAgc2VsZi5pbnRlcmFjdGl2ZSA9IChGYWxzZSBpZiBzZWxmLmRlYnVn
X2luZm8gaXMgTm9uZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ugc2VsZi5kZWJ1
Z19pbmZvLmludGVyYWN0aXZlKQorCisgICAgZGVmIHNldHVwKHNlbGYsIHJ1bm5lcik6CisgICAg
ICAgIHNlbGYucnVubmVyID0gcnVubmVyCisgICAgICAgIHNlbGYucnVubmVyLnNlbmRfbWVzc2Fn
ZSgiaW5pdF9zdWNjZWVkZWQiKQorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgZGVmIGlzX2Fs
aXZlKHNlbGYpOgorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwg
dGVzdCk6CisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVyL19faW5pdF9fLnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2V4ZWN1dG9ycy9weXRlc3RydW5uZXIvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTkyYjNh
ODE1MWRhN2QwYzZkYWU5ZGY5ZjZhMWJjNzcwOWIyY2JhZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVyL19faW5pdF9fLnB5CkBAIC0wLDAgKzEg
QEAKK2Zyb20gLnJ1bm5lciBpbXBvcnQgcnVuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhl
Y3V0b3JzL3B5dGVzdHJ1bm5lci9ydW5uZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3B5
dGVzdHJ1bm5lci9ydW5uZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2E5N2Q0MGUwNjZhMTE4OTVlY2E3Yzhm
NmY3MWUzZDZkZjkwNWI2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRv
cnMvcHl0ZXN0cnVubmVyL3J1bm5lci5weQpAQCAtMCwwICsxLDExNSBAQAorIiIiUHJvdmlkZXMg
aW50ZXJmYWNlIHRvIGRlYWwgd2l0aCBweXRlc3QuCisKK1VzYWdlOjoKKworICAgIHNlc3Npb24g
PSB3ZWJkcml2ZXIuY2xpZW50LlNlc3Npb24oIjEyNy4wLjAuMSIsICI0NDQ0IiwgIi8iKQorICAg
IGhhcm5lc3NfcmVzdWx0ID0gKCJPSyIsIE5vbmUpCisgICAgc3VidGVzdF9yZXN1bHRzID0gcHl0
ZXN0cnVubmVyLnJ1bigiL3BhdGgvdG8vdGVzdCIsIHNlc3Npb24udXJsKQorICAgIHJldHVybiAo
aGFybmVzc19yZXN1bHQsIHN1YnRlc3RfcmVzdWx0cykKKyIiIgorCitpbXBvcnQgZXJybm8KK2lt
cG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCB0ZW1wZmlsZQorCisK
K3B5dGVzdCA9IE5vbmUKKworCitkZWYgZG9fZGVsYXllZF9pbXBvcnRzKCk6CisgICAgZ2xvYmFs
IHB5dGVzdAorICAgIGltcG9ydCBweXRlc3QKKworCitkZWYgcnVuKHBhdGgsIHNlcnZlcl9jb25m
aWcsIHNlc3Npb25fY29uZmlnLCB0aW1lb3V0PTApOgorICAgICIiIlJ1biBQeXRob24gdGVzdCBh
dCBgYHBhdGhgYCBpbiBweXRlc3QuICBUaGUgcHJvdmlkZWQgYGBzZXNzaW9uYGAKKyAgICBpcyBl
eHBvc2VkIGFzIGEgZml4dHVyZSBhdmFpbGFibGUgaW4gdGhlIHNjb3BlIG9mIHRoZSB0ZXN0IGZ1
bmN0aW9ucy4KKworICAgIDpwYXJhbSBwYXRoOiBQYXRoIHRvIHRoZSB0ZXN0IGZpbGUuCisgICAg
OnBhcmFtIHNlc3Npb25fY29uZmlnOiBkaWN0aW9uYXJ5IG9mIGhvc3QsIHBvcnQsY2FwYWJpbGl0
aWVzIHBhcmFtZXRlcnMKKyAgICB0byBwYXNzIHRocm91Z2ggdG8gdGhlIHdlYmRyaXZlciBzZXNz
aW9uCisgICAgOnBhcmFtIHRpbWVvdXQ6IER1cmF0aW9uIGJlZm9yZSBpbnRlcnJ1cHRpbmcgcG90
ZW50aWFsbHkgaGFuZ2luZworICAgICAgICB0ZXN0cy4gIElmIDAsIHRoZXJlIGlzIG5vIHRpbWVv
dXQuCisKKyAgICA6cmV0dXJuczogTGlzdCBvZiBzdWJ0ZXN0IHJlc3VsdHMsIHdoaWNoIGFyZSB0
dXBsZXMgb2YgKHRlc3QgaWQsCisgICAgICAgIHN0YXR1cywgbWVzc2FnZSwgc3RhY2t0cmFjZSku
CisgICAgIiIiCisKKyAgICBpZiBweXRlc3QgaXMgTm9uZToKKyAgICAgICAgZG9fZGVsYXllZF9p
bXBvcnRzKCkKKworICAgIHJlY29yZGVyID0gU3VidGVzdFJlc3VsdFJlY29yZGVyKCkKKworICAg
IG9zLmVudmlyb25bIldEX0hPU1QiXSA9IHNlc3Npb25fY29uZmlnWyJob3N0Il0KKyAgICBvcy5l
bnZpcm9uWyJXRF9QT1JUIl0gPSBzdHIoc2Vzc2lvbl9jb25maWdbInBvcnQiXSkKKyAgICBvcy5l
bnZpcm9uWyJXRF9DQVBBQklMSVRJRVMiXSA9IGpzb24uZHVtcHMoc2Vzc2lvbl9jb25maWdbImNh
cGFiaWxpdGllcyJdKQorICAgIG9zLmVudmlyb25bIldEX1NFUlZFUl9DT05GSUciXSA9IGpzb24u
ZHVtcHMoc2VydmVyX2NvbmZpZykKKworICAgIHBsdWdpbnMgPSBbcmVjb3JkZXJdCisKKyAgICAj
IFRPRE8oYXRvKTogRGVhbCB3aXRoIHRpbWVvdXRzCisKKyAgICB3aXRoIFRlbXBvcmFyeURpcmVj
dG9yeSgpIGFzIGNhY2hlOgorICAgICAgICBweXRlc3QubWFpbihbIi0tc3RyaWN0IiwgICMgdHVy
biB3YXJuaW5ncyBpbnRvIGVycm9ycworICAgICAgICAgICAgICAgICAgICAgIi0tdmVyYm9zZSIs
ICAjIHNob3cgZWFjaCBpbmRpdmlkdWFsIHN1YnRlc3QKKyAgICAgICAgICAgICAgICAgICAgICIt
LWNhcHR1cmUiLCAibm8iLCAgIyBlbmFibGUgc3Rkb3V0L3N0ZGVyciBmcm9tIHRlc3RzCisgICAg
ICAgICAgICAgICAgICAgICAiLS1iYXNldGVtcCIsIGNhY2hlLCAgIyB0ZW1wb3JhcnkgZGlyZWN0
b3J5CisgICAgICAgICAgICAgICAgICAgICBwYXRoXSwKKyAgICAgICAgICAgICAgICAgICAgcGx1
Z2lucz1wbHVnaW5zKQorCisgICAgcmV0dXJuIHJlY29yZGVyLnJlc3VsdHMKKworCitjbGFzcyBT
dWJ0ZXN0UmVzdWx0UmVjb3JkZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZik6Cisg
ICAgICAgIHNlbGYucmVzdWx0cyA9IFtdCisKKyAgICBkZWYgcHl0ZXN0X3J1bnRlc3RfbG9ncmVw
b3J0KHNlbGYsIHJlcG9ydCk6CisgICAgICAgIGlmIHJlcG9ydC5wYXNzZWQgYW5kIHJlcG9ydC53
aGVuID09ICJjYWxsIjoKKyAgICAgICAgICAgIHNlbGYucmVjb3JkX3Bhc3MocmVwb3J0KQorICAg
ICAgICBlbGlmIHJlcG9ydC5mYWlsZWQ6CisgICAgICAgICAgICBpZiByZXBvcnQud2hlbiAhPSAi
Y2FsbCI6CisgICAgICAgICAgICAgICAgc2VsZi5yZWNvcmRfZXJyb3IocmVwb3J0KQorICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnJlY29yZF9mYWlsKHJlcG9ydCkKKyAg
ICAgICAgZWxpZiByZXBvcnQuc2tpcHBlZDoKKyAgICAgICAgICAgIHNlbGYucmVjb3JkX3NraXAo
cmVwb3J0KQorCisgICAgZGVmIHJlY29yZF9wYXNzKHNlbGYsIHJlcG9ydCk6CisgICAgICAgIHNl
bGYucmVjb3JkKHJlcG9ydC5ub2RlaWQsICJQQVNTIikKKworICAgIGRlZiByZWNvcmRfZmFpbChz
ZWxmLCByZXBvcnQpOgorICAgICAgICBzZWxmLnJlY29yZChyZXBvcnQubm9kZWlkLCAiRkFJTCIs
IHN0YWNrPXJlcG9ydC5sb25ncmVwcikKKworICAgIGRlZiByZWNvcmRfZXJyb3Ioc2VsZiwgcmVw
b3J0KToKKyAgICAgICAgIyBlcnJvciBpbiBzZXR1cC90ZWFyZG93bgorICAgICAgICBpZiByZXBv
cnQud2hlbiAhPSAiY2FsbCI6CisgICAgICAgICAgICBtZXNzYWdlID0gIiVzIGVycm9yIiAlIHJl
cG9ydC53aGVuCisgICAgICAgIHNlbGYucmVjb3JkKHJlcG9ydC5ub2RlaWQsICJFUlJPUiIsIG1l
c3NhZ2UsIHJlcG9ydC5sb25ncmVwcikKKworICAgIGRlZiByZWNvcmRfc2tpcChzZWxmLCByZXBv
cnQpOgorICAgICAgICBzZWxmLnJlY29yZChyZXBvcnQubm9kZWlkLCAiRVJST1IiLAorICAgICAg
ICAgICAgICAgICAgICAiSW4tdGVzdCBza2lwIGRlY29yYXRvcnMgYXJlIGRpc2FsbG93ZWQsICIK
KyAgICAgICAgICAgICAgICAgICAgInBsZWFzZSB1c2UgV1BUIG1ldGFkYXRhIHRvIGlnbm9yZSB0
ZXN0cy4iKQorCisgICAgZGVmIHJlY29yZChzZWxmLCB0ZXN0LCBzdGF0dXMsIG1lc3NhZ2U9Tm9u
ZSwgc3RhY2s9Tm9uZSk6CisgICAgICAgIGlmIHN0YWNrIGlzIG5vdCBOb25lOgorICAgICAgICAg
ICAgc3RhY2sgPSBzdHIoc3RhY2spCisgICAgICAgIG5ld19yZXN1bHQgPSAodGVzdCwgc3RhdHVz
LCBtZXNzYWdlLCBzdGFjaykKKyAgICAgICAgc2VsZi5yZXN1bHRzLmFwcGVuZChuZXdfcmVzdWx0
KQorCisKK2NsYXNzIFRlbXBvcmFyeURpcmVjdG9yeShvYmplY3QpOgorICAgIGRlZiBfX2VudGVy
X18oc2VsZik6CisgICAgICAgIHNlbGYucGF0aCA9IHRlbXBmaWxlLm1rZHRlbXAocHJlZml4PSJw
eXRlc3QtIikKKyAgICAgICAgcmV0dXJuIHNlbGYucGF0aAorCisgICAgZGVmIF9fZXhpdF9fKHNl
bGYsICphcmdzKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxm
LnBhdGgpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisgICAgICAgICAgICAjIG5vIHN1
Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRU5P
RU5UOgorICAgICAgICAgICAgICAgIHJhaXNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhl
Y3V0b3JzL3B5dGVzdHJ1bm5lci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRv
cnMvcHl0ZXN0cnVubmVyL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwZGE4YTA4ODAxNmVi
ZjNlMjA4NTNkNzM0ZjJhMTkyNzMxYWRlNGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL3B5dGVzdHJ1bm5lci93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE4IEBA
CitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0Rv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3B5dGVzdHJ1bm5lci9fX2luaXRfXy5w
eQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVyL3J1bm5lci5weQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXQuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL3JlZnRlc3Qtd2FpdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZGQ5NmRmNzgwMzE5ZjZh
MWNiOGQzOTIxYzJiNGZmZmVhZDQwNTAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXQuanMKQEAgLTAsMCArMSwxOCBAQAorZnVuY3Rpb24gdGVz
dCh4KSB7CisgIGxvZygiY2xhc3NMaXN0OiAiICsgcm9vdC5jbGFzc0xpc3QpOworICBpZiAoIXJv
b3QuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWZ0ZXN0LXdhaXQiKSkgeworICAgIG9ic2VydmVyLmRp
c2Nvbm5lY3QoKTsKKyAgICBtYXJpb25ldHRlU2NyaXB0RmluaXNoZWQoKTsKKyAgfQorfQorCit2
YXIgcm9vdCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKK3ZhciBvYnNlcnZlciA9IG5ldyBN
dXRhdGlvbk9ic2VydmVyKHRlc3QpOworCitvYnNlcnZlci5vYnNlcnZlKHJvb3QsIHthdHRyaWJ1
dGVzOiB0cnVlfSk7CisKK2lmIChkb2N1bWVudC5yZWFkeVN0YXRlICE9ICJjb21wbGV0ZSIpIHsK
KyAgb25sb2FkID0gdGVzdAorfSBlbHNlIHsKKyAgdGVzdCgpOworfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXRfc2Vydm9kcml2ZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvZXhlY3V0b3JzL3JlZnRlc3Qtd2FpdF9zZXJ2b2RyaXZlci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
ODQ4NDMzYjU0MDk0MGQ3ZTdiZjI4ZGJhNWE0MjcwOGNlNWQ3MmZkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXRfc2Vydm9kcml2ZXIuanMKQEAg
LTAsMCArMSwxNSBAQAorY2FsbGJhY2sgPSBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFd
OworCitmdW5jdGlvbiBjaGVja19kb25lKCkgeworICAgIGlmICghZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmNsYXNzTGlzdC5jb250YWlucygncmVmdGVzdC13YWl0JykpIHsKKyAgICAgICAgY2Fs
bGJhY2soKTsKKyAgICB9IGVsc2UgeworICAgICAgICBzZXRUaW1lb3V0KGNoZWNrX2RvbmUsIDUw
KTsKKyAgICB9Cit9CisKK2lmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7
CisgICAgY2hlY2tfZG9uZSgpOworfSBlbHNlIHsKKyAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgY2hlY2tfZG9uZSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Jl
ZnRlc3Qtd2FpdF93ZWJkcml2ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3JlZnRlc3Qt
d2FpdF93ZWJkcml2ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNjYzQ1M2JkNDkxMDFjODJjYmIzOWY0NTk3
NDY4NTY0MWJiMTI0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMv
cmVmdGVzdC13YWl0X3dlYmRyaXZlci5qcwpAQCAtMCwwICsxLDMzIEBACit2YXIgY2FsbGJhY2sg
PSBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdOworCitmdW5jdGlvbiB0ZXN0KHgpIHsK
KyAgaWYgKCFyb290LmNsYXNzTGlzdC5jb250YWlucygicmVmdGVzdC13YWl0IikpIHsKKyAgICBv
YnNlcnZlci5kaXNjb25uZWN0KCk7CisKKyAgICAvLyBBcyBvZiAyMDE3LTA0LTA1LCB0aGUgQ2hy
b21pdW0gd2ViIGJyb3dzZXIgZXhoaWJpdHMgYSByZW5kZXJpbmcgYnVnCisgICAgLy8gKGh0dHBz
Oi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTcwODc1Nykg
dGhhdAorICAgIC8vIHByb2R1Y2VzIGluc3RhYmlsaXR5IGR1cmluZyBzY3JlZW4gY2FwdHVyZS4g
VGhlIGZvbGxvd2luZyB1c2Ugb2YKKyAgICAvLyBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYCBpcyBp
bnRlbmRlZCBhcyBhIHNob3J0LXRlcm0gd29ya2Fyb3VuZCwgdGhvdWdoCisgICAgLy8gaXQgaXMg
bm90IGd1YXJhbnRlZWQgdG8gcmVzb2x2ZSB0aGUgaXNzdWUuCisgICAgLy8KKyAgICAvLyBGb3Ig
ZnVydGhlciBkZXRhaWwsIHNlZToKKyAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xpbm1p
a2UvY2hyb21lLXNjcmVlbnNob3QtcmFjZS9pc3N1ZXMvMQorCisgICAgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKGZ1bmN0aW9uKCkgeworICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9u
KCkgeworICAgICAgICBjYWxsYmFjaygpOworICAgICAgfSk7CisgICAgfSk7CisgIH0KK30KKwor
dmFyIHJvb3QgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7Cit2YXIgb2JzZXJ2ZXIgPSBuZXcg
TXV0YXRpb25PYnNlcnZlcih0ZXN0KTsKKworb2JzZXJ2ZXIub2JzZXJ2ZShyb290LCB7YXR0cmli
dXRlczogdHJ1ZX0pOworCitpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPSAiY29tcGxldGUiKSB7
CisgICAgb25sb2FkID0gdGVzdDsKK30gZWxzZSB7CisgICAgdGVzdCgpOworfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1
dG9ycy9yZWZ0ZXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViZDVjNjA5Y2JkNWU3OTk3ODdjOTNiYWM2NzNm
YjhlMzkyYTdjMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Jl
ZnRlc3QuanMKQEAgLTAsMCArMSBAQAordmFyIHdpbiA9IHdpbmRvdy5vcGVuKCJhYm91dDpibGFu
ayIsICJ0ZXN0IiwgIndpZHRoPTYwMCxoZWlnaHQ9NjAwIik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX21hcmlvbmV0dGUuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
ZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX21hcmlvbmV0dGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWNmYTg1Zjg5
NDlhOGE1YjFhZWE3ZWZhMjc5ZTY5YzRiN2UyOWRkOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3NfbWFyaW9uZXR0ZS5qcwpAQCAtMCwwICsxLDMy
IEBACit3aW5kb3cud3JhcHBlZEpTT2JqZWN0LnRpbWVvdXRfbXVsdGlwbGllciA9ICUodGltZW91
dF9tdWx0aXBsaWVyKWQ7Cit3aW5kb3cud3JhcHBlZEpTT2JqZWN0LmV4cGxpY2l0X3RpbWVvdXQg
PSAlKGV4cGxpY2l0X3RpbWVvdXQpZDsKKword2luZG93LndyYXBwZWRKU09iamVjdC5hZGRFdmVu
dExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24gbGlzdGVuZXIoZXZlbnQpIHsKKyAgICBpZiAo
ZXZlbnQuZGF0YS50eXBlICE9ICJjb21wbGV0ZSIpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICB3aW5kb3cud3JhcHBlZEpTT2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2Ui
LCBsaXN0ZW5lcik7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTsKKyAgICB2YXIgdGVzdHMgPSBl
dmVudC5kYXRhLnRlc3RzOworICAgIHZhciBzdGF0dXMgPSBldmVudC5kYXRhLnN0YXR1czsKKwor
ICAgIHZhciBzdWJ0ZXN0X3Jlc3VsdHMgPSB0ZXN0cy5tYXAoZnVuY3Rpb24gKHgpIHsKKyAgICAg
ICAgcmV0dXJuIFt4Lm5hbWUsIHguc3RhdHVzLCB4Lm1lc3NhZ2UsIHguc3RhY2tdCisgICAgfSk7
CisKKyAgICBtYXJpb25ldHRlU2NyaXB0RmluaXNoZWQoWyIlKHVybClzIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0YXR1cy5zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdGF0dXMubWVzc2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXR1cy5zdGFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnRlc3RfcmVzdWx0
c10pOworfSwgZmFsc2UpOworCit3aW5kb3cud3JhcHBlZEpTT2JqZWN0LndpbiA9IHdpbmRvdy5v
cGVuKCIlKGFic191cmwpcyIsICIlKHdpbmRvd19pZClzIik7CisKK3ZhciB0aW1lciA9IG51bGw7
CitpZiAoJSh0aW1lb3V0KXMpIHsKKyAgICB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7
CisgICAgICAgIGxvZygiVGltZW91dCBmaXJlZCIpOworICAgICAgICB3aW5kb3cud3JhcHBlZEpT
T2JqZWN0Lndpbi50aW1lb3V0KCk7CisgICAgfSwgJSh0aW1lb3V0KXMpOworfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy90ZXN0aGFybmVzc19zZXJ2b2RyaXZlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3Nfc2Vydm9kcml2ZXIuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDczMWNjMDRkNzAxMTc1OWNlNjMwNzlmYmQxMjQyZmQ2NDI2NjAzYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3Nfc2Vydm9kcml2ZXIuanMK
QEAgLTAsMCArMSwyIEBACit3aW5kb3cuX193ZF9yZXN1bHRzX2NhbGxiYWNrX18gPSBhcmd1bWVu
dHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdOword2luZG93Ll9fd2RfcmVzdWx0c190aW1lcl9fID0g
c2V0VGltZW91dCh0aW1lb3V0LCAlKHRpbWVvdXQpcyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX3dlYmRyaXZlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVj
dXRvcnMvdGVzdGhhcm5lc3Nfd2ViZHJpdmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1Y2JmZjllZjc3NmE4
NTA1ZTdiZmRjNTdlYTE0OWE2MDIyYWY5OWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX3dlYmRyaXZlci5qcwpAQCAtMCwwICsxLDI5IEBACit2
YXIgY2FsbGJhY2sgPSBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdOword2luZG93LnRp
bWVvdXRfbXVsdGlwbGllciA9ICUodGltZW91dF9tdWx0aXBsaWVyKWQ7CisKK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24gZihldmVudCkgeworICBpZiAoZXZlbnQu
ZGF0YS50eXBlICE9ICJjb21wbGV0ZSIpIHsKKyAgICByZXR1cm47CisgIH0KKyAgd2luZG93LnJl
bW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmKTsKKworICB2YXIgdGVzdHMgPSBldmVudC5k
YXRhLnRlc3RzOworICB2YXIgc3RhdHVzID0gZXZlbnQuZGF0YS5zdGF0dXM7CisKKyAgdmFyIHN1
YnRlc3RfcmVzdWx0cyA9IHRlc3RzLm1hcChmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIFt4Lm5h
bWUsIHguc3RhdHVzLCB4Lm1lc3NhZ2UsIHguc3RhY2tdCisgIH0pOworICBjbGVhclRpbWVvdXQo
dGltZXIpOworICBjYWxsYmFjayhbIiUodXJsKXMiLAorICAgICAgICAgICAgc3RhdHVzLnN0YXR1
cywKKyAgICAgICAgICAgIHN0YXR1cy5tZXNzYWdlLAorICAgICAgICAgICAgc3RhdHVzLnN0YWNr
LAorICAgICAgICAgICAgc3VidGVzdF9yZXN1bHRzXSk7Cit9LCBmYWxzZSk7CisKK3dpbmRvdy53
aW4gPSB3aW5kb3cub3BlbigiJShhYnNfdXJsKXMiLCAiJSh3aW5kb3dfaWQpcyIpOworCit2YXIg
dGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICB3aW5kb3cud2luLnRpbWVvdXQoKTsK
KyAgd2luZG93Lndpbi5jbG9zZSgpOworfSwgJSh0aW1lb3V0KXMpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2V4ZWN1dG9ycy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRv
cnMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDY2Njk4NTA0MWI3NTM1OWQ0MTc3NWE2NTJl
MGY2MmE4ZTQ2NzViOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMv
dzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwzMCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4
ZWN1dG9ycy9fX2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvYmFzZS5weQorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JtYXJpb25ldHRlLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy9leGVjdXRvcnNlbGVuaXVtLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9l
eGVjdXRvcnNlcnZvLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9leGVjdXRvcnNlcnZvZHJp
dmVyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9wcm9jZXNzLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXQuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3JlZnRl
c3Qtd2FpdF9zZXJ2b2RyaXZlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13
YWl0X3dlYmRyaXZlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC5qcworL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3NfbWFyaW9uZXR0ZS5qcworL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3Nfc2Vydm9kcml2ZXIuanMKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
ZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX3dlYmRyaXZlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2V4cGVjdGVkLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4cGVjdGVkLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYw
NmFiYjk0NmFmMTZmNjkwZDQzNDcxNWM3YjkzM2YxMmQ1YTMzMzUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvZXhwZWN0ZWQucHkKQEAgLTAsMCArMSwxNCBAQAoraW1wb3J0IG9zCisK
KworZGVmIGV4cGVjdGVkX3BhdGgobWV0YWRhdGFfcGF0aCwgdGVzdF9wYXRoKToKKyAgICAiIiJQ
YXRoIHRvIHRoZSBleHBlY3RhdGlvbiBkYXRhIGZpbGUgZm9yIGEgZ2l2ZW4gdGVzdCBwYXRoLgor
CisgICAgVGhpcyBpcyBkZWZpbmVkIGFzIG1ldGFkYXRhX3BhdGggKyByZWxhdGl2ZV90ZXN0X3Bh
dGggKyAuaW5pCisKKyAgICA6cGFyYW0gbWV0YWRhdGFfcGF0aDogUGF0aCB0byB0aGUgcm9vdCBv
ZiB0aGUgbWV0YWRhdGEgZGlyZWN0b3J5CisgICAgOnBhcmFtIHRlc3RfcGF0aDogUmVsYXRpdmUg
cGF0aCB0byB0aGUgdGVzdCBmaWxlIGZyb20gdGhlIHRlc3Qgcm9vdAorICAgICIiIgorICAgIGFy
Z3MgPSBsaXN0KHRlc3RfcGF0aC5zcGxpdCgiLyIpKQorICAgIGFyZ3NbLTFdICs9ICIuaW5pIgor
ICAgIHJldHVybiBvcy5wYXRoLmpvaW4obWV0YWRhdGFfcGF0aCwgKmFyZ3MpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvaG9zdHMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvaG9zdHMucHkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTE1YzE3ZjFiMzExMjZmYmY0NTE3YjVlYTc4Y2MwY2RmMDFlYjUwZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9ob3N0cy5weQpAQCAtMCwwICsxLDEwMCBAQAorZnJvbSBfX2Z1
dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCisKKworY2xhc3MgSG9zdHNMaW5lKG9iamVj
dCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGlwX2FkZHJlc3MsIGNhbm9uaWNhbF9ob3N0bmFt
ZSwgYWxpYXNlcz1Ob25lLCBjb21tZW50PU5vbmUpOgorICAgICAgICBzZWxmLmlwX2FkZHJlc3Mg
PSBpcF9hZGRyZXNzCisgICAgICAgIHNlbGYuY2Fub25pY2FsX2hvc3RuYW1lID0gY2Fub25pY2Fs
X2hvc3RuYW1lCisgICAgICAgIHNlbGYuYWxpYXNlcyA9IGFsaWFzZXMgaWYgYWxpYXNlcyBpcyBu
b3QgTm9uZSBlbHNlIFtdCisgICAgICAgIHNlbGYuY29tbWVudCA9IGNvbW1lbnQKKyAgICAgICAg
aWYgc2VsZi5pcF9hZGRyZXNzIGlzIE5vbmU6CisgICAgICAgICAgICBhc3NlcnQgc2VsZi5jYW5v
bmljYWxfaG9zdG5hbWUgaXMgTm9uZQorICAgICAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLmFsaWFz
ZXMKKyAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbW1lbnQgaXMgbm90IE5vbmUKKworICAgIEBj
bGFzc21ldGhvZAorICAgIGRlZiBmcm9tX3N0cmluZyhjbHMsIGxpbmUpOgorICAgICAgICBpZiBu
b3QgbGluZS5zdHJpcCgpOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgbGluZSA9IGxp
bmUuc3RyaXAoKQorCisgICAgICAgIGlwX2FkZHJlc3MgPSBOb25lCisgICAgICAgIGNhbm9uaWNh
bF9ob3N0bmFtZSA9IE5vbmUKKyAgICAgICAgYWxpYXNlcyA9IFtdCisgICAgICAgIGNvbW1lbnQg
PSBOb25lCisKKyAgICAgICAgY29tbWVudF9wYXJ0cyA9IGxpbmUuc3BsaXQoIiMiLCAxKQorICAg
ICAgICBpZiBsZW4oY29tbWVudF9wYXJ0cykgPiAxOgorICAgICAgICAgICAgY29tbWVudCA9IGNv
bW1lbnRfcGFydHNbMV0KKworICAgICAgICBkYXRhID0gY29tbWVudF9wYXJ0c1swXS5zdHJpcCgp
CisKKyAgICAgICAgaWYgZGF0YToKKyAgICAgICAgICAgIGZpZWxkcyA9IGRhdGEuc3BsaXQoKQor
ICAgICAgICAgICAgaWYgbGVuKGZpZWxkcykgPCAyOgorICAgICAgICAgICAgICAgIHJhaXNlIFZh
bHVlRXJyb3IoIkludmFsaWQgaG9zdHMgbGluZSIpCisKKyAgICAgICAgICAgIGlwX2FkZHJlc3Mg
PSBmaWVsZHNbMF0KKyAgICAgICAgICAgIGNhbm9uaWNhbF9ob3N0bmFtZSA9IGZpZWxkc1sxXQor
ICAgICAgICAgICAgYWxpYXNlcyA9IGZpZWxkc1syOl0KKworICAgICAgICByZXR1cm4gY2xzKGlw
X2FkZHJlc3MsIGNhbm9uaWNhbF9ob3N0bmFtZSwgYWxpYXNlcywgY29tbWVudCkKKworCitjbGFz
cyBIb3N0c0ZpbGUob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHNl
bGYuZGF0YSA9IFtdCisgICAgICAgIHNlbGYuYnlfaG9zdG5hbWUgPSB7fQorCisgICAgZGVmIHNl
dF9ob3N0KHNlbGYsIGhvc3QpOgorICAgICAgICBpZiBob3N0LmNhbm9uaWNhbF9ob3N0bmFtZSBp
cyBOb25lOgorICAgICAgICAgICAgc2VsZi5kYXRhLmFwcGVuZChob3N0KQorICAgICAgICBlbGlm
IGhvc3QuY2Fub25pY2FsX2hvc3RuYW1lIGluIHNlbGYuYnlfaG9zdG5hbWU6CisgICAgICAgICAg
ICBvbGRfaG9zdCA9IHNlbGYuYnlfaG9zdG5hbWVbaG9zdC5jYW5vbmljYWxfaG9zdG5hbWVdCisg
ICAgICAgICAgICBvbGRfaG9zdC5pcF9hZGRyZXNzID0gaG9zdC5pcF9hZGRyZXNzCisgICAgICAg
ICAgICBvbGRfaG9zdC5hbGlhc2VzID0gaG9zdC5hbGlhc2VzCisgICAgICAgICAgICBvbGRfaG9z
dC5jb21tZW50ID0gaG9zdC5jb21tZW50CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxm
LmRhdGEuYXBwZW5kKGhvc3QpCisgICAgICAgICAgICBzZWxmLmJ5X2hvc3RuYW1lW2hvc3QuY2Fu
b25pY2FsX2hvc3RuYW1lXSA9IGhvc3QKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBmcm9t
X2ZpbGUoY2xzLCBmKToKKyAgICAgICAgcnYgPSBjbHMoKQorICAgICAgICBmb3IgbGluZSBpbiBm
OgorICAgICAgICAgICAgaG9zdCA9IEhvc3RzTGluZS5mcm9tX3N0cmluZyhsaW5lKQorICAgICAg
ICAgICAgaWYgaG9zdCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBydi5zZXRfaG9zdCho
b3N0KQorICAgICAgICByZXR1cm4gcnYKKworICAgIGRlZiB0b19zdHJpbmcoc2VsZik6CisgICAg
ICAgIGZpZWxkX3dpZHRocyA9IFswLCAwXQorICAgICAgICBmb3IgbGluZSBpbiBzZWxmLmRhdGE6
CisgICAgICAgICAgICBpZiBsaW5lLmlwX2FkZHJlc3MgaXMgbm90IE5vbmU6CisgICAgICAgICAg
ICAgICAgZmllbGRfd2lkdGhzWzBdID0gbWF4KGZpZWxkX3dpZHRoc1swXSwgbGVuKGxpbmUuaXBf
YWRkcmVzcykpCisgICAgICAgICAgICAgICAgZmllbGRfd2lkdGhzWzFdID0gbWF4KGZpZWxkX3dp
ZHRoc1sxXSwgbGVuKGxpbmUuY2Fub25pY2FsX2hvc3RuYW1lKSkKKworICAgICAgICBsaW5lcyA9
IFtdCisKKyAgICAgICAgZm9yIGhvc3QgaW4gc2VsZi5kYXRhOgorICAgICAgICAgICAgbGluZSA9
ICIiCisgICAgICAgICAgICBpZiBob3N0LmlwX2FkZHJlc3MgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICAgICAgaXBfc3RyaW5nID0gaG9zdC5pcF9hZGRyZXNzLmxqdXN0KGZpZWxkX3dpZHRoc1sw
XSkKKyAgICAgICAgICAgICAgICBob3N0bmFtZV9zdHIgPSBob3N0LmNhbm9uaWNhbF9ob3N0bmFt
ZQorICAgICAgICAgICAgICAgIGlmIGhvc3QuYWxpYXNlczoKKyAgICAgICAgICAgICAgICAgICAg
aG9zdG5hbWVfc3RyID0gIiVzICVzIiAlIChob3N0bmFtZV9zdHIubGp1c3QoZmllbGRfd2lkdGhz
WzFdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICIu
am9pbihob3N0LmFsaWFzZXMpKQorICAgICAgICAgICAgICAgIGxpbmUgPSAiJXMgJXMiICUgKGlw
X3N0cmluZywgaG9zdG5hbWVfc3RyKQorICAgICAgICAgICAgaWYgaG9zdC5jb21tZW50OgorICAg
ICAgICAgICAgICAgIGlmIGxpbmU6CisgICAgICAgICAgICAgICAgICAgIGxpbmUgKz0gIiAiCisg
ICAgICAgICAgICAgICAgbGluZSArPSAiIyVzIiAlIGhvc3QuY29tbWVudAorICAgICAgICAgICAg
bGluZXMuYXBwZW5kKGxpbmUpCisKKyAgICAgICAgbGluZXMuYXBwZW5kKCIiKQorCisgICAgICAg
IHJldHVybiAiXG4iLmpvaW4obGluZXMpCisKKyAgICBkZWYgdG9fZmlsZShzZWxmLCBmKToKKyAg
ICAgICAgZi53cml0ZShzZWxmLnRvX3N0cmluZygpLmVuY29kZSgidXRmOCIpKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL21hbmlmZXN0ZXhwZWN0ZWQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZl
c3RleHBlY3RlZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYjVjMWIxZTcyMzljY2Q4NDQzODcwODdiMDRmOWQ0
ODYzOWVhYTExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0ZXhwZWN0
ZWQucHkKQEAgLTAsMCArMSwyNTAgQEAKK2ltcG9ydCBvcworaW1wb3J0IHVybHBhcnNlCisKK2Zy
b20gd3B0bWFuaWZlc3QuYmFja2VuZHMgaW1wb3J0IHN0YXRpYworZnJvbSB3cHRtYW5pZmVzdC5i
YWNrZW5kcy5zdGF0aWMgaW1wb3J0IE1hbmlmZXN0SXRlbQorCitpbXBvcnQgZXhwZWN0ZWQKKwor
IiIiTWFuaWZlc3Qgc3RydWN0dXJlIHVzZWQgdG8gc3RvcmUgZXhwZWN0ZWQgcmVzdWx0cyBvZiBh
IHRlc3QuCisKK0VhY2ggbWFuaWZlc3QgZmlsZSBpcyByZXByZXNlbnRlZCBieSBhbiBFeHBlY3Rl
ZE1hbmlmZXN0IHRoYXQKK2hhcyBvbmUgb3IgbW9yZSBUZXN0Tm9kZSBjaGlsZHJlbiwgb25lIHBl
ciB0ZXN0IGluIHRoZSBtYW5pZmVzdC4KK0VhY2ggVGVzdE5vZGUgaGFzIHplcm8gb3IgbW9yZSBT
dWJ0ZXN0Tm9kZSBjaGlsZHJlbiwgb25lIGZvciBlYWNoCitrbm93biBzdWJ0ZXN0IG9mIHRoZSB0
ZXN0LgorIiIiCisKK2RlZiBkYXRhX2Nsc19nZXR0ZXIob3V0cHV0X25vZGUsIHZpc2l0ZWRfbm9k
ZSk6CisgICAgIyB2aXNpdGVkX25vZGUgaXMgaW50ZW50aW9uYWxseSB1bnVzZWQKKyAgICBpZiBv
dXRwdXRfbm9kZSBpcyBOb25lOgorICAgICAgICByZXR1cm4gRXhwZWN0ZWRNYW5pZmVzdAorICAg
IGlmIGlzaW5zdGFuY2Uob3V0cHV0X25vZGUsIEV4cGVjdGVkTWFuaWZlc3QpOgorICAgICAgICBy
ZXR1cm4gVGVzdE5vZGUKKyAgICBpZiBpc2luc3RhbmNlKG91dHB1dF9ub2RlLCBUZXN0Tm9kZSk6
CisgICAgICAgIHJldHVybiBTdWJ0ZXN0Tm9kZQorICAgIHJhaXNlIFZhbHVlRXJyb3IKKworCitk
ZWYgYm9vbF9wcm9wKG5hbWUsIG5vZGUpOgorICAgICIiIkJvb2xlYW4gcHJvcGVydHkiIiIKKyAg
ICB0cnk6CisgICAgICAgIHJldHVybiBub2RlLmdldChuYW1lKQorICAgIGV4Y2VwdCBLZXlFcnJv
cjoKKyAgICAgICAgcmV0dXJuIE5vbmUKKworCitkZWYgdGFncyhub2RlKToKKyAgICAiIiJTZXQg
b2YgdGFncyB0aGF0IGhhdmUgYmVlbiBhcHBsaWVkIHRvIHRoZSB0ZXN0IiIiCisgICAgdHJ5Ogor
ICAgICAgICB2YWx1ZSA9IG5vZGUuZ2V0KCJ0YWdzIikKKyAgICAgICAgaWYgaXNpbnN0YW5jZSh2
YWx1ZSwgKHN0ciwgdW5pY29kZSkpOgorICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZX0KKyAgICAg
ICAgcmV0dXJuIHNldCh2YWx1ZSkKKyAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgIHJldHVy
biBzZXQoKQorCisKK2RlZiBwcmVmcyhub2RlKToKKyAgICBkZWYgdmFsdWUoaW5pX3ZhbHVlKToK
KyAgICAgICAgaWYgaXNpbnN0YW5jZShpbmlfdmFsdWUsIChzdHIsIHVuaWNvZGUpKToKKyAgICAg
ICAgICAgIHJldHVybiB0dXBsZShpbmlfdmFsdWUuc3BsaXQoIjoiLCAxKSkKKyAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgIHJldHVybiAoaW5pX3ZhbHVlLCBOb25lKQorCisgICAgdHJ5OgorICAg
ICAgICBub2RlX3ByZWZzID0gbm9kZS5nZXQoInByZWZzIikKKyAgICAgICAgaWYgdHlwZShub2Rl
X3ByZWZzKSBpbiAoc3RyLCB1bmljb2RlKToKKyAgICAgICAgICAgIHByZWZzID0ge3ZhbHVlKG5v
ZGVfcHJlZnMpfQorICAgICAgICBydiA9IGRpY3QodmFsdWUoaXRlbSkgZm9yIGl0ZW0gaW4gbm9k
ZV9wcmVmcykKKyAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgIHJ2ID0ge30KKyAgICByZXR1
cm4gcnYKKworCitjbGFzcyBFeHBlY3RlZE1hbmlmZXN0KE1hbmlmZXN0SXRlbSk6CisgICAgZGVm
IF9faW5pdF9fKHNlbGYsIG5hbWUsIHRlc3RfcGF0aCwgdXJsX2Jhc2UpOgorICAgICAgICAiIiJP
YmplY3QgcmVwcmVzZW50aW5nIGFsbCB0aGUgdGVzdHMgaW4gYSBwYXJ0aWN1bGFyIG1hbmlmZXN0
CisKKyAgICAgICAgOnBhcmFtIG5hbWU6IE5hbWUgb2YgdGhlIEFTVCBOb2RlIGFzc29jaWF0ZWQg
d2l0aCB0aGlzIG9iamVjdC4KKyAgICAgICAgICAgICAgICAgICAgIFNob3VsZCBhbHdheXMgYmUg
Tm9uZSBzaW5jZSB0aGlzIHNob3VsZCBhbHdheXMgYmUgYXNzb2NpYXRlZCB3aXRoCisgICAgICAg
ICAgICAgICAgICAgICB0aGUgcm9vdCBub2RlIG9mIHRoZSBBU1QuCisgICAgICAgIDpwYXJhbSB0
ZXN0X3BhdGg6IFBhdGggb2YgdGhlIHRlc3QgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBtYW5p
ZmVzdC4KKyAgICAgICAgOnBhcmFtIHVybF9iYXNlOiBCYXNlIHVybCBmb3Igc2VydmluZyB0aGUg
dGVzdHMgaW4gdGhpcyBtYW5pZmVzdAorICAgICAgICAiIiIKKyAgICAgICAgaWYgbmFtZSBpcyBu
b3QgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkV4cGVjdGVkTWFuaWZlc3Qg
c2hvdWxkIHJlcHJlc2VudCB0aGUgcm9vdCBub2RlIikKKyAgICAgICAgaWYgdGVzdF9wYXRoIGlz
IE5vbmU6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFeHBlY3RlZE1hbmlmZXN0IHJl
cXVpcmVzIGEgdGVzdCBwYXRoIikKKyAgICAgICAgaWYgdXJsX2Jhc2UgaXMgTm9uZToKKyAgICAg
ICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkV4cGVjdGVkTWFuaWZlc3QgcmVxdWlyZXMgYSBiYXNl
IHVybCIpCisgICAgICAgIE1hbmlmZXN0SXRlbS5fX2luaXRfXyhzZWxmLCBuYW1lKQorICAgICAg
ICBzZWxmLmNoaWxkX21hcCA9IHt9CisgICAgICAgIHNlbGYudGVzdF9wYXRoID0gdGVzdF9wYXRo
CisgICAgICAgIHNlbGYudXJsX2Jhc2UgPSB1cmxfYmFzZQorCisgICAgZGVmIGFwcGVuZChzZWxm
LCBjaGlsZCk6CisgICAgICAgICIiIkFkZCBhIHRlc3QgdG8gdGhlIG1hbmlmZXN0IiIiCisgICAg
ICAgIE1hbmlmZXN0SXRlbS5hcHBlbmQoc2VsZiwgY2hpbGQpCisgICAgICAgIHNlbGYuY2hpbGRf
bWFwW2NoaWxkLmlkXSA9IGNoaWxkCisKKyAgICBkZWYgX3JlbW92ZV9jaGlsZChzZWxmLCBjaGls
ZCk6CisgICAgICAgIGRlbCBzZWxmLmNoaWxkX21hcFtjaGlsZC5pZF0KKyAgICAgICAgTWFuaWZl
c3RJdGVtLnJlbW92ZV9jaGlsZChzZWxmLCBjaGlsZCkKKyAgICAgICAgYXNzZXJ0IGxlbihzZWxm
LmNoaWxkX21hcCkgPT0gbGVuKHNlbGYuY2hpbGRyZW4pCisKKyAgICBkZWYgZ2V0X3Rlc3Qoc2Vs
ZiwgdGVzdF9pZCk6CisgICAgICAgICIiIkdldCBhIHRlc3QgZnJvbSB0aGUgbWFuaWZlc3QgYnkg
SUQKKworICAgICAgICA6cGFyYW0gdGVzdF9pZDogSUQgb2YgdGhlIHRlc3QgdG8gcmV0dXJuLiIi
IgorICAgICAgICByZXR1cm4gc2VsZi5jaGlsZF9tYXAuZ2V0KHRlc3RfaWQpCisKKyAgICBAcHJv
cGVydHkKKyAgICBkZWYgdXJsKHNlbGYpOgorICAgICAgICByZXR1cm4gdXJscGFyc2UudXJsam9p
bihzZWxmLnVybF9iYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLyIuam9p
bihzZWxmLnRlc3RfcGF0aC5zcGxpdChvcy5wYXRoLnNlcCkpKQorCisgICAgQHByb3BlcnR5Cisg
ICAgZGVmIGRpc2FibGVkKHNlbGYpOgorICAgICAgICByZXR1cm4gYm9vbF9wcm9wKCJkaXNhYmxl
ZCIsIHNlbGYpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcmVzdGFydF9hZnRlcihzZWxmKToK
KyAgICAgICAgcmV0dXJuIGJvb2xfcHJvcCgicmVzdGFydC1hZnRlciIsIHNlbGYpCisKKyAgICBA
cHJvcGVydHkKKyAgICBkZWYgdGFncyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHRhZ3Moc2VsZikK
KworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBwcmVmcyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHBy
ZWZzKHNlbGYpCisKKworY2xhc3MgRGlyZWN0b3J5TWFuaWZlc3QoTWFuaWZlc3RJdGVtKToKKyAg
ICBAcHJvcGVydHkKKyAgICBkZWYgZGlzYWJsZWQoc2VsZik6CisgICAgICAgIHJldHVybiBib29s
X3Byb3AoImRpc2FibGVkIiwgc2VsZikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiByZXN0YXJ0
X2FmdGVyKHNlbGYpOgorICAgICAgICByZXR1cm4gYm9vbF9wcm9wKCJyZXN0YXJ0LWFmdGVyIiwg
c2VsZikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiB0YWdzKHNlbGYpOgorICAgICAgICByZXR1
cm4gdGFncyhzZWxmKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHByZWZzKHNlbGYpOgorICAg
ICAgICByZXR1cm4gcHJlZnMoc2VsZikKKworCitjbGFzcyBUZXN0Tm9kZShNYW5pZmVzdEl0ZW0p
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lKToKKyAgICAgICAgIiIiVHJlZSBub2RlIGFz
c29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgdGVzdCBpbiBhIG1hbmlmZXN0CisKKyAgICAgICAg
OnBhcmFtIG5hbWU6IG5hbWUgb2YgdGhlIHRlc3QiIiIKKyAgICAgICAgYXNzZXJ0IG5hbWUgaXMg
bm90IE5vbmUKKyAgICAgICAgTWFuaWZlc3RJdGVtLl9faW5pdF9fKHNlbGYsIG5hbWUpCisgICAg
ICAgIHNlbGYudXBkYXRlZF9leHBlY3RlZCA9IFtdCisgICAgICAgIHNlbGYubmV3X2V4cGVjdGVk
ID0gW10KKyAgICAgICAgc2VsZi5zdWJ0ZXN0cyA9IHt9CisgICAgICAgIHNlbGYuZGVmYXVsdF9z
dGF0dXMgPSBOb25lCisgICAgICAgIHNlbGYuX2Zyb21fZmlsZSA9IFRydWUKKworICAgIEBwcm9w
ZXJ0eQorICAgIGRlZiBpc19lbXB0eShzZWxmKToKKyAgICAgICAgcmVxdWlyZWRfa2V5cyA9IHNl
dChbInR5cGUiXSkKKyAgICAgICAgaWYgc2V0KHNlbGYuX2RhdGEua2V5cygpKSAhPSByZXF1aXJl
ZF9rZXlzOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBhbGwoY2hp
bGQuaXNfZW1wdHkgZm9yIGNoaWxkIGluIHNlbGYuY2hpbGRyZW4pCisKKyAgICBAcHJvcGVydHkK
KyAgICBkZWYgdGVzdF90eXBlKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5nZXQoInR5cGUi
KQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGlkKHNlbGYpOgorICAgICAgICByZXR1cm4gdXJs
cGFyc2UudXJsam9pbihzZWxmLnBhcmVudC51cmwsIHNlbGYubmFtZSkKKworICAgIEBwcm9wZXJ0
eQorICAgIGRlZiBkaXNhYmxlZChzZWxmKToKKyAgICAgICAgcmV0dXJuIGJvb2xfcHJvcCgiZGlz
YWJsZWQiLCBzZWxmKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHJlc3RhcnRfYWZ0ZXIoc2Vs
Zik6CisgICAgICAgIHJldHVybiBib29sX3Byb3AoInJlc3RhcnQtYWZ0ZXIiLCBzZWxmKQorCisg
ICAgQHByb3BlcnR5CisgICAgZGVmIHRhZ3Moc2VsZik6CisgICAgICAgIHJldHVybiB0YWdzKHNl
bGYpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcHJlZnMoc2VsZik6CisgICAgICAgIHJldHVy
biBwcmVmcyhzZWxmKQorCisgICAgZGVmIGFwcGVuZChzZWxmLCBub2RlKToKKyAgICAgICAgIiIi
QWRkIGEgc3VidGVzdCB0byB0aGUgY3VycmVudCB0ZXN0CisKKyAgICAgICAgOnBhcmFtIG5vZGU6
IEFTVCBOb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3VidGVzdCIiIgorICAgICAgICBjaGlsZCA9
IE1hbmlmZXN0SXRlbS5hcHBlbmQoc2VsZiwgbm9kZSkKKyAgICAgICAgc2VsZi5zdWJ0ZXN0c1tj
aGlsZC5uYW1lXSA9IGNoaWxkCisKKyAgICBkZWYgZ2V0X3N1YnRlc3Qoc2VsZiwgbmFtZSk6Cisg
ICAgICAgICIiIkdldCB0aGUgU3VidGVzdE5vZGUgY29ycmVzcG9uZGluZyB0byBhIHBhcnRpY3Vs
YXIgc3VidGVzdCwgYnkgbmFtZQorCisgICAgICAgIDpwYXJhbSBuYW1lOiBOYW1lIG9mIHRoZSBu
b2RlIHRvIHJldHVybiIiIgorICAgICAgICBpZiBuYW1lIGluIHNlbGYuc3VidGVzdHM6CisgICAg
ICAgICAgICByZXR1cm4gc2VsZi5zdWJ0ZXN0c1tuYW1lXQorICAgICAgICByZXR1cm4gTm9uZQor
CisKK2NsYXNzIFN1YnRlc3ROb2RlKFRlc3ROb2RlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
bmFtZSk6CisgICAgICAgICIiIlRyZWUgbm9kZSBhc3NvY2lhdGVkIHdpdGggYSBwYXJ0aWN1bGFy
IHN1YnRlc3QgaW4gYSBtYW5pZmVzdAorCisgICAgICAgIDpwYXJhbSBuYW1lOiBuYW1lIG9mIHRo
ZSBzdWJ0ZXN0IiIiCisgICAgICAgIFRlc3ROb2RlLl9faW5pdF9fKHNlbGYsIG5hbWUpCisKKyAg
ICBAcHJvcGVydHkKKyAgICBkZWYgaXNfZW1wdHkoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2Rh
dGE6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRydWUKKworCitk
ZWYgZ2V0X21hbmlmZXN0KG1ldGFkYXRhX3Jvb3QsIHRlc3RfcGF0aCwgdXJsX2Jhc2UsIHJ1bl9p
bmZvKToKKyAgICAiIiJHZXQgdGhlIEV4cGVjdGVkTWFuaWZlc3QgZm9yIGEgcGFydGljdWxhciB0
ZXN0IHBhdGgsIG9yIE5vbmUgaWYgdGhlcmUgaXMgbm8KKyAgICBtZXRhZGF0YSBzdG9yZWQgZm9y
IHRoYXQgdGVzdCBwYXRoLgorCisgICAgOnBhcmFtIG1ldGFkYXRhX3Jvb3Q6IEFic29sdXRlIHBh
dGggdG8gdGhlIHJvb3Qgb2YgdGhlIG1ldGFkYXRhIGRpcmVjdG9yeQorICAgIDpwYXJhbSB0ZXN0
X3BhdGg6IFBhdGggdG8gdGhlIHRlc3QocykgcmVsYXRpdmUgdG8gdGhlIHRlc3Qgcm9vdAorICAg
IDpwYXJhbSB1cmxfYmFzZTogQmFzZSB1cmwgZm9yIHNlcnZpbmcgdGhlIHRlc3RzIGluIHRoaXMg
bWFuaWZlc3QKKyAgICA6cGFyYW0gcnVuX2luZm86IERpY3Rpb25hcnkgb2YgcHJvcGVydGllcyBv
ZiB0aGUgdGVzdCBydW4gZm9yIHdoaWNoIHRoZSBleHBlY3RhdGlvbgorICAgICAgICAgICAgICAg
ICAgICAgdmFsdWVzIHNob3VsZCBiZSBjb21wdXRlZC4KKyAgICAiIiIKKyAgICBtYW5pZmVzdF9w
YXRoID0gZXhwZWN0ZWQuZXhwZWN0ZWRfcGF0aChtZXRhZGF0YV9yb290LCB0ZXN0X3BhdGgpCisg
ICAgdHJ5OgorICAgICAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0aCkgYXMgZjoKKyAgICAgICAg
ICAgIHJldHVybiBzdGF0aWMuY29tcGlsZShmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJ1bl9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFf
Y2xzX2dldHRlcj1kYXRhX2Nsc19nZXR0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdF9wYXRoPXRlc3RfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1cmxfYmFzZT11cmxfYmFzZSkKKyAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgcmV0
dXJuIE5vbmUKKworZGVmIGdldF9kaXJfbWFuaWZlc3QocGF0aCwgcnVuX2luZm8pOgorICAgICIi
IkdldCB0aGUgRXhwZWN0ZWRNYW5pZmVzdCBmb3IgYSBwYXJ0aWN1bGFyIHRlc3QgcGF0aCwgb3Ig
Tm9uZSBpZiB0aGVyZSBpcyBubworICAgIG1ldGFkYXRhIHN0b3JlZCBmb3IgdGhhdCB0ZXN0IHBh
dGguCisKKyAgICA6cGFyYW0gcGF0aDogRnVsbCBwYXRoIHRvIHRoZSBpbmkgZmlsZQorICAgIDpw
YXJhbSBydW5faW5mbzogRGljdGlvbmFyeSBvZiBwcm9wZXJ0aWVzIG9mIHRoZSB0ZXN0IHJ1biBm
b3Igd2hpY2ggdGhlIGV4cGVjdGF0aW9uCisgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgc2hv
dWxkIGJlIGNvbXB1dGVkLgorICAgICIiIgorICAgIHRyeToKKyAgICAgICAgd2l0aCBvcGVuKHBh
dGgpIGFzIGY6CisgICAgICAgICAgICByZXR1cm4gc3RhdGljLmNvbXBpbGUoZiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkYXRhX2Nsc19nZXR0ZXI9bGFtYmRhIHgseTogRGlyZWN0b3J5TWFuaWZl
c3QpCisgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgIHJldHVybiBOb25lCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvbWFuaWZlc3RpbmNsdWRlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0
aW5jbHVkZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNzIyOWQ1MDRmMTM0NGNjZmVjMTM5YTBiNmY1MWIwN2Ex
YTBiMjhiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0aW5jbHVkZS5w
eQpAQCAtMCwwICsxLDE0OSBAQAorIiIiTWFuaWZlc3Qgc3RydWN0dXJlIHVzZWQgdG8gc3RvcmUg
cGF0aHMgdGhhdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gYSB0ZXN0IHJ1bi4KKworVGhlIG1hbmlm
ZXN0IGlzIHJlcHJlc2VudGVkIGJ5IGEgdHJlZSBvZiBJbmNsdWRlTWFuaWZlc3Qgb2JqZWN0cywg
dGhlIHJvb3QKK3JlcHJlc2VudGluZyB0aGUgZmlsZSBhbmQgZWFjaCBzdWJub2RlIHJlcHJlc2Vu
dGluZyBhIHN1YmRpcmVjdG9yeSB0aGF0IHNob3VsZAorYmUgaW5jbHVkZWQgb3IgZXhjbHVkZWQu
CisiIiIKK2ltcG9ydCBnbG9iCitpbXBvcnQgb3MKK2ltcG9ydCB1cmxwYXJzZQorCitmcm9tIHdw
dG1hbmlmZXN0Lm5vZGUgaW1wb3J0IERhdGFOb2RlCitmcm9tIHdwdG1hbmlmZXN0LmJhY2tlbmRz
IGltcG9ydCBjb25kaXRpb25hbAorZnJvbSB3cHRtYW5pZmVzdC5iYWNrZW5kcy5jb25kaXRpb25h
bCBpbXBvcnQgTWFuaWZlc3RJdGVtCisKKworY2xhc3MgSW5jbHVkZU1hbmlmZXN0KE1hbmlmZXN0
SXRlbSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5vZGUpOgorICAgICAgICAiIiJOb2RlIGlu
IGEgdHJlZSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIHRoZSBwYXRocworICAgICAgICB0aGF0IHNo
b3VsZCBiZSBpbmNsdWRlZCBvciBleGNsdWRlZCBmcm9tIHRoZSB0ZXN0IHJ1bi4KKworICAgICAg
ICA6cGFyYW0gbm9kZTogQVNUIE5vZGUgY29ycmVzcG9uZGluZyB0byB0aGlzIE5vZGUuCisgICAg
ICAgICIiIgorICAgICAgICBNYW5pZmVzdEl0ZW0uX19pbml0X18oc2VsZiwgbm9kZSkKKyAgICAg
ICAgc2VsZi5jaGlsZF9tYXAgPSB7fQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGNyZWF0
ZShjbHMpOgorICAgICAgICAiIiJDcmVhdGUgYW4gZW1wdHkgSW5jbHVkZU1hbmlmZXN0IHRyZWUi
IiIKKyAgICAgICAgbm9kZSA9IERhdGFOb2RlKE5vbmUpCisgICAgICAgIHJldHVybiBjbHMobm9k
ZSkKKworICAgIGRlZiBhcHBlbmQoc2VsZiwgY2hpbGQpOgorICAgICAgICBNYW5pZmVzdEl0ZW0u
YXBwZW5kKHNlbGYsIGNoaWxkKQorICAgICAgICBzZWxmLmNoaWxkX21hcFtjaGlsZC5uYW1lXSA9
IGNoaWxkCisgICAgICAgIGFzc2VydCBsZW4oc2VsZi5jaGlsZF9tYXApID09IGxlbihzZWxmLmNo
aWxkcmVuKQorCisgICAgZGVmIGluY2x1ZGUoc2VsZiwgdGVzdCk6CisgICAgICAgICIiIlJldHVy
biBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGEgcGFydGljdWxhciB0ZXN0IHNob3VsZCBi
ZQorICAgICAgICBpbmNsdWRlZCBpbiBhIHRlc3QgcnVuLCBiYXNlZCBvbiB0aGUgSW5jbHVkZU1h
bmlmZXN0IHRyZWUgcm9vdGVkIG9uCisgICAgICAgIHRoaXMgb2JqZWN0LgorCisgICAgICAgIDpw
YXJhbSB0ZXN0OiBUaGUgdGVzdCBvYmplY3QiIiIKKyAgICAgICAgcGF0aF9jb21wb25lbnRzID0g
c2VsZi5fZ2V0X2NvbXBvbmVudHModGVzdC51cmwpCisgICAgICAgIHJldHVybiBzZWxmLl9pbmNs
dWRlKHRlc3QsIHBhdGhfY29tcG9uZW50cykKKworICAgIGRlZiBfaW5jbHVkZShzZWxmLCB0ZXN0
LCBwYXRoX2NvbXBvbmVudHMpOgorICAgICAgICBpZiBwYXRoX2NvbXBvbmVudHM6CisgICAgICAg
ICAgICBuZXh0X3BhdGhfcGFydCA9IHBhdGhfY29tcG9uZW50cy5wb3AoKQorICAgICAgICAgICAg
aWYgbmV4dF9wYXRoX3BhcnQgaW4gc2VsZi5jaGlsZF9tYXA6CisgICAgICAgICAgICAgICAgcmV0
dXJuIHNlbGYuY2hpbGRfbWFwW25leHRfcGF0aF9wYXJ0XS5faW5jbHVkZSh0ZXN0LCBwYXRoX2Nv
bXBvbmVudHMpCisKKyAgICAgICAgbm9kZSA9IHNlbGYKKyAgICAgICAgd2hpbGUgbm9kZToKKyAg
ICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBza2lwX3ZhbHVlID0gc2VsZi5nZXQoInNr
aXAiLCB7InRlc3RfdHlwZSI6IHRlc3QuaXRlbV90eXBlfSkubG93ZXIoKQorICAgICAgICAgICAg
ICAgIGFzc2VydCBza2lwX3ZhbHVlIGluICgidHJ1ZSIsICJmYWxzZSIpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHNraXBfdmFsdWUgIT0gInRydWUiCisgICAgICAgICAgICBleGNlcHQgS2V5RXJy
b3I6CisgICAgICAgICAgICAgICAgaWYgbm9kZS5wYXJlbnQgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICAgICAgICAgIG5vZGUgPSBub2RlLnBhcmVudAorICAgICAgICAgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICAgICAgICAgICMgSW5jbHVkZSBieSBkZWZhdWx0CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgX2dldF9jb21wb25lbnRzKHNlbGYsIHVybCk6Cisg
ICAgICAgIHJ2ID0gW10KKyAgICAgICAgdXJsX3BhcnRzID0gdXJscGFyc2UudXJsc3BsaXQodXJs
KQorICAgICAgICB2YXJpYW50ID0gIiIKKyAgICAgICAgaWYgdXJsX3BhcnRzLnF1ZXJ5OgorICAg
ICAgICAgICAgdmFyaWFudCArPSAiPyIgKyB1cmxfcGFydHMucXVlcnkKKyAgICAgICAgaWYgdXJs
X3BhcnRzLmZyYWdtZW50OgorICAgICAgICAgICAgdmFyaWFudCArPSAiIyIgKyB1cmxfcGFydHMu
ZnJhZ21lbnQKKyAgICAgICAgaWYgdmFyaWFudDoKKyAgICAgICAgICAgIHJ2LmFwcGVuZCh2YXJp
YW50KQorICAgICAgICBydi5leHRlbmQoW2l0ZW0gZm9yIGl0ZW0gaW4gcmV2ZXJzZWQodXJsX3Bh
cnRzLnBhdGguc3BsaXQoIi8iKSkgaWYgaXRlbV0pCisgICAgICAgIHJldHVybiBydgorCisgICAg
ZGVmIF9hZGRfcnVsZShzZWxmLCB0ZXN0X21hbmlmZXN0cywgdXJsLCBkaXJlY3Rpb24pOgorICAg
ICAgICBtYXliZV9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguYWJzcGF0aChvcy5jdXJkaXIp
LCB1cmwpCisgICAgICAgIHJlc3QsIGxhc3QgPSBvcy5wYXRoLnNwbGl0KG1heWJlX3BhdGgpCisg
ICAgICAgIGZyYWdtZW50ID0gcXVlcnkgPSBOb25lCisgICAgICAgIGlmICIjIiBpbiBsYXN0Ogor
ICAgICAgICAgICAgbGFzdCwgZnJhZ21lbnQgPSBsYXN0LnJzcGxpdCgiIyIsIDEpCisgICAgICAg
IGlmICI/IiBpbiBsYXN0OgorICAgICAgICAgICAgbGFzdCwgcXVlcnkgPSBsYXN0LnJzcGxpdCgi
PyIsIDEpCisKKyAgICAgICAgbWF5YmVfcGF0aCA9IG9zLnBhdGguam9pbihyZXN0LCBsYXN0KQor
ICAgICAgICBwYXRocyA9IGdsb2IuZ2xvYihtYXliZV9wYXRoKQorCisgICAgICAgIGlmIHBhdGhz
OgorICAgICAgICAgICAgdXJscyA9IFtdCisgICAgICAgICAgICBmb3IgcGF0aCBpbiBwYXRoczoK
KyAgICAgICAgICAgICAgICBmb3IgbWFuaWZlc3QsIGRhdGEgaW4gdGVzdF9tYW5pZmVzdHMuaXRl
cml0ZW1zKCk6CisgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gRmFsc2UKKyAgICAgICAgICAg
ICAgICAgICAgcmVsX3BhdGggPSBvcy5wYXRoLnJlbHBhdGgocGF0aCwgZGF0YVsidGVzdHNfcGF0
aCJdKQorICAgICAgICAgICAgICAgICAgICBmb3IgdGVzdCBpbiBtYW5pZmVzdC5pdGVycGF0aChy
ZWxfcGF0aCk6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgaGFzYXR0cih0ZXN0LCAi
dXJsIik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHVybCA9IHRlc3QudXJsCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBx
dWVyeSBvciBmcmFnbWVudDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZWQgPSB1
cmxwYXJzZS51cmxwYXJzZSh1cmwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChx
dWVyeSBhbmQgcXVlcnkgIT0gcGFyc2VkLnF1ZXJ5KSBvcgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoZnJhZ21lbnQgYW5kIGZyYWdtZW50ICE9IHBhcnNlZC5mcmFnbWVudCkpOgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAg
ICAgICAgICAgdXJscy5hcHBlbmQodXJsKQorICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQg
PSBUcnVlCisgICAgICAgICAgICAgICAgICAgIGlmIGZvdW5kOgorICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWsKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHVybHMgPSBbdXJsXQorCisg
ICAgICAgIGFzc2VydCBkaXJlY3Rpb24gaW4gKCJpbmNsdWRlIiwgImV4Y2x1ZGUiKQorCisgICAg
ICAgIGZvciB1cmwgaW4gdXJsczoKKyAgICAgICAgICAgIGNvbXBvbmVudHMgPSBzZWxmLl9nZXRf
Y29tcG9uZW50cyh1cmwpCisKKyAgICAgICAgICAgIG5vZGUgPSBzZWxmCisgICAgICAgICAgICB3
aGlsZSBjb21wb25lbnRzOgorICAgICAgICAgICAgICAgIGNvbXBvbmVudCA9IGNvbXBvbmVudHMu
cG9wKCkKKyAgICAgICAgICAgICAgICBpZiBjb21wb25lbnQgbm90IGluIG5vZGUuY2hpbGRfbWFw
OgorICAgICAgICAgICAgICAgICAgICBuZXdfbm9kZSA9IEluY2x1ZGVNYW5pZmVzdChEYXRhTm9k
ZShjb21wb25lbnQpKQorICAgICAgICAgICAgICAgICAgICBub2RlLmFwcGVuZChuZXdfbm9kZSkK
KyAgICAgICAgICAgICAgICAgICAgbmV3X25vZGUuc2V0KCJza2lwIiwgbm9kZS5nZXQoInNraXAi
LCB7fSkpCisKKyAgICAgICAgICAgICAgICBub2RlID0gbm9kZS5jaGlsZF9tYXBbY29tcG9uZW50
XQorCisgICAgICAgICAgICBza2lwID0gRmFsc2UgaWYgZGlyZWN0aW9uID09ICJpbmNsdWRlIiBl
bHNlIFRydWUKKyAgICAgICAgICAgIG5vZGUuc2V0KCJza2lwIiwgc3RyKHNraXApKQorCisgICAg
ZGVmIGFkZF9pbmNsdWRlKHNlbGYsIHRlc3RfbWFuaWZlc3RzLCB1cmxfcHJlZml4KToKKyAgICAg
ICAgIiIiQWRkIGEgcnVsZSBpbmRpY2F0aW5nIHRoYXQgdGVzdHMgdW5kZXIgYSB1cmwgcGF0aAor
ICAgICAgICBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGVzdCBydW5zCisKKyAgICAgICAgOnBhcmFt
IHVybF9wcmVmaXg6IFRoZSB1cmwgcHJlZml4IHRvIGluY2x1ZGUKKyAgICAgICAgIiIiCisgICAg
ICAgIHJldHVybiBzZWxmLl9hZGRfcnVsZSh0ZXN0X21hbmlmZXN0cywgdXJsX3ByZWZpeCwgImlu
Y2x1ZGUiKQorCisgICAgZGVmIGFkZF9leGNsdWRlKHNlbGYsIHRlc3RfbWFuaWZlc3RzLCB1cmxf
cHJlZml4KToKKyAgICAgICAgIiIiQWRkIGEgcnVsZSBpbmRpY2F0aW5nIHRoYXQgdGVzdHMgdW5k
ZXIgYSB1cmwgcGF0aAorICAgICAgICBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0ZXN0IHJ1bnMK
KworICAgICAgICA6cGFyYW0gdXJsX3ByZWZpeDogVGhlIHVybCBwcmVmaXggdG8gZXhjbHVkZQor
ICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX2FkZF9ydWxlKHRlc3RfbWFuaWZlc3Rz
LCB1cmxfcHJlZml4LCAiZXhjbHVkZSIpCisKKworZGVmIGdldF9tYW5pZmVzdChtYW5pZmVzdF9w
YXRoKToKKyAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0aCkgYXMgZjoKKyAgICAgICAgcmV0dXJu
IGNvbmRpdGlvbmFsLmNvbXBpbGUoZiwgZGF0YV9jbHNfZ2V0dGVyPWxhbWJkYSB4LCB5OiBJbmNs
dWRlTWFuaWZlc3QpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3R1cGRhdGUucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvbWFuaWZlc3R1cGRhdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdlNjIzYzVkMWJi
YWEwMjUxMDU2YmMwMDNjMmI1YjYyMzg0MzdmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9tYW5pZmVzdHVwZGF0ZS5weQpAQCAtMCwwICsxLDQ2MCBAQAoraW1wb3J0IG9zCitpbXBv
cnQgdXJscGFyc2UKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IG5hbWVkdHVwbGUsIGRlZmF1bHRk
aWN0CisKK2Zyb20gd3B0bWFuaWZlc3Qubm9kZSBpbXBvcnQgKERhdGFOb2RlLCBDb25kaXRpb25h
bE5vZGUsIEJpbmFyeUV4cHJlc3Npb25Ob2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgQmluYXJ5T3BlcmF0b3JOb2RlLCBWYXJpYWJsZU5vZGUsIFN0cmluZ05vZGUsIE51bWJlck5v
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVbmFyeUV4cHJlc3Npb25Ob2RlLCBV
bmFyeU9wZXJhdG9yTm9kZSwgS2V5VmFsdWVOb2RlKQorZnJvbSB3cHRtYW5pZmVzdC5iYWNrZW5k
cyBpbXBvcnQgY29uZGl0aW9uYWwKK2Zyb20gd3B0bWFuaWZlc3QuYmFja2VuZHMuY29uZGl0aW9u
YWwgaW1wb3J0IE1hbmlmZXN0SXRlbQorCitpbXBvcnQgZXhwZWN0ZWQKKworIiIiTWFuaWZlc3Qg
c3RydWN0dXJlIHVzZWQgdG8gdXBkYXRlIHRoZSBleHBlY3RlZCByZXN1bHRzIG9mIGEgdGVzdAor
CitFYWNoIG1hbmlmZXN0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYnkgYW4gRXhwZWN0ZWRNYW5pZmVz
dCB0aGF0IGhhcyBvbmUKK29yIG1vcmUgVGVzdE5vZGUgY2hpbGRyZW4sIG9uZSBwZXIgdGVzdCBp
biB0aGUgbWFuaWZlc3QuICBFYWNoCitUZXN0Tm9kZSBoYXMgemVybyBvciBtb3JlIFN1YnRlc3RO
b2RlIGNoaWxkcmVuLCBvbmUgZm9yIGVhY2gga25vd24KK3N1YnRlc3Qgb2YgdGhlIHRlc3QuCisK
K0luIHRoZXNlIHJlcHJlc2VudGF0aW9ucywgY29uZGl0aW9uYWxzIGV4cHJlc3Npb25zIGluIHRo
ZSBtYW5pZmVzdCBhcmUKK25vdCBldmFsdWF0ZWQgdXBmcm9udCBidXQgc3RvcmVkIGFzIHB5dGhv
biBmdW5jdGlvbnMgdG8gYmUgZXZhbHVhdGVkCithdCBydW50aW1lLgorCitXaGVuIGEgcmVzdWx0
IGZvciBhIHRlc3QgaXMgdG8gYmUgdXBkYXRlZCBzZXRfcmVzdWx0IG9uIHRoZQorW1N1Yl1UZXN0
Tm9kZSBpcyBjYWxsZWQgdG8gc3RvcmUgdGhlIG5ldyByZXN1bHQsIGFsb25nc2lkZSB0aGUKK2V4
aXN0aW5nIGNvbmRpdGlvbmFsIHRoYXQgcmVzdWx0J3MgcnVuIGluZm8gbWF0Y2hlZCwgaWYgYW55
LiBPbmNlIGFsbAorbmV3IHJlc3VsdHMgYXJlIGtub3duLCBjb2FsZXNjZV9leHBlY3RlZCBpcyBj
YWxsZWQgdG8gY29tcHV0ZSB0aGUgbmV3CitzZXQgb2YgcmVzdWx0cyBhbmQgY29uZGl0aW9uYWxz
LiBUaGUgQVNUIG9mIHRoZSB1bmRlcmx5aW5nIHBhcnNlZCBtYW5pZmVzdAoraXMgdXBkYXRlZCB3
aXRoIHRoZSBjaGFuZ2VzLCBhbmQgdGhlIHJlc3VsdCBpcyBzZXJpYWxpc2VkIHRvIGEgZmlsZS4K
KyIiIgorCitjbGFzcyBDb25kaXRpb25FcnJvcihFeGNlcHRpb24pOgorICAgIHBhc3MKKworUmVz
dWx0ID0gbmFtZWR0dXBsZSgiUmVzdWx0IiwgWyJydW5faW5mbyIsICJzdGF0dXMiXSkKKworCitk
ZWYgZGF0YV9jbHNfZ2V0dGVyKG91dHB1dF9ub2RlLCB2aXNpdGVkX25vZGUpOgorICAgICMgdmlz
aXRlZF9ub2RlIGlzIGludGVudGlvbmFsbHkgdW51c2VkCisgICAgaWYgb3V0cHV0X25vZGUgaXMg
Tm9uZToKKyAgICAgICAgcmV0dXJuIEV4cGVjdGVkTWFuaWZlc3QKKyAgICBlbGlmIGlzaW5zdGFu
Y2Uob3V0cHV0X25vZGUsIEV4cGVjdGVkTWFuaWZlc3QpOgorICAgICAgICByZXR1cm4gVGVzdE5v
ZGUKKyAgICBlbGlmIGlzaW5zdGFuY2Uob3V0cHV0X25vZGUsIFRlc3ROb2RlKToKKyAgICAgICAg
cmV0dXJuIFN1YnRlc3ROb2RlCisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcgor
CisKK2NsYXNzIEV4cGVjdGVkTWFuaWZlc3QoTWFuaWZlc3RJdGVtKToKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgbm9kZSwgdGVzdF9wYXRoPU5vbmUsIHVybF9iYXNlPU5vbmUsIHByb3BlcnR5X29y
ZGVyPU5vbmUsCisgICAgICAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcz1Ob25lKToKKyAg
ICAgICAgIiIiT2JqZWN0IHJlcHJlc2VudGluZyBhbGwgdGhlIHRlc3RzIGluIGEgcGFydGljdWxh
ciBtYW5pZmVzdAorCisgICAgICAgIDpwYXJhbSBub2RlOiBBU1QgTm9kZSBhc3NvY2lhdGVkIHdp
dGggdGhpcyBvYmplY3QuIElmIHRoaXMgaXMgTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgIGEg
bmV3IEFTVCBpcyBjcmVhdGVkIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgbWFuaWZlc3QuCisgICAg
ICAgIDpwYXJhbSB0ZXN0X3BhdGg6IFBhdGggb2YgdGhlIHRlc3QgZmlsZSBhc3NvY2lhdGVkIHdp
dGggdGhpcyBtYW5pZmVzdC4KKyAgICAgICAgOnBhcmFtIHVybF9iYXNlOiBCYXNlIHVybCBmb3Ig
c2VydmluZyB0aGUgdGVzdHMgaW4gdGhpcyBtYW5pZmVzdC4KKyAgICAgICAgOnBhcmFtIHByb3Bl
cnR5X29yZGVyOiBMaXN0IG9mIHByb3BlcnRpZXMgdG8gdXNlIGluIGV4cGVjdGF0aW9uIG1ldGFk
YXRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBtb3N0IHRvIGxlYXN0IHNp
Z25pZmljYW50LgorICAgICAgICA6cGFyYW0gYm9vbGVhbl9wcm9wZXJ0aWVzOiBTZXQgb2YgcHJv
cGVydGllcyBpbiBwcm9wZXJ0eV9vcmRlciB0aGF0IHNob3VsZAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBiZSB0cmVhdGVkIGFzIGJvb2xlYW4uCisgICAgICAgICIiIgorICAg
ICAgICBpZiBub2RlIGlzIE5vbmU6CisgICAgICAgICAgICBub2RlID0gRGF0YU5vZGUoTm9uZSkK
KyAgICAgICAgTWFuaWZlc3RJdGVtLl9faW5pdF9fKHNlbGYsIG5vZGUpCisgICAgICAgIHNlbGYu
Y2hpbGRfbWFwID0ge30KKyAgICAgICAgc2VsZi50ZXN0X3BhdGggPSB0ZXN0X3BhdGgKKyAgICAg
ICAgc2VsZi51cmxfYmFzZSA9IHVybF9iYXNlCisgICAgICAgIGFzc2VydCBzZWxmLnVybF9iYXNl
IGlzIG5vdCBOb25lCisgICAgICAgIHNlbGYubW9kaWZpZWQgPSBGYWxzZQorICAgICAgICBzZWxm
LmJvb2xlYW5fcHJvcGVydGllcyA9IGJvb2xlYW5fcHJvcGVydGllcworICAgICAgICBzZWxmLnBy
b3BlcnR5X29yZGVyID0gcHJvcGVydHlfb3JkZXIKKworICAgIGRlZiBhcHBlbmQoc2VsZiwgY2hp
bGQpOgorICAgICAgICBNYW5pZmVzdEl0ZW0uYXBwZW5kKHNlbGYsIGNoaWxkKQorICAgICAgICBp
ZiBjaGlsZC5pZCBpbiBzZWxmLmNoaWxkX21hcDoKKyAgICAgICAgICAgIHByaW50ICJXYXJuaW5n
OiBEdXBsaWNhdGUgaGVhZGluZyAlcyIgJSBjaGlsZC5pZAorICAgICAgICBzZWxmLmNoaWxkX21h
cFtjaGlsZC5pZF0gPSBjaGlsZAorCisgICAgZGVmIF9yZW1vdmVfY2hpbGQoc2VsZiwgY2hpbGQp
OgorICAgICAgICBkZWwgc2VsZi5jaGlsZF9tYXBbY2hpbGQuaWRdCisgICAgICAgIE1hbmlmZXN0
SXRlbS5fcmVtb3ZlX2NoaWxkKHNlbGYsIGNoaWxkKQorCisgICAgZGVmIGdldF90ZXN0KHNlbGYs
IHRlc3RfaWQpOgorICAgICAgICAiIiJSZXR1cm4gYSBUZXN0Tm9kZSBieSB0ZXN0IGlkLCBvciBO
b25lIGlmIG5vIHRlc3QgbWF0Y2hlcworCisgICAgICAgIDpwYXJhbSB0ZXN0X2lkOiBUaGUgaWQg
b2YgdGhlIHRlc3QgdG8gbG9vayB1cCIiIgorCisgICAgICAgIHJldHVybiBzZWxmLmNoaWxkX21h
cFt0ZXN0X2lkXQorCisgICAgZGVmIGhhc190ZXN0KHNlbGYsIHRlc3RfaWQpOgorICAgICAgICAi
IiJCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgY3VycmVudCB0ZXN0IGhhcyBhIGtub3du
IGNoaWxkIHRlc3QKKyAgICAgICAgd2l0aCBpZCB0ZXN0IGlkCisKKyAgICAgICAgOnBhcmFtIHRl
c3RfaWQ6IFRoZSBpZCBvZiB0aGUgdGVzdCB0byBsb29rIHVwIiIiCisKKyAgICAgICAgcmV0dXJu
IHRlc3RfaWQgaW4gc2VsZi5jaGlsZF9tYXAKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiB1cmwo
c2VsZik6CisgICAgICAgIHJldHVybiB1cmxwYXJzZS51cmxqb2luKHNlbGYudXJsX2Jhc2UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvIi5qb2luKHNlbGYudGVzdF9wYXRoLnNw
bGl0KG9zLnBhdGguc2VwKSkpCisKK2NsYXNzIFRlc3ROb2RlKE1hbmlmZXN0SXRlbSk6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIG5vZGUpOgorICAgICAgICAiIiJUcmVlIG5vZGUgYXNzb2NpYXRl
ZCB3aXRoIGEgcGFydGljdWxhciB0ZXN0IGluIGEgbWFuaWZlc3QKKworICAgICAgICA6cGFyYW0g
bm9kZTogQVNUIG5vZGUgYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXN0IiIiCisKKyAgICAgICAgTWFu
aWZlc3RJdGVtLl9faW5pdF9fKHNlbGYsIG5vZGUpCisgICAgICAgIHNlbGYudXBkYXRlZF9leHBl
Y3RlZCA9IFtdCisgICAgICAgIHNlbGYubmV3X2V4cGVjdGVkID0gW10KKyAgICAgICAgc2VsZi5z
dWJ0ZXN0cyA9IHt9CisgICAgICAgIHNlbGYuZGVmYXVsdF9zdGF0dXMgPSBOb25lCisgICAgICAg
IHNlbGYuX2Zyb21fZmlsZSA9IFRydWUKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBjcmVh
dGUoY2xzLCB0ZXN0X3R5cGUsIHRlc3RfaWQpOgorICAgICAgICAiIiJDcmVhdGUgYSBUZXN0Tm9k
ZSBjb3JyZXNwb25kaW5nIHRvIGEgZ2l2ZW4gdGVzdAorCisgICAgICAgIDpwYXJhbSB0ZXN0X3R5
cGU6IFRoZSB0eXBlIG9mIHRoZSB0ZXN0CisgICAgICAgIDpwYXJhbSB0ZXN0X2lkOiBUaGUgaWQg
b2YgdGhlIHRlc3QiIiIKKworICAgICAgICB1cmwgPSB0ZXN0X2lkCisgICAgICAgIG5hbWUgPSB1
cmwuc3BsaXQoIi8iKVstMV0KKyAgICAgICAgbm9kZSA9IERhdGFOb2RlKG5hbWUpCisgICAgICAg
IHNlbGYgPSBjbHMobm9kZSkKKworICAgICAgICBzZWxmLnNldCgidHlwZSIsIHRlc3RfdHlwZSkK
KyAgICAgICAgc2VsZi5fZnJvbV9maWxlID0gRmFsc2UKKyAgICAgICAgcmV0dXJuIHNlbGYKKwor
ICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpc19lbXB0eShzZWxmKToKKyAgICAgICAgcmVxdWlyZWRf
a2V5cyA9IHNldChbInR5cGUiXSkKKyAgICAgICAgaWYgc2V0KHNlbGYuX2RhdGEua2V5cygpKSAh
PSByZXF1aXJlZF9rZXlzOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVy
biBhbGwoY2hpbGQuaXNfZW1wdHkgZm9yIGNoaWxkIGluIHNlbGYuY2hpbGRyZW4pCisKKyAgICBA
cHJvcGVydHkKKyAgICBkZWYgdGVzdF90eXBlKHNlbGYpOgorICAgICAgICAiIiJUaGUgdHlwZSBv
ZiB0aGUgdGVzdCByZXByZXNlbnRlZCBieSB0aGlzIFRlc3ROb2RlIiIiCisKKyAgICAgICAgcmV0
dXJuIHNlbGYuZ2V0KCJ0eXBlIiwgTm9uZSkKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpZChz
ZWxmKToKKyAgICAgICAgIiIiVGhlIGlkIG9mIHRoZSB0ZXN0IHJlcHJlc2VudGVkIGJ5IHRoaXMg
VGVzdE5vZGUiIiIKKyAgICAgICAgcmV0dXJuIHVybHBhcnNlLnVybGpvaW4oc2VsZi5wYXJlbnQu
dXJsLCBzZWxmLm5hbWUpCisKKyAgICBkZWYgZGlzYWJsZWQoc2VsZiwgcnVuX2luZm8pOgorICAg
ICAgICAiIiJCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIHRlc3QgaXMgZGlzYWJsZWQg
d2hlbiBydW4gaW4gYW4KKyAgICAgICAgZW52aXJvbm1lbnQgd2l0aCB0aGUgZ2l2ZW4gcnVuX2lu
Zm8KKworICAgICAgICA6cGFyYW0gcnVuX2luZm86IERpY3Rpb25hcnkgb2YgcnVuX2luZm8gcGFy
YW1ldGVycyIiIgorCisgICAgICAgIHJldHVybiBzZWxmLmdldCgiZGlzYWJsZWQiLCBydW5faW5m
bykgaXMgbm90IE5vbmUKKworICAgIGRlZiBzZXRfcmVzdWx0KHNlbGYsIHJ1bl9pbmZvLCByZXN1
bHQpOgorICAgICAgICAiIiJTZXQgdGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBpbiBhIHBhcnRpY3Vs
YXIgcnVuCisKKyAgICAgICAgOnBhcmFtIHJ1bl9pbmZvOiBEaWN0aW9uYXJ5IG9mIHJ1bl9pbmZv
IHBhcmFtZXRlcnMgY29ycmVzcG9uZGluZworICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHRo
aXMgcnVuCisgICAgICAgIDpwYXJhbSByZXN1bHQ6IFN0YXR1cyBvZiB0aGUgdGVzdCBpbiB0aGlz
IHJ1biIiIgorCisgICAgICAgIGlmIHNlbGYuZGVmYXVsdF9zdGF0dXMgaXMgbm90IE5vbmU6Cisg
ICAgICAgICAgICBhc3NlcnQgc2VsZi5kZWZhdWx0X3N0YXR1cyA9PSByZXN1bHQuZGVmYXVsdF9l
eHBlY3RlZAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5kZWZhdWx0X3N0YXR1cyA9
IHJlc3VsdC5kZWZhdWx0X2V4cGVjdGVkCisKKyAgICAgICAgIyBBZGQgdGhpcyByZXN1bHQgdG8g
dGhlIGxpc3Qgb2YgcmVzdWx0cyBzYXRpc2Z5aW5nCisgICAgICAgICMgYW55IGNvbmRpdGlvbiBp
biB0aGUgbGlzdCBvZiB1cGRhdGVkIHJlc3VsdHMgaXQgbWF0Y2hlcworICAgICAgICBmb3IgKGNv
bmQsIHZhbHVlcykgaW4gc2VsZi51cGRhdGVkX2V4cGVjdGVkOgorICAgICAgICAgICAgaWYgY29u
ZChydW5faW5mbyk6CisgICAgICAgICAgICAgICAgdmFsdWVzLmFwcGVuZChSZXN1bHQocnVuX2lu
Zm8sIHJlc3VsdC5zdGF0dXMpKQorICAgICAgICAgICAgICAgIGlmIHJlc3VsdC5zdGF0dXMgIT0g
Y29uZC52YWx1ZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5yb290Lm1vZGlmaWVkID0gVHJ1
ZQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIFdl
IGRpZG4ndCBmaW5kIGEgcHJldmlvdXMgdmFsdWUgZm9yIHRoaXMKKyAgICAgICAgICAgIHNlbGYu
bmV3X2V4cGVjdGVkLmFwcGVuZChSZXN1bHQocnVuX2luZm8sIHJlc3VsdC5zdGF0dXMpKQorICAg
ICAgICAgICAgc2VsZi5yb290Lm1vZGlmaWVkID0gVHJ1ZQorCisgICAgZGVmIGNvYWxlc2NlX2V4
cGVjdGVkKHNlbGYpOgorICAgICAgICAiIiJVcGRhdGUgdGhlIHVuZGVybHlpbmcgbWFuaWZlc3Qg
QVNUIGZvciB0aGlzIHRlc3QgYmFzZWQgb24gYWxsIHRoZQorICAgICAgICBhZGRlZCByZXN1bHRz
LgorCisgICAgICAgIFRoaXMgd2lsbCB1cGRhdGUgZXhpc3RpbmcgY29uZGl0aW9uYWxzIGlmIHRo
ZXkgZ290IHRoZSBzYW1lIHJlc3VsdCBpbgorICAgICAgICBhbGwgbWF0Y2hpbmcgcnVucyBpbiB0
aGUgdXBkYXRlZCByZXN1bHRzLCB3aWxsIGRlbGV0ZSBleGlzdGluZyBjb25kaXRpb25hbHMKKyAg
ICAgICAgdGhhdCBnZXQgbW9yZSB0aGFuIG9uZSBkaWZmZXJlbnQgcmVzdWx0IGluIHRoZSB1cGRh
dGVkIHJ1biwgYW5kIGFkZCBuZXcKKyAgICAgICAgY29uZGl0aW9uYWxzIGZvciBhbnl0aGluZyB0
aGF0IGRvZXNuJ3QgbWF0Y2ggYW4gZXhpc3RpbmcgY29uZGl0aW9uYWwuCisKKyAgICAgICAgQ29u
ZGl0aW9uYWxzIG5vdCBtYXRjaGVkIGJ5IGFueSBhZGRlZCByZXN1bHQgYXJlIG5vdCBjaGFuZ2Vk
LiIiIgorCisgICAgICAgIGZpbmFsX2NvbmRpdGlvbmFscyA9IFtdCisKKyAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgdW5jb25kaXRpb25hbF9zdGF0dXMgPSBzZWxmLmdldCgiZXhwZWN0ZWQiKQor
ICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICB1bmNvbmRpdGlvbmFsX3N0YXR1
cyA9IHNlbGYuZGVmYXVsdF9zdGF0dXMKKworICAgICAgICBmb3IgY29uZGl0aW9uYWxfdmFsdWUs
IHJlc3VsdHMgaW4gc2VsZi51cGRhdGVkX2V4cGVjdGVkOgorICAgICAgICAgICAgaWYgbm90IHJl
c3VsdHM6CisgICAgICAgICAgICAgICAgIyBUaGUgY29uZGl0aW9uYWwgZGlkbid0IG1hdGNoIGFu
eXRoaW5nIGluIHRoZXNlIHJ1bnMgc28gbGVhdmUgaXQgYWxvbmUKKyAgICAgICAgICAgICAgICBm
aW5hbF9jb25kaXRpb25hbHMuYXBwZW5kKGNvbmRpdGlvbmFsX3ZhbHVlKQorICAgICAgICAgICAg
ZWxpZiBhbGwocmVzdWx0c1swXS5zdGF0dXMgPT0gcmVzdWx0LnN0YXR1cyBmb3IgcmVzdWx0IGlu
IHJlc3VsdHMpOgorICAgICAgICAgICAgICAgICMgQWxsIHRoZSBuZXcgdmFsdWVzIGZvciB0aGlz
IGNvbmRpdGlvbmFsIG1hdGNoZWQsIHNvIHVwZGF0ZSB0aGUgbm9kZQorICAgICAgICAgICAgICAg
IHJlc3VsdCA9IHJlc3VsdHNbMF0KKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9
PSB1bmNvbmRpdGlvbmFsX3N0YXR1cyBhbmQKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9u
YWxfdmFsdWUuY29uZGl0aW9uX25vZGUgaXMgbm90IE5vbmUpOgorICAgICAgICAgICAgICAgICAg
ICBpZiAiZXhwZWN0ZWQiIGluIHNlbGY6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJl
bW92ZV92YWx1ZSgiZXhwZWN0ZWQiLCBjb25kaXRpb25hbF92YWx1ZSkKKyAgICAgICAgICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbF92YWx1ZS52YWx1ZSA9IHJl
c3VsdC5zdGF0dXMKKyAgICAgICAgICAgICAgICAgICAgZmluYWxfY29uZGl0aW9uYWxzLmFwcGVu
ZChjb25kaXRpb25hbF92YWx1ZSkKKyAgICAgICAgICAgIGVsaWYgY29uZGl0aW9uYWxfdmFsdWUu
Y29uZGl0aW9uX25vZGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgIyBCbG93IGF3YXkg
dGhlIGV4aXN0aW5nIGNvbmRpdGlvbiBhbmQgcmVidWlsZCBmcm9tIHNjcmF0Y2gKKyAgICAgICAg
ICAgICAgICAjIFRoaXMgaXNuJ3Qgc3VyZSB0byB3b3JrIGlmIHdlIGhhdmUgYSBjb25kaXRpb25h
bCBsYXRlciB0aGF0IG1hdGNoZXMKKyAgICAgICAgICAgICAgICAjIHRoZXNlIHZhbHVlcyB0b28s
IGJ1dCB3ZSBjYW4gaG9wZSwgdmVyaWZ5IHRoYXQgd2UgZ2V0IHRoZSByZXN1bHRzCisgICAgICAg
ICAgICAgICAgIyB3ZSBleHBlY3QsIGFuZCBpZiBub3QgbGV0IGEgaHVtYW4gc29ydCBpdCBvdXQK
KyAgICAgICAgICAgICAgICBzZWxmLnJlbW92ZV92YWx1ZSgiZXhwZWN0ZWQiLCBjb25kaXRpb25h
bF92YWx1ZSkKKyAgICAgICAgICAgICAgICBzZWxmLm5ld19leHBlY3RlZC5leHRlbmQocmVzdWx0
cykKKyAgICAgICAgICAgIGVsaWYgY29uZGl0aW9uYWxfdmFsdWUuY29uZGl0aW9uX25vZGUgaXMg
Tm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLm5ld19leHBlY3RlZC5leHRlbmQocmVzdWx0IGZv
ciByZXN1bHQgaW4gcmVzdWx0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiByZXN1bHQuc3RhdHVzICE9IHVuY29uZGl0aW9uYWxfc3RhdHVzKQorCisgICAgICAg
ICMgSXQgaXMgYW4gaW52YXJpYW50IHRoYXQgbm90aGluZyBpbiBuZXdfZXhwZWN0ZWQgbWF0Y2hl
cyBhbiBleGlzdGluZworICAgICAgICAjIGNvbmRpdGlvbiBleGNlcHQgZm9yIHRoZSBkZWZhdWx0
IGNvbmRpdGlvbgorCisgICAgICAgIGlmIHNlbGYubmV3X2V4cGVjdGVkOgorICAgICAgICAgICAg
aWYgYWxsKHNlbGYubmV3X2V4cGVjdGVkWzBdLnN0YXR1cyA9PSByZXN1bHQuc3RhdHVzCisgICAg
ICAgICAgICAgICAgICAgZm9yIHJlc3VsdCBpbiBzZWxmLm5ld19leHBlY3RlZCkgYW5kIG5vdCBz
ZWxmLnVwZGF0ZWRfZXhwZWN0ZWQ6CisgICAgICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5uZXdf
ZXhwZWN0ZWRbMF0uc3RhdHVzCisgICAgICAgICAgICAgICAgaWYgc3RhdHVzICE9IHNlbGYuZGVm
YXVsdF9zdGF0dXM6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0KCJleHBlY3RlZCIsIHN0
YXR1cywgY29uZGl0aW9uPU5vbmUpCisgICAgICAgICAgICAgICAgICAgIGZpbmFsX2NvbmRpdGlv
bmFscy5hcHBlbmQoc2VsZi5fZGF0YVsiZXhwZWN0ZWQiXVstMV0pCisgICAgICAgICAgICBlbHNl
OgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uYWxz
ID0gZ3JvdXBfY29uZGl0aW9uYWxzKAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5uZXdf
ZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eV9vcmRlcj1zZWxmLnJv
b3QucHJvcGVydHlfb3JkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFuX3Byb3Bl
cnRpZXM9c2VsZi5yb290LmJvb2xlYW5fcHJvcGVydGllcykKKyAgICAgICAgICAgICAgICBleGNl
cHQgQ29uZGl0aW9uRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHByaW50ICJDb25mbGljdGlu
ZyB0ZXN0IHJlc3VsdHMgZm9yICVzLCBjYW5ub3QgdXBkYXRlIiAlIHNlbGYucm9vdC50ZXN0X3Bh
dGgKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICAgICAgZm9yIGNvbmRp
dGlvbmFsX25vZGUsIHN0YXR1cyBpbiBjb25kaXRpb25hbHM6CisgICAgICAgICAgICAgICAgICAg
IGlmIHN0YXR1cyAhPSB1bmNvbmRpdGlvbmFsX3N0YXR1czoKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuc2V0KCJleHBlY3RlZCIsIHN0YXR1cywgY29uZGl0aW9uPWNvbmRpdGlvbmFsX25v
ZGUuY2hpbGRyZW5bMF0pCisgICAgICAgICAgICAgICAgICAgICAgICBmaW5hbF9jb25kaXRpb25h
bHMuYXBwZW5kKHNlbGYuX2RhdGFbImV4cGVjdGVkIl1bLTFdKQorCisgICAgICAgIGlmICgiZXhw
ZWN0ZWQiIGluIHNlbGYuX2RhdGEgYW5kCisgICAgICAgICAgICBsZW4oc2VsZi5fZGF0YVsiZXhw
ZWN0ZWQiXSkgPiAwIGFuZAorICAgICAgICAgICAgc2VsZi5fZGF0YVsiZXhwZWN0ZWQiXVstMV0u
Y29uZGl0aW9uX25vZGUgaXMgTm9uZSBhbmQKKyAgICAgICAgICAgIHNlbGYuX2RhdGFbImV4cGVj
dGVkIl1bLTFdLnZhbHVlID09IHNlbGYuZGVmYXVsdF9zdGF0dXMpOgorCisgICAgICAgICAgICBz
ZWxmLnJlbW92ZV92YWx1ZSgiZXhwZWN0ZWQiLCBzZWxmLl9kYXRhWyJleHBlY3RlZCJdWy0xXSkK
KworICAgICAgICBpZiAoImV4cGVjdGVkIiBpbiBzZWxmLl9kYXRhIGFuZAorICAgICAgICAgICAg
bGVuKHNlbGYuX2RhdGFbImV4cGVjdGVkIl0pID09IDApOgorICAgICAgICAgICAgZm9yIGNoaWxk
IGluIHNlbGYubm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgICAgICBpZiAoaXNpbnN0YW5jZShj
aGlsZCwgS2V5VmFsdWVOb2RlKSBhbmQKKyAgICAgICAgICAgICAgICAgICAgY2hpbGQuZGF0YSA9
PSAiZXhwZWN0ZWQiKToKKyAgICAgICAgICAgICAgICAgICAgY2hpbGQucmVtb3ZlKCkKKyAgICAg
ICAgICAgICAgICAgICAgYnJlYWsKKworICAgIGRlZiBfYWRkX2tleV92YWx1ZShzZWxmLCBub2Rl
LCB2YWx1ZXMpOgorICAgICAgICBNYW5pZmVzdEl0ZW0uX2FkZF9rZXlfdmFsdWUoc2VsZiwgbm9k
ZSwgdmFsdWVzKQorICAgICAgICBpZiBub2RlLmRhdGEgPT0gImV4cGVjdGVkIjoKKyAgICAgICAg
ICAgIHNlbGYudXBkYXRlZF9leHBlY3RlZCA9IFtdCisgICAgICAgICAgICBmb3IgdmFsdWUgaW4g
dmFsdWVzOgorICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlZF9leHBlY3RlZC5hcHBlbmQoKHZh
bHVlLCBbXSkpCisKKyAgICBkZWYgY2xlYXJfZXhwZWN0ZWQoc2VsZik6CisgICAgICAgICIiIkNs
ZWFyIGFsbCB0aGUgZXhwZWN0ZWQgZGF0YSBmb3IgdGhpcyB0ZXN0IGFuZCBhbGwgb2YgaXRzIHN1
YnRlc3RzIiIiCisKKyAgICAgICAgc2VsZi51cGRhdGVkX2V4cGVjdGVkID0gW10KKyAgICAgICAg
aWYgImV4cGVjdGVkIiBpbiBzZWxmLl9kYXRhOgorICAgICAgICAgICAgZm9yIGNoaWxkIGluIHNl
bGYubm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgICAgICBpZiAoaXNpbnN0YW5jZShjaGlsZCwg
S2V5VmFsdWVOb2RlKSBhbmQKKyAgICAgICAgICAgICAgICAgICAgY2hpbGQuZGF0YSA9PSAiZXhw
ZWN0ZWQiKToKKyAgICAgICAgICAgICAgICAgICAgY2hpbGQucmVtb3ZlKCkKKyAgICAgICAgICAg
ICAgICAgICAgZGVsIHNlbGYuX2RhdGFbImV4cGVjdGVkIl0KKyAgICAgICAgICAgICAgICAgICAg
YnJlYWsKKworICAgICAgICBmb3Igc3VidGVzdCBpbiBzZWxmLnN1YnRlc3RzLml0ZXJ2YWx1ZXMo
KToKKyAgICAgICAgICAgIHN1YnRlc3QuY2xlYXJfZXhwZWN0ZWQoKQorCisgICAgZGVmIGFwcGVu
ZChzZWxmLCBub2RlKToKKyAgICAgICAgY2hpbGQgPSBNYW5pZmVzdEl0ZW0uYXBwZW5kKHNlbGYs
IG5vZGUpCisgICAgICAgIHNlbGYuc3VidGVzdHNbY2hpbGQubmFtZV0gPSBjaGlsZAorCisgICAg
ZGVmIGdldF9zdWJ0ZXN0KHNlbGYsIG5hbWUpOgorICAgICAgICAiIiJSZXR1cm4gYSBTdWJ0ZXN0
Tm9kZSBjb3JyZXNwb25kaW5nIHRvIGEgcGFydGljdWxhciBzdWJ0ZXN0IG9mCisgICAgICAgIHRo
ZSBjdXJyZW50IHRlc3QsIGNyZWF0aW5nIGEgbmV3IG9uZSBpZiBubyBzdWJ0ZXN0IHdpdGggdGhh
dCBuYW1lCisgICAgICAgIGFscmVhZHkgZXhpc3RzLgorCisgICAgICAgIDpwYXJhbSBuYW1lOiBO
YW1lIG9mIHRoZSBzdWJ0ZXN0IiIiCisKKyAgICAgICAgaWYgbmFtZSBpbiBzZWxmLnN1YnRlc3Rz
OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuc3VidGVzdHNbbmFtZV0KKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIHN1YnRlc3QgPSBTdWJ0ZXN0Tm9kZS5jcmVhdGUobmFtZSkKKyAgICAgICAg
ICAgIHNlbGYuYXBwZW5kKHN1YnRlc3QpCisgICAgICAgICAgICByZXR1cm4gc3VidGVzdAorCisK
K2NsYXNzIFN1YnRlc3ROb2RlKFRlc3ROb2RlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbm9k
ZSk6CisgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG5vZGUsIERhdGFOb2RlKQorICAgICAgICBU
ZXN0Tm9kZS5fX2luaXRfXyhzZWxmLCBub2RlKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVm
IGNyZWF0ZShjbHMsIG5hbWUpOgorICAgICAgICBub2RlID0gRGF0YU5vZGUobmFtZSkKKyAgICAg
ICAgc2VsZiA9IGNscyhub2RlKQorICAgICAgICByZXR1cm4gc2VsZgorCisgICAgQHByb3BlcnR5
CisgICAgZGVmIGlzX2VtcHR5KHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9kYXRhOgorICAgICAg
ICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCisKKworZGVmIGdyb3VwX2Nv
bmRpdGlvbmFscyh2YWx1ZXMsIHByb3BlcnR5X29yZGVyPU5vbmUsIGJvb2xlYW5fcHJvcGVydGll
cz1Ob25lKToKKyAgICAiIiJHaXZlbiBhIGxpc3Qgb2YgUmVzdWx0IG9iamVjdHMsIHJldHVybiBh
IGxpc3Qgb2YKKyAgICAoY29uZGl0aW9uYWxfbm9kZSwgc3RhdHVzKSBwYWlycyByZXByZXNlbnRp
bmcgdGhlIGNvbmRpdGlvbmFsCisgICAgZXhwcmVzc2lvbnMgdGhhdCBhcmUgcmVxdWlyZWQgdG8g
bWF0Y2ggZWFjaCBzdGF0dXMKKworICAgIDpwYXJhbSB2YWx1ZXM6IExpc3Qgb2YgUmVzdWx0cwor
ICAgIDpwYXJhbSBwcm9wZXJ0eV9vcmRlcjogTGlzdCBvZiBwcm9wZXJ0aWVzIHRvIHVzZSBpbiBl
eHBlY3RhdGlvbiBtZXRhZGF0YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBtb3N0
IHRvIGxlYXN0IHNpZ25pZmljYW50LgorICAgIDpwYXJhbSBib29sZWFuX3Byb3BlcnRpZXM6IFNl
dCBvZiBwcm9wZXJ0aWVzIGluIHByb3BlcnR5X29yZGVyIHRoYXQgc2hvdWxkCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYmUgdHJlYXRlZCBhcyBib29sZWFuLiIiIgorCisgICAgYnlf
cHJvcGVydHkgPSBkZWZhdWx0ZGljdChzZXQpCisgICAgZm9yIHJ1bl9pbmZvLCBzdGF0dXMgaW4g
dmFsdWVzOgorICAgICAgICBmb3IgcHJvcF9uYW1lLCBwcm9wX3ZhbHVlIGluIHJ1bl9pbmZvLml0
ZXJpdGVtcygpOgorICAgICAgICAgICAgYnlfcHJvcGVydHlbKHByb3BfbmFtZSwgcHJvcF92YWx1
ZSldLmFkZChzdGF0dXMpCisKKyAgICBpZiBwcm9wZXJ0eV9vcmRlciBpcyBOb25lOgorICAgICAg
ICBwcm9wZXJ0eV9vcmRlciA9IFsiZGVidWciLCAib3MiLCAidmVyc2lvbiIsICJwcm9jZXNzb3Ii
LCAiYml0cyJdCisKKyAgICBpZiBib29sZWFuX3Byb3BlcnRpZXMgaXMgTm9uZToKKyAgICAgICAg
Ym9vbGVhbl9wcm9wZXJ0aWVzID0gc2V0KFsiZGVidWciXSkKKyAgICBlbHNlOgorICAgICAgICBi
b29sZWFuX3Byb3BlcnRpZXMgPSBzZXQoYm9vbGVhbl9wcm9wZXJ0aWVzKQorCisgICAgIyBJZiB3
ZSBoYXZlIG1vcmUgdGhhbiBvbmUgdmFsdWUsIHJlbW92ZSBhbnkgcHJvcGVydGllcyB0aGF0IGFy
ZSBjb21tb24KKyAgICAjIGZvciBhbGwgdGhlIHZhbHVlcworICAgIGlmIGxlbih2YWx1ZXMpID4g
MToKKyAgICAgICAgZm9yIGtleSwgc3RhdHVzZXMgaW4gYnlfcHJvcGVydHkuY29weSgpLml0ZXJp
dGVtcygpOgorICAgICAgICAgICAgaWYgbGVuKHN0YXR1c2VzKSA9PSBsZW4odmFsdWVzKToKKyAg
ICAgICAgICAgICAgICBkZWwgYnlfcHJvcGVydHlba2V5XQorICAgICAgICBpZiBub3QgYnlfcHJv
cGVydHk6CisgICAgICAgICAgICByYWlzZSBDb25kaXRpb25FcnJvcgorCisgICAgcHJvcGVydGll
cyA9IHNldChpdGVtWzBdIGZvciBpdGVtIGluIGJ5X3Byb3BlcnR5Lml0ZXJrZXlzKCkpCisgICAg
aW5jbHVkZV9wcm9wcyA9IFtdCisKKyAgICBmb3IgcHJvcCBpbiBwcm9wZXJ0eV9vcmRlcjoKKyAg
ICAgICAgaWYgcHJvcCBpbiBwcm9wZXJ0aWVzOgorICAgICAgICAgICAgaW5jbHVkZV9wcm9wcy5h
cHBlbmQocHJvcCkKKworICAgIGNvbmRpdGlvbnMgPSB7fQorCisgICAgZm9yIHJ1bl9pbmZvLCBz
dGF0dXMgaW4gdmFsdWVzOgorICAgICAgICBwcm9wX3NldCA9IHR1cGxlKChwcm9wLCBydW5faW5m
b1twcm9wXSkgZm9yIHByb3AgaW4gaW5jbHVkZV9wcm9wcykKKyAgICAgICAgaWYgcHJvcF9zZXQg
aW4gY29uZGl0aW9uczoKKyAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgZXhwciA9IG1h
a2VfZXhwcihwcm9wX3NldCwgc3RhdHVzLCBib29sZWFuX3Byb3BlcnRpZXM9Ym9vbGVhbl9wcm9w
ZXJ0aWVzKQorICAgICAgICBjb25kaXRpb25zW3Byb3Bfc2V0XSA9IChleHByLCBzdGF0dXMpCisK
KyAgICByZXR1cm4gY29uZGl0aW9ucy52YWx1ZXMoKQorCisKK2RlZiBtYWtlX2V4cHIocHJvcF9z
ZXQsIHN0YXR1cywgYm9vbGVhbl9wcm9wZXJ0aWVzPU5vbmUpOgorICAgICIiIkNyZWF0ZSBhbiBB
U1QgdGhhdCByZXR1cm5zIHRoZSB2YWx1ZSBgYHN0YXR1c2BgIGdpdmVuIGFsbCB0aGUKKyAgICBw
cm9wZXJ0aWVzIGluIHByb3Bfc2V0IG1hdGNoLgorCisgICAgOnBhcmFtIHByb3Bfc2V0OiB0dXBs
ZSBvZiAocHJvcGVydHkgbmFtZSwgdmFsdWUpIHBhaXJzIGZvciBlYWNoCisgICAgICAgICAgICAg
ICAgICAgICBwcm9wZXJ0eSBpbiB0aGlzIGV4cHJlc3Npb24gYW5kIHRoZSB2YWx1ZSBpdCBtdXN0
IG1hdGNoCisgICAgOnBhcmFtIHN0YXR1czogU3RhdHVzIG9uIFJIUyB3aGVuIGFsbCB0aGUgZ2l2
ZW4gcHJvcGVydGllcyBtYXRjaAorICAgIDpwYXJhbSBib29sZWFuX3Byb3BlcnRpZXM6IFNldCBv
ZiBwcm9wZXJ0aWVzIGluIHByb3BlcnR5X29yZGVyIHRoYXQgc2hvdWxkCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYmUgdHJlYXRlZCBhcyBib29sZWFuLgorICAgICIiIgorICAgIHJv
b3QgPSBDb25kaXRpb25hbE5vZGUoKQorCisgICAgYXNzZXJ0IGxlbihwcm9wX3NldCkgPiAwCisK
KyAgICBleHByZXNzaW9ucyA9IFtdCisgICAgZm9yIHByb3AsIHZhbHVlIGluIHByb3Bfc2V0Ogor
ICAgICAgICBudW1iZXJfdHlwZXMgPSAoaW50LCBmbG9hdCwgbG9uZykKKyAgICAgICAgdmFsdWVf
Y2xzID0gKE51bWJlck5vZGUKKyAgICAgICAgICAgICAgICAgICAgIGlmIHR5cGUodmFsdWUpIGlu
IG51bWJlcl90eXBlcworICAgICAgICAgICAgICAgICAgICAgZWxzZSBTdHJpbmdOb2RlKQorICAg
ICAgICBpZiBwcm9wIG5vdCBpbiBib29sZWFuX3Byb3BlcnRpZXM6CisgICAgICAgICAgICBleHBy
ZXNzaW9ucy5hcHBlbmQoCisgICAgICAgICAgICAgICAgQmluYXJ5RXhwcmVzc2lvbk5vZGUoCisg
ICAgICAgICAgICAgICAgICAgIEJpbmFyeU9wZXJhdG9yTm9kZSgiPT0iKSwKKyAgICAgICAgICAg
ICAgICAgICAgVmFyaWFibGVOb2RlKHByb3ApLAorICAgICAgICAgICAgICAgICAgICB2YWx1ZV9j
bHModW5pY29kZSh2YWx1ZSkpCisgICAgICAgICAgICAgICAgKSkKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIGlmIHZhbHVlOgorICAgICAgICAgICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChW
YXJpYWJsZU5vZGUocHJvcCkpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGV4
cHJlc3Npb25zLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgVW5hcnlFeHByZXNzaW9uTm9k
ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIFVuYXJ5T3BlcmF0b3JOb2RlKCJub3QiKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlTm9kZShwcm9wKQorICAgICAgICAgICAgICAg
ICAgICApKQorICAgIGlmIGxlbihleHByZXNzaW9ucykgPiAxOgorICAgICAgICBwcmV2ID0gZXhw
cmVzc2lvbnNbLTFdCisgICAgICAgIGZvciBjdXJyIGluIHJldmVyc2VkKGV4cHJlc3Npb25zWzot
MV0pOgorICAgICAgICAgICAgbm9kZSA9IEJpbmFyeUV4cHJlc3Npb25Ob2RlKAorICAgICAgICAg
ICAgICAgIEJpbmFyeU9wZXJhdG9yTm9kZSgiYW5kIiksCisgICAgICAgICAgICAgICAgY3VyciwK
KyAgICAgICAgICAgICAgICBwcmV2KQorICAgICAgICAgICAgcHJldiA9IG5vZGUKKyAgICBlbHNl
OgorICAgICAgICBub2RlID0gZXhwcmVzc2lvbnNbMF0KKworICAgIHJvb3QuYXBwZW5kKG5vZGUp
CisgICAgcm9vdC5hcHBlbmQoU3RyaW5nTm9kZShzdGF0dXMpKQorCisgICAgcmV0dXJuIHJvb3QK
KworCitkZWYgZ2V0X21hbmlmZXN0KG1ldGFkYXRhX3Jvb3QsIHRlc3RfcGF0aCwgdXJsX2Jhc2Us
IHByb3BlcnR5X29yZGVyPU5vbmUsCisgICAgICAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGll
cz1Ob25lKToKKyAgICAiIiJHZXQgdGhlIEV4cGVjdGVkTWFuaWZlc3QgZm9yIGEgcGFydGljdWxh
ciB0ZXN0IHBhdGgsIG9yIE5vbmUgaWYgdGhlcmUgaXMgbm8KKyAgICBtZXRhZGF0YSBzdG9yZWQg
Zm9yIHRoYXQgdGVzdCBwYXRoLgorCisgICAgOnBhcmFtIG1ldGFkYXRhX3Jvb3Q6IEFic29sdXRl
IHBhdGggdG8gdGhlIHJvb3Qgb2YgdGhlIG1ldGFkYXRhIGRpcmVjdG9yeQorICAgIDpwYXJhbSB0
ZXN0X3BhdGg6IFBhdGggdG8gdGhlIHRlc3QocykgcmVsYXRpdmUgdG8gdGhlIHRlc3Qgcm9vdAor
ICAgIDpwYXJhbSB1cmxfYmFzZTogQmFzZSB1cmwgZm9yIHNlcnZpbmcgdGhlIHRlc3RzIGluIHRo
aXMgbWFuaWZlc3QKKyAgICA6cGFyYW0gcHJvcGVydHlfb3JkZXI6IExpc3Qgb2YgcHJvcGVydGll
cyB0byB1c2UgaW4gZXhwZWN0YXRpb24gbWV0YWRhdGEKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZyb20gbW9zdCB0byBsZWFzdCBzaWduaWZpY2FudC4KKyAgICA6cGFyYW0gYm9vbGVhbl9w
cm9wZXJ0aWVzOiBTZXQgb2YgcHJvcGVydGllcyBpbiBwcm9wZXJ0eV9vcmRlciB0aGF0IHNob3Vs
ZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIHRyZWF0ZWQgYXMgYm9vbGVhbi4i
IiIKKyAgICBtYW5pZmVzdF9wYXRoID0gZXhwZWN0ZWQuZXhwZWN0ZWRfcGF0aChtZXRhZGF0YV9y
b290LCB0ZXN0X3BhdGgpCisgICAgdHJ5OgorICAgICAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0
aCkgYXMgZjoKKyAgICAgICAgICAgIHJldHVybiBjb21waWxlKGYsIHRlc3RfcGF0aCwgdXJsX2Jh
c2UsIHByb3BlcnR5X29yZGVyPXByb3BlcnR5X29yZGVyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbGVhbl9wcm9wZXJ0aWVzPWJvb2xlYW5fcHJvcGVydGllcykKKyAgICBleGNlcHQg
SU9FcnJvcjoKKyAgICAgICAgcmV0dXJuIE5vbmUKKworCitkZWYgY29tcGlsZShtYW5pZmVzdF9m
aWxlLCB0ZXN0X3BhdGgsIHVybF9iYXNlLCBwcm9wZXJ0eV9vcmRlcj1Ob25lLAorICAgICAgICAg
ICAgYm9vbGVhbl9wcm9wZXJ0aWVzPU5vbmUpOgorICAgIHJldHVybiBjb25kaXRpb25hbC5jb21w
aWxlKG1hbmlmZXN0X2ZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YV9j
bHNfZ2V0dGVyPWRhdGFfY2xzX2dldHRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0X3BhdGg9dGVzdF9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVy
bF9iYXNlPXVybF9iYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5
X29yZGVyPXByb3BlcnR5X29yZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv
b2xlYW5fcHJvcGVydGllcz1ib29sZWFuX3Byb3BlcnRpZXMpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvbWV0YWRhdGEucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWV0YWRhdGEucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2YwZTI5YjIxOTBjMTFjNWEzOTJhZDQwOGY1N2ViYWQ2ZjE5OTk0NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9tZXRhZGF0YS5weQpAQCAtMCwwICsxLDM1MSBAQAoraW1wb3J0IG9z
CitpbXBvcnQgc2h1dGlsCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKK2ltcG9ydCB0eXBl
cworaW1wb3J0IHV1aWQKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlZmF1bHRkaWN0CisKK2Zy
b20gbW96bG9nIGltcG9ydCByZWFkZXIKK2Zyb20gbW96bG9nIGltcG9ydCBzdHJ1Y3R1cmVkbG9n
CisKK2ltcG9ydCBleHBlY3RlZAoraW1wb3J0IG1hbmlmZXN0dXBkYXRlCitpbXBvcnQgdGVzdGxv
YWRlcgoraW1wb3J0IHdwdG1hbmlmZXN0CitpbXBvcnQgd3B0dGVzdAorZnJvbSB2Y3MgaW1wb3J0
IGdpdAorbWFuaWZlc3QgPSBOb25lICAjIE1vZHVsZSB0aGF0IHdpbGwgYmUgaW1wb3J0ZWQgcmVs
YXRpdmUgdG8gdGVzdF9yb290CittYW5pZmVzdGl0ZW0gPSBOb25lCisKK2xvZ2dlciA9IHN0cnVj
dHVyZWRsb2cuU3RydWN0dXJlZExvZ2dlcigid2ViLXBsYXRmb3JtLXRlc3RzIikKKworCitkZWYg
bG9hZF90ZXN0X21hbmlmZXN0cyhzZXJ2ZV9yb290LCB0ZXN0X3BhdGhzKToKKyAgICBkb19kZWxh
eWVkX2ltcG9ydHMoc2VydmVfcm9vdCkKKyAgICBtYW5pZmVzdF9sb2FkZXIgPSB0ZXN0bG9hZGVy
Lk1hbmlmZXN0TG9hZGVyKHRlc3RfcGF0aHMsIEZhbHNlKQorICAgIHJldHVybiBtYW5pZmVzdF9s
b2FkZXIubG9hZCgpCisKKworZGVmIHVwZGF0ZV9leHBlY3RlZCh0ZXN0X3BhdGhzLCBzZXJ2ZV9y
b290LCBsb2dfZmlsZV9uYW1lcywKKyAgICAgICAgICAgICAgICAgICAgcmV2X29sZD1Ob25lLCBy
ZXZfbmV3PSJIRUFEIiwgaWdub3JlX2V4aXN0aW5nPUZhbHNlLAorICAgICAgICAgICAgICAgICAg
ICBzeW5jX3Jvb3Q9Tm9uZSwgcHJvcGVydHlfb3JkZXI9Tm9uZSwgYm9vbGVhbl9wcm9wZXJ0aWVz
PU5vbmUpOgorICAgICIiIlVwZGF0ZSB0aGUgbWV0YWRhdGEgZmlsZXMgZm9yIHdlYi1wbGF0Zm9y
bS10ZXN0cyBiYXNlZCBvbgorICAgIHRoZSByZXN1bHRzIG9idGFpbmVkIGluIGEgcHJldmlvdXMg
cnVuIiIiCisKKyAgICBtYW5pZmVzdHMgPSBsb2FkX3Rlc3RfbWFuaWZlc3RzKHNlcnZlX3Jvb3Qs
IHRlc3RfcGF0aHMpCisKKyAgICBjaGFuZ2VfZGF0YSA9IHt9CisKKyAgICBpZiBzeW5jX3Jvb3Qg
aXMgbm90IE5vbmU6CisgICAgICAgIGlmIHJldl9vbGQgaXMgbm90IE5vbmU6CisgICAgICAgICAg
ICByZXZfb2xkID0gZ2l0KCJyZXYtcGFyc2UiLCByZXZfb2xkLCByZXBvPXN5bmNfcm9vdCkuc3Ry
aXAoKQorICAgICAgICByZXZfbmV3ID0gZ2l0KCJyZXYtcGFyc2UiLCByZXZfbmV3LCByZXBvPXN5
bmNfcm9vdCkuc3RyaXAoKQorCisgICAgICAgIGlmIHJldl9vbGQgaXMgbm90IE5vbmU6CisgICAg
ICAgICAgICBjaGFuZ2VfZGF0YSA9IGxvYWRfY2hhbmdlX2RhdGEocmV2X29sZCwgcmV2X25ldywg
cmVwbz1zeW5jX3Jvb3QpCisKKworICAgIGV4cGVjdGVkX21hcF9ieV9tYW5pZmVzdCA9IHVwZGF0
ZV9mcm9tX2xvZ3MobWFuaWZlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKmxvZ19maWxlX25hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlX2V4aXN0aW5nPWlnbm9yZV9leGlzdGluZywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5
X29yZGVyPXByb3BlcnR5X29yZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbGVhbl9wcm9wZXJ0aWVzPWJvb2xlYW5fcHJvcGVydGllcykKKwor
ICAgIGZvciB0ZXN0X21hbmlmZXN0LCBleHBlY3RlZF9tYXAgaW4gZXhwZWN0ZWRfbWFwX2J5X21h
bmlmZXN0Lml0ZXJpdGVtcygpOgorICAgICAgICB1cmxfYmFzZSA9IG1hbmlmZXN0c1t0ZXN0X21h
bmlmZXN0XVsidXJsX2Jhc2UiXQorICAgICAgICBtZXRhZGF0YV9wYXRoID0gdGVzdF9wYXRoc1t1
cmxfYmFzZV1bIm1ldGFkYXRhX3BhdGgiXQorICAgICAgICB3cml0ZV9jaGFuZ2VzKG1ldGFkYXRh
X3BhdGgsIGV4cGVjdGVkX21hcCkKKworICAgIHJlc3VsdHNfY2hhbmdlZCA9IFtpdGVtLnRlc3Rf
cGF0aCBmb3IgaXRlbSBpbiBleHBlY3RlZF9tYXAuaXRlcnZhbHVlcygpIGlmIGl0ZW0ubW9kaWZp
ZWRdCisKKyAgICByZXR1cm4gdW5leHBlY3RlZF9jaGFuZ2VzKG1hbmlmZXN0cywgY2hhbmdlX2Rh
dGEsIHJlc3VsdHNfY2hhbmdlZCkKKworCitkZWYgZG9fZGVsYXllZF9pbXBvcnRzKHNlcnZlX3Jv
b3QpOgorICAgIGdsb2JhbCBtYW5pZmVzdCwgbWFuaWZlc3RpdGVtCisgICAgZnJvbSBtYW5pZmVz
dCBpbXBvcnQgbWFuaWZlc3QsIGl0ZW0gYXMgbWFuaWZlc3RpdGVtCisKKworZGVmIGZpbGVzX2lu
X3JlcG8ocmVwb19yb290KToKKyAgICByZXR1cm4gZ2l0KCJscy10cmVlIiwgIi1yIiwgIi0tbmFt
ZS1vbmx5IiwgIkhFQUQiKS5zcGxpdCgiXG4iKQorCisKK2RlZiByZXZfcmFuZ2UocmV2X29sZCwg
cmV2X25ldywgc3ltbWV0cmljPUZhbHNlKToKKyAgICBqb2luZXIgPSAiLi4iIGlmIG5vdCBzeW1t
ZXRyaWMgZWxzZSAiLi4uIgorICAgIHJldHVybiAiIi5qb2luKFtyZXZfb2xkLCBqb2luZXIsIHJl
dl9uZXddKQorCisKK2RlZiBwYXRoc19jaGFuZ2VkKHJldl9vbGQsIHJldl9uZXcsIHJlcG8pOgor
ICAgIGRhdGEgPSBnaXQoImRpZmYiLCAiLS1uYW1lLXN0YXR1cyIsIHJldl9yYW5nZShyZXZfb2xk
LCByZXZfbmV3KSwgcmVwbz1yZXBvKQorICAgIGxpbmVzID0gW3R1cGxlKGl0ZW0uc3RyaXAoKSBm
b3IgaXRlbSBpbiBsaW5lLnN0cmlwKCkuc3BsaXQoIlx0IiwgMSkpCisgICAgICAgICAgICAgZm9y
IGxpbmUgaW4gZGF0YS5zcGxpdCgiXG4iKSBpZiBsaW5lLnN0cmlwKCldCisgICAgb3V0cHV0ID0g
c2V0KGxpbmVzKQorICAgIHJldHVybiBvdXRwdXQKKworCitkZWYgbG9hZF9jaGFuZ2VfZGF0YShy
ZXZfb2xkLCByZXZfbmV3LCByZXBvKToKKyAgICBjaGFuZ2VzID0gcGF0aHNfY2hhbmdlZChyZXZf
b2xkLCByZXZfbmV3LCByZXBvKQorICAgIHJ2ID0ge30KKyAgICBzdGF0dXNfa2V5cyA9IHsiTSI6
ICJtb2RpZmllZCIsCisgICAgICAgICAgICAgICAgICAgIkEiOiAibmV3IiwKKyAgICAgICAgICAg
ICAgICAgICAiRCI6ICJkZWxldGVkIn0KKyAgICAjIFRPRE86IGRlYWwgd2l0aCByZW5hbWVzCisg
ICAgZm9yIGl0ZW0gaW4gY2hhbmdlczoKKyAgICAgICAgcnZbaXRlbVsxXV0gPSBzdGF0dXNfa2V5
c1tpdGVtWzBdXQorICAgIHJldHVybiBydgorCisKK2RlZiB1bmV4cGVjdGVkX2NoYW5nZXMobWFu
aWZlc3RzLCBjaGFuZ2VfZGF0YSwgZmlsZXNfY2hhbmdlZCk6CisgICAgZmlsZXNfY2hhbmdlZCA9
IHNldChmaWxlc19jaGFuZ2VkKQorCisgICAgcm9vdF9tYW5pZmVzdCA9IE5vbmUKKyAgICBmb3Ig
bWFuaWZlc3QsIHBhdGhzIGluIG1hbmlmZXN0cy5pdGVyaXRlbXMoKToKKyAgICAgICAgaWYgcGF0
aHNbInVybF9iYXNlIl0gPT0gIi8iOgorICAgICAgICAgICAgcm9vdF9tYW5pZmVzdCA9IG1hbmlm
ZXN0CisgICAgICAgICAgICBicmVhaworICAgIGVsc2U6CisgICAgICAgIHJldHVybiBbXQorCisg
ICAgcnYgPSBbXQorCisgICAgcmV0dXJuIFtmbiBmb3IgXywgZm4sIF8gaW4gcm9vdF9tYW5pZmVz
dCBpZiBmbiBpbiBmaWxlc19jaGFuZ2VkIGFuZCBjaGFuZ2VfZGF0YS5nZXQoZm4pICE9ICJNIl0K
KworIyBGb3IgZWFjaCB0ZXN0cnVuCisjIExvYWQgYWxsIGZpbGVzIGFuZCBzY2FuIGZvciB0aGUg
c3VpdGVfc3RhcnQgZW50cnkKKyMgQnVpbGQgYSBoYXNoIG9mIGZpbGVuYW1lOiBwcm9wZXJ0aWVz
CisjIEZvciBlYWNoIGRpZmZlcmVudCBzZXQgb2YgcHJvcGVydGllcywgZ2F0aGVyIGFsbCBjaHVu
a3MKKyMgRm9yIGVhY2ggY2h1bmsgaW4gdGhlIHNldCBvZiBjaHVua3MsIGdvIHRocm91Z2ggYWxs
IHRlc3RzCisjIGZvciBlYWNoIHRlc3QsIG1ha2UgYSBtYXAgb2Yge2NvbmRpdGlvbmFsczogWyhw
bGF0Zm9ybSwgbmV3X3ZhbHVlKV19CisjIFJlcGVhdCBmb3IgZWFjaCBwbGF0Zm9ybQorIyBGb3Ig
ZWFjaCB0ZXN0IGluIHRoZSBsaXN0IG9mIHRlc3RzOgorIyAgIGZvciBlYWNoIGNvbmRpdGlvbmFs
OgorIyAgICAgIElmIGFsbCB0aGUgbmV3IHZhbHVlcyBtYXRjaCAob3IgdGhlcmUgYXJlbid0IGFu
eSkgcmV0YWluIHRoYXQgY29uZGl0aW9uYWwKKyMgICAgICBJZiBhbnkgbmV3IHZhbHVlcyBtaXNt
YXRjaCBtYXJrIHRoZSB0ZXN0IGFzIG5lZWRpbmcgaHVtYW4gYXR0ZW50aW9uCisjICAgQ2hlY2sg
aWYgYWxsIHRoZSBSSFMgdmFsdWVzIGFyZSB0aGUgc2FtZTsgaWYgc28gY29sbGFwc2UgdGhlIGNv
bmRpdGlvbmFscworCisKK2RlZiB1cGRhdGVfZnJvbV9sb2dzKG1hbmlmZXN0cywgKmxvZ19maWxl
bmFtZXMsICoqa3dhcmdzKToKKyAgICBpZ25vcmVfZXhpc3RpbmcgPSBrd2FyZ3MuZ2V0KCJpZ25v
cmVfZXhpc3RpbmciLCBGYWxzZSkKKyAgICBwcm9wZXJ0eV9vcmRlciA9IGt3YXJncy5nZXQoInBy
b3BlcnR5X29yZGVyIikKKyAgICBib29sZWFuX3Byb3BlcnRpZXMgPSBrd2FyZ3MuZ2V0KCJib29s
ZWFuX3Byb3BlcnRpZXMiKQorCisgICAgZXhwZWN0ZWRfbWFwID0ge30KKyAgICBpZF90ZXN0X21h
cCA9IHt9CisKKyAgICBmb3IgdGVzdF9tYW5pZmVzdCwgcGF0aHMgaW4gbWFuaWZlc3RzLml0ZXJp
dGVtcygpOgorICAgICAgICBleHBlY3RlZF9tYXBfbWFuaWZlc3QsIGlkX3BhdGhfbWFwX21hbmlm
ZXN0ID0gY3JlYXRlX3Rlc3RfdHJlZSgKKyAgICAgICAgICAgIHBhdGhzWyJtZXRhZGF0YV9wYXRo
Il0sCisgICAgICAgICAgICB0ZXN0X21hbmlmZXN0LAorICAgICAgICAgICAgcHJvcGVydHlfb3Jk
ZXI9cHJvcGVydHlfb3JkZXIsCisgICAgICAgICAgICBib29sZWFuX3Byb3BlcnRpZXM9Ym9vbGVh
bl9wcm9wZXJ0aWVzKQorICAgICAgICBleHBlY3RlZF9tYXBbdGVzdF9tYW5pZmVzdF0gPSBleHBl
Y3RlZF9tYXBfbWFuaWZlc3QKKyAgICAgICAgaWRfdGVzdF9tYXAudXBkYXRlKGlkX3BhdGhfbWFw
X21hbmlmZXN0KQorCisgICAgdXBkYXRlciA9IEV4cGVjdGVkVXBkYXRlcihtYW5pZmVzdHMsIGV4
cGVjdGVkX21hcCwgaWRfdGVzdF9tYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
Z25vcmVfZXhpc3Rpbmc9aWdub3JlX2V4aXN0aW5nKQorICAgIGZvciBsb2dfZmlsZW5hbWUgaW4g
bG9nX2ZpbGVuYW1lczoKKyAgICAgICAgd2l0aCBvcGVuKGxvZ19maWxlbmFtZSkgYXMgZjoKKyAg
ICAgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21fbG9nKGYpCisKKyAgICBmb3IgbWFuaWZlc3Rf
ZXhwZWN0ZWQgaW4gZXhwZWN0ZWRfbWFwLml0ZXJ2YWx1ZXMoKToKKyAgICAgICAgZm9yIHRyZWUg
aW4gbWFuaWZlc3RfZXhwZWN0ZWQuaXRlcnZhbHVlcygpOgorICAgICAgICAgICAgZm9yIHRlc3Qg
aW4gdHJlZS5pdGVyY2hpbGRyZW4oKToKKyAgICAgICAgICAgICAgICBmb3Igc3VidGVzdCBpbiB0
ZXN0Lml0ZXJjaGlsZHJlbigpOgorICAgICAgICAgICAgICAgICAgICBzdWJ0ZXN0LmNvYWxlc2Nl
X2V4cGVjdGVkKCkKKyAgICAgICAgICAgICAgICB0ZXN0LmNvYWxlc2NlX2V4cGVjdGVkKCkKKwor
ICAgIHJldHVybiBleHBlY3RlZF9tYXAKKworZGVmIGRpcmVjdG9yeV9tYW5pZmVzdHMobWV0YWRh
dGFfcGF0aCk6CisgICAgcnYgPSBbXQorICAgIGZvciBkaXJwYXRoLCBkaXJuYW1lLCBmaWxlbmFt
ZXMgaW4gb3Mud2FsayhtZXRhZGF0YV9wYXRoKToKKyAgICAgICAgaWYgIl9fZGlyX18uaW5pIiBp
biBmaWxlbmFtZXM6CisgICAgICAgICAgICByZWxfcGF0aCA9IG9zLnBhdGgucmVscGF0aChkaXJw
YXRoLCBtZXRhZGF0YV9wYXRoKQorICAgICAgICAgICAgcnYuYXBwZW5kKG9zLnBhdGguam9pbihy
ZWxfcGF0aCwgIl9fZGlyX18uaW5pIikpCisgICAgcmV0dXJuIHJ2CisKK2RlZiB3cml0ZV9jaGFu
Z2VzKG1ldGFkYXRhX3BhdGgsIGV4cGVjdGVkX21hcCk6CisgICAgIyBGaXJzdCB3cml0ZSB0aGUg
bmV3IG1hbmlmZXN0IGZpbGVzIHRvIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeQorICAgIHRlbXBfcGF0
aCA9IHRlbXBmaWxlLm1rZHRlbXAoZGlyPW9zLnBhdGguc3BsaXQobWV0YWRhdGFfcGF0aClbMF0p
CisgICAgd3JpdGVfbmV3X2V4cGVjdGVkKHRlbXBfcGF0aCwgZXhwZWN0ZWRfbWFwKQorCisgICAg
IyBLZWVwIGFsbCBfX2Rpcl9fLmluaSBmaWxlcyAodGhlc2UgYXJlIG5vdCBpbiBleHBlY3RlZF9t
YXAgYmVjYXVzZSB0aGV5CisgICAgIyBhcmVuJ3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMg
dGVzdCkKKyAgICBrZWVwX2ZpbGVzID0gZGlyZWN0b3J5X21hbmlmZXN0cyhtZXRhZGF0YV9wYXRo
KQorCisgICAgIyBDb3B5IGFsbCBmaWxlcyBpbiB0aGUgcm9vdCB0byB0aGUgdGVtcG9yYXJ5IGxv
Y2F0aW9uIHNpbmNlCisgICAgIyB0aGVzZSBjYW5ub3QgYmUgaW5pIGZpbGVzCisgICAga2VlcF9m
aWxlcy5leHRlbmQoaXRlbSBmb3IgaXRlbSBpbiBvcy5saXN0ZGlyKG1ldGFkYXRhX3BhdGgpIGlm
CisgICAgICAgICAgICAgICAgICAgICAgbm90IG9zLnBhdGguaXNkaXIob3MucGF0aC5qb2luKG1l
dGFkYXRhX3BhdGgsIGl0ZW0pKSkKKworICAgIGZvciBpdGVtIGluIGtlZXBfZmlsZXM6CisgICAg
ICAgIGRlc3RfZGlyID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguam9pbih0ZW1wX3BhdGgsIGl0
ZW0pKQorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGVzdF9kaXIpOgorICAgICAgICAg
ICAgb3MubWFrZWRpcnMoZGVzdF9kaXIpCisgICAgICAgIHNodXRpbC5jb3B5ZmlsZShvcy5wYXRo
LmpvaW4obWV0YWRhdGFfcGF0aCwgaXRlbSksCisgICAgICAgICAgICAgICAgICAgICAgICBvcy5w
YXRoLmpvaW4odGVtcF9wYXRoLCBpdGVtKSkKKworICAgICMgVGhlbiBtb3ZlIHRoZSBvbGQgbWFu
aWZlc3QgZmlsZXMgdG8gYSBuZXcgbG9jYXRpb24KKyAgICB0ZW1wX3BhdGhfMiA9IG1ldGFkYXRh
X3BhdGggKyBzdHIodXVpZC51dWlkNCgpKQorICAgIG9zLnJlbmFtZShtZXRhZGF0YV9wYXRoLCB0
ZW1wX3BhdGhfMikKKyAgICAjIE1vdmUgdGhlIG5ldyBmaWxlcyB0byB0aGUgZGVzdGluYXRpb24g
bG9jYXRpb24gYW5kIHJlbW92ZSB0aGUgb2xkIGZpbGVzCisgICAgb3MucmVuYW1lKHRlbXBfcGF0
aCwgbWV0YWRhdGFfcGF0aCkKKyAgICBzaHV0aWwucm10cmVlKHRlbXBfcGF0aF8yKQorCisKK2Rl
ZiB3cml0ZV9uZXdfZXhwZWN0ZWQobWV0YWRhdGFfcGF0aCwgZXhwZWN0ZWRfbWFwKToKKyAgICAj
IFNlcmlhbGl6ZSB0aGUgZGF0YSBiYWNrIHRvIGEgZmlsZQorICAgIGZvciB0cmVlIGluIGV4cGVj
dGVkX21hcC5pdGVydmFsdWVzKCk6CisgICAgICAgIGlmIG5vdCB0cmVlLmlzX2VtcHR5OgorICAg
ICAgICAgICAgbWFuaWZlc3Rfc3RyID0gd3B0bWFuaWZlc3Quc2VyaWFsaXplKHRyZWUubm9kZSwg
c2tpcF9lbXB0eV9kYXRhPVRydWUpCisgICAgICAgICAgICBhc3NlcnQgbWFuaWZlc3Rfc3RyICE9
ICIiCisgICAgICAgICAgICBwYXRoID0gZXhwZWN0ZWQuZXhwZWN0ZWRfcGF0aChtZXRhZGF0YV9w
YXRoLCB0cmVlLnRlc3RfcGF0aCkKKyAgICAgICAgICAgIGRpciA9IG9zLnBhdGguc3BsaXQocGF0
aClbMF0KKyAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkaXIpOgorICAgICAgICAg
ICAgICAgIG9zLm1ha2VkaXJzKGRpcikKKyAgICAgICAgICAgIHdpdGggb3BlbihwYXRoLCAidyIp
IGFzIGY6CisgICAgICAgICAgICAgICAgZi53cml0ZShtYW5pZmVzdF9zdHIpCisKKworY2xhc3Mg
RXhwZWN0ZWRVcGRhdGVyKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfbWFu
aWZlc3RzLCBleHBlY3RlZF90cmVlLCBpZF9wYXRoX21hcCwgaWdub3JlX2V4aXN0aW5nPUZhbHNl
KToKKyAgICAgICAgc2VsZi50ZXN0X21hbmlmZXN0cyA9IHRlc3RfbWFuaWZlc3RzCisgICAgICAg
IHNlbGYuZXhwZWN0ZWRfdHJlZSA9IGV4cGVjdGVkX3RyZWUKKyAgICAgICAgc2VsZi5pZF9wYXRo
X21hcCA9IGlkX3BhdGhfbWFwCisgICAgICAgIHNlbGYuaWdub3JlX2V4aXN0aW5nID0gaWdub3Jl
X2V4aXN0aW5nCisgICAgICAgIHNlbGYucnVuX2luZm8gPSBOb25lCisgICAgICAgIHNlbGYuYWN0
aW9uX21hcCA9IHsic3VpdGVfc3RhcnQiOiBzZWxmLnN1aXRlX3N0YXJ0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInRlc3Rfc3RhcnQiOiBzZWxmLnRlc3Rfc3RhcnQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidGVzdF9zdGF0dXMiOiBzZWxmLnRlc3Rfc3RhdHVzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInRlc3RfZW5kIjogc2VsZi50ZXN0X2VuZH0KKyAgICAgICAg
c2VsZi50ZXN0c192aXNpdGVkID0ge30KKworICAgICAgICBzZWxmLnRlc3RfY2FjaGUgPSB7fQor
CisgICAgZGVmIHVwZGF0ZV9mcm9tX2xvZyhzZWxmLCBsb2dfZmlsZSk6CisgICAgICAgIHNlbGYu
cnVuX2luZm8gPSBOb25lCisgICAgICAgIGxvZ19yZWFkZXIgPSByZWFkZXIucmVhZChsb2dfZmls
ZSkKKyAgICAgICAgcmVhZGVyLmVhY2hfbG9nKGxvZ19yZWFkZXIsIHNlbGYuYWN0aW9uX21hcCkK
KworICAgIGRlZiBzdWl0ZV9zdGFydChzZWxmLCBkYXRhKToKKyAgICAgICAgc2VsZi5ydW5faW5m
byA9IGRhdGFbInJ1bl9pbmZvIl0KKworICAgIGRlZiB0ZXN0X2lkKHNlbGYsIGlkKToKKyAgICAg
ICAgaWYgdHlwZShpZCkgaW4gdHlwZXMuU3RyaW5nVHlwZXM6CisgICAgICAgICAgICByZXR1cm4g
aWQKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiB0dXBsZShpZCkKKworICAgIGRl
ZiB0ZXN0X3N0YXJ0KHNlbGYsIGRhdGEpOgorICAgICAgICB0ZXN0X2lkID0gc2VsZi50ZXN0X2lk
KGRhdGFbInRlc3QiXSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdGVzdF9tYW5pZmVzdCwg
dGVzdCA9IHNlbGYuaWRfcGF0aF9tYXBbdGVzdF9pZF0KKyAgICAgICAgICAgIGV4cGVjdGVkX25v
ZGUgPSBzZWxmLmV4cGVjdGVkX3RyZWVbdGVzdF9tYW5pZmVzdF1bdGVzdF0uZ2V0X3Rlc3QodGVz
dF9pZCkKKyAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgcHJpbnQgIlRlc3Qg
bm90IGZvdW5kICVzLCBza2lwcGluZyIgJSB0ZXN0X2lkCisgICAgICAgICAgICByZXR1cm4KKyAg
ICAgICAgc2VsZi50ZXN0X2NhY2hlW3Rlc3RfaWRdID0gZXhwZWN0ZWRfbm9kZQorCisgICAgICAg
IGlmIHRlc3RfaWQgbm90IGluIHNlbGYudGVzdHNfdmlzaXRlZDoKKyAgICAgICAgICAgIGlmIHNl
bGYuaWdub3JlX2V4aXN0aW5nOgorICAgICAgICAgICAgICAgIGV4cGVjdGVkX25vZGUuY2xlYXJf
ZXhwZWN0ZWQoKQorICAgICAgICAgICAgc2VsZi50ZXN0c192aXNpdGVkW3Rlc3RfaWRdID0gc2V0
KCkKKworICAgIGRlZiB0ZXN0X3N0YXR1cyhzZWxmLCBkYXRhKToKKyAgICAgICAgdGVzdF9pZCA9
IHNlbGYudGVzdF9pZChkYXRhWyJ0ZXN0Il0pCisgICAgICAgIHRlc3QgPSBzZWxmLnRlc3RfY2Fj
aGUuZ2V0KHRlc3RfaWQpCisgICAgICAgIGlmIHRlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIHJl
dHVybgorICAgICAgICB0ZXN0X2NscyA9IHdwdHRlc3QubWFuaWZlc3RfdGVzdF9jbHNbdGVzdC50
ZXN0X3R5cGVdCisKKyAgICAgICAgc3VidGVzdCA9IHRlc3QuZ2V0X3N1YnRlc3QoZGF0YVsic3Vi
dGVzdCJdKQorCisgICAgICAgIHNlbGYudGVzdHNfdmlzaXRlZFt0ZXN0LmlkXS5hZGQoZGF0YVsi
c3VidGVzdCJdKQorCisgICAgICAgIHJlc3VsdCA9IHRlc3RfY2xzLnN1YnRlc3RfcmVzdWx0X2Ns
cygKKyAgICAgICAgICAgIGRhdGFbInN1YnRlc3QiXSwKKyAgICAgICAgICAgIGRhdGFbInN0YXR1
cyJdLAorICAgICAgICAgICAgZGF0YS5nZXQoIm1lc3NhZ2UiKSkKKworICAgICAgICBzdWJ0ZXN0
LnNldF9yZXN1bHQoc2VsZi5ydW5faW5mbywgcmVzdWx0KQorCisgICAgZGVmIHRlc3RfZW5kKHNl
bGYsIGRhdGEpOgorICAgICAgICB0ZXN0X2lkID0gc2VsZi50ZXN0X2lkKGRhdGFbInRlc3QiXSkK
KyAgICAgICAgdGVzdCA9IHNlbGYudGVzdF9jYWNoZS5nZXQodGVzdF9pZCkKKyAgICAgICAgaWYg
dGVzdCBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHRlc3RfY2xzID0gd3B0
dGVzdC5tYW5pZmVzdF90ZXN0X2Nsc1t0ZXN0LnRlc3RfdHlwZV0KKworICAgICAgICBpZiBkYXRh
WyJzdGF0dXMiXSA9PSAiU0tJUCI6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICByZXN1
bHQgPSB0ZXN0X2Nscy5yZXN1bHRfY2xzKAorICAgICAgICAgICAgZGF0YVsic3RhdHVzIl0sCisg
ICAgICAgICAgICBkYXRhLmdldCgibWVzc2FnZSIpKQorCisgICAgICAgIHRlc3Quc2V0X3Jlc3Vs
dChzZWxmLnJ1bl9pbmZvLCByZXN1bHQpCisgICAgICAgIGRlbCBzZWxmLnRlc3RfY2FjaGVbdGVz
dF9pZF0KKworCitkZWYgY3JlYXRlX3Rlc3RfdHJlZShtZXRhZGF0YV9wYXRoLCB0ZXN0X21hbmlm
ZXN0LCBwcm9wZXJ0eV9vcmRlcj1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbl9w
cm9wZXJ0aWVzPU5vbmUpOgorICAgIGV4cGVjdGVkX21hcCA9IHt9CisgICAgaWRfdGVzdF9tYXAg
PSB7fQorICAgIGV4Y2x1ZGVfdHlwZXMgPSBmcm96ZW5zZXQoWyJzdHViIiwgImhlbHBlciIsICJt
YW51YWwiLCAic3VwcG9ydCIsICJjb25mb3JtYW5jZWNoZWNrZXIiXSkKKyAgICBhbGxfdHlwZXMg
PSBbaXRlbS5pdGVtX3R5cGUgZm9yIGl0ZW0gaW4gbWFuaWZlc3RpdGVtLl9fZGljdF9fLml0ZXJ2
YWx1ZXMoKQorICAgICAgICAgICAgICAgICBpZiB0eXBlKGl0ZW0pID09IHR5cGUgYW5kCisgICAg
ICAgICAgICAgICAgIGlzc3ViY2xhc3MoaXRlbSwgbWFuaWZlc3RpdGVtLk1hbmlmZXN0SXRlbSkg
YW5kCisgICAgICAgICAgICAgICAgIGl0ZW0uaXRlbV90eXBlIGlzIG5vdCBOb25lXQorICAgIGlu
Y2x1ZGVfdHlwZXMgPSBzZXQoYWxsX3R5cGVzKSAtIGV4Y2x1ZGVfdHlwZXMKKyAgICBmb3IgXywg
dGVzdF9wYXRoLCB0ZXN0cyBpbiB0ZXN0X21hbmlmZXN0Lml0ZXJ0eXBlcygqaW5jbHVkZV90eXBl
cyk6CisgICAgICAgIGV4cGVjdGVkX2RhdGEgPSBsb2FkX2V4cGVjdGVkKHRlc3RfbWFuaWZlc3Qs
IG1ldGFkYXRhX3BhdGgsIHRlc3RfcGF0aCwgdGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHByb3BlcnR5X29yZGVyPXByb3BlcnR5X29yZGVyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFuX3Byb3BlcnRpZXM9Ym9vbGVhbl9w
cm9wZXJ0aWVzKQorICAgICAgICBpZiBleHBlY3RlZF9kYXRhIGlzIE5vbmU6CisgICAgICAgICAg
ICBleHBlY3RlZF9kYXRhID0gY3JlYXRlX2V4cGVjdGVkKHRlc3RfbWFuaWZlc3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcGF0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdHMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5X29yZGVyPXByb3BlcnR5X29y
ZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFu
X3Byb3BlcnRpZXM9Ym9vbGVhbl9wcm9wZXJ0aWVzKQorCisgICAgICAgIGZvciB0ZXN0IGluIHRl
c3RzOgorICAgICAgICAgICAgaWRfdGVzdF9tYXBbdGVzdC5pZF0gPSAodGVzdF9tYW5pZmVzdCwg
dGVzdCkKKyAgICAgICAgICAgIGV4cGVjdGVkX21hcFt0ZXN0XSA9IGV4cGVjdGVkX2RhdGEKKwor
ICAgIHJldHVybiBleHBlY3RlZF9tYXAsIGlkX3Rlc3RfbWFwCisKKworZGVmIGNyZWF0ZV9leHBl
Y3RlZCh0ZXN0X21hbmlmZXN0LCB0ZXN0X3BhdGgsIHRlc3RzLCBwcm9wZXJ0eV9vcmRlcj1Ob25l
LAorICAgICAgICAgICAgICAgICAgICBib29sZWFuX3Byb3BlcnRpZXM9Tm9uZSk6CisgICAgZXhw
ZWN0ZWQgPSBtYW5pZmVzdHVwZGF0ZS5FeHBlY3RlZE1hbmlmZXN0KE5vbmUsIHRlc3RfcGF0aCwg
dGVzdF9tYW5pZmVzdC51cmxfYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHJvcGVydHlfb3JkZXI9cHJvcGVydHlfb3JkZXIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcz1i
b29sZWFuX3Byb3BlcnRpZXMpCisgICAgZm9yIHRlc3QgaW4gdGVzdHM6CisgICAgICAgIGV4cGVj
dGVkLmFwcGVuZChtYW5pZmVzdHVwZGF0ZS5UZXN0Tm9kZS5jcmVhdGUodGVzdC5pdGVtX3R5cGUs
IHRlc3QuaWQpKQorICAgIHJldHVybiBleHBlY3RlZAorCisKK2RlZiBsb2FkX2V4cGVjdGVkKHRl
c3RfbWFuaWZlc3QsIG1ldGFkYXRhX3BhdGgsIHRlc3RfcGF0aCwgdGVzdHMsIHByb3BlcnR5X29y
ZGVyPU5vbmUsCisgICAgICAgICAgICAgICAgICBib29sZWFuX3Byb3BlcnRpZXM9Tm9uZSk6Cisg
ICAgZXhwZWN0ZWRfbWFuaWZlc3QgPSBtYW5pZmVzdHVwZGF0ZS5nZXRfbWFuaWZlc3QobWV0YWRh
dGFfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdF9tYW5pZmVzdC51cmxfYmFzZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eV9vcmRlcj1wcm9wZXJ0eV9v
cmRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBib29sZWFuX3Byb3BlcnRpZXM9Ym9vbGVhbl9wcm9wZXJ0aWVzKQorICAgIGlmIGV4cGVjdGVk
X21hbmlmZXN0IGlzIE5vbmU6CisgICAgICAgIHJldHVybgorCisgICAgdGVzdHNfYnlfaWQgPSB7
aXRlbS5pZDogaXRlbSBmb3IgaXRlbSBpbiB0ZXN0c30KKworICAgICMgUmVtb3ZlIGV4cGVjdGVk
IGRhdGEgZm9yIHRlc3RzIHRoYXQgbm8gbG9uZ2VyIGV4aXN0CisgICAgZm9yIHRlc3QgaW4gZXhw
ZWN0ZWRfbWFuaWZlc3QuaXRlcmNoaWxkcmVuKCk6CisgICAgICAgIGlmIG5vdCB0ZXN0LmlkIGlu
IHRlc3RzX2J5X2lkOgorICAgICAgICAgICAgdGVzdC5yZW1vdmUoKQorCisgICAgIyBBZGQgdGVz
dHMgdGhhdCBkb24ndCBoYXZlIGV4cGVjdGVkIGRhdGEKKyAgICBmb3IgdGVzdCBpbiB0ZXN0czoK
KyAgICAgICAgaWYgbm90IGV4cGVjdGVkX21hbmlmZXN0Lmhhc190ZXN0KHRlc3QuaWQpOgorICAg
ICAgICAgICAgZXhwZWN0ZWRfbWFuaWZlc3QuYXBwZW5kKG1hbmlmZXN0dXBkYXRlLlRlc3ROb2Rl
LmNyZWF0ZSh0ZXN0Lml0ZW1fdHlwZSwgdGVzdC5pZCkpCisKKyAgICByZXR1cm4gZXhwZWN0ZWRf
bWFuaWZlc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9wcm9kdWN0cy5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9wcm9kdWN0cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDc3Zjk1ZGZkOTU2Yjg5ZjM3YzQ1ZmU3ZGE2
Mjk5ZjVhNWZiODU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Byb2R1Y3RzLnB5
CkBAIC0wLDAgKzEsNjkgQEAKK2ltcG9ydCBvcworaW1wb3J0IGltcG9ydGxpYgoraW1wb3J0IGlt
cAorCitmcm9tIC5icm93c2VycyBpbXBvcnQgcHJvZHVjdF9saXN0CisKK2RlZiBwcm9kdWN0c19l
bmFibGVkKGNvbmZpZyk6CisgICAgbmFtZXMgPSBjb25maWcuZ2V0KCJwcm9kdWN0cyIsIHt9KS5r
ZXlzKCkKKyAgICBpZiBub3QgbmFtZXM6CisgICAgICAgIHJldHVybiBwcm9kdWN0X2xpc3QKKyAg
ICBlbHNlOgorICAgICAgICByZXR1cm4gbmFtZXMKKworZGVmIHByb2R1Y3RfbW9kdWxlKGNvbmZp
ZywgcHJvZHVjdCk6CisgICAgaGVyZSA9IG9zLnBhdGguam9pbihvcy5wYXRoLnNwbGl0KF9fZmls
ZV9fKVswXSkKKyAgICBwcm9kdWN0X2RpciA9IG9zLnBhdGguam9pbihoZXJlLCAiYnJvd3NlcnMi
KQorCisgICAgaWYgcHJvZHVjdCBub3QgaW4gcHJvZHVjdHNfZW5hYmxlZChjb25maWcpOgorICAg
ICAgICByYWlzZSBWYWx1ZUVycm9yKCJVbmtub3duIHByb2R1Y3QgJXMiICUgcHJvZHVjdCkKKwor
ICAgIHBhdGggPSBjb25maWcuZ2V0KCJwcm9kdWN0cyIsIHt9KS5nZXQocHJvZHVjdCwgTm9uZSkK
KyAgICBpZiBwYXRoOgorICAgICAgICBtb2R1bGUgPSBpbXAubG9hZF9zb3VyY2UoJ3dwdHJ1bm5l
ci5icm93c2Vycy4nICsgcHJvZHVjdCwgcGF0aCkKKyAgICBlbHNlOgorICAgICAgICBtb2R1bGUg
PSBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZSgid3B0cnVubmVyLmJyb3dzZXJzLiIgKyBwcm9kdWN0
KQorCisgICAgaWYgbm90IGhhc2F0dHIobW9kdWxlLCAiX193cHRydW5uZXJfXyIpOgorICAgICAg
ICByYWlzZSBWYWx1ZUVycm9yKCJQcm9kdWN0IG1vZHVsZSBkb2VzIG5vdCBkZWZpbmUgX193cHRy
dW5uZXJfXyB2YXJpYWJsZSIpCisKKyAgICByZXR1cm4gbW9kdWxlCisKKworZGVmIGxvYWRfcHJv
ZHVjdChjb25maWcsIHByb2R1Y3QpOgorICAgIG1vZHVsZSA9IHByb2R1Y3RfbW9kdWxlKGNvbmZp
ZywgcHJvZHVjdCkKKyAgICBkYXRhID0gbW9kdWxlLl9fd3B0cnVubmVyX18KKworICAgIGNoZWNr
X2FyZ3MgPSBnZXRhdHRyKG1vZHVsZSwgZGF0YVsiY2hlY2tfYXJncyJdKQorICAgIGJyb3dzZXJf
Y2xzID0gZ2V0YXR0cihtb2R1bGUsIGRhdGFbImJyb3dzZXIiXSkKKyAgICBicm93c2VyX2t3YXJn
cyA9IGdldGF0dHIobW9kdWxlLCBkYXRhWyJicm93c2VyX2t3YXJncyJdKQorICAgIGV4ZWN1dG9y
X2t3YXJncyA9IGdldGF0dHIobW9kdWxlLCBkYXRhWyJleGVjdXRvcl9rd2FyZ3MiXSkKKyAgICBl
bnZfb3B0aW9ucyA9IGdldGF0dHIobW9kdWxlLCBkYXRhWyJlbnZfb3B0aW9ucyJdKSgpCisgICAg
ZW52X2V4dHJhcyA9IGdldGF0dHIobW9kdWxlLCBkYXRhWyJlbnZfZXh0cmFzIl0pCisgICAgcnVu
X2luZm9fZXh0cmFzID0gKGdldGF0dHIobW9kdWxlLCBkYXRhWyJydW5faW5mb19leHRyYXMiXSkK
KyAgICAgICAgICAgICAgICAgICAgICAgaWYgInJ1bl9pbmZvX2V4dHJhcyIgaW4gZGF0YSBlbHNl
IGxhbWJkYSAqKmt3YXJnczp7fSkKKworICAgIGV4ZWN1dG9yX2NsYXNzZXMgPSB7fQorICAgIGZv
ciB0ZXN0X3R5cGUsIGNsc19uYW1lIGluIGRhdGFbImV4ZWN1dG9yIl0uaXRlcml0ZW1zKCk6Cisg
ICAgICAgIGNscyA9IGdldGF0dHIobW9kdWxlLCBjbHNfbmFtZSkKKyAgICAgICAgZXhlY3V0b3Jf
Y2xhc3Nlc1t0ZXN0X3R5cGVdID0gY2xzCisKKyAgICByZXR1cm4gKGNoZWNrX2FyZ3MsCisgICAg
ICAgICAgICBicm93c2VyX2NscywgYnJvd3Nlcl9rd2FyZ3MsCisgICAgICAgICAgICBleGVjdXRv
cl9jbGFzc2VzLCBleGVjdXRvcl9rd2FyZ3MsCisgICAgICAgICAgICBlbnZfb3B0aW9ucywgZW52
X2V4dHJhcywgcnVuX2luZm9fZXh0cmFzKQorCisKK2RlZiBsb2FkX3Byb2R1Y3RfdXBkYXRlKGNv
bmZpZywgcHJvZHVjdCk6CisgICAgIiIiUmV0dXJuIHR1cGxlIG9mIChwcm9wZXJ0eV9vcmRlciwg
Ym9vbGVhbl9wcm9wZXJ0aWVzKSBpbmRpY2F0aW5nIHRoZQorICAgIHJ1bl9pbmZvIHByb3BlcnRp
ZXMgdG8gdXNlIHdoZW4gY29uc3RydWN0aW5nIHRoZSBleHBlY3RhdGlvbiBkYXRhIGZvcgorICAg
IHRoaXMgcHJvZHVjdC4gTm9uZSBmb3IgZWl0aGVyIGtleSBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVm
YXVsdCBrZXlzCisgICAgYXBwcm9wcmlhdGUgZm9yIGRpc3Rpbmd1aXNoaW5nIGJhc2VkIG9uIHBs
YXRmb3JtIHdpbGwgYmUgdXNlZC4iIiIKKworICAgIG1vZHVsZSA9IHByb2R1Y3RfbW9kdWxlKGNv
bmZpZywgcHJvZHVjdCkKKyAgICBkYXRhID0gbW9kdWxlLl9fd3B0cnVubmVyX18KKworICAgIHVw
ZGF0ZV9wcm9wZXJ0aWVzID0gKGdldGF0dHIobW9kdWxlLCBkYXRhWyJ1cGRhdGVfcHJvcGVydGll
cyJdKSgpCisgICAgICAgICAgICAgICAgICAgICAgICAgaWYgInVwZGF0ZV9wcm9wZXJ0aWVzIiBp
biBkYXRhIGVsc2UgKE5vbmUsIE5vbmUpKQorCisgICAgcmV0dXJuIHVwZGF0ZV9wcm9wZXJ0aWVz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvcmVkdWNlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3JlZHVj
ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kMjQ1ZWUzNjAyYjk3ZTE0NDYzYTU3Yzg0ZjEzMmZiNGQ2NDRmOGY5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3JlZHVjZS5weQpAQCAtMCwwICsxLDE5
MyBAQAoraW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIGNTdHJpbmdJTyBpbXBvcnQg
U3RyaW5nSU8KK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlZmF1bHRkaWN0CisKK2ltcG9ydCB3
cHRydW5uZXIKK2ltcG9ydCB3cHR0ZXN0CisKK2Zyb20gbW96bG9nIGltcG9ydCBjb21tYW5kbGlu
ZSwgcmVhZGVyCisKK2xvZ2dlciA9IE5vbmUKKworCitkZWYgc2V0dXBfbG9nZ2luZyhhcmdzLCBk
ZWZhdWx0cyk6CisgICAgZ2xvYmFsIGxvZ2dlcgorICAgIGxvZ2dlciA9IGNvbW1hbmRsaW5lLnNl
dHVwX2xvZ2dpbmcoIndlYi1wbGF0Zm9ybS10ZXN0cy11bnN0YWJsZSIsIGFyZ3MsIGRlZmF1bHRz
KQorICAgIHdwdHJ1bm5lci5zZXR1cF9zdGRsaWJfbG9nZ2VyKCkKKworICAgIGZvciBuYW1lIGlu
IGFyZ3Mua2V5cygpOgorICAgICAgICBpZiBuYW1lLnN0YXJ0c3dpdGgoImxvZ18iKToKKyAgICAg
ICAgICAgIGFyZ3MucG9wKG5hbWUpCisKKyAgICByZXR1cm4gbG9nZ2VyCisKKworZGVmIGdyb3Vw
KGl0ZW1zLCBzaXplKToKKyAgICBydiA9IFtdCisgICAgaSA9IDAKKyAgICB3aGlsZSBpIDwgbGVu
KGl0ZW1zKToKKyAgICAgICAgcnYuYXBwZW5kKGl0ZW1zW2k6aSArIHNpemVdKQorICAgICAgICBp
ICs9IHNpemUKKworICAgIHJldHVybiBydgorCisKK2RlZiBuZXh0X3Bvd2VyX29mX3R3byhudW0p
OgorICAgIHJ2ID0gMQorICAgIHdoaWxlIHJ2IDwgbnVtOgorICAgICAgICBydiA9IHJ2IDw8IDEK
KyAgICByZXR1cm4gcnYKKworCitjbGFzcyBSZWR1Y2VyKG9iamVjdCk6CisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHRhcmdldCwgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnRhcmdldCA9IHRhcmdl
dAorCisgICAgICAgIHNlbGYudGVzdF90eXBlID0ga3dhcmdzWyJ0ZXN0X3R5cGVzIl1bMF0KKyAg
ICAgICAgcnVuX2luZm8gPSB3cHR0ZXN0LmdldF9ydW5faW5mbyhrd2FyZ3NbIm1ldGFkYXRhX3Jv
b3QiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZ3NbInBy
b2R1Y3QiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Zz1G
YWxzZSkKKyAgICAgICAgdGVzdF9maWx0ZXIgPSB3cHRydW5uZXIuVGVzdEZpbHRlcihpbmNsdWRl
PWt3YXJnc1siaW5jbHVkZSJdKQorICAgICAgICBzZWxmLnRlc3RfbG9hZGVyID0gd3B0cnVubmVy
LlRlc3RMb2FkZXIoa3dhcmdzWyJ0ZXN0c19yb290Il0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZ3NbIm1ldGFkYXRhX3Jvb3QiXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxmLnRlc3RfdHlw
ZV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5f
aW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h
bmlmZXN0X2ZpbGVyPXRlc3RfZmlsdGVyKQorICAgICAgICBpZiBrd2FyZ3NbInJlcGVhdCJdID09
IDE6CisgICAgICAgICAgICBsb2dnZXIuY3JpdGljYWwoIk5lZWQgdG8gc3BlY2lmeSAtLXJlcGVh
dCB3aXRoIG1vcmUgdGhhbiBvbmUgcmVwZXRpdGlvbiIpCisgICAgICAgICAgICBzeXMuZXhpdCgx
KQorICAgICAgICBzZWxmLmt3YXJncyA9IGt3YXJncworCisgICAgZGVmIHJ1bihzZWxmKToKKyAg
ICAgICAgYWxsX3Rlc3RzID0gc2VsZi5nZXRfaW5pdGlhbF90ZXN0cygpCisKKyAgICAgICAgdGVz
dHMgPSBhbGxfdGVzdHNbOi0xXQorICAgICAgICB0YXJnZXRfdGVzdCA9IFthbGxfdGVzdHNbLTFd
XQorCisgICAgICAgIGlmIHNlbGYudW5zdGFibGUodGFyZ2V0X3Rlc3QpOgorICAgICAgICAgICAg
cmV0dXJuIHRhcmdldF90ZXN0CisKKyAgICAgICAgaWYgbm90IHNlbGYudW5zdGFibGUoYWxsX3Rl
c3RzKToKKyAgICAgICAgICAgIHJldHVybiBbXQorCisgICAgICAgIGNodW5rX3NpemUgPSBuZXh0
X3Bvd2VyX29mX3R3byhpbnQobGVuKHRlc3RzKSAvIDIpKQorICAgICAgICBsb2dnZXIuZGVidWco
IlVzaW5nIGNodW5rIHNpemUgJWkiICUgY2h1bmtfc2l6ZSkKKworICAgICAgICB3aGlsZSBjaHVu
a19zaXplID49IDE6CisgICAgICAgICAgICBsb2dnZXIuZGVidWcoIiVpIHRlc3RzIHJlbWFpbiIg
JSBsZW4odGVzdHMpKQorICAgICAgICAgICAgY2h1bmtzID0gZ3JvdXAodGVzdHMsIGNodW5rX3Np
emUpCisgICAgICAgICAgICBjaHVua19yZXN1bHRzID0gW05vbmVdICogbGVuKGNodW5rcykKKwor
ICAgICAgICAgICAgZm9yIGksIGNodW5rIGluIGVudW1lcmF0ZShjaHVua3MpOgorICAgICAgICAg
ICAgICAgIGxvZ2dlci5kZWJ1ZygiUnVubmluZyBjaHVuayAlaS8laSBvZiBzaXplICVpIiAlIChp
ICsgMSwgbGVuKGNodW5rcyksIGNodW5rX3NpemUpKQorICAgICAgICAgICAgICAgIHRyaWFsX3Rl
c3RzID0gW10KKyAgICAgICAgICAgICAgICBjaHVua19zdHIgPSAiIgorICAgICAgICAgICAgICAg
IGZvciBqLCBpbmNfY2h1bmsgaW4gZW51bWVyYXRlKGNodW5rcyk6CisgICAgICAgICAgICAgICAg
ICAgIGlmIGkgIT0gaiBhbmQgY2h1bmtfcmVzdWx0c1tqXSBpbiAoTm9uZSwgRmFsc2UpOgorICAg
ICAgICAgICAgICAgICAgICAgICAgY2h1bmtfc3RyICs9ICIrIgorICAgICAgICAgICAgICAgICAg
ICAgICAgdHJpYWxfdGVzdHMuZXh0ZW5kKGluY19jaHVuaykKKyAgICAgICAgICAgICAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rX3N0ciArPSAiLSIKKyAgICAgICAg
ICAgICAgICBsb2dnZXIuZGVidWcoIlVzaW5nIGNodW5rcyAlcyIgJSBjaHVua19zdHIpCisgICAg
ICAgICAgICAgICAgdHJpYWxfdGVzdHMuZXh0ZW5kKHRhcmdldF90ZXN0KQorCisgICAgICAgICAg
ICAgICAgY2h1bmtfcmVzdWx0c1tpXSA9IHNlbGYudW5zdGFibGUodHJpYWxfdGVzdHMpCisKKyAg
ICAgICAgICAgICAgICAjIGlmIGkgPT0gbGVuKGNodW5rcykgLSAyIGFuZCBhbGwoaXRlbSBpcyBG
YWxzZSBmb3IgaXRlbSBpbiBjaHVua19yZXN1bHRzWzotMV0pOgorICAgICAgICAgICAgICAgICMg
RGFuZ2Vyb3VzPyBvcHRpbWlzYXRpb24gdGhhdCBpZiB5b3UgZ290IHN0YWJpbGl0eSBmb3IgMC4u
Ti0xIGNodW5rcworICAgICAgICAgICAgICAgICMgaXQgbXVzdCBiZSB1bnN0YWJsZSB3aXRoIHRo
ZSBOdGggY2h1bmsKKyAgICAgICAgICAgICAgICAjICAgICBjaHVua19yZXN1bHRzW2krMV0gPSBU
cnVlCisgICAgICAgICAgICAgICAgIyAgICAgY29udGludWUKKworICAgICAgICAgICAgbmV3X3Rl
c3RzID0gW10KKyAgICAgICAgICAgIGtlZXBfc3RyID0gIiIKKyAgICAgICAgICAgIGZvciByZXN1
bHQsIGNodW5rIGluIHppcChjaHVua19yZXN1bHRzLCBjaHVua3MpOgorICAgICAgICAgICAgICAg
IGlmIG5vdCByZXN1bHQ6CisgICAgICAgICAgICAgICAgICAgIGtlZXBfc3RyICs9ICIrIgorICAg
ICAgICAgICAgICAgICAgICBuZXdfdGVzdHMuZXh0ZW5kKGNodW5rKQorICAgICAgICAgICAgICAg
IGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGtlZXBfc3RyICs9ICItIgorCisgICAgICAgICAg
ICBsb2dnZXIuZGVidWcoIktlZXBpbmcgY2h1bmtzICVzIiAlIGtlZXBfc3RyKQorCisgICAgICAg
ICAgICB0ZXN0cyA9IG5ld190ZXN0cworCisgICAgICAgICAgICBjaHVua19zaXplID0gaW50KGNo
dW5rX3NpemUgLyAyKQorCisgICAgICAgIHJldHVybiB0ZXN0cyArIHRhcmdldF90ZXN0CisKKyAg
ICBkZWYgdW5zdGFibGUoc2VsZiwgdGVzdHMpOgorICAgICAgICBsb2dnZXIuZGVidWcoIlJ1bm5p
bmcgd2l0aCAlaSB0ZXN0cyIgJSBsZW4odGVzdHMpKQorCisgICAgICAgIHNlbGYudGVzdF9sb2Fk
ZXIudGVzdHMgPSB7c2VsZi50ZXN0X3R5cGU6IHRlc3RzfQorCisgICAgICAgIHN0ZG91dCwgc3Rk
ZXJyID0gc3lzLnN0ZG91dCwgc3lzLnN0ZGVycgorICAgICAgICBzeXMuc3Rkb3V0ID0gU3RyaW5n
SU8oKQorICAgICAgICBzeXMuc3RkZXJyID0gU3RyaW5nSU8oKQorCisgICAgICAgIHdpdGggdGVt
cGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkgYXMgZjoKKyAgICAgICAgICAgIGFyZ3MgPSBzZWxm
Lmt3YXJncy5jb3B5KCkKKyAgICAgICAgICAgIGFyZ3NbImxvZ19yYXciXSA9IFtmXQorICAgICAg
ICAgICAgYXJnc1siY2FwdHVyZV9zdGRpbyJdID0gRmFsc2UKKyAgICAgICAgICAgIHdwdHJ1bm5l
ci5zZXR1cF9sb2dnaW5nKGFyZ3MsIHt9KQorICAgICAgICAgICAgd3B0cnVubmVyLnJ1bl90ZXN0
cyh0ZXN0X2xvYWRlcj1zZWxmLnRlc3RfbG9hZGVyLCAqKmFyZ3MpCisgICAgICAgICAgICB3cHRy
dW5uZXIubG9nZ2VyLnJlbW92ZV9oYW5kbGVyKHdwdHJ1bm5lci5sb2dnZXIuaGFuZGxlcnNbMF0p
CisgICAgICAgICAgICBpc191bnN0YWJsZSA9IHNlbGYubG9nX2lzX3Vuc3RhYmxlKGYpCisKKyAg
ICAgICAgICAgIHN5cy5zdGRvdXQsIHN5cy5zdGRlcnIgPSBzdGRvdXQsIHN0ZGVycgorCisgICAg
ICAgIGxvZ2dlci5kZWJ1ZygiUmVzdWx0IHdhcyB1bnN0YWJsZSB3aXRoIGNodW5rIHJlbW92ZWQi
CisgICAgICAgICAgICAgICAgICAgICBpZiBpc191bnN0YWJsZSBlbHNlICJzdGFibGUiKQorCisg
ICAgICAgIHJldHVybiBpc191bnN0YWJsZQorCisgICAgZGVmIGxvZ19pc191bnN0YWJsZShzZWxm
LCBsb2dfZik6CisgICAgICAgIGxvZ19mLnNlZWsoMCkKKworICAgICAgICBzdGF0dXNlcyA9IGRl
ZmF1bHRkaWN0KHNldCkKKworICAgICAgICBkZWYgaGFuZGxlX3N0YXR1cyhpdGVtKToKKyAgICAg
ICAgICAgIGlmIGl0ZW1bInRlc3QiXSA9PSBzZWxmLnRhcmdldDoKKyAgICAgICAgICAgICAgICBz
dGF0dXNlc1tpdGVtWyJzdWJ0ZXN0Il1dLmFkZChpdGVtWyJzdGF0dXMiXSkKKworICAgICAgICBk
ZWYgaGFuZGxlX2VuZChpdGVtKToKKyAgICAgICAgICAgIGlmIGl0ZW1bInRlc3QiXSA9PSBzZWxm
LnRhcmdldDoKKyAgICAgICAgICAgICAgICBzdGF0dXNlc1tOb25lXS5hZGQoaXRlbVsic3RhdHVz
Il0pCisKKyAgICAgICAgcmVhZGVyLmVhY2hfbG9nKHJlYWRlci5yZWFkKGxvZ19mKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHsidGVzdF9zdGF0dXMiOiBoYW5kbGVfc3RhdHVzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0ZXN0X2VuZCI6IGhhbmRsZV9lbmR9KQorCisgICAgICAgIGxv
Z2dlci5kZWJ1ZyhzdHIoc3RhdHVzZXMpKQorCisgICAgICAgIGlmIG5vdCBzdGF0dXNlczoKKyAg
ICAgICAgICAgIGxvZ2dlci5lcnJvcigiRGlkbid0IGdldCBhbnkgdXNlZnVsIG91dHB1dCBmcm9t
IHdwdHJ1bm5lciIpCisgICAgICAgICAgICBsb2dfZi5zZWVrKDApCisgICAgICAgICAgICBmb3Ig
aXRlbSBpbiByZWFkZXIucmVhZChsb2dfZik6CisgICAgICAgICAgICAgICAgbG9nZ2VyLmRlYnVn
KGl0ZW0pCisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIHJldHVybiBhbnkobGVu
KGl0ZW0pID4gMSBmb3IgaXRlbSBpbiBzdGF0dXNlcy5pdGVydmFsdWVzKCkpCisKKyAgICBkZWYg
Z2V0X2luaXRpYWxfdGVzdHMoc2VsZik6CisgICAgICAgICMgTmVlZCB0byBwYXNzIGluIGFyZ3Vt
ZW50cworCisgICAgICAgIGFsbF90ZXN0cyA9IHNlbGYudGVzdF9sb2FkZXIudGVzdHNbc2VsZi50
ZXN0X3R5cGVdCisgICAgICAgIHRlc3RzID0gW10KKyAgICAgICAgZm9yIGl0ZW0gaW4gYWxsX3Rl
c3RzOgorICAgICAgICAgICAgdGVzdHMuYXBwZW5kKGl0ZW0pCisgICAgICAgICAgICBpZiBpdGVt
LnVybCA9PSBzZWxmLnRhcmdldDoKKyAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgIGxv
Z2dlci5kZWJ1ZygiU3RhcnRpbmcgd2l0aCB0ZXN0czogJXMiICUgKCJcbiIuam9pbihpdGVtLmlk
IGZvciBpdGVtIGluIHRlc3RzKSkpCisKKyAgICAgICAgcmV0dXJuIHRlc3RzCisKKworZGVmIGRv
X3JlZHVjZSgqKmt3YXJncyk6CisgICAgdGFyZ2V0ID0ga3dhcmdzLnBvcCgidGFyZ2V0IikKKyAg
ICByZWR1Y2VyID0gUmVkdWNlcih0YXJnZXQsICoqa3dhcmdzKQorCisgICAgdW5zdGFibGVfc2V0
ID0gcmVkdWNlci5ydW4oKQorICAgIHJldHVybiB1bnN0YWJsZV9zZXQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci90ZXN0aGFybmVzc19ydW5uZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFy
bmVzc19ydW5uZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xY2M4MGEyNzBlMmMxZThmMGJjYjhkYzQ4Nzhh
NzVkOWNlMDE3MTdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNz
X3J1bm5lci5odG1sCkBAIC0wLDAgKzEsNiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+PC90
aXRsZT4KKzxzY3JpcHQ+Cit2YXIgdGltZW91dF9tdWx0aXBsaWVyID0gMTsKK3ZhciB3aW4gPSBu
dWxsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBv
cnQtc2Vydm8uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQtc2Vydm8uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjY3MmFlYTlhMjU0MGJmMTQ0NmEyM2RkYjI4OGM5MzAwOWJiMjZiYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2by5qcwpAQCAt
MCwwICsxLDE3IEBACit2YXIgcHJvcHMgPSB7b3V0cHV0OiUob3V0cHV0KWR9OwordmFyIHN0YXJ0
X2xvYyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKK3N0YXJ0X2xvYy5ocmVmID0gbG9j
YXRpb24uaHJlZjsKK3NldHVwKHByb3BzKTsKKworYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soZnVu
Y3Rpb24gKHRlc3RzLCBoYXJuZXNzX3N0YXR1cykgeworICAgIHZhciBpZCA9IHN0YXJ0X2xvYy5w
YXRobmFtZSArIHN0YXJ0X2xvYy5zZWFyY2ggKyBzdGFydF9sb2MuaGFzaDsKKyAgICBjb25zb2xl
LmxvZygiQUxFUlQ6IFJFU1VMVDogIiArIEpTT04uc3RyaW5naWZ5KFsKKyAgICAgICAgaWQsCisg
ICAgICAgIGhhcm5lc3Nfc3RhdHVzLnN0YXR1cywKKyAgICAgICAgaGFybmVzc19zdGF0dXMubWVz
c2FnZSwKKyAgICAgICAgaGFybmVzc19zdGF0dXMuc3RhY2ssCisgICAgICAgIHRlc3RzLm1hcChm
dW5jdGlvbih0KSB7CisgICAgICAgICAgICByZXR1cm4gW3QubmFtZSwgdC5zdGF0dXMsIHQubWVz
c2FnZSwgdC5zdGFja10KKyAgICAgICAgfSksCisgICAgXSkpOworfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQtc2Vydm9kcml2ZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvdGVzdGhhcm5lc3NyZXBvcnQtc2Vydm9kcml2ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzg4ODQxMzYw
NDcwZjhkZDNhZWMyMjI0NDkyOWRkYTQ5ZmFkYWYzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2b2RyaXZlci5qcwpAQCAtMCwwICsxLDIzIEBA
CitzZXR1cCh7b3V0cHV0OiUob3V0cHV0KWR9KTsKKworYWRkX2NvbXBsZXRpb25fY2FsbGJhY2so
ZnVuY3Rpb24oKSB7CisgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soZnVuY3Rpb24gKHRlc3Rz
LCBzdGF0dXMpIHsKKyAgICAgICAgdmFyIHN1YnRlc3RfcmVzdWx0cyA9IHRlc3RzLm1hcChmdW5j
dGlvbih4KSB7CisgICAgICAgICAgICByZXR1cm4gW3gubmFtZSwgeC5zdGF0dXMsIHgubWVzc2Fn
ZSwgeC5zdGFja10KKyAgICAgICAgfSk7CisgICAgICAgIHZhciBpZCA9IGxvY2F0aW9uLnBhdGhu
YW1lICsgbG9jYXRpb24uc2VhcmNoICsgbG9jYXRpb24uaGFzaDsKKyAgICAgICAgdmFyIHJlc3Vs
dHMgPSBKU09OLnN0cmluZ2lmeShbaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0YXR1cy5zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0YXR1cy5tZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdGF0dXMuc3RhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnRlc3RfcmVzdWx0c10pOworICAgICAgICAoZnVuY3Rpb24gZG9uZSgpIHsKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuX193ZF9yZXN1bHRzX2NhbGxiYWNrX18pIHsKKyAgICAgICAgICAgICAgICBj
bGVhclRpbWVvdXQoX193ZF9yZXN1bHRzX3RpbWVyX18pOworICAgICAgICAgICAgICAgIF9fd2Rf
cmVzdWx0c19jYWxsYmFja19fKHJlc3VsdHMpCisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgIHNldFRpbWVvdXQoZG9uZSwgMjApOworICAgICAgICAgICAgfQorICAgICAgICB9
KSgpCisgICAgfSkKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVwb3J0LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYy
ZGRhZmZiNDQzYzk0NTA1MzgzMDgzOTIzZGMxM2ZjYjFjZjU2NjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQuanMKQEAgLTAsMCArMSwxMyBAQAordmFy
IHByb3BzID0ge291dHB1dDolKG91dHB1dClkLAorICAgICAgICAgICAgIGV4cGxpY2l0X3RpbWVv
dXQ6IHRydWUsCisgICAgICAgICAgICAgbWVzc2FnZV9ldmVudHM6IFsiY29tcGxldGlvbiJdfTsK
KworaWYgKHdpbmRvdy5vcGVuZXIgJiYgInRpbWVvdXRfbXVsdGlwbGllciIgaW4gd2luZG93Lm9w
ZW5lcikgeworICAgIHByb3BzWyJ0aW1lb3V0X211bHRpcGxpZXIiXSA9IHdpbmRvdy5vcGVuZXIu
dGltZW91dF9tdWx0aXBsaWVyOworfQorCitpZiAod2luZG93Lm9wZW5lciAmJiB3aW5kb3cub3Bl
bmVyLmV4cGxpY2l0X3RpbWVvdXQpIHsKKyAgICBwcm9wc1siZXhwbGljaXRfdGltZW91dCJdID0g
d2luZG93Lm9wZW5lci5leHBsaWNpdF90aW1lb3V0OworfQorCitzZXR1cChwcm9wcyk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdGxvYWRlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0bG9h
ZGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc0ZGNlNGFhZmUzMzE1ZjRmODNhNjMyMDFhMzEwYjY2MTMxYjRm
OTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdGxvYWRlci5weQpAQCAtMCww
ICsxLDYzOCBAQAoraW1wb3J0IGhhc2hsaWIKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9y
dCB1cmxwYXJzZQorZnJvbSBhYmMgaW1wb3J0IEFCQ01ldGEsIGFic3RyYWN0bWV0aG9kCitmcm9t
IFF1ZXVlIGltcG9ydCBFbXB0eQorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3Qs
IE9yZGVyZWREaWN0LCBkZXF1ZQorZnJvbSBtdWx0aXByb2Nlc3NpbmcgaW1wb3J0IFF1ZXVlCisK
K2ltcG9ydCBtYW5pZmVzdGluY2x1ZGUKK2ltcG9ydCBtYW5pZmVzdGV4cGVjdGVkCitpbXBvcnQg
d3B0dGVzdAorZnJvbSBtb3psb2cgaW1wb3J0IHN0cnVjdHVyZWQKKworbWFuaWZlc3QgPSBOb25l
CittYW5pZmVzdF91cGRhdGUgPSBOb25lCisKK2RlZiBkb19kZWxheWVkX2ltcG9ydHMoKToKKyAg
ICAjIFRoaXMgcmVsaWVzIG9uIGFuIGFscmVhZHkgbG9hZGVkIG1vZHVsZSBoYXZpbmcgc2V0IHRo
ZSBzeXMucGF0aCBjb3JyZWN0bHkgOigKKyAgICBnbG9iYWwgbWFuaWZlc3QsIG1hbmlmZXN0X3Vw
ZGF0ZQorICAgIGZyb20gbWFuaWZlc3QgaW1wb3J0IG1hbmlmZXN0CisgICAgZnJvbSBtYW5pZmVz
dCBpbXBvcnQgdXBkYXRlIGFzIG1hbmlmZXN0X3VwZGF0ZQorCitjbGFzcyBUZXN0Q2h1bmtlcihv
YmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0b3RhbF9jaHVua3MsIGNodW5rX251bWJl
cik6CisgICAgICAgIHNlbGYudG90YWxfY2h1bmtzID0gdG90YWxfY2h1bmtzCisgICAgICAgIHNl
bGYuY2h1bmtfbnVtYmVyID0gY2h1bmtfbnVtYmVyCisgICAgICAgIGFzc2VydCBzZWxmLmNodW5r
X251bWJlciA8PSBzZWxmLnRvdGFsX2NodW5rcworICAgICAgICBzZWxmLmxvZ2dlciA9IHN0cnVj
dHVyZWQuZ2V0X2RlZmF1bHRfbG9nZ2VyKCkKKyAgICAgICAgYXNzZXJ0IHNlbGYubG9nZ2VyCisK
KyAgICBkZWYgX19jYWxsX18oc2VsZiwgbWFuaWZlc3QpOgorICAgICAgICByYWlzZSBOb3RJbXBs
ZW1lbnRlZEVycm9yCisKKworY2xhc3MgVW5jaHVua2VkKFRlc3RDaHVua2VyKToKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgVGVzdENodW5rZXIuX19p
bml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBhc3NlcnQgc2VsZi50b3RhbF9j
aHVua3MgPT0gMQorCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIG1hbmlmZXN0KToKKyAgICAgICAg
Zm9yIGl0ZW0gaW4gbWFuaWZlc3Q6CisgICAgICAgICAgICB5aWVsZCBpdGVtCisKKworY2xhc3Mg
SGFzaENodW5rZXIoVGVzdENodW5rZXIpOgorICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBtYW5pZmVz
dCk6CisgICAgICAgIGNodW5rX2luZGV4ID0gc2VsZi5jaHVua19udW1iZXIgLSAxCisgICAgICAg
IGZvciB0ZXN0X3R5cGUsIHRlc3RfcGF0aCwgdGVzdHMgaW4gbWFuaWZlc3Q6CisgICAgICAgICAg
ICBoID0gaW50KGhhc2hsaWIubWQ1KHRlc3RfcGF0aCkuaGV4ZGlnZXN0KCksIDE2KQorICAgICAg
ICAgICAgaWYgaCAlIHNlbGYudG90YWxfY2h1bmtzID09IGNodW5rX2luZGV4OgorICAgICAgICAg
ICAgICAgIHlpZWxkIHRlc3RfdHlwZSwgdGVzdF9wYXRoLCB0ZXN0cworCisKK2NsYXNzIERpcmVj
dG9yeUhhc2hDaHVua2VyKFRlc3RDaHVua2VyKToKKyAgICAiIiJMaWtlIEhhc2hDaHVua2VyIGV4
Y2VwdCB0aGUgZGlyZWN0b3J5IGlzIGhhc2hlZC4KKworICAgIFRoaXMgZW5zdXJlcyB0aGF0IGFs
bCB0ZXN0cyBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgZW5kIHVwIGluIHRoZSBzYW1lCisgICAgY2h1
bmsuCisgICAgIiIiCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIG1hbmlmZXN0KToKKyAgICAgICAg
Y2h1bmtfaW5kZXggPSBzZWxmLmNodW5rX251bWJlciAtIDEKKyAgICAgICAgZm9yIHRlc3RfdHlw
ZSwgdGVzdF9wYXRoLCB0ZXN0cyBpbiBtYW5pZmVzdDoKKyAgICAgICAgICAgIGggPSBpbnQoaGFz
aGxpYi5tZDUob3MucGF0aC5kaXJuYW1lKHRlc3RfcGF0aCkpLmhleGRpZ2VzdCgpLCAxNikKKyAg
ICAgICAgICAgIGlmIGggJSBzZWxmLnRvdGFsX2NodW5rcyA9PSBjaHVua19pbmRleDoKKyAgICAg
ICAgICAgICAgICB5aWVsZCB0ZXN0X3R5cGUsIHRlc3RfcGF0aCwgdGVzdHMKKworCitjbGFzcyBF
cXVhbFRpbWVDaHVua2VyKFRlc3RDaHVua2VyKToKKyAgICBkZWYgX2dyb3VwX2J5X2RpcmVjdG9y
eShzZWxmLCBtYW5pZmVzdF9pdGVtcyk6CisgICAgICAgICIiIlNwbGl0IHRoZSBsaXN0IG9mIG1h
bmlmZXN0IGl0ZW1zIGludG8gYSBvcmRlcmVkIGRpY3QgdGhhdCBncm91cHMgdGVzdHMgaW4KKyAg
ICAgICAgc28gdGhhdCBhbnl0aGluZyBpbiB0aGUgc2FtZSBzdWJkaXJlY3RvcnkgYmV5b25kIGEg
ZGVwdGggb2YgMyBpcyBpbiB0aGUgc2FtZQorICAgICAgICBncm91cC4gU28gYWxsIHRlc3RzIGlu
IGEvYi9jLCBhL2IvYy9kIGFuZCBhL2IvYy9lIHdpbGwgYmUgZ3JvdXBlZCB0b2dldGhlcgorICAg
ICAgICBhbmQgc2VwYXJhdGUgdG8gdGVzdHMgaW4gYS9iL2YKKworICAgICAgICBSZXR1cm5zOiB0
dXBsZSAob3JkZXJlZCBkaWN0IG9mIHt0ZXN0X2RpcjogUGF0aERhdGF9LCB0b3RhbCBlc3RpbWF0
ZWQgcnVudGltZSkKKyAgICAgICAgIiIiCisKKyAgICAgICAgY2xhc3MgUGF0aERhdGEob2JqZWN0
KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoKToKKyAgICAgICAgICAgICAg
ICBzZWxmLnBhdGggPSBwYXRoCisgICAgICAgICAgICAgICAgc2VsZi50aW1lID0gMAorICAgICAg
ICAgICAgICAgIHNlbGYudGVzdHMgPSBbXQorCisgICAgICAgIGJ5X2RpciA9IE9yZGVyZWREaWN0
KCkKKyAgICAgICAgdG90YWxfdGltZSA9IDAKKworICAgICAgICBmb3IgaSwgKHRlc3RfdHlwZSwg
dGVzdF9wYXRoLCB0ZXN0cykgaW4gZW51bWVyYXRlKG1hbmlmZXN0X2l0ZW1zKToKKyAgICAgICAg
ICAgIHRlc3RfZGlyID0gdHVwbGUob3MucGF0aC5zcGxpdCh0ZXN0X3BhdGgpWzBdLnNwbGl0KG9z
LnBhdGguc2VwKVs6M10pCisKKyAgICAgICAgICAgIGlmIG5vdCB0ZXN0X2RpciBpbiBieV9kaXI6
CisgICAgICAgICAgICAgICAgYnlfZGlyW3Rlc3RfZGlyXSA9IFBhdGhEYXRhKHRlc3RfZGlyKQor
CisgICAgICAgICAgICBkYXRhID0gYnlfZGlyW3Rlc3RfZGlyXQorICAgICAgICAgICAgdGltZSA9
IHN1bSh3cHR0ZXN0LkRFRkFVTFRfVElNRU9VVCBpZiB0ZXN0LnRpbWVvdXQgIT0KKyAgICAgICAg
ICAgICAgICAgICAgICAgImxvbmciIGVsc2Ugd3B0dGVzdC5MT05HX1RJTUVPVVQgZm9yIHRlc3Qg
aW4gdGVzdHMpCisgICAgICAgICAgICBkYXRhLnRpbWUgKz0gdGltZQorICAgICAgICAgICAgdG90
YWxfdGltZSArPSB0aW1lCisgICAgICAgICAgICBkYXRhLnRlc3RzLmFwcGVuZCgodGVzdF90eXBl
LCB0ZXN0X3BhdGgsIHRlc3RzKSkKKworICAgICAgICByZXR1cm4gYnlfZGlyLCB0b3RhbF90aW1l
CisKKyAgICBkZWYgX21heWJlX3JlbW92ZShzZWxmLCBjaHVua3MsIGksIGRpcmVjdGlvbik6Cisg
ICAgICAgICIiIlRyaWFsIHJlbW92aW5nIGEgY2h1bmsgZnJvbSBvbmUgY2h1bmsgdG8gYW4gYWRq
YWNlbnQgb25lLgorCisgICAgICAgIDpwYXJhbSBjaHVua3M6IC0gdGhlIGxpc3Qgb2YgYWxsIGNo
dW5rcworICAgICAgICA6cGFyYW0gaTogLSB0aGUgY2h1bmsgaW5kZXggaW4gdGhlIGxpc3Qgb2Yg
Y2h1bmtzIHRvIHRyeSByZW1vdmluZyBmcm9tCisgICAgICAgIDpwYXJhbSBkaXJlY3Rpb246IGVp
dGhlciAibmV4dCIgaWYgd2UgYXJlIGdvaW5nIHRvIG1vdmUgZnJvbSB0aGUgZW5kIHRvCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRoZSBzdWJzZXF1ZW50IGNodW5rLCBvciAicHJldiIgaWYg
d2UgYXJlIGdvaW5nIHRvIG1vdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSB0aGUg
c3RhcnQgaW50byB0aGUgcHJldmlvdXMgY2h1bmsuCisKKyAgICAgICAgOnJldHVybnMgYm9vbDog
RGlkIGEgY2h1bmsgZ2V0IG1vdmVkPyIiIgorICAgICAgICBzb3VyY2VfY2h1bmsgPSBjaHVua3Nb
aV0KKyAgICAgICAgaWYgZGlyZWN0aW9uID09ICJuZXh0IjoKKyAgICAgICAgICAgIHRhcmdldF9j
aHVuayA9IGNodW5rc1tpKzFdCisgICAgICAgICAgICBwYXRoX2luZGV4ID0gLTEKKyAgICAgICAg
ICAgIG1vdmVfZnVuYyA9IGxhbWJkYTogdGFyZ2V0X2NodW5rLmFwcGVuZGxlZnQoc291cmNlX2No
dW5rLnBvcCgpKQorICAgICAgICBlbGlmIGRpcmVjdGlvbiA9PSAicHJldiI6CisgICAgICAgICAg
ICB0YXJnZXRfY2h1bmsgPSBjaHVua3NbaS0xXQorICAgICAgICAgICAgcGF0aF9pbmRleCA9IDAK
KyAgICAgICAgICAgIG1vdmVfZnVuYyA9IGxhbWJkYTogdGFyZ2V0X2NodW5rLmFwcGVuZChzb3Vy
Y2VfY2h1bmsucG9wbGVmdCgpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFs
dWVFcnJvcigiVW5leHBlY3RlZCBtb3ZlIGRpcmVjdGlvbiAlcyIgJSBkaXJlY3Rpb24pCisKKyAg
ICAgICAgcmV0dXJuIHNlbGYuX21heWJlX21vdmUoc291cmNlX2NodW5rLCB0YXJnZXRfY2h1bmss
IHBhdGhfaW5kZXgsIG1vdmVfZnVuYykKKworICAgIGRlZiBfbWF5YmVfYWRkKHNlbGYsIGNodW5r
cywgaSwgZGlyZWN0aW9uKToKKyAgICAgICAgIiIiVHJpYWwgYWRkaW5nIGEgY2h1bmsgZnJvbSBv
bmUgY2h1bmsgdG8gYW4gYWRqYWNlbnQgb25lLgorCisgICAgICAgIDpwYXJhbSBjaHVua3M6IC0g
dGhlIGxpc3Qgb2YgYWxsIGNodW5rcworICAgICAgICA6cGFyYW0gaTogLSB0aGUgY2h1bmsgaW5k
ZXggaW4gdGhlIGxpc3Qgb2YgY2h1bmtzIHRvIHRyeSBhZGRpbmcgdG8KKyAgICAgICAgOnBhcmFt
IGRpcmVjdGlvbjogZWl0aGVyICJuZXh0IiBpZiB3ZSBhcmUgZ29pbmcgdG8gcmVtb3ZlIGZyb20g
dGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzdWJzZXF1ZW50IGNodW5rLCBvciAi
cHJldiIgaWYgd2UgYXJlIGdvaW5nIHRvIHJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAg
ICBmcm9tIHRoZSB0aGUgcHJldmlvdXMgY2h1bmsuCisKKyAgICAgICAgOnJldHVybnMgYm9vbDog
RGlkIGEgY2h1bmsgZ2V0IG1vdmVkPyIiIgorICAgICAgICB0YXJnZXRfY2h1bmsgPSBjaHVua3Nb
aV0KKyAgICAgICAgaWYgZGlyZWN0aW9uID09ICJuZXh0IjoKKyAgICAgICAgICAgIHNvdXJjZV9j
aHVuayA9IGNodW5rc1tpKzFdCisgICAgICAgICAgICBwYXRoX2luZGV4ID0gMAorICAgICAgICAg
ICAgbW92ZV9mdW5jID0gbGFtYmRhOiB0YXJnZXRfY2h1bmsuYXBwZW5kKHNvdXJjZV9jaHVuay5w
b3BsZWZ0KCkpCisgICAgICAgIGVsaWYgZGlyZWN0aW9uID09ICJwcmV2IjoKKyAgICAgICAgICAg
IHNvdXJjZV9jaHVuayA9IGNodW5rc1tpLTFdCisgICAgICAgICAgICBwYXRoX2luZGV4ID0gLTEK
KyAgICAgICAgICAgIG1vdmVfZnVuYyA9IGxhbWJkYTogdGFyZ2V0X2NodW5rLmFwcGVuZGxlZnQo
c291cmNlX2NodW5rLnBvcCgpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFs
dWVFcnJvcigiVW5leHBlY3RlZCBtb3ZlIGRpcmVjdGlvbiAlcyIgJSBkaXJlY3Rpb24pCisKKyAg
ICAgICAgcmV0dXJuIHNlbGYuX21heWJlX21vdmUoc291cmNlX2NodW5rLCB0YXJnZXRfY2h1bmss
IHBhdGhfaW5kZXgsIG1vdmVfZnVuYykKKworICAgIGRlZiBfbWF5YmVfbW92ZShzZWxmLCBzb3Vy
Y2VfY2h1bmssIHRhcmdldF9jaHVuaywgcGF0aF9pbmRleCwgbW92ZV9mdW5jKToKKyAgICAgICAg
IiIiTW92ZSBmcm9tIG9uZSBjaHVuayB0byBhbm90aGVyLCBhc3Nlc3MgdGhlIGNoYW5nZSBpbiBi
YWRuZXNzLAorICAgICAgICBhbmQga2VlcCB0aGUgbW92ZSBpZmYgaXQgZGVjcmVhc2VzIHRoZSBi
YWRuZXNzIHNjb3JlLgorCisgICAgICAgIDpwYXJhbSBzb3VyY2VfY2h1bms6IGNodW5rIHRvIG1v
dmUgZnJvbQorICAgICAgICA6cGFyYW0gdGFyZ2V0X2NodW5rOiBjaHVuayB0byBtb3ZlIHRvCisg
ICAgICAgIDpwYXJhbSBwYXRoX2luZGV4OiAwIGlmIHdlIGFyZSBtb3ZpbmcgZnJvbSB0aGUgc3Rh
cnQgb3IgLTEgaWYgd2UgYXJlIG1vdmluZyBmcm9tIHRoZQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZW5kCisgICAgICAgIDpwYXJhbSBtb3ZlX2Z1bmM6IEZ1bmN0aW9uIHRoYXQgYWN0dWFs
bHkgbW92ZXMgYmV0d2VlbiBjaHVua3MiIiIKKyAgICAgICAgaWYgbGVuKHNvdXJjZV9jaHVuay5w
YXRocykgPD0gMToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgICAgIG1vdmVfdGlt
ZSA9IHNvdXJjZV9jaHVuay5wYXRoc1twYXRoX2luZGV4XS50aW1lCisKKyAgICAgICAgbmV3X3Nv
dXJjZV9iYWRuZXNzID0gc2VsZi5fYmFkbmVzcyhzb3VyY2VfY2h1bmsudGltZSAtIG1vdmVfdGlt
ZSkKKyAgICAgICAgbmV3X3RhcmdldF9iYWRuZXNzID0gc2VsZi5fYmFkbmVzcyh0YXJnZXRfY2h1
bmsudGltZSArIG1vdmVfdGltZSkKKworICAgICAgICBkZWx0YV9iYWRuZXNzID0gKChuZXdfc291
cmNlX2JhZG5lc3MgKyBuZXdfdGFyZ2V0X2JhZG5lc3MpIC0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAoc291cmNlX2NodW5rLmJhZG5lc3MgKyB0YXJnZXRfY2h1bmsuYmFkbmVzcykpCisgICAg
ICAgIGlmIGRlbHRhX2JhZG5lc3MgPCAwOgorICAgICAgICAgICAgbW92ZV9mdW5jKCkKKyAgICAg
ICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBkZWYgX2Jh
ZG5lc3Moc2VsZiwgdGltZSk6CisgICAgICAgICIiIk1ldHJpYyBvZiBiYWRuZXNzIGZvciBhIHNw
ZWNpZmljIGNodW5rCisKKyAgICAgICAgOnBhcmFtIHRpbWU6IHRoZSB0aW1lIGZvciBhIHNwZWNp
ZmljIGNodW5rIiIiCisgICAgICAgIHJldHVybiAodGltZSAtIHNlbGYuZXhwZWN0ZWRfdGltZSkq
KjIKKworICAgIGRlZiBfZ2V0X2NodW5rKHNlbGYsIG1hbmlmZXN0X2l0ZW1zKToKKyAgICAgICAg
YnlfZGlyLCB0b3RhbF90aW1lID0gc2VsZi5fZ3JvdXBfYnlfZGlyZWN0b3J5KG1hbmlmZXN0X2l0
ZW1zKQorCisgICAgICAgIGlmIGxlbihieV9kaXIpIDwgc2VsZi50b3RhbF9jaHVua3M6CisgICAg
ICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJUcmllZCB0byBzcGxpdCBpbnRvICVpIGNodW5rcywg
YnV0IG9ubHkgJWkgc3ViZGlyZWN0b3JpZXMgaW5jbHVkZWQiICUgKAorICAgICAgICAgICAgICAg
IHNlbGYudG90YWxfY2h1bmtzLCBsZW4oYnlfZGlyKSkpCisKKyAgICAgICAgc2VsZi5leHBlY3Rl
ZF90aW1lID0gZmxvYXQodG90YWxfdGltZSkgLyBzZWxmLnRvdGFsX2NodW5rcworCisgICAgICAg
IGNodW5rcyA9IHNlbGYuX2NyZWF0ZV9pbml0aWFsX2NodW5rcyhieV9kaXIpCisKKyAgICAgICAg
d2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICMgTW92ZSBhIHRlc3QgZnJvbSBvbmUgY2h1bmsgdG8g
dGhlIG5leHQgdW50aWwgZG9pbmcgc28gbm8gbG9uZ2VyCisgICAgICAgICAgICAjIHJlZHVjZXMg
dGhlIGJhZG5lc3MKKyAgICAgICAgICAgIGdvdF9pbXByb3ZlbWVudCA9IHNlbGYuX3VwZGF0ZV9j
aHVua3MoY2h1bmtzKQorICAgICAgICAgICAgaWYgbm90IGdvdF9pbXByb3ZlbWVudDoKKyAgICAg
ICAgICAgICAgICBicmVhaworCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKHNlbGYuZXhwZWN0
ZWRfdGltZSkKKyAgICAgICAgZm9yIGksIGNodW5rIGluIGNodW5rcy5pdGVyaXRlbXMoKToKKyAg
ICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCIlaTogJWksICVpIiAlIChpICsgMSwgY2h1bmsu
dGltZSwgY2h1bmsuYmFkbmVzcykpCisKKyAgICAgICAgYXNzZXJ0IHNlbGYuX2FsbF90ZXN0cyhi
eV9kaXIpID09IHNlbGYuX2NodW5rZWRfdGVzdHMoY2h1bmtzKQorCisgICAgICAgIHJldHVybiBz
ZWxmLl9nZXRfdGVzdHMoY2h1bmtzKQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBfYWxs
X3Rlc3RzKGJ5X2Rpcik6CisgICAgICAgICIiIlJldHVybiBhIHNldCBvZiBhbGwgdGVzdHMgaW4g
dGhlIG1hbmlmZXN0IGZyb20gYSBncm91cGluZyBieSBkaXJlY3RvcnkiIiIKKyAgICAgICAgcmV0
dXJuIHNldCh4WzBdIGZvciBpdGVtIGluIGJ5X2Rpci5pdGVydmFsdWVzKCkKKyAgICAgICAgICAg
ICAgICAgICBmb3IgeCBpbiBpdGVtLnRlc3RzKQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRl
ZiBfY2h1bmtlZF90ZXN0cyhjaHVua3MpOgorICAgICAgICAiIiJSZXR1cm4gYSBzZXQgb2YgYWxs
IHRlc3RzIGluIHRoZSBtYW5pZmVzdCBmcm9tIHRoZSBjaHVuayBsaXN0IiIiCisgICAgICAgIHJl
dHVybiBzZXQoeFswXSBmb3IgY2h1bmsgaW4gY2h1bmtzLml0ZXJ2YWx1ZXMoKQorICAgICAgICAg
ICAgICAgICAgIGZvciBwYXRoIGluIGNodW5rLnBhdGhzCisgICAgICAgICAgICAgICAgICAgZm9y
IHggaW4gcGF0aC50ZXN0cykKKworCisgICAgZGVmIF9jcmVhdGVfaW5pdGlhbF9jaHVua3Moc2Vs
ZiwgYnlfZGlyKToKKyAgICAgICAgIiIiQ3JlYXRlIGFuIGluaXRpYWwgdW5iYWxhbmNlZCBsaXN0
IG9mIGNodW5rcy4KKworICAgICAgICA6cGFyYW0gYnlfZGlyOiBBbGwgdGVzdHMgaW4gdGhlIG1h
bmlmZXN0IGdyb3VwZWQgYnkgc3ViZGlyZWN0b3J5CisgICAgICAgIDpyZXR1cm5zIGxpc3Q6IEEg
bGlzdCBvZiBDaHVuayBvYmplY3RzIiIiCisKKyAgICAgICAgY2xhc3MgQ2h1bmsob2JqZWN0KToK
KyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRocywgaW5kZXgpOgorICAgICAgICAg
ICAgICAgICIiIkxpc3Qgb2YgUGF0aERhdGEgb2JqZWN0cyB0aGF0IHRvZ2V0aGVyIGZvcm0gYSBz
aW5nbGUgY2h1bmsgb2YKKyAgICAgICAgICAgICAgICB0ZXN0cyIiIgorICAgICAgICAgICAgICAg
IHNlbGYucGF0aHMgPSBkZXF1ZShwYXRocykKKyAgICAgICAgICAgICAgICBzZWxmLnRpbWUgPSBz
dW0oaXRlbS50aW1lIGZvciBpdGVtIGluIHBhdGhzKQorICAgICAgICAgICAgICAgIHNlbGYuaW5k
ZXggPSBpbmRleAorCisgICAgICAgICAgICBkZWYgYXBwZW5kbGVmdChzZWxmLCBwYXRoKToKKyAg
ICAgICAgICAgICAgICAiIiJBZGQgYSBQYXRoRGF0YSBvYmplY3QgdG8gdGhlIHN0YXJ0IG9mIHRo
ZSBjaHVuayIiIgorICAgICAgICAgICAgICAgIHNlbGYucGF0aHMuYXBwZW5kbGVmdChwYXRoKQor
ICAgICAgICAgICAgICAgIHNlbGYudGltZSArPSBwYXRoLnRpbWUKKworICAgICAgICAgICAgZGVm
IGFwcGVuZChzZWxmLCBwYXRoKToKKyAgICAgICAgICAgICAgICAiIiJBZGQgYSBQYXRoRGF0YSBv
YmplY3QgdG8gdGhlIGVuZCBvZiB0aGUgY2h1bmsiIiIKKyAgICAgICAgICAgICAgICBzZWxmLnBh
dGhzLmFwcGVuZChwYXRoKQorICAgICAgICAgICAgICAgIHNlbGYudGltZSArPSBwYXRoLnRpbWUK
KworICAgICAgICAgICAgZGVmIHBvcChzZWxmKToKKyAgICAgICAgICAgICAgICAiIiJSZW1vdmUg
UGF0aERhdGEgb2JqZWN0IGZyb20gdGhlIGVuZCBvZiB0aGUgY2h1bmsiIiIKKyAgICAgICAgICAg
ICAgICBhc3NlcnQgbGVuKHNlbGYucGF0aHMpID4gMQorICAgICAgICAgICAgICAgIHNlbGYudGlt
ZSAtPSBzZWxmLnBhdGhzWy0xXS50aW1lCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucGF0
aHMucG9wKCkKKworICAgICAgICAgICAgZGVmIHBvcGxlZnQoc2VsZik6CisgICAgICAgICAgICAg
ICAgIiIiUmVtb3ZlIFBhdGhEYXRhIG9iamVjdCBmcm9tIHRoZSBzdGFydCBvZiB0aGUgY2h1bmsi
IiIKKyAgICAgICAgICAgICAgICBhc3NlcnQgbGVuKHNlbGYucGF0aHMpID4gMQorICAgICAgICAg
ICAgICAgIHNlbGYudGltZSAtPSBzZWxmLnBhdGhzWzBdLnRpbWUKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gc2VsZi5wYXRocy5wb3BsZWZ0KCkKKworICAgICAgICAgICAgQHByb3BlcnR5CisgICAg
ICAgICAgICBkZWYgYmFkbmVzcyhzZWxmXyk6CisgICAgICAgICAgICAgICAgIiIiQmFkbmVzcyBt
ZXRyaWMgZm9yIHRoaXMgY2h1bmsiIiIKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fYmFk
bmVzcyhzZWxmXy50aW1lKQorCisgICAgICAgIGluaXRpYWxfc2l6ZSA9IGxlbihieV9kaXIpIC8g
c2VsZi50b3RhbF9jaHVua3MKKyAgICAgICAgY2h1bmtfYm91bmRhcmllcyA9IFtpbml0aWFsX3Np
emUgKiBpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGkgaW4geHJhbmdlKHNlbGYu
dG90YWxfY2h1bmtzKV0gKyBbbGVuKGJ5X2RpcildCisKKyAgICAgICAgY2h1bmtzID0gT3JkZXJl
ZERpY3QoKQorICAgICAgICBmb3IgaSwgbG93ZXIgaW4gZW51bWVyYXRlKGNodW5rX2JvdW5kYXJp
ZXNbOi0xXSk6CisgICAgICAgICAgICB1cHBlciA9IGNodW5rX2JvdW5kYXJpZXNbaSArIDFdCisg
ICAgICAgICAgICBwYXRocyA9IGJ5X2Rpci52YWx1ZXMoKVtsb3dlcjp1cHBlcl0KKyAgICAgICAg
ICAgIGNodW5rc1tpXSA9IENodW5rKHBhdGhzLCBpKQorCisgICAgICAgIGFzc2VydCBzZWxmLl9h
bGxfdGVzdHMoYnlfZGlyKSA9PSBzZWxmLl9jaHVua2VkX3Rlc3RzKGNodW5rcykKKworICAgICAg
ICByZXR1cm4gY2h1bmtzCisKKyAgICBkZWYgX3VwZGF0ZV9jaHVua3Moc2VsZiwgY2h1bmtzKToK
KyAgICAgICAgIiIiUnVuIGEgc2luZ2xlIGl0ZXJhdGlvbiBvZiB0aGUgY2h1bmsgdXBkYXRlIGFs
Z29yaXRobS4KKworICAgICAgICA6cGFyYW0gY2h1bmtzOiAtIExpc3Qgb2YgY2h1bmtzCisgICAg
ICAgICIiIgorICAgICAgICAjVE9ETzogY29uc2lkZXIgcmVwbGFjaW5nIHRoaXMgd2l0aCBhIGhl
YXAKKyAgICAgICAgc29ydGVkX2NodW5rcyA9IHNvcnRlZChjaHVua3MudmFsdWVzKCksIGtleT1s
YW1iZGEgeDoteC5iYWRuZXNzKQorICAgICAgICBnb3RfaW1wcm92ZW1lbnQgPSBGYWxzZQorICAg
ICAgICBmb3IgY2h1bmsgaW4gc29ydGVkX2NodW5rczoKKyAgICAgICAgICAgIGlmIGNodW5rLnRp
bWUgPCBzZWxmLmV4cGVjdGVkX3RpbWU6CisgICAgICAgICAgICAgICAgZiA9IHNlbGYuX21heWJl
X2FkZAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBmID0gc2VsZi5fbWF5YmVf
cmVtb3ZlCisKKyAgICAgICAgICAgIGlmIGNodW5rLmluZGV4ID09IDA6CisgICAgICAgICAgICAg
ICAgb3JkZXIgPSBbIm5leHQiXQorICAgICAgICAgICAgZWxpZiBjaHVuay5pbmRleCA9PSBzZWxm
LnRvdGFsX2NodW5rcyAtIDE6CisgICAgICAgICAgICAgICAgb3JkZXIgPSBbInByZXYiXQorICAg
ICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBpZiBjaHVuay50aW1lIDwgc2VsZi5leHBl
Y3RlZF90aW1lOgorICAgICAgICAgICAgICAgICAgICAjIEZpcnN0IHRyeSB0byBhZGQgYSB0ZXN0
IGZyb20gdGhlIG5laWdoYm9yaW5nIGNodW5rIHdpdGggdGhlCisgICAgICAgICAgICAgICAgICAg
ICMgZ3JlYXRlc3QgdG90YWwgdGltZQorICAgICAgICAgICAgICAgICAgICBpZiBjaHVua3NbY2h1
bmsuaW5kZXggKyAxXS50aW1lID4gY2h1bmtzW2NodW5rLmluZGV4IC0gMV0udGltZToKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG9yZGVyID0gWyJuZXh0IiwgInByZXYiXQorICAgICAgICAgICAg
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIgPSBbInByZXYiLCAi
bmV4dCJdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgIyBGaXJz
dCB0cnkgdG8gcmVtb3ZlIGEgdGVzdCBhbmQgYWRkIHRvIHRoZSBuZWlnaGJvcmluZyBjaHVuayB3
aXRoIHRoZQorICAgICAgICAgICAgICAgICAgICAjIGxvd2VzdCB0b3RhbCB0aW1lCisgICAgICAg
ICAgICAgICAgICAgIGlmIGNodW5rc1tjaHVuay5pbmRleCArIDFdLnRpbWUgPiBjaHVua3NbY2h1
bmsuaW5kZXggLSAxXS50aW1lOgorICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIgPSBbInBy
ZXYiLCAibmV4dCJdCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg
ICAgICAgICBvcmRlciA9IFsibmV4dCIsICJwcmV2Il0KKworICAgICAgICAgICAgZm9yIGRpcmVj
dGlvbiBpbiBvcmRlcjoKKyAgICAgICAgICAgICAgICBpZiBmKGNodW5rcywgY2h1bmsuaW5kZXgs
IGRpcmVjdGlvbik6CisgICAgICAgICAgICAgICAgICAgIGdvdF9pbXByb3ZlbWVudCA9IFRydWUK
KyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICAgICAgaWYgZ290X2ltcHJvdmVt
ZW50OgorICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgcmV0dXJuIGdvdF9pbXByb3Zl
bWVudAorCisgICAgZGVmIF9nZXRfdGVzdHMoc2VsZiwgY2h1bmtzKToKKyAgICAgICAgIiIiUmV0
dXJuIHRoZSBsaXN0IG9mIHRlc3RzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGNodW5rIG51bWJlciB3
ZSBhcmUgcnVubmluZy4KKworICAgICAgICA6cGFyYW0gY2h1bmtzOiBMaXN0IG9mIGNodW5rcyIi
IgorICAgICAgICB0ZXN0cyA9IFtdCisgICAgICAgIGZvciBwYXRoIGluIGNodW5rc1tzZWxmLmNo
dW5rX251bWJlciAtIDFdLnBhdGhzOgorICAgICAgICAgICAgdGVzdHMuZXh0ZW5kKHBhdGgudGVz
dHMpCisKKyAgICAgICAgcmV0dXJuIHRlc3RzCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgbWFu
aWZlc3RfaXRlcik6CisgICAgICAgIG1hbmlmZXN0ID0gbGlzdChtYW5pZmVzdF9pdGVyKQorICAg
ICAgICB0ZXN0cyA9IHNlbGYuX2dldF9jaHVuayhtYW5pZmVzdCkKKyAgICAgICAgZm9yIGl0ZW0g
aW4gdGVzdHM6CisgICAgICAgICAgICB5aWVsZCBpdGVtCisKKworY2xhc3MgVGVzdEZpbHRlcihv
YmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0X21hbmlmZXN0cywgaW5jbHVkZT1O
b25lLCBleGNsdWRlPU5vbmUsIG1hbmlmZXN0X3BhdGg9Tm9uZSk6CisgICAgICAgIGlmIG1hbmlm
ZXN0X3BhdGggaXMgbm90IE5vbmUgYW5kIGluY2x1ZGUgaXMgTm9uZToKKyAgICAgICAgICAgIHNl
bGYubWFuaWZlc3QgPSBtYW5pZmVzdGluY2x1ZGUuZ2V0X21hbmlmZXN0KG1hbmlmZXN0X3BhdGgp
CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLm1hbmlmZXN0ID0gbWFuaWZlc3RpbmNs
dWRlLkluY2x1ZGVNYW5pZmVzdC5jcmVhdGUoKQorCisgICAgICAgIGlmIGluY2x1ZGU6CisgICAg
ICAgICAgICBzZWxmLm1hbmlmZXN0LnNldCgic2tpcCIsICJ0cnVlIikKKyAgICAgICAgICAgIGZv
ciBpdGVtIGluIGluY2x1ZGU6CisgICAgICAgICAgICAgICAgc2VsZi5tYW5pZmVzdC5hZGRfaW5j
bHVkZSh0ZXN0X21hbmlmZXN0cywgaXRlbSkKKworICAgICAgICBpZiBleGNsdWRlOgorICAgICAg
ICAgICAgZm9yIGl0ZW0gaW4gZXhjbHVkZToKKyAgICAgICAgICAgICAgICBzZWxmLm1hbmlmZXN0
LmFkZF9leGNsdWRlKHRlc3RfbWFuaWZlc3RzLCBpdGVtKQorCisgICAgZGVmIF9fY2FsbF9fKHNl
bGYsIG1hbmlmZXN0X2l0ZXIpOgorICAgICAgICBmb3IgdGVzdF90eXBlLCB0ZXN0X3BhdGgsIHRl
c3RzIGluIG1hbmlmZXN0X2l0ZXI6CisgICAgICAgICAgICBpbmNsdWRlX3Rlc3RzID0gc2V0KCkK
KyAgICAgICAgICAgIGZvciB0ZXN0IGluIHRlc3RzOgorICAgICAgICAgICAgICAgIGlmIHNlbGYu
bWFuaWZlc3QuaW5jbHVkZSh0ZXN0KToKKyAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV90ZXN0
cy5hZGQodGVzdCkKKworICAgICAgICAgICAgaWYgaW5jbHVkZV90ZXN0czoKKyAgICAgICAgICAg
ICAgICB5aWVsZCB0ZXN0X3R5cGUsIHRlc3RfcGF0aCwgaW5jbHVkZV90ZXN0cworCitjbGFzcyBU
YWdGaWx0ZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGFncyk6CisgICAgICAg
IHNlbGYudGFncyA9IHNldCh0YWdzKQorCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIHRlc3RfaXRl
cik6CisgICAgICAgIGZvciB0ZXN0IGluIHRlc3RfaXRlcjoKKyAgICAgICAgICAgIGlmIHRlc3Qu
dGFncyAmIHNlbGYudGFnczoKKyAgICAgICAgICAgICAgICB5aWVsZCB0ZXN0CisKK2NsYXNzIE1h
bmlmZXN0TG9hZGVyKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfcGF0aHMs
IGZvcmNlX21hbmlmZXN0X3VwZGF0ZT1GYWxzZSk6CisgICAgICAgIGRvX2RlbGF5ZWRfaW1wb3J0
cygpCisgICAgICAgIHNlbGYudGVzdF9wYXRocyA9IHRlc3RfcGF0aHMKKyAgICAgICAgc2VsZi5m
b3JjZV9tYW5pZmVzdF91cGRhdGUgPSBmb3JjZV9tYW5pZmVzdF91cGRhdGUKKyAgICAgICAgc2Vs
Zi5sb2dnZXIgPSBzdHJ1Y3R1cmVkLmdldF9kZWZhdWx0X2xvZ2dlcigpCisgICAgICAgIGlmIHNl
bGYubG9nZ2VyIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmxvZ2dlciA9IHN0cnVjdHVyZWQu
c3RydWN0dXJlZGxvZy5TdHJ1Y3R1cmVkTG9nZ2VyKCJNYW5pZmVzdExvYWRlciIpCisKKyAgICBk
ZWYgbG9hZChzZWxmKToKKyAgICAgICAgcnYgPSB7fQorICAgICAgICBmb3IgdXJsX2Jhc2UsIHBh
dGhzIGluIHNlbGYudGVzdF9wYXRocy5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgIG1hbmlmZXN0
X2ZpbGUgPSBzZWxmLmxvYWRfbWFuaWZlc3QodXJsX2Jhc2U9dXJsX2Jhc2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqcGF0aHMpCisgICAgICAgICAg
ICBwYXRoX2RhdGEgPSB7InVybF9iYXNlIjogdXJsX2Jhc2V9CisgICAgICAgICAgICBwYXRoX2Rh
dGEudXBkYXRlKHBhdGhzKQorICAgICAgICAgICAgcnZbbWFuaWZlc3RfZmlsZV0gPSBwYXRoX2Rh
dGEKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgY3JlYXRlX21hbmlmZXN0KHNlbGYsIG1h
bmlmZXN0X3BhdGgsIHRlc3RzX3BhdGgsIHVybF9iYXNlPSIvIik6CisgICAgICAgIHNlbGYudXBk
YXRlX21hbmlmZXN0KG1hbmlmZXN0X3BhdGgsIHRlc3RzX3BhdGgsIHVybF9iYXNlLCByZWNyZWF0
ZT1UcnVlKQorCisgICAgZGVmIHVwZGF0ZV9tYW5pZmVzdChzZWxmLCBtYW5pZmVzdF9wYXRoLCB0
ZXN0c19wYXRoLCB1cmxfYmFzZT0iLyIsCisgICAgICAgICAgICAgICAgICAgICAgICByZWNyZWF0
ZT1GYWxzZSk6CisgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oIlVwZGF0aW5nIHRlc3QgbWFuaWZl
c3QgJXMiICUgbWFuaWZlc3RfcGF0aCkKKworICAgICAgICBqc29uX2RhdGEgPSBOb25lCisgICAg
ICAgIGlmIG5vdCByZWNyZWF0ZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB3
aXRoIG9wZW4obWFuaWZlc3RfcGF0aCkgYXMgZjoKKyAgICAgICAgICAgICAgICAgICAganNvbl9k
YXRhID0ganNvbi5sb2FkKGYpCisgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAg
ICAgICAgICAjSWYgdGhlIGV4aXN0aW5nIGZpbGUgZG9lc24ndCBleGlzdCBqdXN0IGNyZWF0ZSBv
bmUgZnJvbSBzY3JhdGNoCisgICAgICAgICAgICAgICAgcGFzcworCisgICAgICAgIGlmIG5vdCBq
c29uX2RhdGE6CisgICAgICAgICAgICBtYW5pZmVzdF9maWxlID0gbWFuaWZlc3QuTWFuaWZlc3Qo
dXJsX2Jhc2UpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAg
ICAgbWFuaWZlc3RfZmlsZSA9IG1hbmlmZXN0Lk1hbmlmZXN0LmZyb21fanNvbih0ZXN0c19wYXRo
LCBqc29uX2RhdGEpCisgICAgICAgICAgICBleGNlcHQgbWFuaWZlc3QuTWFuaWZlc3RWZXJzaW9u
TWlzbWF0Y2g6CisgICAgICAgICAgICAgICAgbWFuaWZlc3RfZmlsZSA9IG1hbmlmZXN0Lk1hbmlm
ZXN0KHVybF9iYXNlKQorCisgICAgICAgICAgICBtYW5pZmVzdF91cGRhdGUudXBkYXRlKHRlc3Rz
X3BhdGgsIG1hbmlmZXN0X2ZpbGUsIFRydWUpCisKKyAgICAgICAgbWFuaWZlc3Qud3JpdGUobWFu
aWZlc3RfZmlsZSwgbWFuaWZlc3RfcGF0aCkKKworICAgIGRlZiBsb2FkX21hbmlmZXN0KHNlbGYs
IHRlc3RzX3BhdGgsIG1ldGFkYXRhX3BhdGgsIHVybF9iYXNlPSIvIik6CisgICAgICAgIG1hbmlm
ZXN0X3BhdGggPSBvcy5wYXRoLmpvaW4obWV0YWRhdGFfcGF0aCwgIk1BTklGRVNULmpzb24iKQor
ICAgICAgICBpZiAobm90IG9zLnBhdGguZXhpc3RzKG1hbmlmZXN0X3BhdGgpIG9yCisgICAgICAg
ICAgICBzZWxmLmZvcmNlX21hbmlmZXN0X3VwZGF0ZSk6CisgICAgICAgICAgICBzZWxmLnVwZGF0
ZV9tYW5pZmVzdChtYW5pZmVzdF9wYXRoLCB0ZXN0c19wYXRoLCB1cmxfYmFzZSkKKyAgICAgICAg
bWFuaWZlc3RfZmlsZSA9IG1hbmlmZXN0LmxvYWQodGVzdHNfcGF0aCwgbWFuaWZlc3RfcGF0aCkK
KyAgICAgICAgaWYgbWFuaWZlc3RfZmlsZS51cmxfYmFzZSAhPSB1cmxfYmFzZToKKyAgICAgICAg
ICAgIHNlbGYubG9nZ2VyLmluZm8oIlVwZGF0aW5nIHVybF9iYXNlIGluIG1hbmlmZXN0IGZyb20g
JXMgdG8gJXMiICUgKG1hbmlmZXN0X2ZpbGUudXJsX2Jhc2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1cmxfYmFzZSkpCisgICAgICAgICAgICBtYW5pZmVzdF9maWxlLnVybF9iYXNlID0gdXJsX2Jh
c2UKKyAgICAgICAgICAgIG1hbmlmZXN0LndyaXRlKG1hbmlmZXN0X2ZpbGUsIG1hbmlmZXN0X3Bh
dGgpCisKKyAgICAgICAgcmV0dXJuIG1hbmlmZXN0X2ZpbGUKKworZGVmIGl0ZXJmaWx0ZXIoZmls
dGVycywgaXRlcik6CisgICAgZm9yIGYgaW4gZmlsdGVyczoKKyAgICAgICAgaXRlciA9IGYoaXRl
cikKKyAgICBmb3IgaXRlbSBpbiBpdGVyOgorICAgICAgICB5aWVsZCBpdGVtCisKK2NsYXNzIFRl
c3RMb2FkZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwKKyAgICAgICAgICAgICAg
ICAgdGVzdF9tYW5pZmVzdHMsCisgICAgICAgICAgICAgICAgIHRlc3RfdHlwZXMsCisgICAgICAg
ICAgICAgICAgIHJ1bl9pbmZvLAorICAgICAgICAgICAgICAgICBtYW5pZmVzdF9maWx0ZXJzPU5v
bmUsCisgICAgICAgICAgICAgICAgIG1ldGFfZmlsdGVycz1Ob25lLAorICAgICAgICAgICAgICAg
ICBjaHVua190eXBlPSJub25lIiwKKyAgICAgICAgICAgICAgICAgdG90YWxfY2h1bmtzPTEsCisg
ICAgICAgICAgICAgICAgIGNodW5rX251bWJlcj0xLAorICAgICAgICAgICAgICAgICBpbmNsdWRl
X2h0dHBzPVRydWUpOgorCisgICAgICAgIHNlbGYudGVzdF90eXBlcyA9IHRlc3RfdHlwZXMKKyAg
ICAgICAgc2VsZi5ydW5faW5mbyA9IHJ1bl9pbmZvCisKKyAgICAgICAgc2VsZi5tYW5pZmVzdF9m
aWx0ZXJzID0gbWFuaWZlc3RfZmlsdGVycyBpZiBtYW5pZmVzdF9maWx0ZXJzIGlzIG5vdCBOb25l
IGVsc2UgW10KKyAgICAgICAgc2VsZi5tZXRhX2ZpbHRlcnMgPSBtZXRhX2ZpbHRlcnMgaWYgbWV0
YV9maWx0ZXJzIGlzIG5vdCBOb25lIGVsc2UgW10KKworICAgICAgICBzZWxmLm1hbmlmZXN0cyA9
IHRlc3RfbWFuaWZlc3RzCisgICAgICAgIHNlbGYudGVzdHMgPSBOb25lCisgICAgICAgIHNlbGYu
ZGlzYWJsZWRfdGVzdHMgPSBOb25lCisgICAgICAgIHNlbGYuaW5jbHVkZV9odHRwcyA9IGluY2x1
ZGVfaHR0cHMKKworICAgICAgICBzZWxmLmNodW5rX3R5cGUgPSBjaHVua190eXBlCisgICAgICAg
IHNlbGYudG90YWxfY2h1bmtzID0gdG90YWxfY2h1bmtzCisgICAgICAgIHNlbGYuY2h1bmtfbnVt
YmVyID0gY2h1bmtfbnVtYmVyCisKKyAgICAgICAgc2VsZi5jaHVua2VyID0geyJub25lIjogVW5j
aHVua2VkLAorICAgICAgICAgICAgICAgICAgICAgICAgImhhc2giOiBIYXNoQ2h1bmtlciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJkaXJfaGFzaCI6IERpcmVjdG9yeUhhc2hDaHVua2VyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgImVxdWFsX3RpbWUiOiBFcXVhbFRpbWVDaHVua2VyfVtj
aHVua190eXBlXSh0b3RhbF9jaHVua3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rX251bWJlcikKKworICAg
ICAgICBzZWxmLl90ZXN0X2lkcyA9IE5vbmUKKworICAgICAgICBzZWxmLmRpcmVjdG9yeV9tYW5p
ZmVzdHMgPSB7fQorCisgICAgICAgIHNlbGYuX2xvYWRfdGVzdHMoKQorCisgICAgQHByb3BlcnR5
CisgICAgZGVmIHRlc3RfaWRzKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl90ZXN0X2lkcyBpcyBO
b25lOgorICAgICAgICAgICAgc2VsZi5fdGVzdF9pZHMgPSBbXQorICAgICAgICAgICAgZm9yIHRl
c3RfZGljdCBpbiBbc2VsZi5kaXNhYmxlZF90ZXN0cywgc2VsZi50ZXN0c106CisgICAgICAgICAg
ICAgICAgZm9yIHRlc3RfdHlwZSBpbiBzZWxmLnRlc3RfdHlwZXM6CisgICAgICAgICAgICAgICAg
ICAgIHNlbGYuX3Rlc3RfaWRzICs9IFtpdGVtLmlkIGZvciBpdGVtIGluIHRlc3RfZGljdFt0ZXN0
X3R5cGVdXQorICAgICAgICByZXR1cm4gc2VsZi5fdGVzdF9pZHMKKworICAgIGRlZiBnZXRfdGVz
dChzZWxmLCBtYW5pZmVzdF90ZXN0LCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRhKToK
KyAgICAgICAgaWYgdGVzdF9tZXRhZGF0YSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGluaGVy
aXRfbWV0YWRhdGEuYXBwZW5kKHRlc3RfbWV0YWRhdGEpCisgICAgICAgICAgICB0ZXN0X21ldGFk
YXRhID0gdGVzdF9tZXRhZGF0YS5nZXRfdGVzdChtYW5pZmVzdF90ZXN0LmlkKQorCisgICAgICAg
IHJldHVybiB3cHR0ZXN0LmZyb21fbWFuaWZlc3QobWFuaWZlc3RfdGVzdCwgaW5oZXJpdF9tZXRh
ZGF0YSwgdGVzdF9tZXRhZGF0YSkKKworICAgIGRlZiBsb2FkX2Rpcl9tZXRhZGF0YShzZWxmLCB0
ZXN0X21hbmlmZXN0LCBtZXRhZGF0YV9wYXRoLCB0ZXN0X3BhdGgpOgorICAgICAgICBydiA9IFtd
CisgICAgICAgIHBhdGhfcGFydHMgPSBvcy5wYXRoLmRpcm5hbWUodGVzdF9wYXRoKS5zcGxpdChv
cy5wYXRoLnNlcCkKKyAgICAgICAgZm9yIGkgaW4geHJhbmdlKDEsbGVuKHBhdGhfcGFydHMpICsg
MSk6CisgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKG1ldGFkYXRhX3BhdGgsIG9zLnBh
dGguc2VwLmpvaW4ocGF0aF9wYXJ0c1s6aV0pLCAiX19kaXJfXy5pbmkiKQorICAgICAgICAgICAg
aWYgcGF0aCBub3QgaW4gc2VsZi5kaXJlY3RvcnlfbWFuaWZlc3RzOgorICAgICAgICAgICAgICAg
IHNlbGYuZGlyZWN0b3J5X21hbmlmZXN0c1twYXRoXSA9IG1hbmlmZXN0ZXhwZWN0ZWQuZ2V0X2Rp
cl9tYW5pZmVzdChwYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJ1bl9pbmZv
KQorICAgICAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmRpcmVjdG9yeV9tYW5pZmVzdHNbcGF0aF0K
KyAgICAgICAgICAgIGlmIG1hbmlmZXN0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHJ2
LmFwcGVuZChtYW5pZmVzdCkKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgbG9hZF9tZXRh
ZGF0YShzZWxmLCB0ZXN0X21hbmlmZXN0LCBtZXRhZGF0YV9wYXRoLCB0ZXN0X3BhdGgpOgorICAg
ICAgICBpbmhlcml0X21ldGFkYXRhID0gc2VsZi5sb2FkX2Rpcl9tZXRhZGF0YSh0ZXN0X21hbmlm
ZXN0LCBtZXRhZGF0YV9wYXRoLCB0ZXN0X3BhdGgpCisgICAgICAgIHRlc3RfbWV0YWRhdGEgPSBt
YW5pZmVzdGV4cGVjdGVkLmdldF9tYW5pZmVzdCgKKyAgICAgICAgICAgIG1ldGFkYXRhX3BhdGgs
IHRlc3RfcGF0aCwgdGVzdF9tYW5pZmVzdC51cmxfYmFzZSwgc2VsZi5ydW5faW5mbykKKyAgICAg
ICAgcmV0dXJuIGluaGVyaXRfbWV0YWRhdGEsIHRlc3RfbWV0YWRhdGEKKworICAgIGRlZiBpdGVy
X3Rlc3RzKHNlbGYpOgorICAgICAgICBtYW5pZmVzdF9pdGVtcyA9IFtdCisKKyAgICAgICAgZm9y
IG1hbmlmZXN0IGluIHNvcnRlZChzZWxmLm1hbmlmZXN0cy5rZXlzKCksIGtleT1sYW1iZGEgeDp4
LnVybF9iYXNlKToKKyAgICAgICAgICAgIG1hbmlmZXN0X2l0ZXIgPSBpdGVyZmlsdGVyKHNlbGYu
bWFuaWZlc3RfZmlsdGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1hbmlmZXN0Lml0ZXJ0eXBlcygqc2VsZi50ZXN0X3R5cGVzKSkKKyAgICAgICAgICAgIG1hbmlm
ZXN0X2l0ZW1zLmV4dGVuZChtYW5pZmVzdF9pdGVyKQorCisgICAgICAgIGlmIHNlbGYuY2h1bmtl
ciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIG1hbmlmZXN0X2l0ZW1zID0gc2VsZi5jaHVua2Vy
KG1hbmlmZXN0X2l0ZW1zKQorCisgICAgICAgIGZvciB0ZXN0X3R5cGUsIHRlc3RfcGF0aCwgdGVz
dHMgaW4gbWFuaWZlc3RfaXRlbXM6CisgICAgICAgICAgICBtYW5pZmVzdF9maWxlID0gaXRlcih0
ZXN0cykubmV4dCgpLm1hbmlmZXN0CisgICAgICAgICAgICBtZXRhZGF0YV9wYXRoID0gc2VsZi5t
YW5pZmVzdHNbbWFuaWZlc3RfZmlsZV1bIm1ldGFkYXRhX3BhdGgiXQorICAgICAgICAgICAgaW5o
ZXJpdF9tZXRhZGF0YSwgdGVzdF9tZXRhZGF0YSA9IHNlbGYubG9hZF9tZXRhZGF0YShtYW5pZmVz
dF9maWxlLCBtZXRhZGF0YV9wYXRoLCB0ZXN0X3BhdGgpCisKKyAgICAgICAgICAgIGZvciB0ZXN0
IGluIGl0ZXJmaWx0ZXIoc2VsZi5tZXRhX2ZpbHRlcnMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuaXRlcl93cHR0ZXN0KGluaGVyaXRfbWV0YWRhdGEsIHRlc3RfbWV0
YWRhdGEsIHRlc3RzKSk6CisgICAgICAgICAgICAgICAgeWllbGQgdGVzdF9wYXRoLCB0ZXN0X3R5
cGUsIHRlc3QKKworICAgIGRlZiBpdGVyX3dwdHRlc3Qoc2VsZiwgaW5oZXJpdF9tZXRhZGF0YSwg
dGVzdF9tZXRhZGF0YSwgdGVzdHMpOgorICAgICAgICBmb3IgbWFuaWZlc3RfdGVzdCBpbiB0ZXN0
czoKKyAgICAgICAgICAgIHlpZWxkIHNlbGYuZ2V0X3Rlc3QobWFuaWZlc3RfdGVzdCwgaW5oZXJp
dF9tZXRhZGF0YSwgdGVzdF9tZXRhZGF0YSkKKworICAgIGRlZiBfbG9hZF90ZXN0cyhzZWxmKToK
KyAgICAgICAgIiIiUmVhZCBpbiB0aGUgdGVzdHMgZnJvbSB0aGUgbWFuaWZlc3QgZmlsZSBhbmQg
YWRkIHRoZW0gdG8gYSBxdWV1ZSIiIgorICAgICAgICB0ZXN0cyA9IHsiZW5hYmxlZCI6ZGVmYXVs
dGRpY3QobGlzdCksCisgICAgICAgICAgICAgICAgICJkaXNhYmxlZCI6ZGVmYXVsdGRpY3QobGlz
dCl9CisKKyAgICAgICAgZm9yIHRlc3RfcGF0aCwgdGVzdF90eXBlLCB0ZXN0IGluIHNlbGYuaXRl
cl90ZXN0cygpOgorICAgICAgICAgICAgZW5hYmxlZCA9IG5vdCB0ZXN0LmRpc2FibGVkKCkKKyAg
ICAgICAgICAgIGlmIG5vdCBzZWxmLmluY2x1ZGVfaHR0cHMgYW5kIHRlc3QuZW52aXJvbm1lbnRb
InByb3RvY29sIl0gPT0gImh0dHBzIjoKKyAgICAgICAgICAgICAgICBlbmFibGVkID0gRmFsc2UK
KyAgICAgICAgICAgIGtleSA9ICJlbmFibGVkIiBpZiBlbmFibGVkIGVsc2UgImRpc2FibGVkIgor
ICAgICAgICAgICAgdGVzdHNba2V5XVt0ZXN0X3R5cGVdLmFwcGVuZCh0ZXN0KQorCisgICAgICAg
IHNlbGYudGVzdHMgPSB0ZXN0c1siZW5hYmxlZCJdCisgICAgICAgIHNlbGYuZGlzYWJsZWRfdGVz
dHMgPSB0ZXN0c1siZGlzYWJsZWQiXQorCisgICAgZGVmIGdyb3VwcyhzZWxmLCB0ZXN0X3R5cGVz
LCBjaHVua190eXBlPSJub25lIiwgdG90YWxfY2h1bmtzPTEsIGNodW5rX251bWJlcj0xKToKKyAg
ICAgICAgZ3JvdXBzID0gc2V0KCkKKworICAgICAgICBmb3IgdGVzdF90eXBlIGluIHRlc3RfdHlw
ZXM6CisgICAgICAgICAgICBmb3IgdGVzdCBpbiBzZWxmLnRlc3RzW3Rlc3RfdHlwZV06CisgICAg
ICAgICAgICAgICAgZ3JvdXAgPSB0ZXN0LnVybC5zcGxpdCgiLyIpWzFdCisgICAgICAgICAgICAg
ICAgZ3JvdXBzLmFkZChncm91cCkKKworICAgICAgICByZXR1cm4gZ3JvdXBzCisKKworY2xhc3Mg
VGVzdFNvdXJjZShvYmplY3QpOgorICAgIF9fbWV0YWNsYXNzX18gPSBBQkNNZXRhCisKKyAgICBA
YWJzdHJhY3RtZXRob2QKKyAgICBkZWYgcXVldWVfdGVzdHMoc2VsZiwgdGVzdF9xdWV1ZSk6Cisg
ICAgICAgIHBhc3MKKworICAgIEBhYnN0cmFjdG1ldGhvZAorICAgIGRlZiByZXF1ZXVlX3Rlc3Qo
c2VsZiwgdGVzdCk6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6Cisg
ICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MsICoqa3dh
cmdzKToKKyAgICAgICAgcGFzcworCisKK2NsYXNzIFNpbmdsZVRlc3RTb3VyY2UoVGVzdFNvdXJj
ZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfcXVldWUpOgorICAgICAgICBzZWxmLnRl
c3RfcXVldWUgPSB0ZXN0X3F1ZXVlCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgcXVldWVf
dGVzdHMoY2xzLCB0ZXN0X3F1ZXVlLCB0ZXN0X3R5cGUsIHRlc3RzKToKKyAgICAgICAgZm9yIHRl
c3QgaW4gdGVzdHNbdGVzdF90eXBlXToKKyAgICAgICAgICAgIHRlc3RfcXVldWUucHV0KHRlc3Qp
CisKKyAgICBkZWYgZ2V0X3F1ZXVlKHNlbGYpOgorICAgICAgICBpZiBzZWxmLnRlc3RfcXVldWUu
ZW1wdHkoKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHJldHVybiBzZWxmLnRl
c3RfcXVldWUKKworICAgIGRlZiByZXF1ZXVlX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgIHNl
bGYudGVzdF9xdWV1ZS5wdXQodGVzdCkKKworY2xhc3MgUGF0aEdyb3VwZWRTb3VyY2UoVGVzdFNv
dXJjZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfcXVldWUpOgorICAgICAgICBzZWxm
LnRlc3RfcXVldWUgPSB0ZXN0X3F1ZXVlCisgICAgICAgIHNlbGYuY3VycmVudF9xdWV1ZSA9IE5v
bmUKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBxdWV1ZV90ZXN0cyhjbHMsIHRlc3RfcXVl
dWUsIHRlc3RfdHlwZSwgdGVzdHMsIGRlcHRoPU5vbmUpOgorICAgICAgICBpZiBkZXB0aCBpcyBU
cnVlOgorICAgICAgICAgICAgZGVwdGggPSBOb25lCisKKyAgICAgICAgcHJldl9wYXRoID0gTm9u
ZQorICAgICAgICBncm91cCA9IE5vbmUKKworICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0c1t0ZXN0
X3R5cGVdOgorICAgICAgICAgICAgcGF0aCA9IHVybHBhcnNlLnVybHNwbGl0KHRlc3QudXJsKS5w
YXRoLnNwbGl0KCIvIilbMTotMV1bOmRlcHRoXQorICAgICAgICAgICAgaWYgcGF0aCAhPSBwcmV2
X3BhdGg6CisgICAgICAgICAgICAgICAgZ3JvdXAgPSBbXQorICAgICAgICAgICAgICAgIHRlc3Rf
cXVldWUucHV0KGdyb3VwKQorICAgICAgICAgICAgICAgIHByZXZfcGF0aCA9IHBhdGgKKworICAg
ICAgICAgICAgZ3JvdXAuYXBwZW5kKHRlc3QpCisKKyAgICBkZWYgZ2V0X3F1ZXVlKHNlbGYpOgor
ICAgICAgICBpZiBub3Qgc2VsZi5jdXJyZW50X3F1ZXVlIG9yIHNlbGYuY3VycmVudF9xdWV1ZS5l
bXB0eSgpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGRhdGEgPSBzZWxmLnRl
c3RfcXVldWUuZ2V0KGJsb2NrPVRydWUsIHRpbWVvdXQ9MSkKKyAgICAgICAgICAgICAgICBzZWxm
LmN1cnJlbnRfcXVldWUgPSBRdWV1ZSgpCisgICAgICAgICAgICAgICAgZm9yIGl0ZW0gaW4gZGF0
YToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jdXJyZW50X3F1ZXVlLnB1dChpdGVtKQorICAg
ICAgICAgICAgZXhjZXB0IEVtcHR5OgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAg
ICAgICAgcmV0dXJuIHNlbGYuY3VycmVudF9xdWV1ZQorCisgICAgZGVmIHJlcXVldWVfdGVzdChz
ZWxmLCB0ZXN0KToKKyAgICAgICAgc2VsZi5jdXJyZW50X3F1ZXVlLnB1dCh0ZXN0KQorCisgICAg
ZGVmIF9fZXhpdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIGlmIHNlbGYuY3Vy
cmVudF9xdWV1ZToKKyAgICAgICAgICAgIHNlbGYuY3VycmVudF9xdWV1ZS5jbG9zZSgpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHJ1bm5lci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cnVu
bmVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU0MjJjZmVmZWM2MThhZDYyYTBhNTJmNDljNDQ5NTAyOTFhMWQ1
ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHJ1bm5lci5weQpAQCAtMCww
ICsxLDc2NiBAQAorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCisKK2lt
cG9ydCBtdWx0aXByb2Nlc3NpbmcKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9y
dCB0cmFjZWJhY2sKK2Zyb20gUXVldWUgaW1wb3J0IEVtcHR5Citmcm9tIGNvbGxlY3Rpb25zIGlt
cG9ydCBuYW1lZHR1cGxlCitmcm9tIG11bHRpcHJvY2Vzc2luZyBpbXBvcnQgUHJvY2VzcywgY3Vy
cmVudF9wcm9jZXNzLCBRdWV1ZQorCitmcm9tIG1vemxvZyBpbXBvcnQgc3RydWN0dXJlZGxvZwor
CisjIFNwZWNpYWwgdmFsdWUgdXNlZCBhcyBhIHNlbnRpbmFsIGluIHZhcmlvdXMgY29tbWFuZHMK
K1N0b3AgPSBvYmplY3QoKQorCisKK2NsYXNzIE1lc3NhZ2VMb2dnZXIob2JqZWN0KToKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgbWVzc2FnZV9mdW5jKToKKyAgICAgICAgc2VsZi5zZW5kX21lc3Nh
Z2UgPSBtZXNzYWdlX2Z1bmMKKworICAgIGRlZiBfbG9nX2RhdGEoc2VsZiwgYWN0aW9uLCAqKmt3
YXJncyk6CisgICAgICAgIHNlbGYuc2VuZF9tZXNzYWdlKCJsb2ciLCBhY3Rpb24sIGt3YXJncykK
KworICAgIGRlZiBwcm9jZXNzX291dHB1dChzZWxmLCBwcm9jZXNzLCBkYXRhLCBjb21tYW5kKToK
KyAgICAgICAgc2VsZi5fbG9nX2RhdGEoInByb2Nlc3Nfb3V0cHV0IiwgcHJvY2Vzcz1wcm9jZXNz
LCBkYXRhPWRhdGEsIGNvbW1hbmQ9Y29tbWFuZCkKKworCitkZWYgX2xvZ19mdW5jKGxldmVsX25h
bWUpOgorICAgIGRlZiBsb2coc2VsZiwgbWVzc2FnZSk6CisgICAgICAgIHNlbGYuX2xvZ19kYXRh
KGxldmVsX25hbWUubG93ZXIoKSwgbWVzc2FnZT1tZXNzYWdlKQorICAgIGxvZy5fX2RvY19fID0g
IiIiTG9nIGEgbWVzc2FnZSB3aXRoIGxldmVsICVzCisKKzpwYXJhbSBtZXNzYWdlOiBUaGUgc3Ry
aW5nIG1lc3NhZ2UgdG8gbG9nCisiIiIgJSBsZXZlbF9uYW1lCisgICAgbG9nLl9fbmFtZV9fID0g
c3RyKGxldmVsX25hbWUpLmxvd2VyKCkKKyAgICByZXR1cm4gbG9nCisKKyMgQ3JlYXRlIGFsbCB0
aGUgbWV0aG9kcyBvbiBTdHJ1Y3R1cmVkTG9nIGZvciBkZWJ1ZyBsZXZlbHMKK2ZvciBsZXZlbF9u
YW1lIGluIHN0cnVjdHVyZWRsb2cubG9nX2xldmVsczoKKyAgICBzZXRhdHRyKE1lc3NhZ2VMb2dn
ZXIsIGxldmVsX25hbWUubG93ZXIoKSwgX2xvZ19mdW5jKGxldmVsX25hbWUpKQorCisKK2NsYXNz
IFRlc3RSdW5uZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY29tbWFuZF9xdWV1
ZSwgcmVzdWx0X3F1ZXVlLCBleGVjdXRvcik6CisgICAgICAgICIiIkNsYXNzIGltcGxlbWVudGlu
ZyB0aGUgbWFpbiBsb29wIGZvciBydW5uaW5nIHRlc3RzLgorCisgICAgICAgIFRoaXMgY2xhc3Mg
ZGVsZWdhdGVzIHRoZSBqb2Igb2YgYWN0dWFsbHkgcnVubmluZyBhIHRlc3QgdG8gdGhlIGV4ZWN1
dG9yCisgICAgICAgIHRoYXQgaXMgcGFzc2VkIGluLgorCisgICAgICAgIDpwYXJhbSBjb21tYW5k
X3F1ZXVlOiBzdWJwcm9jZXNzLlF1ZXVlIHVzZWQgdG8gc2VuZCBjb21tYW5kcyB0byB0aGUKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MKKyAgICAgICAgOnBhcmFtIHJlc3Vs
dF9xdWV1ZTogc3VicHJvY2Vzcy5RdWV1ZSB1c2VkIHRvIHNlbmQgcmVzdWx0cyB0byB0aGUKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50IFRlc3RNYW5hZ2VyIHByb2Nlc3MKKyAg
ICAgICAgOnBhcmFtIGV4ZWN1dG9yOiBUZXN0RXhlY3V0b3Igb2JqZWN0IHRoYXQgd2lsbCBhY3R1
YWxseSBydW4gYSB0ZXN0LgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5jb21tYW5kX3F1ZXVl
ID0gY29tbWFuZF9xdWV1ZQorICAgICAgICBzZWxmLnJlc3VsdF9xdWV1ZSA9IHJlc3VsdF9xdWV1
ZQorCisgICAgICAgIHNlbGYuZXhlY3V0b3IgPSBleGVjdXRvcgorICAgICAgICBzZWxmLm5hbWUg
PSBjdXJyZW50X3Byb2Nlc3MoKS5uYW1lCisgICAgICAgIHNlbGYubG9nZ2VyID0gTWVzc2FnZUxv
Z2dlcihzZWxmLnNlbmRfbWVzc2FnZSkKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAg
ICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgZXhjX3R5cGUsIGV4Y192
YWx1ZSwgdHJhY2ViYWNrKToKKyAgICAgICAgc2VsZi50ZWFyZG93bigpCisKKyAgICBkZWYgc2V0
dXAoc2VsZik6CisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJFeGVjdXRvciBzZXR1cCIpCisg
ICAgICAgIHNlbGYuZXhlY3V0b3Iuc2V0dXAoc2VsZikKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVi
dWcoIkV4ZWN1dG9yIHNldHVwIGRvbmUiKQorCisgICAgZGVmIHRlYXJkb3duKHNlbGYpOgorICAg
ICAgICBzZWxmLmV4ZWN1dG9yLnRlYXJkb3duKCkKKyAgICAgICAgc2VsZi5zZW5kX21lc3NhZ2Uo
InJ1bm5lcl90ZWFyZG93biIpCisgICAgICAgIHNlbGYucmVzdWx0X3F1ZXVlID0gTm9uZQorICAg
ICAgICBzZWxmLmNvbW1hbmRfcXVldWUgPSBOb25lCisgICAgICAgIHNlbGYuYnJvd3NlciA9IE5v
bmUKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgICIiIk1haW4gbG9vcCBhY2NlcHRpbmcg
Y29tbWFuZHMgb3ZlciB0aGUgcGlwZSBhbmQgdHJpZ2dlcmluZworICAgICAgICB0aGUgYXNzb2Np
YXRlZCBtZXRob2RzIiIiCisgICAgICAgIHNlbGYuc2V0dXAoKQorICAgICAgICBjb21tYW5kcyA9
IHsicnVuX3Rlc3QiOiBzZWxmLnJ1bl90ZXN0LAorICAgICAgICAgICAgICAgICAgICAic3RvcCI6
IHNlbGYuc3RvcCwKKyAgICAgICAgICAgICAgICAgICAgIndhaXQiOiBzZWxmLndhaXR9CisgICAg
ICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjb21tYW5kLCBhcmdzID0gc2VsZi5jb21tYW5k
X3F1ZXVlLmdldCgpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcnYgPSBjb21t
YW5kc1tjb21tYW5kXSgqYXJncykKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAg
ICAgICAgICAgICAgc2VsZi5zZW5kX21lc3NhZ2UoImVycm9yIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiRXJyb3IgcnVubmluZyBjb21tYW5kICVzIHdpdGggYXJndW1lbnRz
ICVyOlxuJXMiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29tbWFuZCwg
YXJncywgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkpCisgICAgICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgICAgIGlmIHJ2IGlzIFN0b3A6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisKKyAg
ICBkZWYgc3RvcChzZWxmKToKKyAgICAgICAgcmV0dXJuIFN0b3AKKworICAgIGRlZiBydW5fdGVz
dChzZWxmLCB0ZXN0KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuZXhl
Y3V0b3IucnVuX3Rlc3QodGVzdCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAg
ICAgIHNlbGYubG9nZ2VyLmNyaXRpY2FsKHRyYWNlYmFjay5mb3JtYXRfZXhjKCkpCisgICAgICAg
ICAgICByYWlzZQorCisgICAgZGVmIHdhaXQoc2VsZik6CisgICAgICAgIHNlbGYuZXhlY3V0b3Iu
cHJvdG9jb2wud2FpdCgpCisgICAgICAgIHNlbGYuc2VuZF9tZXNzYWdlKCJ3YWl0X2ZpbmlzaGVk
IikKKworICAgIGRlZiBzZW5kX21lc3NhZ2Uoc2VsZiwgY29tbWFuZCwgKmFyZ3MpOgorICAgICAg
ICBzZWxmLnJlc3VsdF9xdWV1ZS5wdXQoKGNvbW1hbmQsIGFyZ3MpKQorCisKK2RlZiBzdGFydF9y
dW5uZXIocnVubmVyX2NvbW1hbmRfcXVldWUsIHJ1bm5lcl9yZXN1bHRfcXVldWUsCisgICAgICAg
ICAgICAgICAgIGV4ZWN1dG9yX2NscywgZXhlY3V0b3Jfa3dhcmdzLAorICAgICAgICAgICAgICAg
ICBleGVjdXRvcl9icm93c2VyX2NscywgZXhlY3V0b3JfYnJvd3Nlcl9rd2FyZ3MsCisgICAgICAg
ICAgICAgICAgIHN0b3BfZmxhZyk6CisgICAgIiIiTGF1bmNoIGEgVGVzdFJ1bm5lciBpbiBhIG5l
dyBwcm9jZXNzIiIiCisgICAgdHJ5OgorICAgICAgICBicm93c2VyID0gZXhlY3V0b3JfYnJvd3Nl
cl9jbHMoKipleGVjdXRvcl9icm93c2VyX2t3YXJncykKKyAgICAgICAgZXhlY3V0b3IgPSBleGVj
dXRvcl9jbHMoYnJvd3NlciwgKipleGVjdXRvcl9rd2FyZ3MpCisgICAgICAgIHdpdGggVGVzdFJ1
bm5lcihydW5uZXJfY29tbWFuZF9xdWV1ZSwgcnVubmVyX3Jlc3VsdF9xdWV1ZSwgZXhlY3V0b3Ip
IGFzIHJ1bm5lcjoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBydW5uZXIucnVu
KCkKKyAgICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgICAg
ICBzdG9wX2ZsYWcuc2V0KCkKKyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICBydW5uZXJf
cmVzdWx0X3F1ZXVlLnB1dCgoImxvZyIsICgiY3JpdGljYWwiLCB7Im1lc3NhZ2UiOiB0cmFjZWJh
Y2suZm9ybWF0X2V4YygpfSkpKQorICAgICAgICBwcmludCA+PiBzeXMuc3RkZXJyLCB0cmFjZWJh
Y2suZm9ybWF0X2V4YygpCisgICAgICAgIHN0b3BfZmxhZy5zZXQoKQorICAgIGZpbmFsbHk6Cisg
ICAgICAgIHJ1bm5lcl9jb21tYW5kX3F1ZXVlID0gTm9uZQorICAgICAgICBydW5uZXJfcmVzdWx0
X3F1ZXVlID0gTm9uZQorCisKK21hbmFnZXJfY291bnQgPSAwCisKKworZGVmIG5leHRfbWFuYWdl
cl9udW1iZXIoKToKKyAgICBnbG9iYWwgbWFuYWdlcl9jb3VudAorICAgIGxvY2FsID0gbWFuYWdl
cl9jb3VudCA9IG1hbmFnZXJfY291bnQgKyAxCisgICAgcmV0dXJuIGxvY2FsCisKKworY2xhc3Mg
QnJvd3Nlck1hbmFnZXIob2JqZWN0KToKKyAgICBpbml0X2xvY2sgPSB0aHJlYWRpbmcuTG9jaygp
CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2VyLCBjb21tYW5kX3F1ZXVl
LCBub190aW1lb3V0PUZhbHNlKToKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIKKyAgICAg
ICAgc2VsZi5icm93c2VyID0gYnJvd3NlcgorICAgICAgICBzZWxmLm5vX3RpbWVvdXQgPSBub190
aW1lb3V0CisKKyAgICAgICAgc2VsZi5zdGFydGVkID0gRmFsc2UKKworICAgICAgICBzZWxmLmlu
aXRfdGltZXIgPSBOb25lCisKKyAgICBkZWYgaW5pdChzZWxmKToKKyAgICAgICAgIiIiTGF1bmNo
IHRoZSBicm93c2VyIHRoYXQgaXMgYmVpbmcgdGVzdGVkLAorICAgICAgICBhbmQgdGhlIFRlc3RS
dW5uZXIgcHJvY2VzcyB0aGF0IHdpbGwgcnVuIHRoZSB0ZXN0cy4iIiIKKyAgICAgICAgIyBJdCBz
ZWVtcyB0aGF0IHRoaXMgbG9jayBpcyBoZWxwZnVsIHRvIHByZXZlbnQgc29tZSByYWNlIHRoYXQg
b3RoZXJ3aXNlCisgICAgICAgICMgc29tZXRpbWVzIHN0b3BzIHRoZSBzcGF3bmVkIHByb2Nlc3Nl
cyBpbml0YWxpc2luZyBjb3JyZWN0bHksIGFuZAorICAgICAgICAjIGxlYXZlcyB0aGlzIHRocmVh
ZCBodW5nCisgICAgICAgIGlmIHNlbGYuaW5pdF90aW1lciBpcyBub3QgTm9uZToKKyAgICAgICAg
ICAgIHNlbGYuaW5pdF90aW1lci5jYW5jZWwoKQorCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVn
KCJJbml0IGNhbGxlZCwgc3RhcnRpbmcgYnJvd3NlciBhbmQgcnVubmVyIikKKworICAgICAgICB3
aXRoIHNlbGYuaW5pdF9sb2NrOgorICAgICAgICAgICAgIyBHdWFyZCBhZ2FpbnN0IHByb2JsZW1z
IGluaXRpYWxpc2luZyB0aGUgYnJvd3NlciBvciB0aGUgYnJvd3NlcgorICAgICAgICAgICAgIyBy
ZW1vdGUgY29udHJvbCBtZXRob2QKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLm5vX3RpbWVvdXQ6
CisgICAgICAgICAgICAgICAgc2VsZi5pbml0X3RpbWVyID0gdGhyZWFkaW5nLlRpbWVyKHNlbGYu
YnJvd3Nlci5pbml0X3RpbWVvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuaW5pdF90aW1lb3V0KQorICAgICAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgICAgIGlmIHNlbGYuaW5pdF90aW1lciBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
ICAgICAgICAgc2VsZi5pbml0X3RpbWVyLnN0YXJ0KCkKKyAgICAgICAgICAgICAgICBzZWxmLmJy
b3dzZXIuc3RhcnQoKQorICAgICAgICAgICAgICAgIHNlbGYuYnJvd3Nlcl9waWQgPSBzZWxmLmJy
b3dzZXIucGlkKCkKKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICBzZWxmLmxv
Z2dlci53YXJuaW5nKCJGYWlsdXJlIGR1cmluZyBpbml0ICVzIiAlIHRyYWNlYmFjay5mb3JtYXRf
ZXhjKCkpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5pbml0X3RpbWVyIGlzIG5vdCBOb25lOgor
ICAgICAgICAgICAgICAgICAgICBzZWxmLmluaXRfdGltZXIuY2FuY2VsKCkKKyAgICAgICAgICAg
ICAgICBzZWxmLmxvZ2dlci5lcnJvcih0cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICAg
ICAgICAgIHN1Y2NlZWRlZCA9IEZhbHNlCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAg
ICAgIHN1Y2NlZWRlZCA9IFRydWUKKyAgICAgICAgICAgICAgICBzZWxmLnN0YXJ0ZWQgPSBUcnVl
CisKKyAgICAgICAgcmV0dXJuIHN1Y2NlZWRlZAorCisgICAgZGVmIHNlbmRfbWVzc2FnZShzZWxm
LCBjb21tYW5kLCAqYXJncyk6CisgICAgICAgIHNlbGYuY29tbWFuZF9xdWV1ZS5wdXQoKGNvbW1h
bmQsIGFyZ3MpKQorCisgICAgZGVmIGluaXRfdGltZW91dChzZWxmKToKKyAgICAgICAgIyBUaGlz
IGlzIGNhbGxlZCBmcm9tIGEgc2VwZXJhdGUgdGhyZWFkLCBzbyB3ZSBzZW5kIGEgbWVzc2FnZSB0
byB0aGUKKyAgICAgICAgIyBtYWluIGxvb3Agc28gd2UgZ2V0IGJhY2sgb250byB0aGUgbWFuYWdl
ciB0aHJlYWQKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoImluaXRfZmFpbGVkIGNhbGxlZCBm
cm9tIHRpbWVyIikKKyAgICAgICAgc2VsZi5zZW5kX21lc3NhZ2UoImluaXRfZmFpbGVkIikKKwor
ICAgIGRlZiBhZnRlcl9pbml0KHNlbGYpOgorICAgICAgICAiIiJDYWxsYmFjayB3aGVuIHdlIGhh
dmUgc3RhcnRlZCB0aGUgYnJvd3Nlciwgc3RhcnRlZCB0aGUgcmVtb3RlCisgICAgICAgIGNvbnRy
b2wgY29ubmVjdGlvbiwgYW5kIHdlIGFyZSByZWFkeSB0byBzdGFydCB0ZXN0aW5nLiIiIgorICAg
ICAgICBpZiBzZWxmLmluaXRfdGltZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLmlu
aXRfdGltZXIuY2FuY2VsKCkKKworICAgIGRlZiBzdG9wKHNlbGYsIGZvcmNlPUZhbHNlKToKKyAg
ICAgICAgc2VsZi5icm93c2VyLnN0b3AoZm9yY2U9Zm9yY2UpCisgICAgICAgIHNlbGYuc3RhcnRl
ZCA9IEZhbHNlCisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgaWYgc2VsZi5pbml0
X3RpbWVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5pbml0X3RpbWVyLmNhbmNlbCgp
CisgICAgICAgIHNlbGYuYnJvd3Nlci5jbGVhbnVwKCkKKworICAgIGRlZiBsb2dfY3Jhc2goc2Vs
ZiwgdGVzdF9pZCk6CisgICAgICAgIHNlbGYuYnJvd3Nlci5sb2dfY3Jhc2gocHJvY2Vzcz1zZWxm
LmJyb3dzZXJfcGlkLCB0ZXN0PXRlc3RfaWQpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6Cisg
ICAgICAgIHJldHVybiBzZWxmLmJyb3dzZXIuaXNfYWxpdmUoKQorCisKK2NsYXNzIF9SdW5uZXJN
YW5hZ2VyU3RhdGUob2JqZWN0KToKKyAgICBiZWZvcmVfaW5pdCA9IG5hbWVkdHVwbGUoImJlZm9y
ZV9pbml0IiwgW10pCisgICAgaW5pdGFsaXppbmcgPSBuYW1lZHR1cGxlKCJpbml0YWxpemluZ19i
cm93c2VyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJ0ZXN0IiwgInRlc3RfcXVl
dWUiLCAiZmFpbHVyZV9jb3VudCJdKQorICAgIHJ1bm5pbmcgPSBuYW1lZHR1cGxlKCJydW5uaW5n
IiwgWyJ0ZXN0IiwgInRlc3RfcXVldWUiXSkKKyAgICByZXN0YXJ0aW5nID0gbmFtZWR0dXBsZSgi
cmVzdGFydGluZyIsIFsidGVzdCIsICJ0ZXN0X3F1ZXVlIl0pCisgICAgZXJyb3IgPSBuYW1lZHR1
cGxlKCJlcnJvciIsIFtdKQorICAgIHN0b3AgPSBuYW1lZHR1cGxlKCJzdG9wIiwgW10pCisKKwor
UnVubmVyTWFuYWdlclN0YXRlID0gX1J1bm5lck1hbmFnZXJTdGF0ZSgpCisKKworY2xhc3MgVGVz
dFJ1bm5lck1hbmFnZXIodGhyZWFkaW5nLlRocmVhZCk6CisgICAgaW5pdF9sb2NrID0gdGhyZWFk
aW5nLkxvY2soKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN1aXRlX25hbWUsIHRlc3RzLCB0
ZXN0X3NvdXJjZV9jbHMsIGJyb3dzZXJfY2xzLCBicm93c2VyX2t3YXJncywKKyAgICAgICAgICAg
ICAgICAgZXhlY3V0b3JfY2xzLCBleGVjdXRvcl9rd2FyZ3MsIHN0b3BfZmxhZywgcGF1c2VfYWZ0
ZXJfdGVzdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgcGF1c2Vfb25fdW5leHBlY3RlZD1GYWxz
ZSwgcmVzdGFydF9vbl91bmV4cGVjdGVkPVRydWUsIGRlYnVnX2luZm89Tm9uZSk6CisgICAgICAg
ICIiIlRocmVhZCB0aGF0IG93bnMgYSBzaW5nbGUgVGVzdFJ1bm5lciBwcm9jZXNzIGFuZCBhbnkg
cHJvY2Vzc2VzIHJlcXVpcmVkCisgICAgICAgIGJ5IHRoZSBUZXN0UnVubmVyIChlLmcuIHRoZSBG
aXJlZm94IGJpbmFyeSkuCisKKyAgICAgICAgVGVzdFJ1bm5lck1hbmFnZXJzIGFyZSByZXNwb25z
aWJsZSBmb3IgbGF1bmNoaW5nIHRoZSBicm93c2VyIHByb2Nlc3MgYW5kIHRoZQorICAgICAgICBy
dW5uZXIgcHJvY2VzcywgYW5kIGZvciBsb2dnaW5nIHRoZSB0ZXN0IHByb2dyZXNzLiBUaGUgYWN0
dWFsIHRlc3QgcnVubmluZworICAgICAgICBpcyBkb25lIGJ5IHRoZSBUZXN0UnVubmVyLiBJbiBw
YXJ0aWN1bGFyIHRoZXk6CisKKyAgICAgICAgKiBTdGFydCB0aGUgYmluYXJ5IG9mIHRoZSBwcm9n
cmFtIHVuZGVyIHRlc3QKKyAgICAgICAgKiBTdGFydCB0aGUgVGVzdFJ1bm5lcgorICAgICAgICAq
IFRlbGwgdGhlIFRlc3RSdW5uZXIgdG8gc3RhcnQgYSB0ZXN0LCBpZiBhbnkKKyAgICAgICAgKiBM
b2cgdGhhdCB0aGUgdGVzdCBzdGFydGVkCisgICAgICAgICogTG9nIHRoZSB0ZXN0IHJlc3VsdHMK
KyAgICAgICAgKiBUYWtlIGFueSByZW1lZGlhbCBhY3Rpb24gcmVxdWlyZWQgZS5nLiByZXN0YXJ0
IGNyYXNoZWQgb3IgaHVuZworICAgICAgICAgIHByb2Nlc3NlcworICAgICAgICAiIiIKKyAgICAg
ICAgc2VsZi5zdWl0ZV9uYW1lID0gc3VpdGVfbmFtZQorCisgICAgICAgIHNlbGYudGVzdHMgPSB0
ZXN0cworICAgICAgICBzZWxmLnRlc3Rfc291cmNlX2NscyA9IHRlc3Rfc291cmNlX2NscworICAg
ICAgICBzZWxmLnRlc3RfcXVldWUgPSBOb25lCisKKyAgICAgICAgc2VsZi5icm93c2VyX2NscyA9
IGJyb3dzZXJfY2xzCisgICAgICAgIHNlbGYuYnJvd3Nlcl9rd2FyZ3MgPSBicm93c2VyX2t3YXJn
cworCisgICAgICAgIHNlbGYuZXhlY3V0b3JfY2xzID0gZXhlY3V0b3JfY2xzCisgICAgICAgIHNl
bGYuZXhlY3V0b3Jfa3dhcmdzID0gZXhlY3V0b3Jfa3dhcmdzCisKKyAgICAgICAgc2VsZi50ZXN0
X3NvdXJjZSA9IE5vbmUKKworICAgICAgICAjIEZsYWdzIHVzZWQgdG8gc2h1dCBkb3duIHRoaXMg
dGhyZWFkIGlmIHdlIGdldCBhIHNpZ2ludAorICAgICAgICBzZWxmLnBhcmVudF9zdG9wX2ZsYWcg
PSBzdG9wX2ZsYWcKKyAgICAgICAgc2VsZi5jaGlsZF9zdG9wX2ZsYWcgPSBtdWx0aXByb2Nlc3Np
bmcuRXZlbnQoKQorCisgICAgICAgIHNlbGYucGF1c2VfYWZ0ZXJfdGVzdCA9IHBhdXNlX2FmdGVy
X3Rlc3QKKyAgICAgICAgc2VsZi5wYXVzZV9vbl91bmV4cGVjdGVkID0gcGF1c2Vfb25fdW5leHBl
Y3RlZAorICAgICAgICBzZWxmLnJlc3RhcnRfb25fdW5leHBlY3RlZCA9IHJlc3RhcnRfb25fdW5l
eHBlY3RlZAorICAgICAgICBzZWxmLmRlYnVnX2luZm8gPSBkZWJ1Z19pbmZvCisKKyAgICAgICAg
c2VsZi5tYW5hZ2VyX251bWJlciA9IG5leHRfbWFuYWdlcl9udW1iZXIoKQorCisgICAgICAgIHNl
bGYuY29tbWFuZF9xdWV1ZSA9IFF1ZXVlKCkKKyAgICAgICAgc2VsZi5yZW1vdGVfcXVldWUgPSBR
dWV1ZSgpCisKKyAgICAgICAgc2VsZi50ZXN0X3J1bm5lcl9wcm9jID0gTm9uZQorCisgICAgICAg
IHRocmVhZGluZy5UaHJlYWQuX19pbml0X18oc2VsZiwgbmFtZT0iVGhyZWFkLVRlc3RydW5uZXJN
YW5hZ2VyLSVpIiAlIHNlbGYubWFuYWdlcl9udW1iZXIpCisgICAgICAgICMgVGhpcyBpcyBzdGFy
dGVkIGluIHRoZSBhY3R1YWwgbmV3IHRocmVhZAorICAgICAgICBzZWxmLmxvZ2dlciA9IE5vbmUK
KworICAgICAgICBzZWxmLnVuZXhwZWN0ZWRfY291bnQgPSAwCisKKyAgICAgICAgIyBUaGlzIG1h
eSBub3QgcmVhbGx5IGJlIHdoYXQgd2Ugd2FudAorICAgICAgICBzZWxmLmRhZW1vbiA9IFRydWUK
KworICAgICAgICBzZWxmLm1heF9yZXN0YXJ0cyA9IDUKKworICAgICAgICBzZWxmLmJyb3dzZXIg
PSBOb25lCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICAiIiJNYWluIGxvb3AgZm9yIHRo
ZSBUZXN0TWFuYWdlci4KKworICAgICAgICBUZXN0TWFuYWdlcnMgZ2VuZXJhbGx5IHJlY2VpdmUg
Y29tbWFuZHMgZnJvbSB0aGVpcgorICAgICAgICBUZXN0UnVubmVyIHVwZGF0aW5nIHRoZW0gb24g
dGhlIHN0YXR1cyBvZiBhIHRlc3QuIFRoZXkKKyAgICAgICAgbWF5IGFsc28gaGF2ZSBhIHN0b3Ag
ZmxhZyBzZXQgYnkgdGhlIG1haW4gdGhyZWFkIGluZGljYXRpbmcKKyAgICAgICAgdGhhdCB0aGUg
bWFuYWdlciBzaG91bGQgc2h1dCBkb3duIHRoZSBuZXh0IHRpbWUgdGhlIGV2ZW50IGxvb3AKKyAg
ICAgICAgc3BpbnMuIiIiCisgICAgICAgIHNlbGYubG9nZ2VyID0gc3RydWN0dXJlZGxvZy5TdHJ1
Y3R1cmVkTG9nZ2VyKHNlbGYuc3VpdGVfbmFtZSkKKyAgICAgICAgd2l0aCBzZWxmLmJyb3dzZXJf
Y2xzKHNlbGYubG9nZ2VyLCAqKnNlbGYuYnJvd3Nlcl9rd2FyZ3MpIGFzIGJyb3dzZXIsIHNlbGYu
dGVzdF9zb3VyY2VfY2xzKHNlbGYudGVzdHMpIGFzIHRlc3Rfc291cmNlOgorICAgICAgICAgICAg
c2VsZi5icm93c2VyID0gQnJvd3Nlck1hbmFnZXIoc2VsZi5sb2dnZXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb21tYW5kX3F1ZXVlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9fdGltZW91dD1zZWxmLmRlYnVnX2luZm8g
aXMgbm90IE5vbmUpCisgICAgICAgICAgICBzZWxmLnRlc3Rfc291cmNlID0gdGVzdF9zb3VyY2UK
KyAgICAgICAgICAgIGRpc3BhdGNoID0geworICAgICAgICAgICAgICAgIFJ1bm5lck1hbmFnZXJT
dGF0ZS5iZWZvcmVfaW5pdDogc2VsZi5zdGFydF9pbml0LAorICAgICAgICAgICAgICAgIFJ1bm5l
ck1hbmFnZXJTdGF0ZS5pbml0YWxpemluZzogc2VsZi5pbml0LAorICAgICAgICAgICAgICAgIFJ1
bm5lck1hbmFnZXJTdGF0ZS5ydW5uaW5nOiBzZWxmLnJ1bl90ZXN0LAorICAgICAgICAgICAgICAg
IFJ1bm5lck1hbmFnZXJTdGF0ZS5yZXN0YXJ0aW5nOiBzZWxmLnJlc3RhcnRfcnVubmVyCisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBSdW5uZXJNYW5hZ2VyU3RhdGUu
YmVmb3JlX2luaXQoKQorICAgICAgICAgICAgZW5kX3N0YXRlcyA9IChSdW5uZXJNYW5hZ2VyU3Rh
dGUuc3RvcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUnVubmVyTWFuYWdlclN0YXRlLmVy
cm9yKQorCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgd2hpbGUgbm90IGlzaW5z
dGFuY2Uoc2VsZi5zdGF0ZSwgZW5kX3N0YXRlcyk6CisgICAgICAgICAgICAgICAgICAgIGYgPSBk
aXNwYXRjaC5nZXQoc2VsZi5zdGF0ZS5fX2NsYXNzX18pCisgICAgICAgICAgICAgICAgICAgIHdo
aWxlIGY6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiRGlzcGF0
Y2ggJXMiICUgZi5fX25hbWVfXykKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc2hv
dWxkX3N0b3AoKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5ld19zdGF0ZSA9IGYoKQorICAgICAgICAgICAgICAgICAgICAgICAg
aWYgbmV3X3N0YXRlIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBuZXdfc3RhdGUKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJuZXcgc3RhdGU6ICVzIiAlIHNlbGYu
c3RhdGUuX19jbGFzc19fLl9fbmFtZV9fKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgaXNp
bnN0YW5jZShzZWxmLnN0YXRlLCBlbmRfc3RhdGVzKToKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm4KKyAgICAgICAgICAgICAgICAgICAgICAgIGYgPSBkaXNwYXRjaC5nZXQoc2Vs
Zi5zdGF0ZS5fX2NsYXNzX18pCisKKyAgICAgICAgICAgICAgICAgICAgbmV3X3N0YXRlID0gTm9u
ZQorICAgICAgICAgICAgICAgICAgICB3aGlsZSBuZXdfc3RhdGUgaXMgTm9uZToKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5ld19zdGF0ZSA9IHNlbGYud2FpdF9ldmVudCgpCisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiBzZWxmLnNob3VsZF9zdG9wKCk6CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBuZXdfc3Rh
dGUKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIm5ldyBzdGF0ZTogJXMi
ICUgc2VsZi5zdGF0ZS5fX2NsYXNzX18uX19uYW1lX18pCisgICAgICAgICAgICBleGNlcHQgRXhj
ZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IodHJhY2ViYWNr
LmZvcm1hdF9leGMoZSkpCisgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIGZpbmFs
bHk6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlRlc3RSdW5uZXJNYW5hZ2Vy
IG1haW4gbG9vcCB0ZXJtaW5hdGluZywgc3RhcnRpbmcgY2xlYW51cCIpCisgICAgICAgICAgICAg
ICAgY2xlYW4gPSBpc2luc3RhbmNlKHNlbGYuc3RhdGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5zdG9w
KQorICAgICAgICAgICAgICAgIHNlbGYuc3RvcF9ydW5uZXIoZm9yY2U9bm90IGNsZWFuKQorICAg
ICAgICAgICAgICAgIHNlbGYudGVhcmRvd24oKQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1Zygi
VGVzdFJ1bm5lck1hbmFnZXIgbWFpbiBsb29wIHRlcm1pbmF0ZWQiKQorCisgICAgZGVmIHdhaXRf
ZXZlbnQoc2VsZik6CisgICAgICAgIGRpc3BhdGNoID0geworICAgICAgICAgICAgUnVubmVyTWFu
YWdlclN0YXRlLmJlZm9yZV9pbml0OiB7fSwKKyAgICAgICAgICAgIFJ1bm5lck1hbmFnZXJTdGF0
ZS5pbml0YWxpemluZzoKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAiaW5pdF9zdWNj
ZWVkZWQiOiBzZWxmLmluaXRfc3VjY2VlZGVkLAorICAgICAgICAgICAgICAgICJpbml0X2ZhaWxl
ZCI6IHNlbGYuaW5pdF9mYWlsZWQsCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgUnVubmVy
TWFuYWdlclN0YXRlLnJ1bm5pbmc6CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInRl
c3RfZW5kZWQiOiBzZWxmLnRlc3RfZW5kZWQsCisgICAgICAgICAgICAgICAgIndhaXRfZmluaXNo
ZWQiOiBzZWxmLndhaXRfZmluaXNoZWQsCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgUnVu
bmVyTWFuYWdlclN0YXRlLnJlc3RhcnRpbmc6IHt9LAorICAgICAgICAgICAgUnVubmVyTWFuYWdl
clN0YXRlLmVycm9yOiB7fSwKKyAgICAgICAgICAgIFJ1bm5lck1hbmFnZXJTdGF0ZS5zdG9wOiB7
fSwKKyAgICAgICAgICAgIE5vbmU6IHsKKyAgICAgICAgICAgICAgICAicnVubmVyX3RlYXJkb3du
Ijogc2VsZi5ydW5uZXJfdGVhcmRvd24sCisgICAgICAgICAgICAgICAgImxvZyI6IHNlbGYubG9n
LAorICAgICAgICAgICAgICAgICJlcnJvciI6IHNlbGYuZXJyb3IKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgICAgICB0cnk6CisgICAgICAgICAgICBjb21tYW5kLCBkYXRhID0gc2VsZi5j
b21tYW5kX3F1ZXVlLmdldChUcnVlLCAxKQorICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAg
ICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKCJHb3QgSU9FcnJvciBmcm9tIHBvbGwiKQorICAgICAg
ICAgICAgcmV0dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5yZXN0YXJ0aW5nKDApCisgICAgICAgIGV4
Y2VwdCBFbXB0eToKKyAgICAgICAgICAgIGlmIChzZWxmLmRlYnVnX2luZm8gYW5kIHNlbGYuZGVi
dWdfaW5mby5pbnRlcmFjdGl2ZSBhbmQKKyAgICAgICAgICAgICAgICBzZWxmLmJyb3dzZXIuc3Rh
cnRlZCBhbmQgbm90IHNlbGYuYnJvd3Nlci5pc19hbGl2ZSgpKToKKyAgICAgICAgICAgICAgICBz
ZWxmLmxvZ2dlci5kZWJ1ZygiRGVidWdnZXIgZXhpdGVkIikKKyAgICAgICAgICAgICAgICByZXR1
cm4gUnVubmVyTWFuYWdlclN0YXRlLnN0b3AoKQorCisgICAgICAgICAgICBpZiAoaXNpbnN0YW5j
ZShzZWxmLnN0YXRlLCBSdW5uZXJNYW5hZ2VyU3RhdGUucnVubmluZykgYW5kCisgICAgICAgICAg
ICAgICAgbm90IHNlbGYudGVzdF9ydW5uZXJfcHJvYy5pc19hbGl2ZSgpKToKKyAgICAgICAgICAg
ICAgICBpZiBub3Qgc2VsZi5jb21tYW5kX3F1ZXVlLmVtcHR5KCk6CisgICAgICAgICAgICAgICAg
ICAgICMgV2UgZ290IGEgbmV3IG1lc3NhZ2Ugc28gcHJvY2VzcyB0aGF0CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybgorCisgICAgICAgICAgICAgICAgIyBJZiB3ZSBnb3QgdG8gaGVyZSB0aGUg
cnVubmVyIHByZXN1bWFibHkgc2h1dCBkb3duCisgICAgICAgICAgICAgICAgIyB1bmV4cGVjdGVk
bHkKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJUZXN0IHJ1bm5lciBwcm9jZXNz
IHNodXQgZG93biIpCisKKyAgICAgICAgICAgICAgICBpZiBzZWxmLnN0YXRlLnRlc3QgaXMgbm90
IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICMgVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIHRl
c3QgcnVubmVyIGNyYXNoZWQgZm9yIHNvbWUgb3RoZXIKKyAgICAgICAgICAgICAgICAgICAgIyBy
ZWFzb24KKyAgICAgICAgICAgICAgICAgICAgIyBOZWVkIHRvIGNvbnNpZGVyIHRoZSB1bmxpa2Vs
eSBjYXNlIHdoZXJlIG9uZSB0ZXN0IGNhdXNlcyB0aGUKKyAgICAgICAgICAgICAgICAgICAgIyBy
dW5uZXIgcHJvY2VzcyB0byByZXBlYXRlZGx5IGRpZQorICAgICAgICAgICAgICAgICAgICBzZWxm
LmxvZ2dlci5jcml0aWNhbCgiTGFzdCB0ZXN0IGRpZCBub3QgY29tcGxldGUiKQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gUnVubmVyTWFuYWdlclN0YXRlLmVycm9yKCkKKyAgICAgICAgICAg
ICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKCJNb3JlIHRlc3RzIGZvdW5kLCBidXQgcnVubmVyIHBy
b2Nlc3MgZGllZCwgcmVzdGFydGluZyIpCisgICAgICAgICAgICAgICAgcmV0dXJuIFJ1bm5lck1h
bmFnZXJTdGF0ZS5yZXN0YXJ0aW5nKDApCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmID0g
KGRpc3BhdGNoLmdldChzZWxmLnN0YXRlLl9fY2xhc3NfXywge30pLmdldChjb21tYW5kKSBvcgor
ICAgICAgICAgICAgICAgICBkaXNwYXRjaC5nZXQoTm9uZSwge30pLmdldChjb21tYW5kKSkKKyAg
ICAgICAgICAgIGlmIG5vdCBmOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLndhcm5pbmco
IkdvdCBjb21tYW5kICVzIGluIHN0YXRlICVzIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoY29tbWFuZCwgc2VsZi5zdGF0ZS5fX2NsYXNzX18uX19uYW1lX18pKQorICAg
ICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgcmV0dXJuIGYoKmRhdGEpCisKKworICAg
IGRlZiBzaG91bGRfc3RvcChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuY2hpbGRfc3RvcF9m
bGFnLmlzX3NldCgpIG9yIHNlbGYucGFyZW50X3N0b3BfZmxhZy5pc19zZXQoKQorCisgICAgZGVm
IHN0YXJ0X2luaXQoc2VsZik6CisgICAgICAgIHRlc3QsIHRlc3RfcXVldWUgPSBzZWxmLmdldF9u
ZXh0X3Rlc3QoKQorICAgICAgICBpZiB0ZXN0IGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4g
UnVubmVyTWFuYWdlclN0YXRlLnN0b3AoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0
dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5pbml0YWxpemluZyh0ZXN0LCB0ZXN0X3F1ZXVlLCAwKQor
CisgICAgZGVmIGluaXQoc2VsZik6CisgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNlbGYuc3Rh
dGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5pbml0YWxpemluZykKKyAgICAgICAgaWYgc2VsZi5zdGF0
ZS5mYWlsdXJlX2NvdW50ID4gc2VsZi5tYXhfcmVzdGFydHM6CisgICAgICAgICAgICBzZWxmLmxv
Z2dlci5lcnJvcigiTWF4IHJlc3RhcnRzIGV4Y2VlZGVkIikKKyAgICAgICAgICAgIHJldHVybiBS
dW5uZXJNYW5hZ2VyU3RhdGUuZXJyb3IoKQorCisgICAgICAgIHJlc3VsdCA9IHNlbGYuYnJvd3Nl
ci5pbml0KCkKKyAgICAgICAgaWYgcmVzdWx0IGlzIFN0b3A6CisgICAgICAgICAgICByZXR1cm4g
UnVubmVyTWFuYWdlclN0YXRlLmVycm9yKCkKKyAgICAgICAgZWxpZiBub3QgcmVzdWx0OgorICAg
ICAgICAgICAgcmV0dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5pbml0YWxpemluZyhzZWxmLnN0YXRl
LnRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYuc3RhdGUudGVzdF9xdWV1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5zdGF0ZS5mYWlsdXJlX2NvdW50ICsgMSkKKyAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgIHNlbGYuc3RhcnRfdGVzdF9ydW5uZXIoKQorCisgICAgZGVmIHN0
YXJ0X3Rlc3RfcnVubmVyKHNlbGYpOgorICAgICAgICAjIE5vdGUgdGhhdCB3ZSBuZWVkIHRvIGJl
IGNhcmVmdWwgdG8gc3RhcnQgdGhlIGJyb3dzZXIgYmVmb3JlIHRoZQorICAgICAgICAjIHRlc3Qg
cnVubmVyIHRvIGVuc3VyZSB0aGF0IGFueSBzdGF0ZSBzZXQgd2hlbiB0aGUgYnJvd3NlciBpcyBz
dGFydGVkCisgICAgICAgICMgY2FuIGJlIHBhc3NlZCBpbiB0byB0aGUgdGVzdCBydW5uZXIuCisg
ICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNlbGYuc3RhdGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5p
bml0YWxpemluZykKKyAgICAgICAgYXNzZXJ0IHNlbGYuY29tbWFuZF9xdWV1ZSBpcyBub3QgTm9u
ZQorICAgICAgICBhc3NlcnQgc2VsZi5yZW1vdGVfcXVldWUgaXMgbm90IE5vbmUKKyAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygiU3RhcnRpbmcgcnVubmVyIikKKyAgICAgICAgZXhlY3V0b3JfYnJv
d3Nlcl9jbHMsIGV4ZWN1dG9yX2Jyb3dzZXJfa3dhcmdzID0gc2VsZi5icm93c2VyLmJyb3dzZXIu
ZXhlY3V0b3JfYnJvd3NlcigpCisKKyAgICAgICAgYXJncyA9IChzZWxmLnJlbW90ZV9xdWV1ZSwK
KyAgICAgICAgICAgICAgICBzZWxmLmNvbW1hbmRfcXVldWUsCisgICAgICAgICAgICAgICAgc2Vs
Zi5leGVjdXRvcl9jbHMsCisgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRvcl9rd2FyZ3MsCisg
ICAgICAgICAgICAgICAgZXhlY3V0b3JfYnJvd3Nlcl9jbHMsCisgICAgICAgICAgICAgICAgZXhl
Y3V0b3JfYnJvd3Nlcl9rd2FyZ3MsCisgICAgICAgICAgICAgICAgc2VsZi5jaGlsZF9zdG9wX2Zs
YWcpCisgICAgICAgIHNlbGYudGVzdF9ydW5uZXJfcHJvYyA9IFByb2Nlc3ModGFyZ2V0PXN0YXJ0
X3J1bm5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzPWFy
Z3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iVGhyZWFk
LVRlc3RSdW5uZXItJWkiICUgc2VsZi5tYW5hZ2VyX251bWJlcikKKyAgICAgICAgc2VsZi50ZXN0
X3J1bm5lcl9wcm9jLnN0YXJ0KCkKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlRlc3QgcnVu
bmVyIHN0YXJ0ZWQiKQorICAgICAgICAjIE5vdyB3ZSB3YWl0IGZvciBlaXRoZXIgYW4gaW5pdF9z
dWNjZWVkZWQgZXZlbnQgb3IgYW4gaW5pdF9mYWlsZWQgZXZlbnQKKworICAgIGRlZiBpbml0X3N1
Y2NlZWRlZChzZWxmKToKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uoc2VsZi5zdGF0ZSwgUnVu
bmVyTWFuYWdlclN0YXRlLmluaXRhbGl6aW5nKQorICAgICAgICBzZWxmLmJyb3dzZXIuYWZ0ZXJf
aW5pdCgpCisgICAgICAgIHJldHVybiBSdW5uZXJNYW5hZ2VyU3RhdGUucnVubmluZyhzZWxmLnN0
YXRlLnRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm
LnN0YXRlLnRlc3RfcXVldWUpCisKKyAgICBkZWYgaW5pdF9mYWlsZWQoc2VsZik6CisgICAgICAg
IGFzc2VydCBpc2luc3RhbmNlKHNlbGYuc3RhdGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5pbml0YWxp
emluZykKKyAgICAgICAgc2VsZi5icm93c2VyLmFmdGVyX2luaXQoKQorICAgICAgICBzZWxmLnN0
b3BfcnVubmVyKGZvcmNlPVRydWUpCisgICAgICAgIHJldHVybiBSdW5uZXJNYW5hZ2VyU3RhdGUu
aW5pdGFsaXppbmcoc2VsZi5zdGF0ZS50ZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUudGVzdF9xdWV1ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0YXRlLmZhaWx1cmVfY291bnQg
KyAxKQorCisgICAgZGVmIGdldF9uZXh0X3Rlc3Qoc2VsZiwgdGVzdF9xdWV1ZT1Ob25lKToKKyAg
ICAgICAgdGVzdCA9IE5vbmUKKyAgICAgICAgd2hpbGUgdGVzdCBpcyBOb25lOgorICAgICAgICAg
ICAgaWYgdGVzdF9xdWV1ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHRlc3RfcXVldWUgPSBz
ZWxmLnRlc3Rfc291cmNlLmdldF9xdWV1ZSgpCisgICAgICAgICAgICAgICAgaWYgdGVzdF9xdWV1
ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJObyBtb3Jl
IHRlc3RzIikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUsIE5vbmUKKyAgICAgICAg
ICAgIHRyeToKKyAgICAgICAgICAgICAgICAjIE5lZWQgdG8gYmxvY2sgaGVyZSBqdXN0IHRvIGFs
bG93IGZvciBjb250ZW50aW9uIHdpdGggb3RoZXIgcHJvY2Vzc2VzCisgICAgICAgICAgICAgICAg
dGVzdCA9IHRlc3RfcXVldWUuZ2V0KGJsb2NrPVRydWUsIHRpbWVvdXQ9MSkKKyAgICAgICAgICAg
IGV4Y2VwdCBFbXB0eToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIHJldHVybiB0ZXN0
LCB0ZXN0X3F1ZXVlCisKKyAgICBkZWYgcnVuX3Rlc3Qoc2VsZik6CisgICAgICAgIGFzc2VydCBp
c2luc3RhbmNlKHNlbGYuc3RhdGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5ydW5uaW5nKQorICAgICAg
ICBhc3NlcnQgc2VsZi5zdGF0ZS50ZXN0IGlzIG5vdCBOb25lCisKKyAgICAgICAgc2VsZi5sb2dn
ZXIudGVzdF9zdGFydChzZWxmLnN0YXRlLnRlc3QuaWQpCisgICAgICAgIHNlbGYuc2VuZF9tZXNz
YWdlKCJydW5fdGVzdCIsIHNlbGYuc3RhdGUudGVzdCkKKworICAgIGRlZiB0ZXN0X2VuZGVkKHNl
bGYsIHRlc3QsIHJlc3VsdHMpOgorICAgICAgICAiIiJIYW5kbGUgdGhlIGVuZCBvZiBhIHRlc3Qu
CisKKyAgICAgICAgT3V0cHV0IHRoZSByZXN1bHQgb2YgZWFjaCBzdWJ0ZXN0LCBhbmQgdGhlIHJl
c3VsdCBvZiB0aGUgb3ZlcmFsbAorICAgICAgICBoYXJuZXNzIHRvIHRoZSBsb2dzLgorICAgICAg
ICAiIiIKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uoc2VsZi5zdGF0ZSwgUnVubmVyTWFuYWdl
clN0YXRlLnJ1bm5pbmcpCisgICAgICAgIGFzc2VydCB0ZXN0ID09IHNlbGYuc3RhdGUudGVzdAor
ICAgICAgICAjIFdyaXRlIHRoZSByZXN1bHQgb2YgZWFjaCBzdWJ0ZXN0CisgICAgICAgIGZpbGVf
cmVzdWx0LCB0ZXN0X3Jlc3VsdHMgPSByZXN1bHRzCisgICAgICAgIHN1YnRlc3RfdW5leHBlY3Rl
ZCA9IEZhbHNlCisgICAgICAgIGZvciByZXN1bHQgaW4gdGVzdF9yZXN1bHRzOgorICAgICAgICAg
ICAgaWYgdGVzdC5kaXNhYmxlZChyZXN1bHQubmFtZSk6CisgICAgICAgICAgICAgICAgY29udGlu
dWUKKyAgICAgICAgICAgIGV4cGVjdGVkID0gdGVzdC5leHBlY3RlZChyZXN1bHQubmFtZSkKKyAg
ICAgICAgICAgIGlzX3VuZXhwZWN0ZWQgPSBleHBlY3RlZCAhPSByZXN1bHQuc3RhdHVzCisKKyAg
ICAgICAgICAgIGlmIGlzX3VuZXhwZWN0ZWQ6CisgICAgICAgICAgICAgICAgc2VsZi51bmV4cGVj
dGVkX2NvdW50ICs9IDEKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiVW5leHBl
Y3RlZCBjb3VudCBpbiB0aGlzIHRocmVhZCAlaSIgJSBzZWxmLnVuZXhwZWN0ZWRfY291bnQpCisg
ICAgICAgICAgICAgICAgc3VidGVzdF91bmV4cGVjdGVkID0gVHJ1ZQorICAgICAgICAgICAgc2Vs
Zi5sb2dnZXIudGVzdF9zdGF0dXModGVzdC5pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3VsdC5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVzdWx0LnN0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1l
c3NhZ2U9cmVzdWx0Lm1lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBleHBlY3RlZD1leHBlY3RlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YWNrPXJlc3VsdC5zdGFjaykKKworICAgICAgICAjIFRPRE86IGNvbnNpZGVyIGNoYW5naW5n
IHJlc3VsdCBpZiB0aGVyZSBpcyBhIGNyYXNoIGR1bXAgZmlsZQorCisgICAgICAgICMgV3JpdGUg
dGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBoYXJuZXNzCisgICAgICAgIGV4cGVjdGVkID0gdGVzdC5l
eHBlY3RlZCgpCisgICAgICAgIHN0YXR1cyA9IGZpbGVfcmVzdWx0LnN0YXR1cyBpZiBmaWxlX3Jl
c3VsdC5zdGF0dXMgIT0gIkVYVEVSTkFMLVRJTUVPVVQiIGVsc2UgIlRJTUVPVVQiCisgICAgICAg
IGlzX3VuZXhwZWN0ZWQgPSBleHBlY3RlZCAhPSBzdGF0dXMKKyAgICAgICAgaWYgaXNfdW5leHBl
Y3RlZDoKKyAgICAgICAgICAgIHNlbGYudW5leHBlY3RlZF9jb3VudCArPSAxCisgICAgICAgICAg
ICBzZWxmLmxvZ2dlci5kZWJ1ZygiVW5leHBlY3RlZCBjb3VudCBpbiB0aGlzIHRocmVhZCAlaSIg
JSBzZWxmLnVuZXhwZWN0ZWRfY291bnQpCisgICAgICAgIGlmIHN0YXR1cyA9PSAiQ1JBU0giOgor
ICAgICAgICAgICAgc2VsZi5icm93c2VyLmxvZ19jcmFzaCh0ZXN0LmlkKQorCisgICAgICAgIHNl
bGYubG9nZ2VyLnRlc3RfZW5kKHRlc3QuaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT1maWxlX3Jlc3Vs
dC5tZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZD1leHBlY3Rl
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmE9ZmlsZV9yZXN1bHQuZXh0cmEp
CisKKyAgICAgICAgcmVzdGFydF9iZWZvcmVfbmV4dCA9ICh0ZXN0LnJlc3RhcnRfYWZ0ZXIgb3IK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3Jlc3VsdC5zdGF0dXMgaW4gKCJD
UkFTSCIsICJFWFRFUk5BTC1USU1FT1VUIikgb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoKHN1YnRlc3RfdW5leHBlY3RlZCBvciBpc191bmV4cGVjdGVkKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhbmQgc2VsZi5yZXN0YXJ0X29uX3VuZXhwZWN0ZWQpKQorCisg
ICAgICAgIGlmIChzZWxmLnBhdXNlX2FmdGVyX3Rlc3Qgb3IKKyAgICAgICAgICAgIChzZWxmLnBh
dXNlX29uX3VuZXhwZWN0ZWQgYW5kIChzdWJ0ZXN0X3VuZXhwZWN0ZWQgb3IgaXNfdW5leHBlY3Rl
ZCkpKToKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oIlBhdXNpbmcgdW50aWwgdGhlIGJy
b3dzZXIgZXhpdHMiKQorICAgICAgICAgICAgc2VsZi5zZW5kX21lc3NhZ2UoIndhaXQiKQorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuYWZ0ZXJfdGVzdF9lbmQocmVzdGFy
dF9iZWZvcmVfbmV4dCkKKworICAgIGRlZiB3YWl0X2ZpbmlzaGVkKHNlbGYpOgorICAgICAgICBh
c3NlcnQgaXNpbnN0YW5jZShzZWxmLnN0YXRlLCBSdW5uZXJNYW5hZ2VyU3RhdGUucnVubmluZykK
KyAgICAgICAgIyBUaGUgYnJvd3NlciBzaG91bGQgYmUgc3RvcHBlZCBhbHJlYWR5LCBidXQgdGhp
cyBlbnN1cmVzIHdlIGRvIGFueSBwb3N0LXN0b3AKKyAgICAgICAgIyBwcm9jZXNzaW5nCisgICAg
ICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJXYWl0IGZpbmlzaGVkIikKKworICAgICAgICByZXR1cm4g
c2VsZi5hZnRlcl90ZXN0X2VuZChUcnVlKQorCisgICAgZGVmIGFmdGVyX3Rlc3RfZW5kKHNlbGYs
IHJlc3RhcnQpOgorICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzZWxmLnN0YXRlLCBSdW5uZXJN
YW5hZ2VyU3RhdGUucnVubmluZykKKyAgICAgICAgdGVzdCwgdGVzdF9xdWV1ZSA9IHNlbGYuZ2V0
X25leHRfdGVzdCgpCisgICAgICAgIGlmIHRlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVy
biBSdW5uZXJNYW5hZ2VyU3RhdGUuc3RvcCgpCisgICAgICAgIGlmIHRlc3RfcXVldWUgIT0gc2Vs
Zi5zdGF0ZS50ZXN0X3F1ZXVlOgorICAgICAgICAgICAgIyBXZSBhcmUgc3RhcnRpbmcgYSBuZXcg
Z3JvdXAgb2YgdGVzdHMsIHNvIGZvcmNlIGEgcmVzdGFydAorICAgICAgICAgICAgcmVzdGFydCA9
IFRydWUKKyAgICAgICAgaWYgcmVzdGFydDoKKyAgICAgICAgICAgIHJldHVybiBSdW5uZXJNYW5h
Z2VyU3RhdGUucmVzdGFydGluZyh0ZXN0LCB0ZXN0X3F1ZXVlKQorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgcmV0dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5ydW5uaW5nKHRlc3QsIHRlc3RfcXVl
dWUpCisKKyAgICBkZWYgcmVzdGFydF9ydW5uZXIoc2VsZik6CisgICAgICAgICIiIlN0b3AgYW5k
IHJlc3RhcnQgdGhlIFRlc3RSdW5uZXIiIiIKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uoc2Vs
Zi5zdGF0ZSwgUnVubmVyTWFuYWdlclN0YXRlLnJlc3RhcnRpbmcpCisgICAgICAgIHNlbGYuc3Rv
cF9ydW5uZXIoKQorICAgICAgICByZXR1cm4gUnVubmVyTWFuYWdlclN0YXRlLmluaXRhbGl6aW5n
KHNlbGYuc3RhdGUudGVzdCwgc2VsZi5zdGF0ZS50ZXN0X3F1ZXVlLCAwKQorCisgICAgZGVmIGxv
ZyhzZWxmLCBhY3Rpb24sIGt3YXJncyk6CisgICAgICAgIGdldGF0dHIoc2VsZi5sb2dnZXIsIGFj
dGlvbikoKiprd2FyZ3MpCisKKyAgICBkZWYgZXJyb3Ioc2VsZiwgbWVzc2FnZSk6CisgICAgICAg
IHNlbGYubG9nZ2VyLmVycm9yKG1lc3NhZ2UpCisgICAgICAgIHNlbGYucmVzdGFydF9ydW5uZXIo
KQorCisgICAgZGVmIHN0b3BfcnVubmVyKHNlbGYsIGZvcmNlPUZhbHNlKToKKyAgICAgICAgIiIi
U3RvcCB0aGUgVGVzdFJ1bm5lciBhbmQgdGhlIGJyb3dzZXIgYmluYXJ5LiIiIgorICAgICAgICBp
ZiBzZWxmLnRlc3RfcnVubmVyX3Byb2MgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybgorCisg
ICAgICAgIGlmIHNlbGYudGVzdF9ydW5uZXJfcHJvYy5pc19hbGl2ZSgpOgorICAgICAgICAgICAg
c2VsZi5zZW5kX21lc3NhZ2UoInN0b3AiKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxm
LmJyb3dzZXIuc3RvcChmb3JjZT1mb3JjZSkKKyAgICAgICAgICAgIHNlbGYuZW5zdXJlX3J1bm5l
cl9zdG9wcGVkKCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYuY2xlYW51cCgp
CisKKyAgICBkZWYgdGVhcmRvd24oc2VsZik6CisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJ0
ZWFyZG93biBpbiB0ZXN0cnVubmVybWFuYWdlciIpCisgICAgICAgIHNlbGYudGVzdF9ydW5uZXJf
cHJvYyA9IE5vbmUKKyAgICAgICAgc2VsZi5jb21tYW5kX3F1ZXVlLmNsb3NlKCkKKyAgICAgICAg
c2VsZi5yZW1vdGVfcXVldWUuY2xvc2UoKQorICAgICAgICBzZWxmLmNvbW1hbmRfcXVldWUgPSBO
b25lCisgICAgICAgIHNlbGYucmVtb3RlX3F1ZXVlID0gTm9uZQorCisgICAgZGVmIGVuc3VyZV9y
dW5uZXJfc3RvcHBlZChzZWxmKToKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoImVuc3VyZV9y
dW5uZXJfc3RvcHBlZCIpCisgICAgICAgIGlmIHNlbGYudGVzdF9ydW5uZXJfcHJvYyBpcyBOb25l
OgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIndhaXRp
bmcgZm9yIHJ1bm5lciBwcm9jZXNzIHRvIGVuZCIpCisgICAgICAgIHNlbGYudGVzdF9ydW5uZXJf
cHJvYy5qb2luKDEwKQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiQWZ0ZXIgam9pbiIpCisg
ICAgICAgIGlmIHNlbGYudGVzdF9ydW5uZXJfcHJvYy5pc19hbGl2ZSgpOgorICAgICAgICAgICAg
IyBUaGlzIG1pZ2h0IGxlYWsgYSBmaWxlIGhhbmRsZSBmcm9tIHRoZSBxdWV1ZQorICAgICAgICAg
ICAgc2VsZi5sb2dnZXIud2FybmluZygiRm9yY2libHkgdGVybWluYXRpbmcgcnVubmVyIHByb2Nl
c3MiKQorICAgICAgICAgICAgc2VsZi50ZXN0X3J1bm5lcl9wcm9jLnRlcm1pbmF0ZSgpCisgICAg
ICAgICAgICBzZWxmLnRlc3RfcnVubmVyX3Byb2Muam9pbigxMCkKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJUZXN0cnVubmVyIGV4aXRlZCB3aXRoIGNvZGUg
JWkiICUgc2VsZi50ZXN0X3J1bm5lcl9wcm9jLmV4aXRjb2RlKQorCisgICAgZGVmIHJ1bm5lcl90
ZWFyZG93bihzZWxmKToKKyAgICAgICAgc2VsZi5lbnN1cmVfcnVubmVyX3N0b3BwZWQoKQorICAg
ICAgICByZXR1cm4gUnVubmVyTWFuYWdlclN0YXRlLnN0b3AoKQorCisgICAgZGVmIHNlbmRfbWVz
c2FnZShzZWxmLCBjb21tYW5kLCAqYXJncyk6CisgICAgICAgIHNlbGYucmVtb3RlX3F1ZXVlLnB1
dCgoY29tbWFuZCwgYXJncykpCisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgc2Vs
Zi5sb2dnZXIuZGVidWcoIlRlc3RNYW5hZ2VyIGNsZWFudXAiKQorICAgICAgICBpZiBzZWxmLmJy
b3dzZXI6CisgICAgICAgICAgICBzZWxmLmJyb3dzZXIuY2xlYW51cCgpCisgICAgICAgIHdoaWxl
IFRydWU6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIud2Fy
bmluZygiICIuam9pbihtYXAocmVwciwgc2VsZi5jb21tYW5kX3F1ZXVlLmdldF9ub3dhaXQoKSkp
KQorICAgICAgICAgICAgZXhjZXB0IEVtcHR5OgorICAgICAgICAgICAgICAgIGJyZWFrCisKK2Ns
YXNzIFRlc3RRdWV1ZShvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0X3NvdXJj
ZV9jbHMsIHRlc3RfdHlwZSwgdGVzdHMsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5xdWV1ZSA9
IE5vbmUKKyAgICAgICAgc2VsZi50ZXN0X3NvdXJjZV9jbHMgPSB0ZXN0X3NvdXJjZV9jbHMKKyAg
ICAgICAgc2VsZi50ZXN0X3R5cGUgPSB0ZXN0X3R5cGUKKyAgICAgICAgc2VsZi50ZXN0cyA9IHRl
c3RzCisgICAgICAgIHNlbGYua3dhcmdzID0ga3dhcmdzCisKKyAgICBkZWYgX19lbnRlcl9fKHNl
bGYpOgorICAgICAgICBpZiBub3Qgc2VsZi50ZXN0c1tzZWxmLnRlc3RfdHlwZV06CisgICAgICAg
ICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIHNlbGYucXVldWUgPSBRdWV1ZSgpCisgICAgICAg
IGhhc190ZXN0cyA9IHNlbGYudGVzdF9zb3VyY2VfY2xzLnF1ZXVlX3Rlc3RzKHNlbGYucXVldWUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
bGYudGVzdF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLnRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAqKnNlbGYua3dhcmdzKQorICAgICAgICAjIFRoZXJlIGlzIGEg
cmFjZSBjb25kaXRpb24gdGhhdCBtZWFucyBzb21ldGltZXMgd2UgY29udGludWUKKyAgICAgICAg
IyBiZWZvcmUgdGhlIHRlc3RzIGhhdmUgYmVlbiB3cml0dGVuIHRvIHRoZSB1bmRlcmx5aW5nIHBp
cGUuCisgICAgICAgICMgUG9sbGluZyB0aGUgcGlwZSBmb3IgZGF0YSBoZXJlIGF2b2lkcyB0aGF0
CisgICAgICAgIHNlbGYucXVldWUuX3JlYWRlci5wb2xsKDEwKQorICAgICAgICBhc3NlcnQgbm90
IHNlbGYucXVldWUuZW1wdHkoKQorICAgICAgICByZXR1cm4gc2VsZi5xdWV1ZQorCisgICAgZGVm
IF9fZXhpdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIGlmIHNlbGYucXVldWUg
aXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLnF1ZXVlLmNsb3NlKCkKKyAgICAgICAgICAg
IHNlbGYucXVldWUgPSBOb25lCisKKworY2xhc3MgTWFuYWdlckdyb3VwKG9iamVjdCk6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHN1aXRlX25hbWUsIHNpemUsIHRlc3Rfc291cmNlX2NscywgdGVz
dF9zb3VyY2Vfa3dhcmdzLAorICAgICAgICAgICAgICAgICBicm93c2VyX2NscywgYnJvd3Nlcl9r
d2FyZ3MsCisgICAgICAgICAgICAgICAgIGV4ZWN1dG9yX2NscywgZXhlY3V0b3Jfa3dhcmdzLAor
ICAgICAgICAgICAgICAgICBwYXVzZV9hZnRlcl90ZXN0PUZhbHNlLAorICAgICAgICAgICAgICAg
ICBwYXVzZV9vbl91bmV4cGVjdGVkPUZhbHNlLAorICAgICAgICAgICAgICAgICByZXN0YXJ0X29u
X3VuZXhwZWN0ZWQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1Ob25lKToKKyAg
ICAgICAgIiIiTWFpbiB0aHJlYWQgb2JqZWN0IHRoYXQgb3ducyBhbGwgdGhlIFRlc3RNYW5hZ2Vy
IHRocmVhZHMuIiIiCisgICAgICAgIHNlbGYuc3VpdGVfbmFtZSA9IHN1aXRlX25hbWUKKyAgICAg
ICAgc2VsZi5zaXplID0gc2l6ZQorICAgICAgICBzZWxmLnRlc3Rfc291cmNlX2NscyA9IHRlc3Rf
c291cmNlX2NscworICAgICAgICBzZWxmLnRlc3Rfc291cmNlX2t3YXJncyA9IHRlc3Rfc291cmNl
X2t3YXJncworICAgICAgICBzZWxmLmJyb3dzZXJfY2xzID0gYnJvd3Nlcl9jbHMKKyAgICAgICAg
c2VsZi5icm93c2VyX2t3YXJncyA9IGJyb3dzZXJfa3dhcmdzCisgICAgICAgIHNlbGYuZXhlY3V0
b3JfY2xzID0gZXhlY3V0b3JfY2xzCisgICAgICAgIHNlbGYuZXhlY3V0b3Jfa3dhcmdzID0gZXhl
Y3V0b3Jfa3dhcmdzCisgICAgICAgIHNlbGYucGF1c2VfYWZ0ZXJfdGVzdCA9IHBhdXNlX2FmdGVy
X3Rlc3QKKyAgICAgICAgc2VsZi5wYXVzZV9vbl91bmV4cGVjdGVkID0gcGF1c2Vfb25fdW5leHBl
Y3RlZAorICAgICAgICBzZWxmLnJlc3RhcnRfb25fdW5leHBlY3RlZCA9IHJlc3RhcnRfb25fdW5l
eHBlY3RlZAorICAgICAgICBzZWxmLmRlYnVnX2luZm8gPSBkZWJ1Z19pbmZvCisKKyAgICAgICAg
c2VsZi5wb29sID0gc2V0KCkKKyAgICAgICAgIyBFdmVudCB0aGF0IGlzIHBvbGxlZCBieSB0aHJl
YWRzIHNvIHRoYXQgdGhleSBjYW4gZ3JhY2VmdWxseSBleGl0IGluIHRoZSBmYWNlCisgICAgICAg
ICMgb2Ygc2lnaW50CisgICAgICAgIHNlbGYuc3RvcF9mbGFnID0gdGhyZWFkaW5nLkV2ZW50KCkK
KyAgICAgICAgc2VsZi5sb2dnZXIgPSBzdHJ1Y3R1cmVkbG9nLlN0cnVjdHVyZWRMb2dnZXIoc3Vp
dGVfbmFtZSkKKyAgICAgICAgc2VsZi50ZXN0X3F1ZXVlID0gTm9uZQorCisgICAgZGVmIF9fZW50
ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiBfX2V4aXRfXyhzZWxm
LCBleGNfdHlwZSwgZXhjX3ZhbCwgZXhjX3RiKToKKyAgICAgICAgc2VsZi5zdG9wKCkKKworICAg
IGRlZiBydW4oc2VsZiwgdGVzdF90eXBlLCB0ZXN0cyk6CisgICAgICAgICIiIlN0YXJ0IGFsbCBt
YW5hZ2VycyBpbiB0aGUgZ3JvdXAiIiIKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlVzaW5n
ICVpIHByb2Nlc3NlcyIgJSBzZWxmLnNpemUpCisKKyAgICAgICAgc2VsZi50ZXN0X3F1ZXVlID0g
VGVzdFF1ZXVlKHNlbGYudGVzdF9zb3VyY2VfY2xzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKnNlbGYudGVz
dF9zb3VyY2Vfa3dhcmdzKQorICAgICAgICB3aXRoIHNlbGYudGVzdF9xdWV1ZSBhcyB0ZXN0X3F1
ZXVlOgorICAgICAgICAgICAgaWYgdGVzdF9xdWV1ZSBpcyBOb25lOgorICAgICAgICAgICAgICAg
IHNlbGYubG9nZ2VyLmluZm8oIk5vICVzIHRlc3RzIHRvIHJ1biIgJSB0ZXN0X3R5cGUpCisgICAg
ICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBmb3IgXyBpbiByYW5nZShzZWxmLnNpemUp
OgorICAgICAgICAgICAgICAgIG1hbmFnZXIgPSBUZXN0UnVubmVyTWFuYWdlcihzZWxmLnN1aXRl
X25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rf
cXVldWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
dGVzdF9zb3VyY2VfY2xzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxmLmJyb3dzZXJfY2xzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLmJyb3dzZXJfa3dhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yX2NscywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRvcl9rd2FyZ3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RvcF9mbGFnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnBhdXNlX2FmdGVy
X3Rlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
cGF1c2Vfb25fdW5leHBlY3RlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5yZXN0YXJ0X29uX3VuZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGVidWdfaW5mbykKKyAgICAgICAgICAgICAg
ICBtYW5hZ2VyLnN0YXJ0KCkKKyAgICAgICAgICAgICAgICBzZWxmLnBvb2wuYWRkKG1hbmFnZXIp
CisgICAgICAgICAgICBzZWxmLndhaXQoKQorCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAg
ICAgICAiIiJCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciBhbnkgbWFuYWdlciBpbiB0aGUgZ3Jv
dXAgaXMgc3RpbGwgYWxpdmUiIiIKKyAgICAgICAgcmV0dXJuIGFueShtYW5hZ2VyLmlzX2FsaXZl
KCkgZm9yIG1hbmFnZXIgaW4gc2VsZi5wb29sKQorCisgICAgZGVmIHdhaXQoc2VsZik6CisgICAg
ICAgICIiIldhaXQgZm9yIGFsbCB0aGUgbWFuYWdlcnMgaW4gdGhlIGdyb3VwIHRvIGZpbmlzaCIi
IgorICAgICAgICBmb3IgaXRlbSBpbiBzZWxmLnBvb2w6CisgICAgICAgICAgICBpdGVtLmpvaW4o
KQorCisgICAgZGVmIHN0b3Aoc2VsZik6CisgICAgICAgICIiIlNldCB0aGUgc3RvcCBmbGFnIHNv
IHRoYXQgYWxsIG1hbmFnZXJzIGluIHRoZSBncm91cCBzdG9wIGFzIHNvb24KKyAgICAgICAgYXMg
cG9zc2libGUiIiIKKyAgICAgICAgc2VsZi5zdG9wX2ZsYWcuc2V0KCkKKyAgICAgICAgc2VsZi5s
b2dnZXIuZGVidWcoIlN0b3AgZmxhZyBzZXQgaW4gTWFuYWdlckdyb3VwIikKKworICAgIGRlZiB1
bmV4cGVjdGVkX2NvdW50KHNlbGYpOgorICAgICAgICByZXR1cm4gc3VtKGl0ZW0udW5leHBlY3Rl
ZF9jb3VudCBmb3IgaXRlbSBpbiBzZWxmLnBvb2wpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
dGVzdHMvX19pbml0X18ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvX19pbml0X18ucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTY4MzRiODI4NWE1NmJlZjBlMTU0M2ZkOTAxYzdlNmYyZjhiYzIwMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy9fX2luaXRfXy5weQpAQCAtMCwwICsxIEBACisj
IFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVjdG9y
eSBmb3IgbW9kdWxlcy4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvdGVzdHMvdGVzdF9jaHVua2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rl
c3RfY2h1bmtlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTY4OTQwZmViOGI1YWEwMzQ0YWEyNzY1YWQ1ZWZi
OTEwNDhhNmZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfY2h1
bmtlci5weQpAQCAtMCwwICsxLDg5IEBACitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCBzeXMKK2Zy
b20gb3MucGF0aCBpbXBvcnQgam9pbiwgZGlybmFtZQorZnJvbSBtb3psb2cgaW1wb3J0IHN0cnVj
dHVyZWQKKworaW1wb3J0IHB5dGVzdAorCitzeXMucGF0aC5pbnNlcnQoMCwgam9pbihkaXJuYW1l
KF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCisKK2Zyb20gd3B0cnVubmVyLnRlc3Rsb2FkZXIgaW1w
b3J0IEVxdWFsVGltZUNodW5rZXIKKworc3RydWN0dXJlZC5zZXRfZGVmYXVsdF9sb2dnZXIoc3Ry
dWN0dXJlZC5zdHJ1Y3R1cmVkbG9nLlN0cnVjdHVyZWRMb2dnZXIoIlRlc3RDaHVua2VyIikpCisK
K2NsYXNzIE1vY2tUZXN0KG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGlkLCB0aW1l
b3V0PTEwKToKKyAgICAgICAgc2VsZi5pZCA9IGlkCisgICAgICAgIHNlbGYuaXRlbV90eXBlID0g
InRlc3RoYXJuZXNzIgorICAgICAgICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CisKKworZGVmIG1h
a2VfbW9ja19tYW5pZmVzdCgqaXRlbXMpOgorICAgIHJ2ID0gW10KKyAgICBmb3IgdGVzdF90eXBl
LCBkaXJfcGF0aCwgbnVtX3Rlc3RzIGluIGl0ZW1zOgorICAgICAgICBmb3IgaSBpbiByYW5nZShu
dW1fdGVzdHMpOgorICAgICAgICAgICAgcnYuYXBwZW5kKCh0ZXN0X3R5cGUsCisgICAgICAgICAg
ICAgICAgICAgICAgIGRpcl9wYXRoICsgIi8laS50ZXN0IiAlIGksCisgICAgICAgICAgICAgICAg
ICAgICAgIHNldChbTW9ja1Rlc3QoaSldKSkpCisgICAgcmV0dXJuIHJ2CisKKworY2xhc3MgVGVz
dEVxdWFsVGltZUNodW5rZXIodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfaW5j
bHVkZV9hbGwoc2VsZik6CisgICAgICAgIHRlc3RzID0gbWFrZV9tb2NrX21hbmlmZXN0KCgidGVz
dCIsICJhIiwgMTApLCAoInRlc3QiLCAiYS9iIiwgMTApLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoInRlc3QiLCAiYyIsIDEwKSkKKworICAgICAgICBjaHVua18xID0gbGlz
dChFcXVhbFRpbWVDaHVua2VyKDMsIDEpKHRlc3RzKSkKKyAgICAgICAgY2h1bmtfMiA9IGxpc3Qo
RXF1YWxUaW1lQ2h1bmtlcigzLCAyKSh0ZXN0cykpCisgICAgICAgIGNodW5rXzMgPSBsaXN0KEVx
dWFsVGltZUNodW5rZXIoMywgMykodGVzdHMpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KHRlc3RzWzoxMF0sIGNodW5rXzEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHRlc3RzWzEw
OjIwXSwgY2h1bmtfMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNbMjA6XSwgY2h1
bmtfMykKKworICAgIGRlZiB0ZXN0X2luY2x1ZGVfYWxsXzEoc2VsZik6CisgICAgICAgIHRlc3Rz
ID0gbWFrZV9tb2NrX21hbmlmZXN0KCgidGVzdCIsICJhIiwgNSksICgidGVzdCIsICJhL2IiLCA1
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0IiwgImMiLCAxMCks
ICgidGVzdCIsICJkIiwgMTApKQorCisgICAgICAgIGNodW5rXzEgPSBsaXN0KEVxdWFsVGltZUNo
dW5rZXIoMywgMSkodGVzdHMpKQorICAgICAgICBjaHVua18yID0gbGlzdChFcXVhbFRpbWVDaHVu
a2VyKDMsIDIpKHRlc3RzKSkKKyAgICAgICAgY2h1bmtfMyA9IGxpc3QoRXF1YWxUaW1lQ2h1bmtl
cigzLCAzKSh0ZXN0cykpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNbOjEwXSwg
Y2h1bmtfMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNbMTA6MjBdLCBjaHVua18y
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyh0ZXN0c1syMDpdLCBjaHVua18zKQorCisgICAg
ZGVmIHRlc3RfbG9uZyhzZWxmKToKKyAgICAgICAgdGVzdHMgPSBtYWtlX21vY2tfbWFuaWZlc3Qo
KCJ0ZXN0IiwgImEiLCAxMDApLCAoInRlc3QiLCAiYS9iIiwgMSksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICgidGVzdCIsICJjIiwgMSkpCisKKyAgICAgICAgY2h1bmtfMSA9
IGxpc3QoRXF1YWxUaW1lQ2h1bmtlcigzLCAxKSh0ZXN0cykpCisgICAgICAgIGNodW5rXzIgPSBs
aXN0KEVxdWFsVGltZUNodW5rZXIoMywgMikodGVzdHMpKQorICAgICAgICBjaHVua18zID0gbGlz
dChFcXVhbFRpbWVDaHVua2VyKDMsIDMpKHRlc3RzKSkKKworICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyh0ZXN0c1s6MTAwXSwgY2h1bmtfMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVz
dHNbMTAwOjEwMV0sIGNodW5rXzIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHRlc3RzWzEw
MToxMDJdLCBjaHVua18zKQorCisgICAgZGVmIHRlc3RfbG9uZ18xKHNlbGYpOgorICAgICAgICB0
ZXN0cyA9IG1ha2VfbW9ja19tYW5pZmVzdCgoInRlc3QiLCAiYSIsIDEpLCAoInRlc3QiLCAiYS9i
IiwgMTAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0IiwgImMi
LCAxKSkKKworICAgICAgICBjaHVua18xID0gbGlzdChFcXVhbFRpbWVDaHVua2VyKDMsIDEpKHRl
c3RzKSkKKyAgICAgICAgY2h1bmtfMiA9IGxpc3QoRXF1YWxUaW1lQ2h1bmtlcigzLCAyKSh0ZXN0
cykpCisgICAgICAgIGNodW5rXzMgPSBsaXN0KEVxdWFsVGltZUNodW5rZXIoMywgMykodGVzdHMp
KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHRlc3RzWzoxXSwgY2h1bmtfMSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNbMToxMDFdLCBjaHVua18yKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyh0ZXN0c1sxMDE6MTAyXSwgY2h1bmtfMykKKworICAgIGRlZiB0ZXN0X3Rv
b19mZXdfZGlycyhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVy
cm9yKToKKyAgICAgICAgICAgIHRlc3RzID0gbWFrZV9tb2NrX21hbmlmZXN0KCgidGVzdCIsICJh
IiwgMSksICgidGVzdCIsICJhL2IiLCAxMDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKCJ0ZXN0IiwgImMiLCAxKSkKKyAgICAgICAgICAgIGxpc3QoRXF1YWxUaW1l
Q2h1bmtlcig0LCAxKSh0ZXN0cykpCisKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAg
ICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X2hv
c3RzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfaG9zdHMucHkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODA4
YjgxNjA2YWViNTFlMDM1NDkzMjYwZTVjZjQ3ZTQ2NDg5YTc3NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X2hvc3RzLnB5CkBAIC0wLDAgKzEsNTYgQEAKK2ltcG9y
dCB1bml0dGVzdAoraW1wb3J0IHN5cworZnJvbSBvcy5wYXRoIGltcG9ydCBqb2luLCBkaXJuYW1l
Citmcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KKworc3lzLnBhdGguaW5zZXJ0KDAsIGpv
aW4oZGlybmFtZShfX2ZpbGVfXyksICIuLiIsICIuLiIpKQorCitmcm9tIHdwdHJ1bm5lciBpbXBv
cnQgaG9zdHMKKworCitjbGFzcyBIb3N0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRl
ZiBkb190ZXN0KHNlbGYsIGlucHV0LCBleHBlY3RlZCk6CisgICAgICAgIGhvc3RfZmlsZSA9IGhv
c3RzLkhvc3RzRmlsZS5mcm9tX2ZpbGUoU3RyaW5nSU8oaW5wdXQpKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhob3N0X2ZpbGUudG9fc3RyaW5nKCksIGV4cGVjdGVkKQorCisgICAgZGVmIHRl
c3Rfc2ltcGxlKHNlbGYpOgorICAgICAgICBzZWxmLmRvX3Rlc3QoIiIiMTI3LjAuMC4xICAgIFx0
bG9jYWxob3N0ICBhbGlhcyAjIGNvbW1lbnQKKyMgQW5vdGhlciBjb21tZW50IiIiLAorICAgICAg
ICAgICAgICAgICAgICAgIiIiMTI3LjAuMC4xIGxvY2FsaG9zdCBhbGlhcyAjIGNvbW1lbnQKKyMg
QW5vdGhlciBjb21tZW50CisiIiIpCisKKyAgICBkZWYgdGVzdF9ibGFua19saW5lcyhzZWxmKToK
KyAgICAgICAgc2VsZi5kb190ZXN0KCIiIjEyNy4wLjAuMSAgICBcdGxvY2FsaG9zdCAgYWxpYXMg
IyBjb21tZW50CisKK1xyCisgICAgXHQKKyMgQW5vdGhlciBjb21tZW50IiIiLAorICAgICAgICAg
ICAgICAgICAgICAgIiIiMTI3LjAuMC4xIGxvY2FsaG9zdCBhbGlhcyAjIGNvbW1lbnQKKyMgQW5v
dGhlciBjb21tZW50CisiIiIpCisKKyAgICBkZWYgdGVzdF93aGl0ZXNwYWNlKHNlbGYpOgorICAg
ICAgICBzZWxmLmRvX3Rlc3QoIiIiICAgIFx0MTI3LjAuMC4xICAgIFx0bG9jYWxob3N0ICBhbGlh
cyAjIGNvbW1lbnQgICAgIFxyCisgICAgXHQjIEFub3RoZXIgY29tbWVudCIiIiwKKyAgICAgICAg
ICAgICAgICAgICAgICIiIjEyNy4wLjAuMSBsb2NhbGhvc3QgYWxpYXMgIyBjb21tZW50CisjIEFu
b3RoZXIgY29tbWVudAorIiIiKQorCisgICAgZGVmIHRlc3RfYWxpZ25tZW50KHNlbGYpOgorICAg
ICAgICBzZWxmLmRvX3Rlc3QoIiIiMTI3LjAuMC4xICAgIFx0bG9jYWxob3N0ICBhbGlhcworMTky
LjE2OC4xLjEgYW5vdGhlcl9ob3N0ICAgIGFub3RoZXJfYWxpYXMKKyIiIiwiIiIxMjcuMC4wLjEg
ICBsb2NhbGhvc3QgICAgYWxpYXMKKzE5Mi4xNjguMS4xIGFub3RoZXJfaG9zdCBhbm90aGVyX2Fs
aWFzCisiIiIKKykKKworICAgIGRlZiB0ZXN0X211bHRpcGxlX3NhbWVfbmFtZShzZWxmKToKKyAg
ICAgICAgIyBUaGUgc2VtYW50aWNzIGFyZSB0aGF0IHdlIG92ZXJ3cml0ZSBlYXJsaWVyIGVudHJp
ZXMgd2l0aCB0aGUgc2FtZSBuYW1lCisgICAgICAgIHNlbGYuZG9fdGVzdCgiIiIxMjcuMC4wLjEg
ICAgXHRsb2NhbGhvc3QgIGFsaWFzCisxOTIuMTY4LjEuMSBsb2NhbGhvc3QgICAgYW5vdGhlcl9h
bGlhcyIiIiwiIiIxOTIuMTY4LjEuMSBsb2NhbGhvc3QgYW5vdGhlcl9hbGlhcworIiIiCispCisK
K2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF90ZXN0bG9hZGVyLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3Rlc3RzL3Rlc3RfdGVzdGxvYWRlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZDk2N2IwNTFmZGFkODYwZWY3
OTIxNzZhZmI2YzhkYTA3YmNhMTNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rl
c3RzL3Rlc3RfdGVzdGxvYWRlci5weQpAQCAtMCwwICsxLDI5IEBACitmcm9tIF9fZnV0dXJlX18g
aW1wb3J0IHVuaWNvZGVfbGl0ZXJhbHMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQg
dGVtcGZpbGUKKworc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5h
bWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKKworZnJvbSBtb3psb2cgaW1wb3J0IHN0cnVjdHVy
ZWQKK2Zyb20gd3B0cnVubmVyLnRlc3Rsb2FkZXIgaW1wb3J0IFRlc3RGaWx0ZXIgYXMgRmlsdGVy
Citmcm9tIC50ZXN0X2NodW5rZXIgaW1wb3J0IG1ha2VfbW9ja19tYW5pZmVzdAorCitzdHJ1Y3R1
cmVkLnNldF9kZWZhdWx0X2xvZ2dlcihzdHJ1Y3R1cmVkLnN0cnVjdHVyZWRsb2cuU3RydWN0dXJl
ZExvZ2dlcigiVGVzdExvYWRlciIpKQorCitpbmNsdWRlX2luaSA9ICIiIlwKK3NraXA6IHRydWUK
K1t0ZXN0X1x1NTNGMF0KKyAgc2tpcDogZmFsc2UKKyIiIgorCitkZWYgdGVzdF9maWx0ZXJfdW5p
Y29kZSgpOgorICAgIHRlc3RzID0gbWFrZV9tb2NrX21hbmlmZXN0KCgidGVzdCIsICJhIiwgMTAp
LCAoInRlc3QiLCAiYS9iIiwgMTApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgi
dGVzdCIsICJjIiwgMTApKQorCisgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUo
IndiIiwgc3VmZml4PSIuaW5pIikgYXMgZjoKKyAgICAgICAgZi53cml0ZShpbmNsdWRlX2luaS5l
bmNvZGUoJ3V0Zi04JykpCisgICAgICAgIGYuZmx1c2goKQorCisgICAgICAgIEZpbHRlcihtYW5p
ZmVzdF9wYXRoPWYubmFtZSwgdGVzdF9tYW5pZmVzdHM9dGVzdHMpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvdGVzdHMvdGVzdF91cGRhdGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF91
cGRhdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTVlYjRjZjQ5YzdmYTljMzFkNmM0NmRjMWQ1MjAxZDIxZWVj
MTBmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X3VwZGF0ZS5w
eQpAQCAtMCwwICsxLDMyOCBAQAoraW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgU3RyaW5nSU8KKwor
aW1wb3J0IHB5dGVzdAorCitmcm9tIC4uIGltcG9ydCBtZXRhZGF0YSwgbWFuaWZlc3R1cGRhdGUK
K2Zyb20gbW96bG9nIGltcG9ydCBzdHJ1Y3R1cmVkbG9nLCBoYW5kbGVycywgZm9ybWF0dGVycwor
CisKK2NsYXNzIFRlc3RFeHBlY3RlZFVwZGF0ZXIodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRl
ZiBjcmVhdGVfbWFuaWZlc3Qoc2VsZiwgZGF0YSwgdGVzdF9wYXRoPSJwYXRoL3RvL3Rlc3QuaW5p
Iik6CisgICAgICAgIGYgPSBTdHJpbmdJTy5TdHJpbmdJTyhkYXRhKQorICAgICAgICByZXR1cm4g
bWFuaWZlc3R1cGRhdGUuY29tcGlsZShmLCB0ZXN0X3BhdGgpCisKKyAgICBkZWYgY3JlYXRlX3Vw
ZGF0ZXIoc2VsZiwgZGF0YSwgKiprd2FyZ3MpOgorICAgICAgICBleHBlY3RlZF90cmVlID0ge30K
KyAgICAgICAgaWRfcGF0aF9tYXAgPSB7fQorICAgICAgICBmb3IgdGVzdF9wYXRoLCB0ZXN0X2lk
cywgbWFuaWZlc3Rfc3RyIGluIGRhdGE6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHRlc3Rf
aWRzLCAoc3RyLCB1bmljb2RlKSk6CisgICAgICAgICAgICAgICAgdGVzdF9pZHMgPSBbdGVzdF9p
ZHNdCisgICAgICAgICAgICBleHBlY3RlZF90cmVlW3Rlc3RfcGF0aF0gPSBzZWxmLmNyZWF0ZV9t
YW5pZmVzdChtYW5pZmVzdF9zdHIsIHRlc3RfcGF0aCkKKyAgICAgICAgICAgIGZvciB0ZXN0X2lk
IGluIHRlc3RfaWRzOgorICAgICAgICAgICAgICAgIGlkX3BhdGhfbWFwW3Rlc3RfaWRdID0gdGVz
dF9wYXRoCisKKyAgICAgICAgcmV0dXJuIG1ldGFkYXRhLkV4cGVjdGVkVXBkYXRlcihleHBlY3Rl
ZF90cmVlLCBpZF9wYXRoX21hcCwgKiprd2FyZ3MpCisKKyAgICBkZWYgY3JlYXRlX2xvZyhzZWxm
LCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBsb2dnZXIgPSBzdHJ1Y3R1cmVkbG9nLlN0cnVj
dHVyZWRMb2dnZXIoImV4cGVjdGVkX3Rlc3QiKQorICAgICAgICBkYXRhID0gU3RyaW5nSU8uU3Ry
aW5nSU8oKQorICAgICAgICBoYW5kbGVyID0gaGFuZGxlcnMuU3RyZWFtSGFuZGxlcihkYXRhLCBm
b3JtYXR0ZXJzLkpTT05Gb3JtYXR0ZXIoKSkKKyAgICAgICAgbG9nZ2VyLmFkZF9oYW5kbGVyKGhh
bmRsZXIpCisKKyAgICAgICAgbG9nX2VudHJpZXMgPSAoWygic3VpdGVfc3RhcnQiLCB7InRlc3Rz
IjogW10sICJydW5faW5mbyI6IGt3YXJncy5nZXQoInJ1bl9pbmZvIiwge30pfSldICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgbGlzdChhcmdzKSArCisgICAgICAgICAgICAgICAgICAgICAgIFso
InN1aXRlX2VuZCIsIHt9KV0pCisKKyAgICAgICAgZm9yIGl0ZW0gaW4gbG9nX2VudHJpZXM6Cisg
ICAgICAgICAgICBhY3Rpb24sIGt3YXJncyA9IGl0ZW0KKyAgICAgICAgICAgIGdldGF0dHIobG9n
Z2VyLCBhY3Rpb24pKCoqa3dhcmdzKQorICAgICAgICBsb2dnZXIucmVtb3ZlX2hhbmRsZXIoaGFu
ZGxlcikKKyAgICAgICAgZGF0YS5zZWVrKDApCisgICAgICAgIHJldHVybiBkYXRhCisKKworICAg
IGRlZiBjb2FsZXNjZV9yZXN1bHRzKHNlbGYsIHRyZWVzKToKKyAgICAgICAgZm9yIHRyZWUgaW4g
dHJlZXM6CisgICAgICAgICAgICBmb3IgdGVzdCBpbiB0cmVlLml0ZXJjaGlsZHJlbigpOgorICAg
ICAgICAgICAgICAgIGZvciBzdWJ0ZXN0IGluIHRlc3QuaXRlcmNoaWxkcmVuKCk6CisgICAgICAg
ICAgICAgICAgICAgIHN1YnRlc3QuY29hbGVzY2VfZXhwZWN0ZWQoKQorICAgICAgICAgICAgICAg
IHRlc3QuY29hbGVzY2VfZXhwZWN0ZWQoKQorCisgICAgQHB5dGVzdC5tYXJrLnhmYWlsCisgICAg
ZGVmIHRlc3RfdXBkYXRlXzAoc2VsZik6CisgICAgICAgIHByZXZfZGF0YSA9IFsoInBhdGgvdG8v
dGVzdC5odG0uaW5pIiwgWyIvcGF0aC90by90ZXN0Lmh0bSJdLCAiIiJbdGVzdC5odG1dCisgIHR5
cGU6IHRlc3RoYXJuZXNzCisgIFt0ZXN0MV0KKyAgICBleHBlY3RlZDogRkFJTCIiIildCisKKyAg
ICAgICAgbmV3X2RhdGEgPSBzZWxmLmNyZWF0ZV9sb2coKCJ0ZXN0X3N0YXJ0IiwgeyJ0ZXN0Ijog
Ii9wYXRoL3RvL3Rlc3QuaHRtIn0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogIi9wYXRoL3RvL3Rlc3QuaHRtIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0
ZXN0MSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInN0YXR1cyI6ICJQQVNTIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiRkFJTCJ9KSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKCJ0ZXN0X2VuZCIsIHsidGVzdCI6ICIvcGF0aC90by90ZXN0Lmh0
bSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0
YXR1cyI6ICJPSyJ9KSkKKyAgICAgICAgdXBkYXRlciA9IHNlbGYuY3JlYXRlX3VwZGF0ZXIocHJl
dl9kYXRhKQorICAgICAgICB1cGRhdGVyLnVwZGF0ZV9mcm9tX2xvZyhuZXdfZGF0YSkKKworICAg
ICAgICBuZXdfbWFuaWZlc3QgPSB1cGRhdGVyLmV4cGVjdGVkX3RyZWVbInBhdGgvdG8vdGVzdC5o
dG0uaW5pIl0KKyAgICAgICAgc2VsZi5jb2FsZXNjZV9yZXN1bHRzKFtuZXdfbWFuaWZlc3RdKQor
ICAgICAgICBzZWxmLmFzc2VydFRydWUobmV3X21hbmlmZXN0LmlzX2VtcHR5KQorCisgICAgQHB5
dGVzdC5tYXJrLnhmYWlsCisgICAgZGVmIHRlc3RfdXBkYXRlXzEoc2VsZik6CisgICAgICAgIHRl
c3RfaWQgPSAiL3BhdGgvdG8vdGVzdC5odG0iCisgICAgICAgIHByZXZfZGF0YSA9IFsoInBhdGgv
dG8vdGVzdC5odG0uaW5pIiwgW3Rlc3RfaWRdLCAiIiJbdGVzdC5odG1dCisgIHR5cGU6IHRlc3Ro
YXJuZXNzCisgIFt0ZXN0MV0KKyAgICBleHBlY3RlZDogRVJST1IiIiIpXQorCisgICAgICAgIG5l
d19kYXRhID0gc2VsZi5jcmVhdGVfbG9nKCgidGVzdF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0YXR1cyIsIHsi
dGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInN1YnRlc3QiOiAidGVzdDEiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiRkFJTCIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIjogIkVS
Uk9SIn0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwg
eyJ0ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pKQorICAgICAgICB1cGRhdGVyID0gc2VsZi5jcmVh
dGVfdXBkYXRlcihwcmV2X2RhdGEpCisgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21fbG9nKG5l
d19kYXRhKQorCisgICAgICAgIG5ld19tYW5pZmVzdCA9IHVwZGF0ZXIuZXhwZWN0ZWRfdHJlZVsi
cGF0aC90by90ZXN0Lmh0bS5pbmkiXQorICAgICAgICBzZWxmLmNvYWxlc2NlX3Jlc3VsdHMoW25l
d19tYW5pZmVzdF0pCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobmV3X21hbmlmZXN0LmlzX2Vt
cHR5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rlc3QodGVz
dF9pZCkuY2hpbGRyZW5bMF0uZ2V0KCJleHBlY3RlZCIpLCAiRkFJTCIpCisKKyAgICBAcHl0ZXN0
Lm1hcmsueGZhaWwKKyAgICBkZWYgdGVzdF9uZXdfc3VidGVzdChzZWxmKToKKyAgICAgICAgdGVz
dF9pZCA9ICIvcGF0aC90by90ZXN0Lmh0bSIKKyAgICAgICAgcHJldl9kYXRhID0gWygicGF0aC90
by90ZXN0Lmh0bS5pbmkiLCBbdGVzdF9pZF0sICIiIlt0ZXN0Lmh0bV0KKyAgdHlwZTogdGVzdGhh
cm5lc3MKKyAgW3Rlc3QxXQorICAgIGV4cGVjdGVkOiBGQUlMIiIiKV0KKworICAgICAgICBuZXdf
ZGF0YSA9IHNlbGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0ZXN0X2lkfSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgidGVzdF9zdGF0dXMiLCB7InRl
c3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJzdWJ0ZXN0IjogInRlc3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIkZBSUwiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCI6ICJGQUlM
In0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwg
eyJ0ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0ZXN0MiIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJGQUlMIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAi
UEFTUyJ9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X2VuZCIs
IHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInN0YXR1cyI6ICJPSyJ9KSkKKyAgICAgICAgdXBkYXRlciA9IHNlbGYuY3Jl
YXRlX3VwZGF0ZXIocHJldl9kYXRhKQorICAgICAgICB1cGRhdGVyLnVwZGF0ZV9mcm9tX2xvZyhu
ZXdfZGF0YSkKKworICAgICAgICBuZXdfbWFuaWZlc3QgPSB1cGRhdGVyLmV4cGVjdGVkX3RyZWVb
InBhdGgvdG8vdGVzdC5odG0uaW5pIl0KKyAgICAgICAgc2VsZi5jb2FsZXNjZV9yZXN1bHRzKFtu
ZXdfbWFuaWZlc3RdKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG5ld19tYW5pZmVzdC5pc19l
bXB0eSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobmV3X21hbmlmZXN0LmdldF90ZXN0KHRl
c3RfaWQpLmNoaWxkcmVuWzBdLmdldCgiZXhwZWN0ZWQiKSwgIkZBSUwiKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rlc3QodGVzdF9pZCkuY2hpbGRyZW5bMV0u
Z2V0KCJleHBlY3RlZCIpLCAiRkFJTCIpCisKKyAgICBAcHl0ZXN0Lm1hcmsueGZhaWwKKyAgICBk
ZWYgdGVzdF91cGRhdGVfbXVsdGlwbGVfMChzZWxmKToKKyAgICAgICAgdGVzdF9pZCA9ICIvcGF0
aC90by90ZXN0Lmh0bSIKKyAgICAgICAgcHJldl9kYXRhID0gWygicGF0aC90by90ZXN0Lmh0bS5p
bmkiLCBbdGVzdF9pZF0sICIiIlt0ZXN0Lmh0bV0KKyAgdHlwZTogdGVzdGhhcm5lc3MKKyAgW3Rl
c3QxXQorICAgIGV4cGVjdGVkOiBGQUlMIiIiKV0KKworICAgICAgICBuZXdfZGF0YV8wID0gc2Vs
Zi5jcmVhdGVfbG9nKCgidGVzdF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogdGVz
dF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJzdWJ0ZXN0IjogInRlc3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiRkFJTCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiRkFJTCJ9
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwgeyJ0
ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJzdGF0dXMiOiAiT0sifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcnVuX2luZm89eyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAib3N4In0pCisKKyAgICAg
ICAgbmV3X2RhdGFfMSA9IHNlbGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0
ZXN0X2lkfSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0
YXR1cyIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIlRJTUVP
VVQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4cGVjdGVkIjogIkZBSUwifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKCJ0ZXN0X2VuZCIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvPXsiZGVidWciOiBGYWxzZSwg
Im9zIjogImxpbnV4In0pCisgICAgICAgIHVwZGF0ZXIgPSBzZWxmLmNyZWF0ZV91cGRhdGVyKHBy
ZXZfZGF0YSkKKworICAgICAgICB1cGRhdGVyLnVwZGF0ZV9mcm9tX2xvZyhuZXdfZGF0YV8wKQor
ICAgICAgICB1cGRhdGVyLnVwZGF0ZV9mcm9tX2xvZyhuZXdfZGF0YV8xKQorCisgICAgICAgIG5l
d19tYW5pZmVzdCA9IHVwZGF0ZXIuZXhwZWN0ZWRfdHJlZVsicGF0aC90by90ZXN0Lmh0bS5pbmki
XQorCisgICAgICAgIHNlbGYuY29hbGVzY2VfcmVzdWx0cyhbbmV3X21hbmlmZXN0XSkKKworICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKG5ld19tYW5pZmVzdC5pc19lbXB0eSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMobmV3X21hbmlmZXN0LmdldF90ZXN0KHRlc3RfaWQpLmNoaWxkcmVuWzBd
LmdldCgKKyAgICAgICAgICAgICJleHBlY3RlZCIsIHsiZGVidWciOiBGYWxzZSwgIm9zIjogIm9z
eCJ9KSwgIkZBSUwiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0
X3Rlc3QodGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVkIiwg
eyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAibGludXgifSksICJUSU1FT1VUIikKKworICAgIEBweXRl
c3QubWFyay54ZmFpbAorICAgIGRlZiB0ZXN0X3VwZGF0ZV9tdWx0aXBsZV8xKHNlbGYpOgorICAg
ICAgICB0ZXN0X2lkID0gIi9wYXRoL3RvL3Rlc3QuaHRtIgorICAgICAgICBwcmV2X2RhdGEgPSBb
KCJwYXRoL3RvL3Rlc3QuaHRtLmluaSIsIFt0ZXN0X2lkXSwgIiIiW3Rlc3QuaHRtXQorICB0eXBl
OiB0ZXN0aGFybmVzcworICBbdGVzdDFdCisgICAgZXhwZWN0ZWQ6IEZBSUwiIiIpXQorCisgICAg
ICAgIG5ld19kYXRhXzAgPSBzZWxmLmNyZWF0ZV9sb2coKCJ0ZXN0X3N0YXJ0IiwgeyJ0ZXN0Ijog
dGVzdF9pZH0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgidGVzdF9z
dGF0dXMiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInN1YnRlc3QiOiAidGVzdDEiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJGQUlM
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJleHBlY3RlZCI6ICJGQUlMIn0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICgidGVzdF9lbmQiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJPSyJ9KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbz17ImRlYnVnIjogRmFsc2UsICJv
cyI6ICJvc3gifSkKKworICAgICAgICBuZXdfZGF0YV8xID0gc2VsZi5jcmVhdGVfbG9nKCgidGVz
dF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJ0ZXN0IjogInRl
c3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJzdGF0dXMiOiAiVElNRU9VVCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiRkFJTCJ9KSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwgeyJ0ZXN0IjogdGVzdF9pZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdGF0
dXMiOiAiT0sifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuX2lu
Zm89eyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAibGludXgifSkKKyAgICAgICAgdXBkYXRlciA9IHNl
bGYuY3JlYXRlX3VwZGF0ZXIocHJldl9kYXRhKQorCisgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zy
b21fbG9nKG5ld19kYXRhXzApCisgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21fbG9nKG5ld19k
YXRhXzEpCisKKyAgICAgICAgbmV3X21hbmlmZXN0ID0gdXBkYXRlci5leHBlY3RlZF90cmVlWyJw
YXRoL3RvL3Rlc3QuaHRtLmluaSJdCisKKyAgICAgICAgc2VsZi5jb2FsZXNjZV9yZXN1bHRzKFtu
ZXdfbWFuaWZlc3RdKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobmV3X21hbmlmZXN0Lmlz
X2VtcHR5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rlc3Qo
dGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVkIiwgeyJkZWJ1
ZyI6IEZhbHNlLCAib3MiOiAib3N4In0pLCAiRkFJTCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5jaGlsZHJlblswXS5nZXQoCisgICAg
ICAgICAgICAiZXhwZWN0ZWQiLCB7ImRlYnVnIjogRmFsc2UsICJvcyI6ICJsaW51eCJ9KSwgIlRJ
TUVPVVQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rlc3Qo
dGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVkIiwgeyJkZWJ1
ZyI6IEZhbHNlLCAib3MiOiAid2luZG93cyJ9KSwgIkZBSUwiKQorCisgICAgQHB5dGVzdC5tYXJr
LnhmYWlsCisgICAgZGVmIHRlc3RfdXBkYXRlX211bHRpcGxlXzIoc2VsZik6CisgICAgICAgIHRl
c3RfaWQgPSAiL3BhdGgvdG8vdGVzdC5odG0iCisgICAgICAgIHByZXZfZGF0YSA9IFsoInBhdGgv
dG8vdGVzdC5odG0uaW5pIiwgW3Rlc3RfaWRdLCAiIiJbdGVzdC5odG1dCisgIHR5cGU6IHRlc3Ro
YXJuZXNzCisgIFt0ZXN0MV0KKyAgICBleHBlY3RlZDogRkFJTCIiIildCisKKyAgICAgICAgbmV3
X2RhdGFfMCA9IHNlbGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0ZXN0X2lk
fSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0YXR1cyIs
IHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIkZBSUwiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVj
dGVkIjogIkZBSUwifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0
ZXN0X2VuZCIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvPXsiZGVidWciOiBGYWxzZSwgIm9zIjogIm9z
eCJ9KQorCisgICAgICAgIG5ld19kYXRhXzEgPSBzZWxmLmNyZWF0ZV9sb2coKCJ0ZXN0X3N0YXJ0
IiwgeyJ0ZXN0IjogdGVzdF9pZH0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICgidGVzdF9zdGF0dXMiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1YnRlc3QiOiAidGVzdDEiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0
YXR1cyI6ICJUSU1FT1VUIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJleHBlY3RlZCI6ICJGQUlMIn0pLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICgidGVzdF9lbmQiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJP
SyJ9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbz17ImRl
YnVnIjogVHJ1ZSwgIm9zIjogIm9zeCJ9KQorICAgICAgICB1cGRhdGVyID0gc2VsZi5jcmVhdGVf
dXBkYXRlcihwcmV2X2RhdGEpCisKKyAgICAgICAgdXBkYXRlci51cGRhdGVfZnJvbV9sb2cobmV3
X2RhdGFfMCkKKyAgICAgICAgdXBkYXRlci51cGRhdGVfZnJvbV9sb2cobmV3X2RhdGFfMSkKKwor
ICAgICAgICBuZXdfbWFuaWZlc3QgPSB1cGRhdGVyLmV4cGVjdGVkX3RyZWVbInBhdGgvdG8vdGVz
dC5odG0uaW5pIl0KKworICAgICAgICBzZWxmLmNvYWxlc2NlX3Jlc3VsdHMoW25ld19tYW5pZmVz
dF0pCisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShuZXdfbWFuaWZlc3QuaXNfZW1wdHkpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5j
aGlsZHJlblswXS5nZXQoCisgICAgICAgICAgICAiZXhwZWN0ZWQiLCB7ImRlYnVnIjogRmFsc2Us
ICJvcyI6ICJvc3gifSksICJGQUlMIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobmV3X21h
bmlmZXN0LmdldF90ZXN0KHRlc3RfaWQpLmNoaWxkcmVuWzBdLmdldCgKKyAgICAgICAgICAgICJl
eHBlY3RlZCIsIHsiZGVidWciOiBUcnVlLCAib3MiOiAib3N4In0pLCAiVElNRU9VVCIpCisKKyAg
ICBAcHl0ZXN0Lm1hcmsueGZhaWwKKyAgICBkZWYgdGVzdF91cGRhdGVfbXVsdGlwbGVfMyhzZWxm
KToKKyAgICAgICAgdGVzdF9pZCA9ICIvcGF0aC90by90ZXN0Lmh0bSIKKyAgICAgICAgcHJldl9k
YXRhID0gWygicGF0aC90by90ZXN0Lmh0bS5pbmkiLCBbdGVzdF9pZF0sICIiIlt0ZXN0Lmh0bV0K
KyAgdHlwZTogdGVzdGhhcm5lc3MKKyAgW3Rlc3QxXQorICAgIGV4cGVjdGVkOgorICAgICAgaWYg
ZGVidWc6IEZBSUwKKyAgICAgIGlmIG5vdCBkZWJ1ZyBhbmQgb3MgPT0gIm9zeCI6IFRJTUVPVVQi
IiIpXQorCisgICAgICAgIG5ld19kYXRhXzAgPSBzZWxmLmNyZWF0ZV9sb2coKCJ0ZXN0X3N0YXJ0
IiwgeyJ0ZXN0IjogdGVzdF9pZH0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICgidGVzdF9zdGF0dXMiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1YnRlc3QiOiAidGVzdDEiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0
YXR1cyI6ICJGQUlMIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHBlY3RlZCI6ICJGQUlMIn0pLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICgidGVzdF9lbmQiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJPSyJ9
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbz17ImRlYnVn
IjogRmFsc2UsICJvcyI6ICJvc3gifSkKKworICAgICAgICBuZXdfZGF0YV8xID0gc2VsZi5jcmVh
dGVfbG9nKCgidGVzdF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9KSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogdGVzdF9pZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJz
dWJ0ZXN0IjogInRlc3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiVElNRU9VVCIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiRkFJTCJ9KSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwgeyJ0ZXN0
IjogdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJzdGF0dXMiOiAiT0sifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcnVuX2luZm89eyJkZWJ1ZyI6IFRydWUsICJvcyI6ICJvc3gifSkKKyAgICAgICAgdXBk
YXRlciA9IHNlbGYuY3JlYXRlX3VwZGF0ZXIocHJldl9kYXRhKQorCisgICAgICAgIHVwZGF0ZXIu
dXBkYXRlX2Zyb21fbG9nKG5ld19kYXRhXzApCisgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21f
bG9nKG5ld19kYXRhXzEpCisKKyAgICAgICAgbmV3X21hbmlmZXN0ID0gdXBkYXRlci5leHBlY3Rl
ZF90cmVlWyJwYXRoL3RvL3Rlc3QuaHRtLmluaSJdCisKKyAgICAgICAgc2VsZi5jb2FsZXNjZV9y
ZXN1bHRzKFtuZXdfbWFuaWZlc3RdKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobmV3X21h
bmlmZXN0LmlzX2VtcHR5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3Qu
Z2V0X3Rlc3QodGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVk
IiwgeyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAib3N4In0pLCAiRkFJTCIpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5jaGlsZHJlblswXS5n
ZXQoCisgICAgICAgICAgICAiZXhwZWN0ZWQiLCB7ImRlYnVnIjogVHJ1ZSwgIm9zIjogIm9zeCJ9
KSwgIlRJTUVPVVQiKQorCisgICAgQHB5dGVzdC5tYXJrLnhmYWlsCisgICAgZGVmIHRlc3RfdXBk
YXRlX2lnbm9yZV9leGlzdGluZyhzZWxmKToKKyAgICAgICAgdGVzdF9pZCA9ICIvcGF0aC90by90
ZXN0Lmh0bSIKKyAgICAgICAgcHJldl9kYXRhID0gWygicGF0aC90by90ZXN0Lmh0bS5pbmkiLCBb
dGVzdF9pZF0sICIiIlt0ZXN0Lmh0bV0KKyAgdHlwZTogdGVzdGhhcm5lc3MKKyAgW3Rlc3QxXQor
ICAgIGV4cGVjdGVkOgorICAgICAgaWYgZGVidWc6IFRJTUVPVVQKKyAgICAgIGlmIG5vdCBkZWJ1
ZyBhbmQgb3MgPT0gIm9zeCI6IE5PVFJVTiIiIildCisKKyAgICAgICAgbmV3X2RhdGFfMCA9IHNl
bGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0ZXN0X2lkfSksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0YXR1cyIsIHsidGVzdCI6IHRl
c3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIkZBSUwiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIjogIlBBU1Mi
fSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X2VuZCIsIHsi
dGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJ1bl9pbmZvPXsiZGVidWciOiBGYWxzZSwgIm9zIjogImxpbnV4In0pCisKKyAg
ICAgICAgbmV3X2RhdGFfMSA9IHNlbGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3Qi
OiB0ZXN0X2lkfSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0
X3N0YXR1cyIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIkZB
SUwiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4cGVjdGVkIjogIlBBU1MifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKCJ0ZXN0X2VuZCIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvPXsiZGVidWciOiBUcnVlLCAi
b3MiOiAid2luZG93cyJ9KQorICAgICAgICB1cGRhdGVyID0gc2VsZi5jcmVhdGVfdXBkYXRlcihw
cmV2X2RhdGEsIGlnbm9yZV9leGlzdGluZz1UcnVlKQorCisgICAgICAgIHVwZGF0ZXIudXBkYXRl
X2Zyb21fbG9nKG5ld19kYXRhXzApCisgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21fbG9nKG5l
d19kYXRhXzEpCisKKyAgICAgICAgbmV3X21hbmlmZXN0ID0gdXBkYXRlci5leHBlY3RlZF90cmVl
WyJwYXRoL3RvL3Rlc3QuaHRtLmluaSJdCisKKyAgICAgICAgc2VsZi5jb2FsZXNjZV9yZXN1bHRz
KFtuZXdfbWFuaWZlc3RdKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobmV3X21hbmlmZXN0
LmlzX2VtcHR5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rl
c3QodGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVkIiwgeyJk
ZWJ1ZyI6IFRydWUsICJvcyI6ICJvc3gifSksICJGQUlMIikKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMobmV3X21hbmlmZXN0LmdldF90ZXN0KHRlc3RfaWQpLmNoaWxkcmVuWzBdLmdldCgKKyAg
ICAgICAgICAgICJleHBlY3RlZCIsIHsiZGVidWciOiBGYWxzZSwgIm9zIjogIm9zeCJ9KSwgIkZB
SUwiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3Rlc3RzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiYWVhMzcwYjhmNGVl
NWFiYTM4N2Y1NzMwYmY1MWI0OWViZWYwMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvdGVzdHMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL3Rlc3RzL19faW5pdF9fLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfY2h1bmtl
ci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X2hvc3RzLnB5CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rl
c3RzL3Rlc3RfdGVzdGxvYWRlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X3VwZGF0ZS5w
eQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9fX2luaXRfXy5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci91cGRhdGUvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDk3Y2IzNGFkMGNiMmVjZmEwZWZk
NGNmMDU5MTU4YjBiNWY4NWViZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRh
dGUvX19pbml0X18ucHkKQEAgLTAsMCArMSw0NyBAQAoraW1wb3J0IG9zCitpbXBvcnQgc3lzCisK
K2Zyb20gbW96bG9nLnN0cnVjdHVyZWQgaW1wb3J0IHN0cnVjdHVyZWRsb2csIGNvbW1hbmRsaW5l
CisKK2Zyb20gLi4gaW1wb3J0IHdwdGNvbW1hbmRsaW5lCisKK2Zyb20gdXBkYXRlIGltcG9ydCBX
UFRVcGRhdGUKKworZGVmIHJlbW92ZV9sb2dnaW5nX2FyZ3MoYXJncyk6CisgICAgIiIiVGFrZSBs
b2dnaW5nIGFyZ3Mgb3V0IG9mIHRoZSBkaWN0aW9uYXJ5IG9mIGNvbW1hbmQgbGluZSBhcmd1bWVu
dHMgc28KKyAgICB0aGV5IGFyZSBub3QgcGFzc2VkIGluIGFzIGt3YXJncyB0byB0aGUgdXBkYXRl
IGNvZGUuIFRoaXMgaXMgcGFydGljdWxhcmx5CisgICAgbmVjZXNzYXJ5IGhlcmUgYmVjYXVzZSB0
aGUgYXJndW1lbnRzIGFyZSBvZnRlbiBvZiB0eXBlIGZpbGUsIHdoaWNoIGNhbm5vdAorICAgIGJl
IHNlcmlhbGl6ZWQuCisKKyAgICA6cGFyYW0gYXJnczogRGljdGlvbmFyeSBvZiBjb21tYW5kIGxp
bmUgYXJndW1lbnRzLgorICAgICIiIgorICAgIGZvciBuYW1lIGluIGFyZ3Mua2V5cygpOgorICAg
ICAgICBpZiBuYW1lLnN0YXJ0c3dpdGgoImxvZ18iKToKKyAgICAgICAgICAgIGFyZ3MucG9wKG5h
bWUpCisKKworZGVmIHNldHVwX2xvZ2dpbmcoYXJncywgZGVmYXVsdHMpOgorICAgICIiIlVzZSB0
aGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyB0byBzZXQgdXAgdGhlIGxvZ2dlci4KKworICAgIDpw
YXJhbSBhcmdzOiBEaWN0aW9uYXJ5IG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuCisgICAgOnBh
cmFtIGRlZmF1bHRzOiBEaWN0aW9uYXJ5IG9mIHtmb3JtYXR0ZXJfbmFtZTogc3RyZWFtfSB0byB1
c2UgaWYKKyAgICAgICAgICAgICAgICAgICAgIG5vIGNvbW1hbmQgbGluZSBsb2dnaW5nIGlzIHNw
ZWNpZmllZCIiIgorICAgIGxvZ2dlciA9IGNvbW1hbmRsaW5lLnNldHVwX2xvZ2dpbmcoIndlYi1w
bGF0Zm9ybS10ZXN0cy11cGRhdGUiLCBhcmdzLCBkZWZhdWx0cykKKworICAgIHJlbW92ZV9sb2dn
aW5nX2FyZ3MoYXJncykKKworICAgIHJldHVybiBsb2dnZXIKKworCitkZWYgcnVuX3VwZGF0ZShs
b2dnZXIsICoqa3dhcmdzKToKKyAgICB1cGRhdGVyID0gV1BUVXBkYXRlKGxvZ2dlciwgKiprd2Fy
Z3MpCisgICAgcmV0dXJuIHVwZGF0ZXIucnVuKCkKKworCitkZWYgbWFpbigpOgorICAgIGFyZ3Mg
PSB3cHRjb21tYW5kbGluZS5wYXJzZV9hcmdzX3VwZGF0ZSgpCisgICAgbG9nZ2VyID0gc2V0dXBf
bG9nZ2luZyhhcmdzLCB7Im1hY2giOiBzeXMuc3Rkb3V0fSkKKyAgICBhc3NlcnQgc3RydWN0dXJl
ZGxvZy5nZXRfZGVmYXVsdF9sb2dnZXIoKSBpcyBub3QgTm9uZQorICAgIHN1Y2Nlc3MgPSBydW5f
dXBkYXRlKGxvZ2dlciwgKiphcmdzKQorICAgIHN5cy5leGl0KDAgaWYgc3VjY2VzcyBlbHNlIDEp
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvYmFzZS5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci91cGRhdGUvYmFzZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDc4MDhlNTI5MzMwZTNjMTBlNjFmNTBlN2Rj
YjgwYTgzOGYyODk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9iYXNl
LnB5CkBAIC0wLDAgKzEsNjUgQEAKK2V4aXRfdW5jbGVhbiA9IG9iamVjdCgpCitleGl0X2NsZWFu
ID0gb2JqZWN0KCkKKworCitjbGFzcyBTdGVwKG9iamVjdCk6CisgICAgcHJvdmlkZXMgPSBbXQor
CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlcik6CisgICAgICAgIHNlbGYubG9nZ2VyID0g
bG9nZ2VyCisKKyAgICBkZWYgcnVuKHNlbGYsIHN0ZXBfaW5kZXgsIHN0YXRlKToKKyAgICAgICAg
IiIiQmFzZSBjbGFzcyBmb3Igc3RhdGUtY3JlYXRpbmcgc3RlcHMuCisKKyAgICAgICAgV2hlbiBh
IFN0ZXAgaXMgcnVuKCkgdGhlIGN1cnJlbnQgc3RhdGUgaXMgY2hlY2tlZCB0byBzZWUKKyAgICAg
ICAgaWYgdGhlIHN0YXRlIGZyb20gdGhpcyBzdGVwIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZC4g
SWYgaXQKKyAgICAgICAgaGFzIHRoZSByZXN0b3JlKCkgbWV0aG9kIGlzIGludm9rZWQuIE90aGVy
d2lzZSB0aGUgY3JlYXRlKCkKKyAgICAgICAgbWV0aG9kIGlzIGludm9rZWQgd2l0aCB0aGUgc3Rh
dGUgb2JqZWN0LiBUaGlzIGlzIGV4cGVjdGVkIHRvCisgICAgICAgIGFkZCBpdGVtcyB3aXRoIGFs
bCB0aGUga2V5cyBpbiBfX2NsYXNzX18ucHJvdmlkZXMgdG8gdGhlIHN0YXRlCisgICAgICAgIG9i
amVjdC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgbmFtZSA9IHNlbGYuX19jbGFzc19fLl9fbmFt
ZV9fCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3RvcmVkX3N0ZXAgPSBzdGF0ZS5zdGVw
c1tzdGVwX2luZGV4XQorICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKKyAgICAgICAgICAgIHN0
b3JlZF9zdGVwID0gTm9uZQorCisgICAgICAgIGlmIHN0b3JlZF9zdGVwID09IG5hbWU6CisgICAg
ICAgICAgICBzZWxmLnJlc3RvcmUoc3RhdGUpCisgICAgICAgIGVsaWYgc3RvcmVkX3N0ZXAgaXMg
Tm9uZToKKyAgICAgICAgICAgIHNlbGYuY3JlYXRlKHN0YXRlKQorICAgICAgICAgICAgYXNzZXJ0
IHNldChzZWxmLnByb3ZpZGVzKS5pc3N1YnNldChzZXQoc3RhdGUua2V5cygpKSkKKyAgICAgICAg
ICAgIHN0YXRlLnN0ZXBzID0gc3RhdGUuc3RlcHMgKyBbbmFtZV0KKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkV4cGVjdGVkIGEgJXMgc3RlcCwgZ290IGEgJXMg
c3RlcCIgJSAobmFtZSwgc3RvcmVkX3N0ZXApKQorCisgICAgZGVmIGNyZWF0ZShzZWxmLCBkYXRh
KToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorCisgICAgZGVmIHJlc3RvcmUo
c2VsZiwgc3RhdGUpOgorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiU3RlcCAlcyB1c2luZyBz
dG9yZWQgc3RhdGUiICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCkpCisgICAgICAgIGZvciBr
ZXkgaW4gc2VsZi5wcm92aWRlczoKKyAgICAgICAgICAgIGFzc2VydCBrZXkgaW4gc3RhdGUKKwor
CitjbGFzcyBTdGVwUnVubmVyKG9iamVjdCk6CisgICAgc3RlcHMgPSBbXQorCisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGxvZ2dlciwgc3RhdGUpOgorICAgICAgICAiIiJDbGFzcyB0aGF0IHJ1bnMg
YSBzcGVjaWZpZWQgc2VyaWVzIG9mIFN0ZXBzIHdpdGggYSBjb21tb24gU3RhdGUiIiIKKyAgICAg
ICAgc2VsZi5zdGF0ZSA9IHN0YXRlCisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCisgICAg
ICAgIGlmICJzdGVwcyIgbm90IGluIHN0YXRlOgorICAgICAgICAgICAgc3RhdGUuc3RlcHMgPSBb
XQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgcnYgPSBOb25lCisgICAgICAgIGZvciBz
dGVwX2luZGV4LCBzdGVwIGluIGVudW1lcmF0ZShzZWxmLnN0ZXBzKToKKyAgICAgICAgICAgIHNl
bGYubG9nZ2VyLmRlYnVnKCJTdGFydGluZyBzdGVwICVzIiAlIHN0ZXAuX19uYW1lX18pCisgICAg
ICAgICAgICBydiA9IHN0ZXAoc2VsZi5sb2dnZXIpLnJ1bihzdGVwX2luZGV4LCBzZWxmLnN0YXRl
KQorICAgICAgICAgICAgaWYgcnYgaW4gKGV4aXRfY2xlYW4sIGV4aXRfdW5jbGVhbik6CisgICAg
ICAgICAgICAgICAgYnJlYWsKKworICAgICAgICByZXR1cm4gcnYKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci91cGRhdGUvbWV0YWRhdGEucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL21ldGFkYXRh
LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY1OTY3NjY1NzhjOWMxOGE2NjkxZjM0YTkyYjRhNjE4YmQ5ZDVkMjcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL21ldGFkYXRhLnB5CkBAIC0w
LDAgKzEsNzEgQEAKK2ltcG9ydCBvcworCitmcm9tIC4uIGltcG9ydCBtZXRhZGF0YSwgcHJvZHVj
dHMKKworZnJvbSBiYXNlIGltcG9ydCBTdGVwLCBTdGVwUnVubmVyCisKK2NsYXNzIEdldFVwZGF0
ZVByb3BlcnR5TGlzdChTdGVwKToKKyAgICBwcm92aWRlcyA9IFsicHJvcGVydHlfb3JkZXIiLCAi
Ym9vbGVhbl9wcm9wZXJ0aWVzIl0KKworCisgICAgZGVmIGNyZWF0ZShzZWxmLCBzdGF0ZSk6Cisg
ICAgICAgIHByb3BlcnR5X29yZGVyLCBib29sZWFuX3Byb3BlcnRpZXMgPSBwcm9kdWN0cy5sb2Fk
X3Byb2R1Y3RfdXBkYXRlKAorICAgICAgICAgICAgc3RhdGUuY29uZmlnLCBzdGF0ZS5wcm9kdWN0
KQorICAgICAgICBzdGF0ZS5wcm9wZXJ0eV9vcmRlciA9IHByb3BlcnR5X29yZGVyCisgICAgICAg
IHN0YXRlLmJvb2xlYW5fcHJvcGVydGllcyA9IGJvb2xlYW5fcHJvcGVydGllcworCisKK2NsYXNz
IFVwZGF0ZUV4cGVjdGVkKFN0ZXApOgorICAgICIiIkRvIHRoZSBtZXRhZGF0YSB1cGRhdGUgb24g
dGhlIGxvY2FsIGNoZWNrb3V0IiIiCisKKyAgICBwcm92aWRlcyA9IFsibmVlZHNfaHVtYW4iXQor
CisgICAgZGVmIGNyZWF0ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGlmIHN0YXRlLnN5bmNfdHJl
ZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHN5bmNfcm9vdCA9IHN0YXRlLnN5bmNfdHJlZS5y
b290CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzeW5jX3Jvb3QgPSBOb25lCisKKyAgICAg
ICAgc3RhdGUubmVlZHNfaHVtYW4gPSBtZXRhZGF0YS51cGRhdGVfZXhwZWN0ZWQoc3RhdGUucGF0
aHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXRlLnNlcnZlX3Jvb3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0YXRlLnJ1bl9sb2csCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldl9vbGQ9Tm9uZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlX2V4aXN0aW5nPXN0
YXRlLmlnbm9yZV9leGlzdGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3luY19yb290PXN5bmNfcm9vdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlfb3JkZXI9c3RhdGUu
cHJvcGVydHlfb3JkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcz1zdGF0ZS5ib29sZWFuX3Byb3BlcnRpZXMp
CisKKworY2xhc3MgQ3JlYXRlTWV0YWRhdGFQYXRjaChTdGVwKToKKyAgICAiIiJDcmVhdGUgYSBw
YXRjaC9jb21taXQgZm9yIHRoZSBtZXRhZGF0YSBjaGVja291dCIiIgorCisgICAgZGVmIGNyZWF0
ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGlmIHN0YXRlLm5vX3BhdGNoOgorICAgICAgICAgICAg
cmV0dXJuCisKKyAgICAgICAgbG9jYWxfdHJlZSA9IHN0YXRlLmxvY2FsX3RyZWUKKyAgICAgICAg
c3luY190cmVlID0gc3RhdGUuc3luY190cmVlCisKKyAgICAgICAgaWYgc3luY190cmVlIGlzIG5v
dCBOb25lOgorICAgICAgICAgICAgbmFtZSA9ICJ3ZWItcGxhdGZvcm0tdGVzdHNfdXBkYXRlXyVz
X21ldGFkYXRhIiAlIHN5bmNfdHJlZS5yZXYKKyAgICAgICAgICAgIG1lc3NhZ2UgPSAiVXBkYXRl
ICVzIGV4cGVjdGVkIGRhdGEgdG8gcmV2aXNpb24gJXMiICUgKHN0YXRlLnN1aXRlX25hbWUsIHN5
bmNfdHJlZS5yZXYpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBuYW1lID0gIndlYi1wbGF0
Zm9ybS10ZXN0c191cGRhdGVfbWV0YWRhdGEiCisgICAgICAgICAgICBtZXNzYWdlID0gIlVwZGF0
ZSAlcyBleHBlY3RlZCBkYXRhIiAlIHN0YXRlLnN1aXRlX25hbWUKKworICAgICAgICBsb2NhbF90
cmVlLmNyZWF0ZV9wYXRjaChuYW1lLCBtZXNzYWdlKQorCisgICAgICAgIGlmIG5vdCBsb2NhbF90
cmVlLmlzX2NsZWFuOgorICAgICAgICAgICAgbWV0YWRhdGFfcGF0aHMgPSBbbWFuaWZlc3RfcGF0
aFsibWV0YWRhdGFfcGF0aCJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgbWFu
aWZlc3RfcGF0aCBpbiBzdGF0ZS5wYXRocy5pdGVydmFsdWVzKCldCisgICAgICAgICAgICBmb3Ig
cGF0aCBpbiBtZXRhZGF0YV9wYXRoczoKKyAgICAgICAgICAgICAgICBsb2NhbF90cmVlLmFkZF9u
ZXcob3MucGF0aC5yZWxwYXRoKHBhdGgsIGxvY2FsX3RyZWUucm9vdCkpCisgICAgICAgICAgICBs
b2NhbF90cmVlLnVwZGF0ZV9wYXRjaChpbmNsdWRlPW1ldGFkYXRhX3BhdGhzKQorICAgICAgICAg
ICAgbG9jYWxfdHJlZS5jb21taXRfcGF0Y2goKQorCisKK2NsYXNzIE1ldGFkYXRhVXBkYXRlUnVu
bmVyKFN0ZXBSdW5uZXIpOgorICAgICIiIihTdWIpUnVubmVyIGZvciB1cGRhdGluZyBtZXRhZGF0
YSIiIgorICAgIHN0ZXBzID0gW0dldFVwZGF0ZVByb3BlcnR5TGlzdCwKKyAgICAgICAgICAgICBV
cGRhdGVFeHBlY3RlZCwKKyAgICAgICAgICAgICBDcmVhdGVNZXRhZGF0YVBhdGNoXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zdGF0ZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUv
c3RhdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQ1NDQxNGU2NDBiZWE5ZTIxYTU4YTA0ZTcwNDdjNWQ4Yzk3
YzhjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvc3RhdGUucHkKQEAg
LTAsMCArMSwxMzMgQEAKK2ltcG9ydCBvcworaW1wb3J0IGNQaWNrbGUgYXMgcGlja2xlCisKK2hl
cmUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0pCisKK2NsYXNz
IFN0YXRlKG9iamVjdCk6CisgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4oaGVyZSwgIi53cHQt
dXBkYXRlLmxvY2siKQorCisgICAgZGVmIF9fbmV3X18oY2xzLCBsb2dnZXIpOgorICAgICAgICBy
diA9IGNscy5sb2FkKGxvZ2dlcikKKyAgICAgICAgaWYgcnYgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICBsb2dnZXIuZGVidWcoIkV4aXN0aW5nIHN0YXRlIGZvdW5kIikKKyAgICAgICAgICAgIHJl
dHVybiBydgorCisgICAgICAgIGxvZ2dlci5kZWJ1ZygiTm8gZXhpc3Rpbmcgc3RhdGUgZm91bmQi
KQorICAgICAgICByZXR1cm4gb2JqZWN0Ll9fbmV3X18oY2xzLCBsb2dnZXIpCisKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgbG9nZ2VyKToKKyAgICAgICAgIiIiT2JqZWN0IGNvbnRhaW5pbmcgc3Rh
dGUgdmFyaWFibGVzIGNyZWF0ZWQgd2hlbiBydW5uaW5nIFN0ZXBzLgorCisgICAgICAgIE9uIHdy
aXRlIHRoZSBzdGF0ZSBpcyBzZXJpYWxpemVkIHRvIGRpc2ssIHN1Y2ggdGhhdCBpdCBjYW4gYmUg
cmVzdG9yZWQgaW4KKyAgICAgICAgdGhlIGV2ZW50IHRoYXQgdGhlIHByb2dyYW0gaXMgaW50ZXJy
dXB0ZWQgYmVmb3JlIGFsbCBzdGVwcyBhcmUgY29tcGxldGUuCisgICAgICAgIE5vdGUgdGhhdCB0
aGlzIG9ubHkgd29ya3Mgd2VsbCBpZiB0aGUgdmFsdWVzIGFyZSBpbW11dGFibGU7IG11dGF0aW5n
IGFuCisgICAgICAgIGV4aXN0aW5nIHZhbHVlIHdpbGwgbm90IGNhdXNlIHRoZSBkYXRhIHRvIGJl
IHNlcmlhbGl6ZWQuCisKKyAgICAgICAgVmFyaWFibGVzIGFyZSBzZXQgYW5kIGdldCBhcyBhdHRy
aWJ1dGVzIGUuZy4gc3RhdGVfb2JqLnNwYW0gPSAiZWdncyIuCisKKyAgICAgICAgOnBhcmFtIHBh
cmVudDogUGFyZW50IFN0YXRlIG9iamVjdCBvciBOb25lIGlmIHRoaXMgaXMgdGhlIHJvb3Qgb2Jq
ZWN0LgorICAgICAgICAiIiIKKworICAgICAgICBpZiBoYXNhdHRyKHNlbGYsICJfZGF0YSIpOgor
ICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgc2VsZi5fZGF0YSA9IFt7fV0KKyAgICAgICAg
c2VsZi5fbG9nZ2VyID0gbG9nZ2VyCisgICAgICAgIHNlbGYuX2luZGV4ID0gMAorCisgICAgZGVm
IF9fZ2V0c3RhdGVfXyhzZWxmKToKKyAgICAgICAgcnYgPSBzZWxmLl9fZGljdF9fLmNvcHkoKQor
ICAgICAgICBkZWwgcnZbIl9sb2dnZXIiXQorICAgICAgICByZXR1cm4gcnYKKworICAgIEBjbGFz
c21ldGhvZAorICAgIGRlZiBsb2FkKGNscywgbG9nZ2VyKToKKyAgICAgICAgIiIiTG9hZCBzYXZl
ZCBzdGF0ZSBmcm9tIGEgZmlsZSIiIgorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRoIG9w
ZW4oY2xzLmZpbGVuYW1lKSBhcyBmOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAg
ICAgICAgICAgcnYgPSBwaWNrbGUubG9hZChmKQorICAgICAgICAgICAgICAgICAgICBsb2dnZXIu
ZGVidWcoIkxvYWRpbmcgZGF0YSAlciIgJSAocnYuX2RhdGEsKSkKKyAgICAgICAgICAgICAgICAg
ICAgcnYuX2xvZ2dlciA9IGxvZ2dlcgorICAgICAgICAgICAgICAgICAgICBydi5faW5kZXggPSAw
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBydgorICAgICAgICAgICAgICAgIGV4Y2VwdCBF
T0ZFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIkZvdW5kIGVtcHR5
IHN0YXRlIGZpbGUiKQorICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgIGxvZ2dl
ci5kZWJ1ZygiSU9FcnJvciBsb2FkaW5nIHN0b3JlZCBzdGF0ZSIpCisKKyAgICBkZWYgcHVzaChz
ZWxmLCBpbml0X3ZhbHVlcyk6CisgICAgICAgICIiIlB1c2ggYSBuZXcgY2xlYW4gc3RhdGUgZGlj
dGlvbmFyeQorCisgICAgICAgIDpwYXJhbSBpbml0X3ZhbHVlczogTGlzdCBvZiB2YXJpYWJsZSBu
YW1lcyBpbiB0aGUgY3VycmVudCBzdGF0ZSBkaWN0IHRvIGNvcHkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnRvIHRoZSBuZXcgc3RhdGUgZGljdC4iIiIKKworICAgICAgICByZXR1cm4g
U3RhdGVDb250ZXh0KHNlbGYsIGluaXRfdmFsdWVzKQorCisgICAgZGVmIHNhdmUoc2VsZik6Cisg
ICAgICAgICIiIldyaXRlIHRoZSBzdGF0ZSB0byBkaXNrIiIiCisgICAgICAgIHdpdGggb3Blbihz
ZWxmLmZpbGVuYW1lLCAidyIpIGFzIGY6CisgICAgICAgICAgICBwaWNrbGUuZHVtcChzZWxmLCBm
KQorCisgICAgZGVmIGlzX2VtcHR5KHNlbGYpOgorICAgICAgICByZXR1cm4gbGVuKHNlbGYuX2Rh
dGEpID09IDEgYW5kIHNlbGYuX2RhdGFbMF0gPT0ge30KKworICAgIGRlZiBjbGVhcihzZWxmKToK
KyAgICAgICAgIiIiUmVtb3ZlIGFsbCBzdGF0ZSBhbmQgZGVsZXRlIHRoZSBzdG9yZWQgY29weS4i
IiIKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3MudW5saW5rKHNlbGYuZmlsZW5hbWUpCisg
ICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgcGFzcworICAgICAgICBzZWxmLl9k
YXRhID0gW3t9XQorCisKKyAgICBkZWYgX19zZXRhdHRyX18oc2VsZiwga2V5LCB2YWx1ZSk6Cisg
ICAgICAgIGlmIGtleS5zdGFydHN3aXRoKCJfIik6CisgICAgICAgICAgICBvYmplY3QuX19zZXRh
dHRyX18oc2VsZiwga2V5LCB2YWx1ZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYu
X2RhdGFbc2VsZi5faW5kZXhdW2tleV0gPSB2YWx1ZQorICAgICAgICAgICAgc2VsZi5zYXZlKCkK
KworICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBrZXkpOgorICAgICAgICBpZiBrZXkuc3RhcnRz
d2l0aCgiXyIpOgorICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IKKyAgICAgICAgdHJ5
OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2RhdGFbc2VsZi5faW5kZXhdW2tleV0KKyAgICAg
ICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IKKwor
ICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwga2V5KToKKyAgICAgICAgcmV0dXJuIGtleSBpbiBz
ZWxmLl9kYXRhW3NlbGYuX2luZGV4XQorCisgICAgZGVmIHVwZGF0ZShzZWxmLCBpdGVtcyk6Cisg
ICAgICAgICIiIkFkZCBhIGRpY3Rpb25hcnkgb2Yge25hbWU6IHZhbHVlfSBwYWlycyB0byB0aGUg
c3RhdGUiIiIKKyAgICAgICAgc2VsZi5fZGF0YVtzZWxmLl9pbmRleF0udXBkYXRlKGl0ZW1zKQor
ICAgICAgICBzZWxmLnNhdmUoKQorCisgICAgZGVmIGtleXMoc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmLl9kYXRhW3NlbGYuX2luZGV4XS5rZXlzKCkKKworY2xhc3MgU3RhdGVDb250ZXh0KG9i
amVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0YXRlLCBpbml0X3ZhbHVlcyk6CisgICAg
ICAgIHNlbGYuc3RhdGUgPSBzdGF0ZQorICAgICAgICBzZWxmLmluaXRfdmFsdWVzID0gaW5pdF92
YWx1ZXMKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIGlmIGxlbihzZWxmLnN0
YXRlLl9kYXRhKSA9PSBzZWxmLnN0YXRlLl9pbmRleCArIDE6CisgICAgICAgICAgICAjIFRoaXMg
aXMgdGhlIGNhc2Ugd2hlcmUgdGhlcmUgaXMgbm8gc3RvcmVkIHN0YXRlCisgICAgICAgICAgICBu
ZXdfc3RhdGUgPSB7fQorICAgICAgICAgICAgZm9yIGtleSBpbiBzZWxmLmluaXRfdmFsdWVzOgor
ICAgICAgICAgICAgICAgIG5ld19zdGF0ZVtrZXldID0gc2VsZi5zdGF0ZS5fZGF0YVtzZWxmLnN0
YXRlLl9pbmRleF1ba2V5XQorICAgICAgICAgICAgc2VsZi5zdGF0ZS5fZGF0YS5hcHBlbmQobmV3
X3N0YXRlKQorICAgICAgICBzZWxmLnN0YXRlLl9pbmRleCArPSAxCisgICAgICAgIHNlbGYuc3Rh
dGUuX2xvZ2dlci5kZWJ1ZygiSW5jcmVtZW50ZWQgaW5kZXggdG8gJXMiICUgc2VsZi5zdGF0ZS5f
aW5kZXgpCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAg
ICAgaWYgbGVuKHNlbGYuc3RhdGUuX2RhdGEpID4gMToKKyAgICAgICAgICAgIGFzc2VydCBzZWxm
LnN0YXRlLl9pbmRleCA9PSBsZW4oc2VsZi5zdGF0ZS5fZGF0YSkgLSAxCisgICAgICAgICAgICBz
ZWxmLnN0YXRlLl9kYXRhLnBvcCgpCisgICAgICAgICAgICBzZWxmLnN0YXRlLl9pbmRleCAtPSAx
CisgICAgICAgICAgICBzZWxmLnN0YXRlLl9sb2dnZXIuZGVidWcoIkRlY3JlbWVudGVkIGluZGV4
IHRvICVzIiAlIHNlbGYuc3RhdGUuX2luZGV4KQorICAgICAgICAgICAgYXNzZXJ0IHNlbGYuc3Rh
dGUuX2luZGV4ID49IDAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJy
b3IoIlRyaWVkIHRvIHBvcCB0aGUgdG9wIHN0YXRlIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci91cGRhdGUvc3luYy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvc3luYy5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zZjYwOTJhMDQ2YTA1YzFlMDU1NjVhNGExZmI3NDI5MGU1MzU5NDU5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zeW5jLnB5CkBAIC0wLDAgKzEsMTc3IEBACitpbXBv
cnQgb3MKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCBzeXMKK2ltcG9ydCB1dWlkCisKK2Zyb20gLi4g
aW1wb3J0IHRlc3Rsb2FkZXIKKworZnJvbSBiYXNlIGltcG9ydCBTdGVwLCBTdGVwUnVubmVyCitm
cm9tIHRyZWUgaW1wb3J0IENvbW1pdAorCitoZXJlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGgu
c3BsaXQoX19maWxlX18pWzBdKQorCitic2RfbGljZW5zZSA9ICIiIlczQyAzLWNsYXVzZSBCU0Qg
TGljZW5zZQorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKK21ldDoKKworKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygd29ya3MgbXVzdCByZXRhaW4gdGhlIG9yaWdpbmFsIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMKKyAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisKKyogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBv
cmlnaW5hbCBjb3B5cmlnaHQKKyAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgdGhlIFczQyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlCisgIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHdvcmsgd2l0aG91dAorICBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisKKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMKK0lTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCitJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRQorQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFCitMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCitDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCitJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKK0FSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
CitQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIgorCisKK2RlZiBjb3B5X3dwdF90cmVl
KHRyZWUsIGRlc3QpOgorICAgICIiIkNvcHkgdGhlIHdvcmtpbmcgY29weSBvZiBhIFRyZWUgdG8g
YSBkZXN0aW5hdGlvbiBkaXJlY3RvcnkuCisKKyAgICA6cGFyYW0gdHJlZTogVGhlIFRyZWUgdG8g
Y29weS4KKyAgICA6cGFyYW0gZGVzdDogVGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeSIiIgorICAg
IGlmIG9zLnBhdGguZXhpc3RzKGRlc3QpOgorICAgICAgICBhc3NlcnQgb3MucGF0aC5pc2Rpcihk
ZXN0KQorCisgICAgc2h1dGlsLnJtdHJlZShkZXN0KQorICAgIG9zLm1rZGlyKGRlc3QpCisKKyAg
ICBmb3IgdHJlZV9wYXRoIGluIHRyZWUucGF0aHMoKToKKyAgICAgICAgc291cmNlX3BhdGggPSBv
cy5wYXRoLmpvaW4odHJlZS5yb290LCB0cmVlX3BhdGgpCisgICAgICAgIGRlc3RfcGF0aCA9IG9z
LnBhdGguam9pbihkZXN0LCB0cmVlX3BhdGgpCisKKyAgICAgICAgZGVzdF9kaXIgPSBvcy5wYXRo
LnNwbGl0KGRlc3RfcGF0aClbMF0KKyAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoc291cmNl
X3BhdGgpOgorICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRlc3RfZGlyKToKKyAg
ICAgICAgICAgICAgICBvcy5tYWtlZGlycyhkZXN0X2RpcikKKyAgICAgICAgICAgIHNodXRpbC5j
b3B5Mihzb3VyY2VfcGF0aCwgZGVzdF9wYXRoKQorCisgICAgZm9yIHNvdXJjZSwgZGVzdGluYXRp
b24gaW4gWygidGVzdGhhcm5lc3NfcnVubmVyLmh0bWwiLCAiIiksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICgidGVzdGhhcm5lc3NyZXBvcnQuanMiLCAicmVzb3VyY2VzLyIpXToK
KyAgICAgICAgc291cmNlX3BhdGggPSBvcy5wYXRoLmpvaW4oaGVyZSwgb3MucGFyZGlyLCBzb3Vy
Y2UpCisgICAgICAgIGRlc3RfcGF0aCA9IG9zLnBhdGguam9pbihkZXN0LCBkZXN0aW5hdGlvbiwg
b3MucGF0aC5zcGxpdChzb3VyY2UpWzFdKQorICAgICAgICBzaHV0aWwuY29weTIoc291cmNlX3Bh
dGgsIGRlc3RfcGF0aCkKKworICAgIGFkZF9saWNlbnNlKGRlc3QpCisKKworZGVmIGFkZF9saWNl
bnNlKGRlc3QpOgorICAgICIiIldyaXRlIHRoZSBic2QgbGljZW5zZSBzdHJpbmcgdG8gYSBMSUNF
TlNFIGZpbGUuCisKKyAgICA6cGFyYW0gZGVzdDogRGlyZWN0b3J5IGluIHdoaWNoIHRvIHBsYWNl
IHRoZSBMSUNFTlNFIGZpbGUuIiIiCisgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihkZXN0LCAi
TElDRU5TRSIpLCAidyIpIGFzIGY6CisgICAgICAgIGYud3JpdGUoYnNkX2xpY2Vuc2UpCisKK2Ns
YXNzIFVwZGF0ZUNoZWNrb3V0KFN0ZXApOgorICAgICIiIlB1bGwgY2hhbmdlcyBmcm9tIHVwc3Ry
ZWFtIGludG8gdGhlIGxvY2FsIHN5bmMgdHJlZS4iIiIKKworICAgIHByb3ZpZGVzID0gWyJsb2Nh
bF9icmFuY2giXQorCisgICAgZGVmIGNyZWF0ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIHN5bmNf
dHJlZSA9IHN0YXRlLnN5bmNfdHJlZQorICAgICAgICBzdGF0ZS5sb2NhbF9icmFuY2ggPSB1dWlk
LnV1aWQ0KCkuaGV4CisgICAgICAgIHN5bmNfdHJlZS51cGRhdGUoc3RhdGUuc3luY1sicmVtb3Rl
X3VybCJdLAorICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnN5bmNbImJyYW5jaCJdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmxvY2FsX2JyYW5jaCkKKyAgICAgICAgc3lu
Y19wYXRoID0gb3MucGF0aC5hYnNwYXRoKHN5bmNfdHJlZS5yb290KQorICAgICAgICBpZiBub3Qg
c3luY19wYXRoIGluIHN5cy5wYXRoOgorICAgICAgICAgICAgZnJvbSB1cGRhdGUgaW1wb3J0IHNl
dHVwX3BhdGhzCisgICAgICAgICAgICBzZXR1cF9wYXRocyhzeW5jX3BhdGgpCisKKyAgICBkZWYg
cmVzdG9yZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGFzc2VydCBvcy5wYXRoLmFic3BhdGgoc3Rh
dGUuc3luY190cmVlLnJvb3QpIGluIHN5cy5wYXRoCisgICAgICAgIFN0ZXAucmVzdG9yZShzZWxm
LCBzdGF0ZSkKKworCitjbGFzcyBHZXRTeW5jVGFyZ2V0Q29tbWl0KFN0ZXApOgorICAgICIiIkZp
bmQgdGhlIGNvbW1pdCB0aGF0IHdlIHdpbGwgc3luYyB0by4iIiIKKworICAgIHByb3ZpZGVzID0g
WyJzeW5jX2NvbW1pdCJdCisKKyAgICBkZWYgY3JlYXRlKHNlbGYsIHN0YXRlKToKKyAgICAgICAg
aWYgc3RhdGUudGFyZ2V0X3JldiBpcyBOb25lOgorICAgICAgICAgICAgI1VzZSB1cHN0cmVhbSBi
cmFuY2ggSEVBRCBhcyB0aGUgYmFzZSBjb21taXQKKyAgICAgICAgICAgIHN0YXRlLnN5bmNfY29t
bWl0ID0gc3RhdGUuc3luY190cmVlLmdldF9yZW1vdGVfc2hhMShzdGF0ZS5zeW5jWyJyZW1vdGVf
dXJsIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RhdGUuc3luY1siYnJhbmNoIl0pCisgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICBzdGF0ZS5zeW5jX2NvbW1pdCA9IENvbW1pdChzdGF0ZS5zeW5jX3RyZWUsIHN0YXRl
LnJldikKKworICAgICAgICBzdGF0ZS5zeW5jX3RyZWUuY2hlY2tvdXQoc3RhdGUuc3luY19jb21t
aXQuc2hhMSwgc3RhdGUubG9jYWxfYnJhbmNoLCBmb3JjZT1UcnVlKQorICAgICAgICBzZWxmLmxv
Z2dlci5kZWJ1ZygiTmV3IGJhc2UgY29tbWl0IGlzICVzIiAlIHN0YXRlLnN5bmNfY29tbWl0LnNo
YTEpCisKKworY2xhc3MgTG9hZE1hbmlmZXN0KFN0ZXApOgorICAgICIiIkxvYWQgdGhlIHRlc3Qg
bWFuaWZlc3QiIiIKKworICAgIHByb3ZpZGVzID0gWyJtYW5pZmVzdF9wYXRoIiwgInRlc3RfbWFu
aWZlc3QiXQorCisgICAgZGVmIGNyZWF0ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGZyb20gbWFu
aWZlc3QgaW1wb3J0IG1hbmlmZXN0CisgICAgICAgIHN0YXRlLm1hbmlmZXN0X3BhdGggPSBvcy5w
YXRoLmpvaW4oc3RhdGUubWV0YWRhdGFfcGF0aCwgIk1BTklGRVNULmpzb24iKQorICAgICAgICBz
dGF0ZS50ZXN0X21hbmlmZXN0ID0gbWFuaWZlc3QuTWFuaWZlc3QoIi8iKQorCisKK2NsYXNzIFVw
ZGF0ZU1hbmlmZXN0KFN0ZXApOgorICAgICIiIlVwZGF0ZSB0aGUgbWFuaWZlc3QgdG8gbWF0Y2gg
dGhlIHRlc3RzIGluIHRoZSBzeW5jIHRyZWUgY2hlY2tvdXQiIiIKKworICAgIGRlZiBjcmVhdGUo
c2VsZiwgc3RhdGUpOgorICAgICAgICBmcm9tIG1hbmlmZXN0IGltcG9ydCBtYW5pZmVzdCwgdXBk
YXRlCisgICAgICAgIHVwZGF0ZS51cGRhdGUoc3RhdGUuc3luY1sicGF0aCJdLCBzdGF0ZS50ZXN0
X21hbmlmZXN0KQorICAgICAgICBtYW5pZmVzdC53cml0ZShzdGF0ZS50ZXN0X21hbmlmZXN0LCBz
dGF0ZS5tYW5pZmVzdF9wYXRoKQorCisKK2NsYXNzIENvcHlXb3JrVHJlZShTdGVwKToKKyAgICAi
IiJDb3B5IHRoZSBzeW5jIHRyZWUgb3ZlciB0byB0aGUgZGVzdGluYXRpb24gaW4gdGhlIGxvY2Fs
IHRyZWUiIiIKKworICAgIGRlZiBjcmVhdGUoc2VsZiwgc3RhdGUpOgorICAgICAgICBjb3B5X3dw
dF90cmVlKHN0YXRlLnN5bmNfdHJlZSwKKyAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS50ZXN0
c19wYXRoKQorCisKK2NsYXNzIENyZWF0ZVN5bmNQYXRjaChTdGVwKToKKyAgICAiIiJBZGQgdGhl
IHVwZGF0ZWQgdGVzdCBmaWxlcyB0byBhIGNvbW1pdC9wYXRjaCBpbiB0aGUgbG9jYWwgdHJlZS4i
IiIKKworICAgIGRlZiBjcmVhdGUoc2VsZiwgc3RhdGUpOgorICAgICAgICBpZiBzdGF0ZS5ub19w
YXRjaDoKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGxvY2FsX3RyZWUgPSBzdGF0ZS5s
b2NhbF90cmVlCisgICAgICAgIHN5bmNfdHJlZSA9IHN0YXRlLnN5bmNfdHJlZQorCisgICAgICAg
IGxvY2FsX3RyZWUuY3JlYXRlX3BhdGNoKCJ3ZWItcGxhdGZvcm0tdGVzdHNfdXBkYXRlXyVzIiAl
IHN5bmNfdHJlZS5yZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVcGRhdGUg
JXMgdG8gcmV2aXNpb24gJXMiICUgKHN0YXRlLnN1aXRlX25hbWUsIHN5bmNfdHJlZS5yZXYpKQor
ICAgICAgICBsb2NhbF90cmVlLmFkZF9uZXcob3MucGF0aC5yZWxwYXRoKHN0YXRlLnRlc3RzX3Bh
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxfdHJl
ZS5yb290KSkKKyAgICAgICAgdXBkYXRlZCA9IGxvY2FsX3RyZWUudXBkYXRlX3BhdGNoKGluY2x1
ZGU9W3N0YXRlLnRlc3RzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGF0ZS5tZXRhZGF0YV9wYXRoXSkKKyAgICAgICAgbG9jYWxfdHJl
ZS5jb21taXRfcGF0Y2goKQorCisgICAgICAgIGlmIG5vdCB1cGRhdGVkOgorICAgICAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygiTm90aGluZyB0byBzeW5jIikKKworCitjbGFzcyBTeW5jRnJvbVVw
c3RyZWFtUnVubmVyKFN0ZXBSdW5uZXIpOgorICAgICIiIihTdWIpUnVubmVyIGZvciBkb2luZyBh
biB1cHN0cmVhbSBzeW5jIiIiCisgICAgc3RlcHMgPSBbVXBkYXRlQ2hlY2tvdXQsCisgICAgICAg
ICAgICAgR2V0U3luY1RhcmdldENvbW1pdCwKKyAgICAgICAgICAgICBMb2FkTWFuaWZlc3QsCisg
ICAgICAgICAgICAgVXBkYXRlTWFuaWZlc3QsCisgICAgICAgICAgICAgQ29weVdvcmtUcmVlLAor
ICAgICAgICAgICAgIENyZWF0ZVN5bmNQYXRjaF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91
cGRhdGUvdHJlZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvdHJlZS5weQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
MTVkZjkwN2FhNDE2ZThhNDVhZTdkOTI5NzQxNmU3YTViMjU1NTcxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3VwZGF0ZS90cmVlLnB5CkBAIC0wLDAgKzEsMzgzIEBACitpbXBvcnQg
b3MKK2ltcG9ydCByZQoraW1wb3J0IHN1YnByb2Nlc3MKKworZnJvbSAuLiBpbXBvcnQgdmNzCitm
cm9tIC4udmNzIGltcG9ydCBiaW5kX3RvX3JlcG8sIGdpdCwgaGcKKworCitkZWYgZ2V0X3VuaXF1
ZV9uYW1lKGV4aXN0aW5nLCBpbml0aWFsKToKKyAgICAiIiJHZXQgYSBuYW1lIGVpdGhlciBlcXVh
bCB0byBpbml0aWFsIG9yIG9mIHRoZSBmb3JtIGluaXRpYWxfTiwgZm9yIHNvbWUKKyAgICBpbnRl
Z2VyIE4sIHRoYXQgaXMgbm90IGluIHRoZSBzZXQgZXhpc3RpbmcuCisKKworICAgIDpwYXJhbSBl
eGlzdGluZzogU2V0IG9mIG5hbWVzIHRoYXQgbXVzdCBub3QgYmUgY2hvc2VuLgorICAgIDpwYXJh
bSBpbml0aWFsOiBOYW1lLCBvciBuYW1lIHByZWZpeCwgdG8gdXNlIiIiCisgICAgaWYgaW5pdGlh
bCBub3QgaW4gZXhpc3Rpbmc6CisgICAgICAgIHJldHVybiBpbml0aWFsCisgICAgZm9yIGkgaW4g
eHJhbmdlKGxlbihleGlzdGluZykgKyAxKToKKyAgICAgICAgdGVzdCA9ICIlc18lcyIgJSAoaW5p
dGlhbCwgaSArIDEpCisgICAgICAgIGlmIHRlc3Qgbm90IGluIGV4aXN0aW5nOgorICAgICAgICAg
ICAgcmV0dXJuIHRlc3QKKyAgICBhc3NlcnQgRmFsc2UKKworY2xhc3MgTm9WQ1NUcmVlKG9iamVj
dCk6CisgICAgbmFtZSA9ICJub24tdmNzIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJvb3Q9
Tm9uZSk6CisgICAgICAgIGlmIHJvb3QgaXMgTm9uZToKKyAgICAgICAgICAgIHJvb3QgPSBvcy5w
YXRoLmFic3BhdGgob3MuY3VyZGlyKQorICAgICAgICBzZWxmLnJvb3QgPSByb290CisKKyAgICBA
Y2xhc3NtZXRob2QKKyAgICBkZWYgaXNfdHlwZShjbHMsIHBhdGg9Tm9uZSk6CisgICAgICAgIHJl
dHVybiBUcnVlCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaXNfY2xlYW4oc2VsZik6CisgICAg
ICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgYWRkX25ldyhzZWxmLCBwcmVmaXg9Tm9uZSk6Cisg
ICAgICAgIHBhc3MKKworICAgIGRlZiBjcmVhdGVfcGF0Y2goc2VsZiwgcGF0Y2hfbmFtZSwgbWVz
c2FnZSk6CisgICAgICAgIHBhc3MKKworICAgIGRlZiB1cGRhdGVfcGF0Y2goc2VsZiwgaW5jbHVk
ZT1Ob25lKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIGNvbW1pdF9wYXRjaChzZWxmKToKKyAg
ICAgICAgcGFzcworCisKK2NsYXNzIEhnVHJlZShvYmplY3QpOgorICAgIG5hbWUgPSAibWVyY3Vy
aWFsIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJvb3Q9Tm9uZSk6CisgICAgICAgIGlmIHJv
b3QgaXMgTm9uZToKKyAgICAgICAgICAgIHJvb3QgPSBoZygicm9vdCIpLnN0cmlwKCkKKyAgICAg
ICAgc2VsZi5yb290ID0gcm9vdAorICAgICAgICBzZWxmLmhnID0gdmNzLmJpbmRfdG9fcmVwbyho
Zywgc2VsZi5yb290KQorCisgICAgZGVmIF9fZ2V0c3RhdGVfXyhzZWxmKToKKyAgICAgICAgcnYg
PSBzZWxmLl9fZGljdF9fLmNvcHkoKQorICAgICAgICBkZWwgcnZbJ2hnJ10KKyAgICAgICAgcmV0
dXJuIHJ2CisKKyAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIGRpY3QpOgorICAgICAgICBzZWxm
Ll9fZGljdF9fLnVwZGF0ZShkaWN0KQorICAgICAgICBzZWxmLmhnID0gdmNzLmJpbmRfdG9fcmVw
byh2Y3MuaGcsIHNlbGYucm9vdCkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBpc190eXBl
KGNscywgcGF0aD1Ob25lKToKKyAgICAgICAga3dhcmdzID0geyJsb2dfZXJyb3IiOiBGYWxzZX0K
KyAgICAgICAgaWYgcGF0aCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGt3YXJnc1sicmVwbyJd
ID0gcGF0aAorICAgICAgICB0cnk6CisgICAgICAgICAgICBoZygicm9vdCIsICoqa3dhcmdzKQor
ICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJu
IFRydWUKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpc19jbGVhbihzZWxmKToKKyAgICAgICAg
cmV0dXJuIHNlbGYuaGcoInN0YXR1cyIpLnN0cmlwKCkgPT0gIiIKKworICAgIGRlZiBhZGRfbmV3
KHNlbGYsIHByZWZpeD1Ob25lKToKKyAgICAgICAgaWYgcHJlZml4IGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgYXJncyA9ICgiLUkiLCBwcmVmaXgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICBhcmdzID0gKCkKKyAgICAgICAgc2VsZi5oZygiYWRkIiwgKmFyZ3MpCisKKyAgICBkZWYgY3Jl
YXRlX3BhdGNoKHNlbGYsIHBhdGNoX25hbWUsIG1lc3NhZ2UpOgorICAgICAgICB0cnk6CisgICAg
ICAgICAgICBzZWxmLmhnKCJxaW5pdCIsIGxvZ19lcnJvcj1GYWxzZSkKKyAgICAgICAgZXhjZXB0
IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgorICAgICAgICAgICAgcGFzcworCisgICAg
ICAgIHBhdGNoX25hbWVzID0gW2l0ZW0uc3RyaXAoKSBmb3IgaXRlbSBpbiBzZWxmLmhnKCJxc2Vy
aWVzIikuc3BsaXQoIlxuIikgaWYgaXRlbS5zdHJpcCgpXQorCisgICAgICAgIHN1ZmZpeCA9IDAK
KyAgICAgICAgdGVzdF9uYW1lID0gcGF0Y2hfbmFtZQorICAgICAgICB3aGlsZSB0ZXN0X25hbWUg
aW4gcGF0Y2hfbmFtZXM6CisgICAgICAgICAgICBzdWZmaXggKz0gMQorICAgICAgICAgICAgdGVz
dF9uYW1lID0gIiVzLSVpIiAlIChwYXRjaF9uYW1lLCBzdWZmaXgpCisKKyAgICAgICAgc2VsZi5o
ZygicW5ldyIsIHRlc3RfbmFtZSwgIi1YIiwgc2VsZi5yb290LCAiLW0iLCBtZXNzYWdlKQorCisg
ICAgZGVmIHVwZGF0ZV9wYXRjaChzZWxmLCBpbmNsdWRlPU5vbmUpOgorICAgICAgICBpZiBpbmNs
dWRlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgYXJncyA9IFtdCisgICAgICAgICAgICBmb3Ig
aXRlbSBpbiBpbmNsdWRlOgorICAgICAgICAgICAgICAgIGFyZ3MuZXh0ZW5kKFsiLUkiLCBpdGVt
XSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFyZ3MgPSAoKQorCisgICAgICAgIHNlbGYu
aGcoInFyZWZyZXNoIiwgKmFyZ3MpCisgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgY29t
bWl0X3BhdGNoKHNlbGYpOgorICAgICAgICBzZWxmLmhnKCJxZmluaXNoIikKKworICAgIGRlZiBj
b250YWluc19jb21taXQoc2VsZiwgY29tbWl0KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAg
c2VsZi5oZygiaWRlbnRpZnkiLCAiLXIiLCBjb21taXQuc2hhMSkKKyAgICAgICAgICAgIHJldHVy
biBUcnVlCisgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKKyAg
ICAgICAgICAgIHJldHVybiBGYWxzZQorCisKK2NsYXNzIEdpdFRyZWUob2JqZWN0KToKKyAgICBu
YW1lID0gImdpdCIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCByb290PU5vbmUpOgorICAgICAg
ICBpZiByb290IGlzIE5vbmU6CisgICAgICAgICAgICByb290ID0gZ2l0KCJyZXYtcGFyc2UiLCAi
LS1zaG93LXRvcGxldmVsIikuc3RyaXAoKQorICAgICAgICBzZWxmLnJvb3QgPSByb290CisgICAg
ICAgIHNlbGYuZ2l0ID0gdmNzLmJpbmRfdG9fcmVwbyhnaXQsIHNlbGYucm9vdCkKKyAgICAgICAg
c2VsZi5tZXNzYWdlID0gTm9uZQorICAgICAgICBzZWxmLmNvbW1pdF9jbHMgPSBDb21taXQKKwor
ICAgIGRlZiBfX2dldHN0YXRlX18oc2VsZik6CisgICAgICAgIHJ2ID0gc2VsZi5fX2RpY3RfXy5j
b3B5KCkKKyAgICAgICAgZGVsIHJ2WydnaXQnXQorICAgICAgICByZXR1cm4gcnYKKworICAgIGRl
ZiBfX3NldHN0YXRlX18oc2VsZiwgZGljdCk6CisgICAgICAgIHNlbGYuX19kaWN0X18udXBkYXRl
KGRpY3QpCisgICAgICAgIHNlbGYuZ2l0ID0gdmNzLmJpbmRfdG9fcmVwbyh2Y3MuZ2l0LCBzZWxm
LnJvb3QpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgaXNfdHlwZShjbHMsIHBhdGg9Tm9u
ZSk6CisgICAgICAgIGt3YXJncyA9IHsibG9nX2Vycm9yIjogRmFsc2V9CisgICAgICAgIGlmIHBh
dGggaXMgbm90IE5vbmU6CisgICAgICAgICAgICBrd2FyZ3NbInJlcG8iXSA9IHBhdGgKKyAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgZ2l0KCJyZXYtcGFyc2UiLCAiLS1zaG93LXRvcGxldmVsIiwg
Kiprd2FyZ3MpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAg
ICAgICByZXR1cm4gVHJ1ZQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHJldihzZWxmKToKKyAg
ICAgICAgIiIiQ3VycmVudCBIRUFEIHJldmlzaW9uIiIiCisgICAgICAgIGlmIHZjcy5pc19naXRf
cm9vdChzZWxmLnJvb3QpOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuZ2l0KCJyZXYtcGFyc2Ui
LCAiSEVBRCIpLnN0cmlwKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBOb25l
CisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaXNfY2xlYW4oc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmLmdpdCgic3RhdHVzIikuc3RyaXAoKSA9PSAiIgorCisgICAgZGVmIGFkZF9uZXcoc2Vs
ZiwgcHJlZml4PU5vbmUpOgorICAgICAgICAiIiJBZGQgZmlsZXMgdG8gdGhlIHN0YWdpbmcgYXJl
YS4KKworICAgICAgICA6cGFyYW0gcHJlZml4OiBOb25lIHRvIGluY2x1ZGUgYWxsIGZpbGVzIG9y
IGEgcGF0aCBwcmVmaXggdG8KKyAgICAgICAgICAgICAgICAgICAgICAgYWRkIGFsbCBmaWxlcyB1
bmRlciB0aGF0IHBhdGguCisgICAgICAgICIiIgorICAgICAgICBpZiBwcmVmaXggaXMgTm9uZToK
KyAgICAgICAgICAgIGFyZ3MgPSAoIi1hIiwpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBh
cmdzID0gKCItLW5vLWlnbm9yZS1yZW1vdmFsIiwgcHJlZml4KQorICAgICAgICBzZWxmLmdpdCgi
YWRkIiwgKmFyZ3MpCisKKyAgICBkZWYgbGlzdF9yZWZzKHNlbGYsIHJlZl9maWx0ZXI9Tm9uZSk6
CisgICAgICAgICIiIkdldCBhIGxpc3Qgb2Ygc2hhMSwgbmFtZSB0dXBsZXMgZm9yIHJlZmVyZW5j
ZXMgaW4gYSByZXBvc2l0b3J5LgorCisgICAgICAgIDpwYXJhbSByZWZfZmlsdGVyOiBQYXR0ZXJu
IHRoYXQgcmVmZXJlbmNlIG5hbWUgbXVzdCBtYXRjaCAoZnJvbSB0aGUgZW5kLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWF0Y2hpbmcgd2hvbGUgLy1kZWxpbWl0ZWQgc2VnbWVudHMgb25s
eQorICAgICAgICAiIiIKKyAgICAgICAgYXJncyA9IFtdCisgICAgICAgIGlmIHJlZl9maWx0ZXIg
aXMgbm90IE5vbmU6CisgICAgICAgICAgICBhcmdzLmFwcGVuZChyZWZfZmlsdGVyKQorICAgICAg
ICBkYXRhID0gc2VsZi5naXQoInNob3ctcmVmIiwgKmFyZ3MpCisgICAgICAgIHJ2ID0gW10KKyAg
ICAgICAgZm9yIGxpbmUgaW4gZGF0YS5zcGxpdCgiXG4iKToKKyAgICAgICAgICAgIGlmIG5vdCBs
aW5lLnN0cmlwKCk6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHNoYTEs
IHJlZiA9IGxpbmUuc3BsaXQoKQorICAgICAgICAgICAgcnYuYXBwZW5kKChzaGExLCByZWYpKQor
ICAgICAgICByZXR1cm4gcnYKKworICAgIGRlZiBsaXN0X3JlbW90ZShzZWxmLCByZW1vdGUsIHJl
Zl9maWx0ZXI9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiBhIGxpc3Qgb2YgKHNoYTEsIG5hbWUp
IHR1cGVzIGZvciByZWZlcmVuY2VzIGluIGEgcmVtb3RlLgorCisgICAgICAgIDpwYXJhbSByZW1v
dGU6IFVSTCBvZiB0aGUgcmVtb3RlIHRvIGxpc3QuCisgICAgICAgIDpwYXJhbSByZWZfZmlsdGVy
OiBQYXR0ZXJuIHRoYXQgdGhlIHJlZmVyZW5jZSBuYW1lIG11c3QgbWF0Y2guCisgICAgICAgICIi
IgorICAgICAgICBhcmdzID0gW10KKyAgICAgICAgaWYgcmVmX2ZpbHRlciBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKHJlZl9maWx0ZXIpCisgICAgICAgIGRhdGEgPSBzZWxm
LmdpdCgibHMtcmVtb3RlIiwgcmVtb3RlLCAqYXJncykKKyAgICAgICAgcnYgPSBbXQorICAgICAg
ICBmb3IgbGluZSBpbiBkYXRhLnNwbGl0KCJcbiIpOgorICAgICAgICAgICAgaWYgbm90IGxpbmUu
c3RyaXAoKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgc2hhMSwgcmVm
ID0gbGluZS5zcGxpdCgpCisgICAgICAgICAgICBydi5hcHBlbmQoKHNoYTEsIHJlZikpCisgICAg
ICAgIHJldHVybiBydgorCisgICAgZGVmIGdldF9yZW1vdGVfc2hhMShzZWxmLCByZW1vdGUsIGJy
YW5jaCk6CisgICAgICAgICIiIlJldHVybiB0aGUgU0hBMSBvZiBhIHBhcnRpY3VsYXIgYnJhbmNo
IGluIGEgcmVtb3RlLgorCisgICAgICAgIDpwYXJhbSByZW1vdGU6IHRoZSByZW1vdGUgVVJMCisg
ICAgICAgIDpwYXJhbSBicmFuY2g6IHRoZSBicmFuY2ggbmFtZSIiIgorICAgICAgICBmb3Igc2hh
MSwgcmVmIGluIHNlbGYubGlzdF9yZW1vdGUocmVtb3RlLCBicmFuY2gpOgorICAgICAgICAgICAg
aWYgcmVmID09ICJyZWZzL2hlYWRzLyVzIiAlIGJyYW5jaDoKKyAgICAgICAgICAgICAgICByZXR1
cm4gc2VsZi5jb21taXRfY2xzKHNlbGYsIHNoYTEpCisgICAgICAgIGFzc2VydCBGYWxzZQorCisg
ICAgZGVmIGNyZWF0ZV9wYXRjaChzZWxmLCBwYXRjaF9uYW1lLCBtZXNzYWdlKToKKyAgICAgICAg
IyBJbiBnaXQgYSBwYXRjaCBpcyBhY3R1YWxseSBhIGNvbW1pdAorICAgICAgICBzZWxmLm1lc3Nh
Z2UgPSBtZXNzYWdlCisKKyAgICBkZWYgdXBkYXRlX3BhdGNoKHNlbGYsIGluY2x1ZGU9Tm9uZSk6
CisgICAgICAgICIiIkNvbW1pdCB0aGUgc3RhZ2VkIGNoYW5nZXMsIG9yIGNoYW5nZXMgdG8gbGlz
dGVkIGZpbGVzLgorCisgICAgICAgIDpwYXJhbSBpbmNsdWRlOiBFaXRoZXIgTm9uZSwgdG8gY29t
bWl0IHN0YWdlZCBjaGFuZ2VzLCBvciBhIGxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgIG9m
IGZpbGVuYW1lcyAod2hpY2ggbXVzdCBhbHJlYWR5IGJlIGluIHRoZSByZXBvKQorICAgICAgICAg
ICAgICAgICAgICAgICAgdG8gY29tbWl0CisgICAgICAgICIiIgorICAgICAgICBpZiBpbmNsdWRl
IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgYXJncyA9IHR1cGxlKGluY2x1ZGUpCisgICAgICAg
IGVsc2U6CisgICAgICAgICAgICBhcmdzID0gKCkKKworICAgICAgICBpZiBzZWxmLmdpdCgic3Rh
dHVzIiwgIi11bm8iLCAiLXoiLCAqYXJncykuc3RyaXAoKToKKyAgICAgICAgICAgIHNlbGYuZ2l0
KCJhZGQiLCAqYXJncykKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBG
YWxzZQorCisgICAgZGVmIGNvbW1pdF9wYXRjaChzZWxmKToKKyAgICAgICAgYXNzZXJ0IHNlbGYu
bWVzc2FnZSBpcyBub3QgTm9uZQorCisgICAgICAgIGlmIHNlbGYuZ2l0KCJkaWZmIiwgIi0tbmFt
ZS1vbmx5IiwgIi0tc3RhZ2VkIiwgIi16Iikuc3RyaXAoKToKKyAgICAgICAgICAgIHNlbGYuZ2l0
KCJjb21taXQiLCAiLW0iLCBzZWxmLm1lc3NhZ2UpCisgICAgICAgICAgICByZXR1cm4gVHJ1ZQor
CisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIGluaXQoc2VsZik6CisgICAgICAgIHNl
bGYuZ2l0KCJpbml0IikKKyAgICAgICAgYXNzZXJ0IHZjcy5pc19naXRfcm9vdChzZWxmLnJvb3Qp
CisKKyAgICBkZWYgY2hlY2tvdXQoc2VsZiwgcmV2LCBicmFuY2g9Tm9uZSwgZm9yY2U9RmFsc2Up
OgorICAgICAgICAiIiJDaGVja291dCBhIHBhcnRpY3VsYXIgcmV2aXNpb24sIG9wdGlvbmFsbHkg
aW50byBhIG5hbWVkIGJyYW5jaC4KKworICAgICAgICA6cGFyYW0gcmV2OiBSZXZpc2lvbiBpZGVu
dGlmaWVyIChlLmcuIFNIQTEpIHRvIGNoZWNrb3V0CisgICAgICAgIDpwYXJhbSBicmFuY2g6IEJy
YW5jaCBuYW1lIHRvIHVzZQorICAgICAgICA6cGFyYW0gZm9yY2U6IEZvcmNlLWNoZWNrb3V0Cisg
ICAgICAgICIiIgorICAgICAgICBhc3NlcnQgcmV2IGlzIG5vdCBOb25lCisKKyAgICAgICAgYXJn
cyA9IFtdCisgICAgICAgIGlmIGJyYW5jaDoKKyAgICAgICAgICAgIGJyYW5jaGVzID0gW3JlZlts
ZW4oInJlZnMvaGVhZHMvIik6XSBmb3Igc2hhMSwgcmVmIGluIHNlbGYubGlzdF9yZWZzKCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIHJlZi5zdGFydHN3aXRoKCJyZWZzL2hlYWRzLyIpXQor
ICAgICAgICAgICAgYnJhbmNoID0gZ2V0X3VuaXF1ZV9uYW1lKGJyYW5jaGVzLCBicmFuY2gpCisK
KyAgICAgICAgICAgIGFyZ3MgKz0gWyItYiIsIGJyYW5jaF0KKworICAgICAgICBpZiBmb3JjZToK
KyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCItZiIpCisgICAgICAgIGFyZ3MuYXBwZW5kKHJldikK
KyAgICAgICAgc2VsZi5naXQoImNoZWNrb3V0IiwgKmFyZ3MpCisKKyAgICBkZWYgdXBkYXRlKHNl
bGYsIHJlbW90ZSwgcmVtb3RlX2JyYW5jaCwgbG9jYWxfYnJhbmNoKToKKyAgICAgICAgIiIiRmV0
Y2ggZnJvbSB0aGUgcmVtb3RlIGFuZCBjaGVja291dCBpbnRvIGEgbG9jYWwgYnJhbmNoLgorCisg
ICAgICAgIDpwYXJhbSByZW1vdGU6IFVSTCB0byB0aGUgcmVtb3RlIHJlcG9zaXRvcnkKKyAgICAg
ICAgOnBhcmFtIHJlbW90ZV9icmFuY2g6IEJyYW5jaCBvbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkg
dG8gY2hlY2sgb3V0CisgICAgICAgIDpwYXJhbSBsb2NhbF9icmFuY2g6IExvY2FsIGJyYW5jaCBu
YW1lIHRvIGNoZWNrIG91dCBpbnRvCisgICAgICAgICIiIgorICAgICAgICBpZiBub3QgdmNzLmlz
X2dpdF9yb290KHNlbGYucm9vdCk6CisgICAgICAgICAgICBzZWxmLmluaXQoKQorICAgICAgICBz
ZWxmLmdpdCgiY2xlYW4iLCAiLXhkZiIpCisgICAgICAgIHNlbGYuZ2l0KCJmZXRjaCIsIHJlbW90
ZSwgIiVzOiVzIiAlIChyZW1vdGVfYnJhbmNoLCBsb2NhbF9icmFuY2gpKQorICAgICAgICBzZWxm
LmNoZWNrb3V0KGxvY2FsX2JyYW5jaCkKKyAgICAgICAgc2VsZi5naXQoInN1Ym1vZHVsZSIsICJ1
cGRhdGUiLCAiLS1pbml0IiwgIi0tcmVjdXJzaXZlIikKKworICAgIGRlZiBjbGVhbihzZWxmKToK
KyAgICAgICAgc2VsZi5naXQoImNoZWNrb3V0Iiwgc2VsZi5yZXYpCisgICAgICAgIHNlbGYuZ2l0
KCJicmFuY2giLCAiLUQiLCBzZWxmLmxvY2FsX2JyYW5jaCkKKworICAgIGRlZiBwYXRocyhzZWxm
KToKKyAgICAgICAgIiIiTGlzdCBwYXRocyBpbiB0aGUgdHJlZSIiIgorICAgICAgICByZXBvX3Bh
dGhzID0gW3NlbGYucm9vdF0gKyAgW29zLnBhdGguam9pbihzZWxmLnJvb3QsIHBhdGgpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHBhdGggaW4gc2VsZi5zdWJtb2R1
bGVzKCldCisKKyAgICAgICAgcnYgPSBbXQorCisgICAgICAgIGZvciByZXBvX3BhdGggaW4gcmVw
b19wYXRoczoKKyAgICAgICAgICAgIHBhdGhzID0gdmNzLmdpdCgibHMtdHJlZSIsICItciIsICIt
LW5hbWUtb25seSIsICJIRUFEIiwgcmVwbz1yZXBvX3BhdGgpLnNwbGl0KCJcbiIpCisgICAgICAg
ICAgICByZWxfcGF0aCA9IG9zLnBhdGgucmVscGF0aChyZXBvX3BhdGgsIHNlbGYucm9vdCkKKyAg
ICAgICAgICAgIHJ2LmV4dGVuZChvcy5wYXRoLmpvaW4ocmVsX3BhdGgsIGl0ZW0uc3RyaXAoKSkg
Zm9yIGl0ZW0gaW4gcGF0aHMgaWYgaXRlbS5zdHJpcCgpKQorCisgICAgICAgIHJldHVybiBydgor
CisgICAgZGVmIHN1Ym1vZHVsZXMoc2VsZik6CisgICAgICAgICIiIkxpc3Qgc3VibW9kdWxlIGRp
cmVjdG9yaWVzIiIiCisgICAgICAgIG91dHB1dCA9IHNlbGYuZ2l0KCJzdWJtb2R1bGUiLCAic3Rh
dHVzIiwgIi0tcmVjdXJzaXZlIikKKyAgICAgICAgcnYgPSBbXQorICAgICAgICBmb3IgbGluZSBp
biBvdXRwdXQuc3BsaXQoIlxuIik6CisgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCisg
ICAgICAgICAgICBpZiBub3QgbGluZToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAg
ICAgICAgcGFydHMgPSBsaW5lLnNwbGl0KCIgIikKKyAgICAgICAgICAgIHJ2LmFwcGVuZChwYXJ0
c1sxXSkKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgY29udGFpbnNfY29tbWl0KHNlbGYs
IGNvbW1pdCk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuZ2l0KCJyZXYtcGFyc2Ui
LCAiLS12ZXJpZnkiLCBjb21taXQuc2hhMSkKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAg
ICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKKyAgICAgICAgICAgIHJl
dHVybiBGYWxzZQorCisKK2NsYXNzIENvbW1pdE1lc3NhZ2Uob2JqZWN0KToKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgdGV4dCk6CisgICAgICAgIHNlbGYudGV4dCA9IHRleHQKKyAgICAgICAgc2Vs
Zi5fcGFyc2VfbWVzc2FnZSgpCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0
dXJuIHNlbGYudGV4dAorCisgICAgZGVmIF9wYXJzZV9tZXNzYWdlKHNlbGYpOgorICAgICAgICBs
aW5lcyA9IHNlbGYudGV4dC5zcGxpdGxpbmVzKCkKKyAgICAgICAgc2VsZi5mdWxsX3N1bW1hcnkg
PSBsaW5lc1swXQorICAgICAgICBzZWxmLmJvZHkgPSAiXG4iLmpvaW4obGluZXNbMTpdKQorCisK
K2NsYXNzIENvbW1pdChvYmplY3QpOgorICAgIG1zZ19jbHMgPSBDb21taXRNZXNzYWdlCisKKyAg
ICBfc2hhMV9yZSA9IHJlLmNvbXBpbGUoIl5bMC05YS1mXXs0MH0kIikKKworICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCB0cmVlLCBzaGExKToKKyAgICAgICAgIiIiT2JqZWN0IHJlcHJlc2VudGluZyBh
IGNvbW1pdCBpbiBhIHNwZWNpZmljIEdpdFRyZWUuCisKKyAgICAgICAgOnBhcmFtIHRyZWU6IEdp
dFRyZWUgdG8gd2hpY2ggdGhpcyBjb21taXQgYmVsb25ncy4KKyAgICAgICAgOnBhcmFtIHNoYTE6
IEZ1bGwgc2hhMSBzdHJpbmcgZm9yIHRoZSBjb21taXQKKyAgICAgICAgIiIiCisgICAgICAgIGFz
c2VydCBzZWxmLl9zaGExX3JlLm1hdGNoKHNoYTEpCisKKyAgICAgICAgc2VsZi50cmVlID0gdHJl
ZQorICAgICAgICBzZWxmLmdpdCA9IHRyZWUuZ2l0CisgICAgICAgIHNlbGYuc2hhMSA9IHNoYTEK
KyAgICAgICAgc2VsZi5hdXRob3IsIHNlbGYuZW1haWwsIHNlbGYubWVzc2FnZSA9IHNlbGYuX2dl
dF9tZXRhKCkKKworICAgIGRlZiBfX2dldHN0YXRlX18oc2VsZik6CisgICAgICAgIHJ2ID0gc2Vs
Zi5fX2RpY3RfXy5jb3B5KCkKKyAgICAgICAgZGVsIHJ2WydnaXQnXQorICAgICAgICByZXR1cm4g
cnYKKworICAgIGRlZiBfX3NldHN0YXRlX18oc2VsZiwgZGljdCk6CisgICAgICAgIHNlbGYuX19k
aWN0X18udXBkYXRlKGRpY3QpCisgICAgICAgIHNlbGYuZ2l0ID0gc2VsZi50cmVlLmdpdAorCisg
ICAgZGVmIF9nZXRfbWV0YShzZWxmKToKKyAgICAgICAgYXV0aG9yLCBlbWFpbCwgbWVzc2FnZSA9
IHNlbGYuZ2l0KCJzaG93IiwgIi1zIiwgIi0tZm9ybWF0PWZvcm1hdDolYW5cbiVhZVxuJUIiLCBz
ZWxmLnNoYTEpLnNwbGl0KCJcbiIsIDIpCisgICAgICAgIHJldHVybiBhdXRob3IsIGVtYWlsLCBz
ZWxmLm1zZ19jbHMobWVzc2FnZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvdXBk
YXRlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS91cGRhdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE1ZTdh
YjczZDRiZjEzMjMwNTRhYTkyMDU5YWI4ZGE2YTFiY2I4MAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci91cGRhdGUvdXBkYXRlLnB5CkBAIC0wLDAgKzEsMTU3IEBACitpbXBvcnQgb3MK
K2ltcG9ydCBzeXMKKworZnJvbSBtZXRhZGF0YSBpbXBvcnQgTWV0YWRhdGFVcGRhdGVSdW5uZXIK
K2Zyb20gc3luYyBpbXBvcnQgU3luY0Zyb21VcHN0cmVhbVJ1bm5lcgorZnJvbSB0cmVlIGltcG9y
dCBHaXRUcmVlLCBIZ1RyZWUsIE5vVkNTVHJlZQorCitmcm9tIC4uIGltcG9ydCBlbnZpcm9ubWVu
dCBhcyBlbnYKK2Zyb20gYmFzZSBpbXBvcnQgU3RlcCwgU3RlcFJ1bm5lciwgZXhpdF9jbGVhbiwg
ZXhpdF91bmNsZWFuCitmcm9tIHN0YXRlIGltcG9ydCBTdGF0ZQorCitkZWYgc2V0dXBfcGF0aHMo
c3luY19wYXRoKToKKyAgICBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5hYnNwYXRoKHN5bmNf
cGF0aCkpCisgICAgdHJ5OgorICAgICAgICBmcm9tIHRvb2xzIGltcG9ydCBsb2NhbHBhdGhzCisg
ICAgZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICBmcm9tIHdwdF90b29scyBpbXBvcnQgbG9j
YWxwYXRocworCitjbGFzcyBMb2FkQ29uZmlnKFN0ZXApOgorICAgICIiIlN0ZXAgZm9yIGxvYWRp
bmcgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBpbmkgZmlsZSBhbmQga3dhcmdzLiIiIgorCisgICAg
cHJvdmlkZXMgPSBbInN5bmMiLCAicGF0aHMiLCAibWV0YWRhdGFfcGF0aCIsICJ0ZXN0c19wYXRo
Il0KKworICAgIGRlZiBjcmVhdGUoc2VsZiwgc3RhdGUpOgorICAgICAgICBzdGF0ZS5zeW5jID0g
eyJyZW1vdGVfdXJsIjogc3RhdGUua3dhcmdzWyJyZW1vdGVfdXJsIl0sCisgICAgICAgICAgICAg
ICAgICAgICAgImJyYW5jaCI6IHN0YXRlLmt3YXJnc1siYnJhbmNoIl0sCisgICAgICAgICAgICAg
ICAgICAgICAgInBhdGgiOiBzdGF0ZS5rd2FyZ3NbInN5bmNfcGF0aCJdfQorCisgICAgICAgIHN0
YXRlLnBhdGhzID0gc3RhdGUua3dhcmdzWyJ0ZXN0X3BhdGhzIl0KKyAgICAgICAgc3RhdGUudGVz
dHNfcGF0aCA9IHN0YXRlLnBhdGhzWyIvIl1bInRlc3RzX3BhdGgiXQorICAgICAgICBzdGF0ZS5t
ZXRhZGF0YV9wYXRoID0gc3RhdGUucGF0aHNbIi8iXVsibWV0YWRhdGFfcGF0aCJdCisKKyAgICAg
ICAgYXNzZXJ0IHN0YXRlLnRlc3RzX3BhdGguc3RhcnRzd2l0aCgiLyIpCisKKworY2xhc3MgTG9h
ZFRyZWVzKFN0ZXApOgorICAgICIiIlN0ZXAgZm9yIGNyZWF0aW5nIGEgVHJlZSBmb3IgdGhlIGxv
Y2FsIGNvcHkgYW5kIGEgR2l0VHJlZSBmb3IgdGhlCisgICAgdXBzdHJlYW0gc3luYy4iIiIKKwor
ICAgIHByb3ZpZGVzID0gWyJsb2NhbF90cmVlIiwgInN5bmNfdHJlZSJdCisKKyAgICBkZWYgY3Jl
YXRlKHNlbGYsIHN0YXRlKToKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc3RhdGUuc3luY1si
cGF0aCJdKToKKyAgICAgICAgICAgIHN5bmNfdHJlZSA9IEdpdFRyZWUocm9vdD1zdGF0ZS5zeW5j
WyJwYXRoIl0pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzeW5jX3RyZWUgPSBOb25lCisK
KyAgICAgICAgaWYgR2l0VHJlZS5pc190eXBlKCk6CisgICAgICAgICAgICBsb2NhbF90cmVlID0g
R2l0VHJlZSgpCisgICAgICAgIGVsaWYgSGdUcmVlLmlzX3R5cGUoKToKKyAgICAgICAgICAgIGxv
Y2FsX3RyZWUgPSBIZ1RyZWUoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbG9jYWxfdHJl
ZSA9IE5vVkNTVHJlZSgpCisKKyAgICAgICAgc3RhdGUudXBkYXRlKHsibG9jYWxfdHJlZSI6IGxv
Y2FsX3RyZWUsCisgICAgICAgICAgICAgICAgICAgICAgInN5bmNfdHJlZSI6IHN5bmNfdHJlZX0p
CisKKworY2xhc3MgU3luY0Zyb21VcHN0cmVhbShTdGVwKToKKyAgICAiIiJTdGVwIHRoYXQgc3lu
Y2hyb25pc2VzIGEgbG9jYWwgY29weSBvZiB0aGUgY29kZSB3aXRoIHVwc3RyZWFtLiIiIgorCisg
ICAgZGVmIGNyZWF0ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGlmIG5vdCBzdGF0ZS5rd2FyZ3Nb
InN5bmMiXToKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGlmIG5vdCBzdGF0ZS5zeW5j
X3RyZWU6CisgICAgICAgICAgICBvcy5ta2RpcihzdGF0ZS5zeW5jWyJwYXRoIl0pCisgICAgICAg
ICAgICBzdGF0ZS5zeW5jX3RyZWUgPSBHaXRUcmVlKHJvb3Q9c3RhdGUuc3luY1sicGF0aCJdKQor
CisgICAgICAgIGt3YXJncyA9IHN0YXRlLmt3YXJncworICAgICAgICB3aXRoIHN0YXRlLnB1c2go
WyJzeW5jIiwgInBhdGhzIiwgIm1ldGFkYXRhX3BhdGgiLCAidGVzdHNfcGF0aCIsICJsb2NhbF90
cmVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAic3luY190cmVlIl0pOgorICAgICAgICAg
ICAgc3RhdGUudGFyZ2V0X3JldiA9IGt3YXJnc1sicmV2Il0KKyAgICAgICAgICAgIHN0YXRlLm5v
X3BhdGNoID0ga3dhcmdzWyJub19wYXRjaCJdCisgICAgICAgICAgICBzdGF0ZS5zdWl0ZV9uYW1l
ID0ga3dhcmdzWyJzdWl0ZV9uYW1lIl0KKyAgICAgICAgICAgIHJ1bm5lciA9IFN5bmNGcm9tVXBz
dHJlYW1SdW5uZXIoc2VsZi5sb2dnZXIsIHN0YXRlKQorICAgICAgICAgICAgcnVubmVyLnJ1bigp
CisKKworY2xhc3MgVXBkYXRlTWV0YWRhdGEoU3RlcCk6CisgICAgIiIiVXBkYXRlIHRoZSBleHBl
Y3RhdGlvbiBtZXRhZGF0YSBmcm9tIGEgc2V0IG9mIHJ1biBsb2dzIiIiCisKKyAgICBkZWYgY3Jl
YXRlKHNlbGYsIHN0YXRlKToKKyAgICAgICAgaWYgbm90IHN0YXRlLmt3YXJnc1sicnVuX2xvZyJd
OgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAga3dhcmdzID0gc3RhdGUua3dhcmdzCisg
ICAgICAgIHdpdGggc3RhdGUucHVzaChbImxvY2FsX3RyZWUiLCAic3luY190cmVlIiwgInBhdGhz
IiwgInNlcnZlX3Jvb3QiXSk6CisgICAgICAgICAgICBzdGF0ZS5ydW5fbG9nID0ga3dhcmdzWyJy
dW5fbG9nIl0KKyAgICAgICAgICAgIHN0YXRlLmlnbm9yZV9leGlzdGluZyA9IGt3YXJnc1siaWdu
b3JlX2V4aXN0aW5nIl0KKyAgICAgICAgICAgIHN0YXRlLm5vX3BhdGNoID0ga3dhcmdzWyJub19w
YXRjaCJdCisgICAgICAgICAgICBzdGF0ZS5zdWl0ZV9uYW1lID0ga3dhcmdzWyJzdWl0ZV9uYW1l
Il0KKyAgICAgICAgICAgIHN0YXRlLnByb2R1Y3QgPSBrd2FyZ3NbInByb2R1Y3QiXQorICAgICAg
ICAgICAgc3RhdGUuY29uZmlnID0ga3dhcmdzWyJjb25maWciXQorICAgICAgICAgICAgcnVubmVy
ID0gTWV0YWRhdGFVcGRhdGVSdW5uZXIoc2VsZi5sb2dnZXIsIHN0YXRlKQorICAgICAgICAgICAg
cnVubmVyLnJ1bigpCisKKworY2xhc3MgVXBkYXRlUnVubmVyKFN0ZXBSdW5uZXIpOgorICAgICIi
IlJ1bm5lciBmb3IgZG9pbmcgYW4gb3ZlcmFsbCB1cGRhdGUuIiIiCisgICAgc3RlcHMgPSBbTG9h
ZENvbmZpZywKKyAgICAgICAgICAgICBMb2FkVHJlZXMsCisgICAgICAgICAgICAgU3luY0Zyb21V
cHN0cmVhbSwKKyAgICAgICAgICAgICBVcGRhdGVNZXRhZGF0YV0KKworCitjbGFzcyBXUFRVcGRh
dGUob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBydW5uZXJfY2xzPVVw
ZGF0ZVJ1bm5lciwgKiprd2FyZ3MpOgorICAgICAgICAiIiJPYmplY3QgdGhhdCBjb250cm9scyB0
aGUgcnVubmluZyBvZiBhIHdob2xlIHdwdHVwZGF0ZS4KKworICAgICAgICA6cGFyYW0gcnVubmVy
X2NsczogUnVubmVyIHN1YmNsYXNzIGhvbGRpbmcgdGhlIG92ZXJhbGwgbGlzdCBvZgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RlcHMgdG8gcnVuLgorICAgICAgICA6cGFyYW0ga3dhcmdz
OiBDb21tYW5kIGxpbmUgYXJndW1lbnRzCisgICAgICAgICIiIgorICAgICAgICBzZWxmLnJ1bm5l
cl9jbHMgPSBydW5uZXJfY2xzCisgICAgICAgIHNlbGYuc2VydmVfcm9vdCA9IGt3YXJnc1sidGVz
dF9wYXRocyJdWyIvIl1bInRlc3RzX3BhdGgiXQorCisgICAgICAgIGlmIG5vdCBrd2FyZ3NbInN5
bmMiXToKKyAgICAgICAgICAgIHNldHVwX3BhdGhzKHNlbGYuc2VydmVfcm9vdCkKKyAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGt3YXJnc1sic3luY19wYXRoIl0p
OgorICAgICAgICAgICAgICAgICMgSWYgdGhlIHN5bmMgcGF0aCBkb2Vzbid0IGV4aXN0IHdlIGRl
ZmVyIHRoaXMgdW50aWwgaXQgZG9lcworICAgICAgICAgICAgICAgIHNldHVwX3BhdGhzKGt3YXJn
c1sic3luY19wYXRoIl0pCisKKyAgICAgICAgc2VsZi5zdGF0ZSA9IFN0YXRlKGxvZ2dlcikKKyAg
ICAgICAgc2VsZi5rd2FyZ3MgPSBrd2FyZ3MKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIK
KworICAgIGRlZiBydW4oc2VsZiwgKiprd2FyZ3MpOgorICAgICAgICBpZiBzZWxmLmt3YXJnc1si
YWJvcnQiXToKKyAgICAgICAgICAgIHNlbGYuYWJvcnQoKQorICAgICAgICAgICAgcmV0dXJuIGV4
aXRfY2xlYW4KKworICAgICAgICBpZiBub3Qgc2VsZi5rd2FyZ3NbImNvbnRpbnVlIl0gYW5kIG5v
dCBzZWxmLnN0YXRlLmlzX2VtcHR5KCk6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcigi
Rm91bmQgZXhpc3Rpbmcgc3RhdGUuIFJ1biB3aXRoIC0tY29udGludWUgdG8gcmVzdW1lIG9yIC0t
YWJvcnQgdG8gY2xlYXIgc3RhdGUiKQorICAgICAgICAgICAgcmV0dXJuIGV4aXRfdW5jbGVhbgor
CisgICAgICAgIGlmIHNlbGYua3dhcmdzWyJjb250aW51ZSJdOgorICAgICAgICAgICAgaWYgc2Vs
Zi5zdGF0ZS5pc19lbXB0eSgpOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKCJO
byBzeW5jIGluIHByb2dyZXNzPyIpCisgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXRfY2xlYW4K
KworICAgICAgICAgICAgc2VsZi5rd2FyZ3MgPSBzZWxmLnN0YXRlLmt3YXJncworICAgICAgICBl
bHNlOgorICAgICAgICAgICAgc2VsZi5zdGF0ZS5rd2FyZ3MgPSBzZWxmLmt3YXJncworCisgICAg
ICAgIHNlbGYuc3RhdGUuc2VydmVfcm9vdCA9IHNlbGYuc2VydmVfcm9vdAorCisgICAgICAgIHVw
ZGF0ZV9ydW5uZXIgPSBzZWxmLnJ1bm5lcl9jbHMoc2VsZi5sb2dnZXIsIHNlbGYuc3RhdGUpCisg
ICAgICAgIHJ2ID0gdXBkYXRlX3J1bm5lci5ydW4oKQorICAgICAgICBpZiBydiBpbiAoZXhpdF9j
bGVhbiwgTm9uZSk6CisgICAgICAgICAgICBzZWxmLnN0YXRlLmNsZWFyKCkKKworICAgICAgICBy
ZXR1cm4gcnYKKworICAgIGRlZiBhYm9ydChzZWxmKToKKyAgICAgICAgc2VsZi5zdGF0ZS5jbGVh
cigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3VwZGF0ZS93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2RlZmM4NzI5NDY5
MzIxMGE1ZjA5OWI3NzdmMjJmMjI1OTk3NTdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3VwZGF0ZS93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIzIEBACitUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0Rv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvdXBkYXRlL19faW5pdF9fLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9iYXNlLnB5
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9tZXRhZGF0YS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUv
c3RhdGUucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3N5bmMucHkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBk
YXRlL3RyZWUucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3VwZGF0ZS5weQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3Zjcy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci92Y3MucHkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTZk
NTNhZmM4YmU2MjQ5NjFmMDU5ZWVmZDZmMmY0NmIxZGZjMGUwNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci92Y3MucHkKQEAgLTAsMCArMSw0OSBAQAoraW1wb3J0IHN1YnByb2Nlc3MK
K2Zyb20gZnVuY3Rvb2xzIGltcG9ydCBwYXJ0aWFsCisKK2Zyb20gbW96bG9nIGltcG9ydCBnZXRf
ZGVmYXVsdF9sb2dnZXIKKworbG9nZ2VyID0gTm9uZQorCitkZWYgdmNzKGJpbl9uYW1lKToKKyAg
ICBkZWYgaW5uZXIoY29tbWFuZCwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgZ2xvYmFsIGxv
Z2dlcgorCisgICAgICAgIGlmIGxvZ2dlciBpcyBOb25lOgorICAgICAgICAgICAgbG9nZ2VyID0g
Z2V0X2RlZmF1bHRfbG9nZ2VyKCJ2Y3MiKQorCisgICAgICAgIHJlcG8gPSBrd2FyZ3MucG9wKCJy
ZXBvIiwgTm9uZSkKKyAgICAgICAgbG9nX2Vycm9yID0ga3dhcmdzLnBvcCgibG9nX2Vycm9yIiwg
VHJ1ZSkKKyAgICAgICAgaWYga3dhcmdzOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yLCBr
d2FyZ3MKKworICAgICAgICBhcmdzID0gbGlzdChhcmdzKQorCisgICAgICAgIHByb2Nfa3dhcmdz
ID0ge30KKyAgICAgICAgaWYgcmVwbyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHByb2Nfa3dh
cmdzWyJjd2QiXSA9IHJlcG8KKworICAgICAgICBjb21tYW5kX2xpbmUgPSBbYmluX25hbWUsIGNv
bW1hbmRdICsgYXJncworICAgICAgICBsb2dnZXIuZGVidWcoIiAiLmpvaW4oY29tbWFuZF9saW5l
KSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0dXJuIHN1YnByb2Nlc3MuY2hlY2tfb3V0
cHV0KGNvbW1hbmRfbGluZSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VULCAqKnByb2Nfa3dhcmdz
KQorICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKKyAg
ICAgICAgICAgIGlmIGxvZ19lcnJvcjoKKyAgICAgICAgICAgICAgICBsb2dnZXIuZXJyb3IoZS5v
dXRwdXQpCisgICAgICAgICAgICByYWlzZQorICAgIHJldHVybiBpbm5lcgorCitnaXQgPSB2Y3Mo
ImdpdCIpCitoZyA9IHZjcygiaGciKQorCisKK2RlZiBiaW5kX3RvX3JlcG8odmNzX2Z1bmMsIHJl
cG8pOgorICAgIHJldHVybiBwYXJ0aWFsKHZjc19mdW5jLCByZXBvPXJlcG8pCisKKworZGVmIGlz
X2dpdF9yb290KHBhdGgpOgorICAgIHRyeToKKyAgICAgICAgcnYgPSBnaXQoInJldi1wYXJzZSIs
ICItLXNob3ctY2R1cCIsIHJlcG89cGF0aCkKKyAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQ
cm9jZXNzRXJyb3I6CisgICAgICAgIHJldHVybiBGYWxzZQorICAgIHJldHVybiBydiA9PSAiXG4i
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
dzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmU2OWRiZDFmYzBmNzJmYTU1MzQ2MjdmZWZkYTYy
NjFjZTkxMmRjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93M2MtaW1wb3J0Lmxv
ZwpAQCAtMCwwICsxLDQwIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25l
CitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvX19pbml0X18ucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvY29uZmlnLmpzb24KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvY29uZmlnLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL2Vudmlyb25tZW50LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4cGVjdGVkLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL2hvc3RzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0ZXhwZWN0ZWQucHkKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvbWFuaWZlc3RpbmNsdWRlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0dXBkYXRl
LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL21ldGFkYXRhLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Byb2R1Y3RzLnB5
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3JlZHVjZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFybmVzc19ydW5u
ZXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2by5qcworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2b2RyaXZlci5qcworL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90
ZXN0aGFybmVzc3JlcG9ydC5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0bG9hZGVyLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL3Rlc3RydW5uZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdmNzLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3dlYmRyaXZlcl9zZXJ2ZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0Y29tbWFuZGxpbmUucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0bG9nZ2luZy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRydW5uZXIucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0dGVzdC5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dlYmRyaXZl
cl9zZXJ2ZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd2ViZHJpdmVyX3NlcnZlci5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40OWQ5YzczYjUyZTVlZDExM2ZmMTFmOWE2NDY1MDE4YmYwZjFkNjA3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3dlYmRyaXZlcl9zZXJ2ZXIucHkKQEAgLTAsMCArMSwyMzMgQEAK
K2ltcG9ydCBhYmMKK2ltcG9ydCBlcnJubworaW1wb3J0IG9zCitpbXBvcnQgcGxhdGZvcm0KK2lt
cG9ydCBzb2NrZXQKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9ydCB0aW1lCitpbXBvcnQgdHJhY2Vi
YWNrCitpbXBvcnQgdXJscGFyc2UKKworaW1wb3J0IG1venByb2Nlc3MKKworCitfX2FsbF9fID0g
WyJTZWxlbml1bVNlcnZlciIsICJDaHJvbWVEcml2ZXJTZXJ2ZXIiLAorICAgICAgICAgICAiR2Vj
a29Ecml2ZXJTZXJ2ZXIiLCAiU2Vydm9Ecml2ZXJTZXJ2ZXIiLAorICAgICAgICAgICAiV2ViRHJp
dmVyU2VydmVyIl0KKworCitjbGFzcyBXZWJEcml2ZXJTZXJ2ZXIob2JqZWN0KToKKyAgICBfX21l
dGFjbGFzc19fID0gYWJjLkFCQ01ldGEKKworICAgIGRlZmF1bHRfYmFzZV9wYXRoID0gIi8iCisg
ICAgX3VzZWRfcG9ydHMgPSBzZXQoKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwg
YmluYXJ5LCBob3N0PSIxMjcuMC4wLjEiLCBwb3J0PU5vbmUsCisgICAgICAgICAgICAgICAgIGJh
c2VfcGF0aD0iIiwgZW52PU5vbmUsIGFyZ3M9Tm9uZSk6CisgICAgICAgIGlmIGJpbmFyeSBpcyBO
b25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiV2ViRHJpdmVyIHNlcnZlciBiaW5h
cnkgbXVzdCBiZSBnaXZlbiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0byAtLXdl
YmRyaXZlci1iaW5hcnkgYXJndW1lbnQiKQorCisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2Vy
CisgICAgICAgIHNlbGYuYmluYXJ5ID0gYmluYXJ5CisgICAgICAgIHNlbGYuaG9zdCA9IGhvc3QK
KyAgICAgICAgaWYgYmFzZV9wYXRoID09ICIiOgorICAgICAgICAgICAgc2VsZi5iYXNlX3BhdGgg
PSBzZWxmLmRlZmF1bHRfYmFzZV9wYXRoCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxm
LmJhc2VfcGF0aCA9IGJhc2VfcGF0aAorICAgICAgICBzZWxmLmVudiA9IG9zLmVudmlyb24uY29w
eSgpIGlmIGVudiBpcyBOb25lIGVsc2UgZW52CisKKyAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQK
KyAgICAgICAgc2VsZi5fY21kID0gTm9uZQorICAgICAgICBzZWxmLl9hcmdzID0gYXJncyBpZiBh
cmdzIGlzIG5vdCBOb25lIGVsc2UgW10KKyAgICAgICAgc2VsZi5fcHJvYyA9IE5vbmUKKworICAg
IEBhYmMuYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgbWFrZV9jb21tYW5kKHNlbGYpOgorICAgICAg
ICAiIiJSZXR1cm5zIHRoZSBmdWxsIGNvbW1hbmQgZm9yIHN0YXJ0aW5nIHRoZSBzZXJ2ZXIgcHJv
Y2VzcyBhcyBhIGxpc3QuIiIiCisKKyAgICBkZWYgc3RhcnQoc2VsZiwgYmxvY2s9RmFsc2UpOgor
ICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLl9ydW4oYmxvY2spCisgICAgICAgIGV4Y2Vw
dCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgIHNlbGYuc3RvcCgpCisKKyAgICBkZWYg
X3J1bihzZWxmLCBibG9jayk6CisgICAgICAgIHNlbGYuX2NtZCA9IHNlbGYubWFrZV9jb21tYW5k
KCkKKyAgICAgICAgc2VsZi5fcHJvYyA9IG1venByb2Nlc3MuUHJvY2Vzc0hhbmRsZXIoCisgICAg
ICAgICAgICBzZWxmLl9jbWQsCisgICAgICAgICAgICBwcm9jZXNzT3V0cHV0TGluZT1zZWxmLm9u
X291dHB1dCwKKyAgICAgICAgICAgIGVudj1zZWxmLmVudiwKKyAgICAgICAgICAgIHN0b3JlT3V0
cHV0PUZhbHNlKQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuX3Byb2MucnVuKCkK
KyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGlmIGUuZXJybm8gPT0g
ZXJybm8uRU5PRU5UOgorICAgICAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoCisgICAgICAgICAg
ICAgICAgICAgICJXZWJEcml2ZXIgSFRUUCBzZXJ2ZXIgZXhlY3V0YWJsZSBub3QgZm91bmQ6ICVz
IiAlIHNlbGYuYmluYXJ5KQorICAgICAgICAgICAgcmFpc2UKKworICAgICAgICBzZWxmLmxvZ2dl
ci5kZWJ1ZygKKyAgICAgICAgICAgICJXYWl0aW5nIGZvciBzZXJ2ZXIgdG8gYmVjb21lIGFjY2Vz
c2libGU6ICVzIiAlIHNlbGYudXJsKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB3YWl0X2Zv
cl9zZXJ2aWNlKChzZWxmLmhvc3QsIHNlbGYucG9ydCkpCisgICAgICAgIGV4Y2VwdDoKKyAgICAg
ICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKAorICAgICAgICAgICAgICAgICJXZWJEcml2ZXIgSFRU
UCBzZXJ2ZXIgd2FzIG5vdCBhY2Nlc3NpYmxlICIKKyAgICAgICAgICAgICAgICAid2l0aGluIHRo
ZSB0aW1lb3V0OlxuJXMiICUgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICAgICAgICAgIHJh
aXNlCisKKyAgICAgICAgaWYgYmxvY2s6CisgICAgICAgICAgICBzZWxmLl9wcm9jLndhaXQoKQor
CisgICAgZGVmIHN0b3Aoc2VsZiwgZm9yY2U9RmFsc2UpOgorICAgICAgICBpZiBzZWxmLmlzX2Fs
aXZlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Byb2Mua2lsbCgpCisgICAgICAgIHJldHVy
biBub3Qgc2VsZi5pc19hbGl2ZQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGlzX2FsaXZlKHNl
bGYpOgorICAgICAgICByZXR1cm4gaGFzYXR0cihzZWxmLl9wcm9jLCAicHJvYyIpIGFuZCBzZWxm
Ll9wcm9jLnBvbGwoKSBpcyBOb25lCisKKyAgICBkZWYgb25fb3V0cHV0KHNlbGYsIGxpbmUpOgor
ICAgICAgICBzZWxmLmxvZ2dlci5wcm9jZXNzX291dHB1dChzZWxmLnBpZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGluZS5kZWNvZGUoInV0ZjgiLCAicmVwbGFjZSIpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPSIgIi5qb2luKHNlbGYu
X2NtZCkpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcGlkKHNlbGYpOgorICAgICAgICBpZiBz
ZWxmLl9wcm9jIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Byb2MucGlk
CisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgdXJsKHNlbGYpOgorICAgICAgICByZXR1cm4gImh0
dHA6Ly8lczolaSVzIiAlIChzZWxmLmhvc3QsIHNlbGYucG9ydCwgc2VsZi5iYXNlX3BhdGgpCisK
KyAgICBAcHJvcGVydHkKKyAgICBkZWYgcG9ydChzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fcG9y
dCBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5fcG9ydCA9IHNlbGYuX2ZpbmRfbmV4dF9mcmVl
X3BvcnQoKQorICAgICAgICByZXR1cm4gc2VsZi5fcG9ydAorCisgICAgQHN0YXRpY21ldGhvZAor
ICAgIGRlZiBfZmluZF9uZXh0X2ZyZWVfcG9ydCgpOgorICAgICAgICBwb3J0ID0gZ2V0X2ZyZWVf
cG9ydCg0NDQ0LCBleGNsdWRlPVdlYkRyaXZlclNlcnZlci5fdXNlZF9wb3J0cykKKyAgICAgICAg
V2ViRHJpdmVyU2VydmVyLl91c2VkX3BvcnRzLmFkZChwb3J0KQorICAgICAgICByZXR1cm4gcG9y
dAorCisKK2NsYXNzIFNlbGVuaXVtU2VydmVyKFdlYkRyaXZlclNlcnZlcik6CisgICAgZGVmYXVs
dF9iYXNlX3BhdGggPSAiL3dkL2h1YiIKKworICAgIGRlZiBtYWtlX2NvbW1hbmQoc2VsZik6Cisg
ICAgICAgIHJldHVybiBbImphdmEiLCAiLWphciIsIHNlbGYuYmluYXJ5LCAiLXBvcnQiLCBzdHIo
c2VsZi5wb3J0KV0gKyBzZWxmLl9hcmdzCisKKworY2xhc3MgQ2hyb21lRHJpdmVyU2VydmVyKFdl
YkRyaXZlclNlcnZlcik6CisgICAgZGVmYXVsdF9iYXNlX3BhdGggPSAiL3dkL2h1YiIKKworICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIGJpbmFyeT0iY2hyb21lZHJpdmVyIiwgcG9ydD1O
b25lLAorICAgICAgICAgICAgICAgICBiYXNlX3BhdGg9IiIsIGFyZ3M9Tm9uZSk6CisgICAgICAg
IFdlYkRyaXZlclNlcnZlci5fX2luaXRfXygKKyAgICAgICAgICAgIHNlbGYsIGxvZ2dlciwgYmlu
YXJ5LCBwb3J0PXBvcnQsIGJhc2VfcGF0aD1iYXNlX3BhdGgsIGFyZ3M9YXJncykKKworICAgIGRl
ZiBtYWtlX2NvbW1hbmQoc2VsZik6CisgICAgICAgIHJldHVybiBbc2VsZi5iaW5hcnksCisgICAg
ICAgICAgICAgICAgY21kX2FyZygicG9ydCIsIHN0cihzZWxmLnBvcnQpKSwKKyAgICAgICAgICAg
ICAgICBjbWRfYXJnKCJ1cmwtYmFzZSIsIHNlbGYuYmFzZV9wYXRoKSBpZiBzZWxmLmJhc2VfcGF0
aCBlbHNlICIiXSArIHNlbGYuX2FyZ3MKKworCitjbGFzcyBFZGdlRHJpdmVyU2VydmVyKFdlYkRy
aXZlclNlcnZlcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgYmluYXJ5PSJNaWNy
b3NvZnRXZWJEcml2ZXIuZXhlIiwgcG9ydD1Ob25lLAorICAgICAgICAgICAgICAgICBiYXNlX3Bh
dGg9IiIsIGhvc3Q9ImxvY2FsaG9zdCIsIGFyZ3M9Tm9uZSk6CisgICAgICAgIFdlYkRyaXZlclNl
cnZlci5fX2luaXRfXygKKyAgICAgICAgICAgIHNlbGYsIGxvZ2dlciwgYmluYXJ5LCBob3N0PWhv
c3QsIHBvcnQ9cG9ydCwgYXJncz1hcmdzKQorCisgICAgZGVmIG1ha2VfY29tbWFuZChzZWxmKToK
KyAgICAgICAgcmV0dXJuIFtzZWxmLmJpbmFyeSwKKyAgICAgICAgICAgICAgICAiLS1wb3J0PSVz
IiAlIHN0cihzZWxmLnBvcnQpXSArIHNlbGYuX2FyZ3MKKworCitjbGFzcyBHZWNrb0RyaXZlclNl
cnZlcihXZWJEcml2ZXJTZXJ2ZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIG1h
cmlvbmV0dGVfcG9ydD0yODI4LCBiaW5hcnk9ImdlY2tvZHJpdmVyIiwKKyAgICAgICAgICAgICAg
ICAgaG9zdD0iMTI3LjAuMC4xIiwgcG9ydD1Ob25lLCBhcmdzPU5vbmUpOgorICAgICAgICBlbnYg
PSBvcy5lbnZpcm9uLmNvcHkoKQorICAgICAgICBlbnZbIlJVU1RfQkFDS1RSQUNFIl0gPSAiMSIK
KyAgICAgICAgV2ViRHJpdmVyU2VydmVyLl9faW5pdF9fKHNlbGYsIGxvZ2dlciwgYmluYXJ5LCBo
b3N0PWhvc3QsIHBvcnQ9cG9ydCwgZW52PWVudiwgYXJncz1hcmdzKQorICAgICAgICBzZWxmLm1h
cmlvbmV0dGVfcG9ydCA9IG1hcmlvbmV0dGVfcG9ydAorCisgICAgZGVmIG1ha2VfY29tbWFuZChz
ZWxmKToKKyAgICAgICAgcmV0dXJuIFtzZWxmLmJpbmFyeSwKKyAgICAgICAgICAgICAgICAiLS1t
YXJpb25ldHRlLXBvcnQiLCBzdHIoc2VsZi5tYXJpb25ldHRlX3BvcnQpLAorICAgICAgICAgICAg
ICAgICItLWhvc3QiLCBzZWxmLmhvc3QsCisgICAgICAgICAgICAgICAgIi0tcG9ydCIsIHN0cihz
ZWxmLnBvcnQpXSArIHNlbGYuX2FyZ3MKKworCitjbGFzcyBTZXJ2b0RyaXZlclNlcnZlcihXZWJE
cml2ZXJTZXJ2ZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIGJpbmFyeT0ic2Vy
dm8iLCBiaW5hcnlfYXJncz1Ob25lLCBob3N0PSIxMjcuMC4wLjEiLCBwb3J0PU5vbmUpOgorICAg
ICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQorICAgICAgICBlbnZbIlJVU1RfQkFDS1RSQUNF
Il0gPSAiMSIKKyAgICAgICAgV2ViRHJpdmVyU2VydmVyLl9faW5pdF9fKHNlbGYsIGxvZ2dlciwg
YmluYXJ5LCBob3N0PWhvc3QsIHBvcnQ9cG9ydCwgZW52PWVudikKKyAgICAgICAgc2VsZi5iaW5h
cnlfYXJncyA9IGJpbmFyeV9hcmdzCisKKyAgICBkZWYgbWFrZV9jb21tYW5kKHNlbGYpOgorICAg
ICAgICBjb21tYW5kID0gW3NlbGYuYmluYXJ5LAorICAgICAgICAgICAgICAgICAgICItLXdlYmRy
aXZlciIsIHN0cihzZWxmLnBvcnQpLAorICAgICAgICAgICAgICAgICAgICItLWhhcmQtZmFpbCIs
CisgICAgICAgICAgICAgICAgICAgIi0taGVhZGxlc3MiXSArIHNlbGYuX2FyZ3MKKyAgICAgICAg
aWYgc2VsZi5iaW5hcnlfYXJnczoKKyAgICAgICAgICAgIGNvbW1hbmQgKz0gc2VsZi5iaW5hcnlf
YXJncworICAgICAgICByZXR1cm4gY29tbWFuZAorCisKK2RlZiBjbWRfYXJnKG5hbWUsIHZhbHVl
PU5vbmUpOgorICAgIHByZWZpeCA9ICItIiBpZiBwbGF0Zm9ybS5zeXN0ZW0oKSA9PSAiV2luZG93
cyIgZWxzZSAiLS0iCisgICAgcnYgPSBwcmVmaXggKyBuYW1lCisgICAgaWYgdmFsdWUgaXMgbm90
IE5vbmU6CisgICAgICAgIHJ2ICs9ICI9IiArIHZhbHVlCisgICAgcmV0dXJuIHJ2CisKKworZGVm
IGdldF9mcmVlX3BvcnQoc3RhcnRfcG9ydCwgZXhjbHVkZT1Ob25lKToKKyAgICAiIiJHZXQgdGhl
IGZpcnN0IHBvcnQgbnVtYmVyIGFmdGVyIHN0YXJ0X3BvcnQgKGluY2x1c2l2ZSkgdGhhdCBpcwor
ICAgIG5vdCBjdXJyZW50bHkgYm91bmQuCisKKyAgICA6cGFyYW0gc3RhcnRfcG9ydDogSW50ZWdl
ciBwb3J0IG51bWJlciBhdCB3aGljaCB0byBzdGFydCB0ZXN0aW5nLgorICAgIDpwYXJhbSBleGNs
dWRlOiBTZXQgb2YgcG9ydCBudW1iZXJzIHRvIHNraXAiIiIKKyAgICBwb3J0ID0gc3RhcnRfcG9y
dAorICAgIHdoaWxlIFRydWU6CisgICAgICAgIGlmIGV4Y2x1ZGUgYW5kIHBvcnQgaW4gZXhjbHVk
ZToKKyAgICAgICAgICAgIHBvcnQgKz0gMQorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAg
cyA9IHNvY2tldC5zb2NrZXQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzLmJpbmQoKCIx
MjcuMC4wLjEiLCBwb3J0KSkKKyAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAg
ICAgIHBvcnQgKz0gMQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHBvcnQKKyAg
ICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHMuY2xvc2UoKQorCisKK2RlZiB3YWl0X2Zvcl9z
ZXJ2aWNlKGFkZHIsIHRpbWVvdXQ9MTUpOgorICAgICIiIldhaXRzIHVudGlsIG5ldHdvcmsgc2Vy
dmljZSBnaXZlbiBhcyBhIHR1cGxlIG9mIChob3N0LCBwb3J0KSBiZWNvbWVzCisgICAgYXZhaWxh
YmxlIG9yIHRoZSBgdGltZW91dGAgZHVyYXRpb24gaXMgcmVhY2hlZCwgYXQgd2hpY2ggcG9pbnQK
KyAgICBgYHNvY2tldC5lcnJvcmBgIGlzIHJhaXNlZC4iIiIKKyAgICBlbmQgPSB0aW1lLnRpbWUo
KSArIHRpbWVvdXQKKyAgICB3aGlsZSBlbmQgPiB0aW1lLnRpbWUoKToKKyAgICAgICAgc28gPSBz
b2NrZXQuc29ja2V0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc28uY29ubmVjdChhZGRy
KQorICAgICAgICBleGNlcHQgc29ja2V0LnRpbWVvdXQ6CisgICAgICAgICAgICBwYXNzCisgICAg
ICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZToKKyAgICAgICAgICAgIGlmIGVbMF0gIT0gZXJy
bm8uRUNPTk5SRUZVU0VEOgorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgc28u
Y2xvc2UoKQorICAgICAgICB0aW1lLnNsZWVwKDAuNSkKKyAgICByYWlzZSBzb2NrZXQuZXJyb3Io
IlNlcnZpY2UgaXMgdW5hdmFpbGFibGU6ICVzOiVpIiAlIGFkZHIpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvd3B0Y29tbWFuZGxpbmUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0Y29tbWFuZGxpbmUu
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDFkM2FiOWZiNTJjM2IxNWQxZmE4MWY1YTY5NGY3MjA3MTYwNTFjMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRjb21tYW5kbGluZS5weQpAQCAtMCww
ICsxLDQ1OCBAQAoraW1wb3J0IGFyZ3BhcnNlCitpbXBvcnQgYXN0CitpbXBvcnQgb3MKK2ltcG9y
dCBzeXMKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IE9yZGVyZWREaWN0Citmcm9tIGRpc3R1dGls
cy5zcGF3biBpbXBvcnQgZmluZF9leGVjdXRhYmxlCisKK2ltcG9ydCBjb25maWcKK2ltcG9ydCB3
cHR0ZXN0CisKKworZGVmIGFic19wYXRoKHBhdGgpOgorICAgIHJldHVybiBvcy5wYXRoLmFic3Bh
dGgob3MucGF0aC5leHBhbmR1c2VyKHBhdGgpKQorCisKK2RlZiB1cmxfb3JfcGF0aChwYXRoKToK
KyAgICBpbXBvcnQgdXJscGFyc2UKKworICAgIHBhcnNlZCA9IHVybHBhcnNlLnVybHBhcnNlKHBh
dGgpCisgICAgaWYgbGVuKHBhcnNlZC5zY2hlbWUpID4gMjoKKyAgICAgICAgcmV0dXJuIHBhdGgK
KyAgICBlbHNlOgorICAgICAgICByZXR1cm4gYWJzX3BhdGgocGF0aCkKKworCitkZWYgcmVxdWly
ZV9hcmcoa3dhcmdzLCBuYW1lLCB2YWx1ZV9mdW5jPU5vbmUpOgorICAgIGlmIHZhbHVlX2Z1bmMg
aXMgTm9uZToKKyAgICAgICAgdmFsdWVfZnVuYyA9IGxhbWJkYSB4OiB4IGlzIG5vdCBOb25lCisK
KyAgICBpZiBub3QgbmFtZSBpbiBrd2FyZ3Mgb3Igbm90IHZhbHVlX2Z1bmMoa3dhcmdzW25hbWVd
KToKKyAgICAgICAgcHJpbnQgPj4gc3lzLnN0ZGVyciwgIk1pc3NpbmcgcmVxdWlyZWQgYXJndW1l
bnQgJXMiICUgbmFtZQorICAgICAgICBzeXMuZXhpdCgxKQorCisKK2RlZiBjcmVhdGVfcGFyc2Vy
KHByb2R1Y3RfY2hvaWNlcz1Ob25lKToKKyAgICBmcm9tIG1vemxvZyBpbXBvcnQgY29tbWFuZGxp
bmUKKworICAgIGltcG9ydCBwcm9kdWN0cworCisgICAgaWYgcHJvZHVjdF9jaG9pY2VzIGlzIE5v
bmU6CisgICAgICAgIGNvbmZpZ19kYXRhID0gY29uZmlnLmxvYWQoKQorICAgICAgICBwcm9kdWN0
X2Nob2ljZXMgPSBwcm9kdWN0cy5wcm9kdWN0c19lbmFibGVkKGNvbmZpZ19kYXRhKQorCisgICAg
cGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249IiIiUnVubmVyIGZv
ciB3ZWItcGxhdGZvcm0tdGVzdHMgdGVzdHMuIiIiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVzYWdlPSIiIiUocHJvZylzIFtPUFRJT05dLi4uIFtURVNUXS4uLgorCitU
RVNUIGlzIGVpdGhlciB0aGUgZnVsbCBwYXRoIHRvIGEgdGVzdCBmaWxlIHRvIHJ1biwgb3IgdGhl
IFVSTCBvZiBhIHRlc3QgZXhjbHVkaW5nCitzY2hlbWUgaG9zdCBhbmQgcG9ydC4iIiIpCisgICAg
cGFyc2VyLmFkZF9hcmd1bWVudCgiLS1tYW5pZmVzdC11cGRhdGUiLCBhY3Rpb249InN0b3JlX3Ry
dWUiLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUmVnZW5l
cmF0ZSB0aGUgdGVzdCBtYW5pZmVzdC4iKQorCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS10
aW1lb3V0LW11bHRpcGxpZXIiLCBhY3Rpb249InN0b3JlIiwgdHlwZT1mbG9hdCwgZGVmYXVsdD1O
b25lLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iTXVsdGlwbGllciByZWxhdGl2ZSB0
byBzdGFuZGFyZCB0ZXN0IHRpbWVvdXQgdG8gdXNlIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50
KCItLXJ1bi1ieS1kaXIiLCB0eXBlPWludCwgbmFyZ3M9Ij8iLCBkZWZhdWx0PUZhbHNlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iU3BsaXQgcnVuIGludG8gZ3JvdXBzIGJ5IGRpcmVj
dG9yaWVzLiBXaXRoIGEgcGFyYW1ldGVyLCIKKyAgICAgICAgICAgICAgICAgICAgICAgICJsaW1p
dCB0aGUgZGVwdGggb2Ygc3BsaXRzIGUuZy4gLS1ydW4tYnktZGlyPTEgdG8gc3BsaXQgYnkgdG9w
LWxldmVsIgorICAgICAgICAgICAgICAgICAgICAgICAgImRpcmVjdG9yeSIpCisgICAgcGFyc2Vy
LmFkZF9hcmd1bWVudCgiLS1wcm9jZXNzZXMiLCBhY3Rpb249InN0b3JlIiwgdHlwZT1pbnQsIGRl
ZmF1bHQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9Ik51bWJlciBvZiBzaW11
bHRhbmVvdXMgcHJvY2Vzc2VzIHRvIHVzZSIpCisKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCIt
LW5vLWNhcHR1cmUtc3RkaW8iLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG9uJ3QgY2FwdHVyZSBzdGRpbyBhbmQgd3Jp
dGUgdG8gbG9nZ2luZyIpCisKKyAgICBtb2RlX2dyb3VwID0gcGFyc2VyLmFkZF9hcmd1bWVudF9n
cm91cCgiTW9kZSIpCisgICAgbW9kZV9ncm91cC5hZGRfYXJndW1lbnQoIi0tbGlzdC10ZXN0LWdy
b3VwcyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJMaXN0IHRo
ZSB0b3AgbGV2ZWwgZGlyZWN0b3JpZXMgY29udGFpbmluZyB0ZXN0cyB0aGF0IHdpbGwgcnVuLiIp
CisgICAgbW9kZV9ncm91cC5hZGRfYXJndW1lbnQoIi0tbGlzdC1kaXNhYmxlZCIsIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJMaXN0IHRoZSB0ZXN0cyB0aGF0IGFy
ZSBkaXNhYmxlZCBvbiB0aGUgY3VycmVudCBwbGF0Zm9ybSIpCisKKyAgICB0ZXN0X3NlbGVjdGlv
bl9ncm91cCA9IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIlRlc3QgU2VsZWN0aW9uIikKKyAg
ICB0ZXN0X3NlbGVjdGlvbl9ncm91cC5hZGRfYXJndW1lbnQoIi0tdGVzdC10eXBlcyIsIGFjdGlv
bj0ic3RvcmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz0i
KiIsIGRlZmF1bHQ9d3B0dGVzdC5lbmFibGVkX3Rlc3RzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjaG9pY2VzPXdwdHRlc3QuZW5hYmxlZF90ZXN0cywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVGVzdCB0eXBlcyB0byBydW4iKQor
ICAgIHRlc3Rfc2VsZWN0aW9uX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1pbmNsdWRlIiwgYWN0aW9u
PSJhcHBlbmQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJV
UkwgcHJlZml4IHRvIGluY2x1ZGUiKQorICAgIHRlc3Rfc2VsZWN0aW9uX2dyb3VwLmFkZF9hcmd1
bWVudCgiLS1leGNsdWRlIiwgYWN0aW9uPSJhcHBlbmQiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJVUkwgcHJlZml4IHRvIGV4Y2x1ZGUiKQorICAgIHRlc3Rf
c2VsZWN0aW9uX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1pbmNsdWRlLW1hbmlmZXN0IiwgdHlwZT1h
YnNfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUGF0
aCB0byBtYW5pZmVzdCBsaXN0aW5nIHRlc3RzIHRvIGluY2x1ZGUiKQorICAgIHRlc3Rfc2VsZWN0
aW9uX2dyb3VwLmFkZF9hcmd1bWVudCgiLS10YWciLCBhY3Rpb249ImFwcGVuZCIsIGRlc3Q9InRh
Z3MiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJMYWJlbHMg
YXBwbGllZCB0byB0ZXN0cyB0byBpbmNsdWRlIGluIHRoZSBydW4uIExhYmVscyBzdGFydGluZyBk
aXI6IGFyZSBlcXVpdmFsZW50IHRvIHRvcC1sZXZlbCBkaXJlY3Rvcmllcy4iKQorCisgICAgZGVi
dWdnaW5nX2dyb3VwID0gcGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRGVidWdnaW5nIikKKyAg
ICBkZWJ1Z2dpbmdfZ3JvdXAuYWRkX2FyZ3VtZW50KCctLWRlYnVnZ2VyJywgY29uc3Q9Il9fZGVm
YXVsdF9fIiwgbmFyZ3M9Ij8iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0icnVuIHVuZGVyIGEgZGVidWdnZXIsIGUuZy4gZ2RiIG9yIHZhbGdyaW5kIikKKyAgICBkZWJ1
Z2dpbmdfZ3JvdXAuYWRkX2FyZ3VtZW50KCctLWRlYnVnZ2VyLWFyZ3MnLCBoZWxwPSJhcmd1bWVu
dHMgdG8gdGhlIGRlYnVnZ2VyIikKKyAgICBkZWJ1Z2dpbmdfZ3JvdXAuYWRkX2FyZ3VtZW50KCIt
LXJlcGVhdCIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPWludCwgZGVmYXVsdD0xLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iTnVtYmVyIG9mIHRpbWVzIHRvIHJ1biB0aGUg
dGVzdHMiKQorICAgIGRlYnVnZ2luZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tcmVwZWF0LXVudGls
LXVuZXhwZWN0ZWQiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PU5vbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSdW4gdGVzdHMgaW4gYSBsb29wIHVudGls
IG9uZSByZXR1cm5zIGFuIHVuZXhwZWN0ZWQgcmVzdWx0IikKKyAgICBkZWJ1Z2dpbmdfZ3JvdXAu
YWRkX2FyZ3VtZW50KCctLXBhdXNlLWFmdGVyLXRlc3QnLCBhY3Rpb249InN0b3JlX3RydWUiLCBk
ZWZhdWx0PU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJIYWx0
IHRoZSB0ZXN0IHJ1bm5lciBhZnRlciBlYWNoIHRlc3QgKHRoaXMgaGFwcGVucyBieSBkZWZhdWx0
IGlmIG9ubHkgYSBzaW5nbGUgdGVzdCBpcyBydW4pIikKKyAgICBkZWJ1Z2dpbmdfZ3JvdXAuYWRk
X2FyZ3VtZW50KCctLW5vLXBhdXNlLWFmdGVyLXRlc3QnLCBkZXN0PSJwYXVzZV9hZnRlcl90ZXN0
IiwgYWN0aW9uPSJzdG9yZV9mYWxzZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJEb24ndCBoYWx0IHRoZSB0ZXN0IHJ1bm5lciBpcnJlc3BlY3RpdmUgb2YgdGhlIG51
bWJlciBvZiB0ZXN0cyBydW4iKQorCisgICAgZGVidWdnaW5nX2dyb3VwLmFkZF9hcmd1bWVudCgn
LS1wYXVzZS1vbi11bmV4cGVjdGVkJywgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkhhbHQgdGhlIHRlc3QgcnVubmVyIHdoZW4gYW4g
dW5leHBlY3RlZCByZXN1bHQgaXMgZW5jb3VudGVyZWQiKQorICAgIGRlYnVnZ2luZ19ncm91cC5h
ZGRfYXJndW1lbnQoJy0tbm8tcmVzdGFydC1vbi11bmV4cGVjdGVkJywgZGVzdD0icmVzdGFydF9v
bl91bmV4cGVjdGVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9
VHJ1ZSwgYWN0aW9uPSJzdG9yZV9mYWxzZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJEb24ndCByZXN0YXJ0IG9uIGFuIHVuZXhwZWN0ZWQgcmVzdWx0IikKKworICAg
IGRlYnVnZ2luZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tc3ltYm9scy1wYXRoIiwgYWN0aW9uPSJz
dG9yZSIsIHR5cGU9dXJsX29yX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJQYXRoIG9yIHVybCB0byBzeW1ib2xzIGZpbGUgdXNlZCB0byBhbmFseXNlIGNyYXNo
IG1pbmlkdW1wcy4iKQorICAgIGRlYnVnZ2luZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tc3RhY2t3
YWxrLWJpbmFyeSIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPWFic19wYXRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iUGF0aCB0byBzdGFja3dhbGtlciBwcm9ncmFtIHVz
ZWQgdG8gYW5hbHlzZSBtaW5pZHVtcHMuIikKKworICAgIGRlYnVnZ2luZ19ncm91cC5hZGRfYXJn
dW1lbnQoIi0tcGRiIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9IkRyb3AgaW50byBwZGIgb24gcHl0aG9uIGV4Y2VwdGlvbiIpCisK
KyAgICBjb25maWdfZ3JvdXAgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJDb25maWd1cmF0
aW9uIikKKyAgICBjb25maWdfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLWJpbmFyeSIsIGFjdGlvbj0i
c3RvcmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1hYnNfcGF0aCwgaGVs
cD0iQmluYXJ5IHRvIHJ1biB0ZXN0cyBhZ2FpbnN0IikKKyAgICBjb25maWdfZ3JvdXAuYWRkX2Fy
Z3VtZW50KCctLWJpbmFyeS1hcmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVm
YXVsdD1bXSwgYWN0aW9uPSJhcHBlbmQiLCBkZXN0PSJiaW5hcnlfYXJncyIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJFeHRyYSBhcmd1bWVudCBmb3IgdGhlIGJpbmFyeSIp
CisgICAgY29uZmlnX2dyb3VwLmFkZF9hcmd1bWVudCgiLS13ZWJkcml2ZXItYmluYXJ5IiwgYWN0
aW9uPSJzdG9yZSIsIG1ldGF2YXI9IkJJTkFSWSIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0eXBlPWFic19wYXRoLCBoZWxwPSJXZWJEcml2ZXIgc2VydmVyIGJpbmFyeSB0byB1c2Ui
KQorICAgIGNvbmZpZ19ncm91cC5hZGRfYXJndW1lbnQoJy0td2ViZHJpdmVyLWFyZycsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PVtdLCBhY3Rpb249ImFwcGVuZCIsIGRl
c3Q9IndlYmRyaXZlcl9hcmdzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
IkV4dHJhIGFyZ3VtZW50IGZvciB0aGUgV2ViRHJpdmVyIGJpbmFyeSIpCisKKyAgICBjb25maWdf
Z3JvdXAuYWRkX2FyZ3VtZW50KCItLW1ldGFkYXRhIiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9YWJz
X3BhdGgsIGRlc3Q9Im1ldGFkYXRhX3Jvb3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iUGF0aCB0byByb290IGRpcmVjdG9yeSBjb250YWluaW5nIHRlc3QgbWV0YWRhdGEi
KSwKKyAgICBjb25maWdfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXRlc3RzIiwgYWN0aW9uPSJzdG9y
ZSIsIHR5cGU9YWJzX3BhdGgsIGRlc3Q9InRlc3RzX3Jvb3QiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0iUGF0aCB0byByb290IGRpcmVjdG9yeSBjb250YWluaW5nIHRlc3Qg
ZmlsZXMiKSwKKyAgICBjb25maWdfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXJ1bi1pbmZvIiwgYWN0
aW9uPSJzdG9yZSIsIHR5cGU9YWJzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJQYXRoIHRvIGRpcmVjdG9yeSBjb250YWluaW5nIGV4dHJhIGpzb24gZmlsZXMgdG8g
YWRkIHRvIHJ1biBpbmZvIikKKyAgICBjb25maWdfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXByb2R1
Y3QiLCBhY3Rpb249InN0b3JlIiwgY2hvaWNlcz1wcm9kdWN0X2Nob2ljZXMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PU5vbmUsIGhlbHA9IkJyb3dzZXIgYWdhaW5zdCB3
aGljaCB0byBydW4gdGVzdHMiKQorICAgIGNvbmZpZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tY29u
ZmlnIiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9YWJzX3BhdGgsIGRlc3Q9ImNvbmZpZyIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIGNvbmZpZyBmaWxlIikKKwor
ICAgIGJ1aWxkX3R5cGUgPSBwYXJzZXIuYWRkX211dHVhbGx5X2V4Y2x1c2l2ZV9ncm91cCgpCisg
ICAgYnVpbGRfdHlwZS5hZGRfYXJndW1lbnQoIi0tZGVidWctYnVpbGQiLCBkZXN0PSJkZWJ1ZyIs
IGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVs
dD1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkJ1aWxkIGlzIGEgZGVi
dWcgYnVpbGQgKG92ZXJyaWRlcyBhbnkgbW96aW5mbyBmaWxlKSIpCisgICAgYnVpbGRfdHlwZS5h
ZGRfYXJndW1lbnQoIi0tcmVsZWFzZS1idWlsZCIsIGRlc3Q9ImRlYnVnIiwgYWN0aW9uPSJzdG9y
ZV9mYWxzZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1Ob25lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkJ1aWxkIGlzIGEgcmVsZWFzZSAob3ZlcnJp
ZGVzIGFueSBtb3ppbmZvIGZpbGUpIikKKworCisgICAgY2h1bmtpbmdfZ3JvdXAgPSBwYXJzZXIu
YWRkX2FyZ3VtZW50X2dyb3VwKCJUZXN0IENodW5raW5nIikKKyAgICBjaHVua2luZ19ncm91cC5h
ZGRfYXJndW1lbnQoIi0tdG90YWwtY2h1bmtzIiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9aW50LCBk
ZWZhdWx0PTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRvdGFsIG51
bWJlciBvZiBjaHVua3MgdG8gdXNlIikKKyAgICBjaHVua2luZ19ncm91cC5hZGRfYXJndW1lbnQo
Ii0tdGhpcy1jaHVuayIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPWludCwgZGVmYXVsdD0xLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDaHVuayBudW1iZXIgdG8gcnVuIikK
KyAgICBjaHVua2luZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tY2h1bmstdHlwZSIsIGFjdGlvbj0i
c3RvcmUiLCBjaG9pY2VzPVsibm9uZSIsICJlcXVhbF90aW1lIiwgImhhc2giLCAiZGlyX2hhc2gi
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1Ob25lLCBoZWxwPSJD
aHVua2luZyB0eXBlIHRvIHVzZSIpCisKKyAgICBzc2xfZ3JvdXAgPSBwYXJzZXIuYWRkX2FyZ3Vt
ZW50X2dyb3VwKCJTU0wvVExTIikKKyAgICBzc2xfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXNzbC10
eXBlIiwgYWN0aW9uPSJzdG9yZSIsIGRlZmF1bHQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNob2ljZXM9WyJvcGVuc3NsIiwgInByZWdlbmVyYXRlZCIsICJub25lIl0sCisgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJUeXBlIG9mIHNzbCBzdXBwb3J0IHRvIGVuYWJsZSAocnVu
bmluZyB3aXRob3V0IHNzbCBtYXkgbGVhZCB0byBzcHVyaW91cyBlcnJvcnMpIikKKworICAgIHNz
bF9ncm91cC5hZGRfYXJndW1lbnQoIi0tb3BlbnNzbC1iaW5hcnkiLCBhY3Rpb249InN0b3JlIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8gb3BlbnNzbCBiaW5hcnkiLCBk
ZWZhdWx0PSJvcGVuc3NsIikKKyAgICBzc2xfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLWNlcnR1dGls
LWJpbmFyeSIsIGFjdGlvbj0ic3RvcmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i
UGF0aCB0byBjZXJ0dXRpbCBiaW5hcnkgZm9yIHVzZSB3aXRoIEZpcmVmb3ggKyBzc2wiKQorCisg
ICAgc3NsX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1jYS1jZXJ0LXBhdGgiLCBhY3Rpb249InN0b3Jl
IiwgdHlwZT1hYnNfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8g
Y2EgY2VydGlmaWNhdGUgd2hlbiB1c2luZyBwcmVnZW5lcmF0ZWQgc3NsIGNlcnRpZmljYXRlcyIp
CisgICAgc3NsX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1ob3N0LWtleS1wYXRoIiwgYWN0aW9uPSJz
dG9yZSIsIHR5cGU9YWJzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXRo
IHRvIGhvc3QgcHJpdmF0ZSBrZXkgd2hlbiB1c2luZyBwcmVnZW5lcmF0ZWQgc3NsIGNlcnRpZmlj
YXRlcyIpCisgICAgc3NsX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1ob3N0LWNlcnQtcGF0aCIsIGFj
dGlvbj0ic3RvcmUiLCB0eXBlPWFic19wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iUGF0aCB0byBob3N0IGNlcnRpZmljYXRlIHdoZW4gdXNpbmcgcHJlZ2VuZXJhdGVkIHNzbCBj
ZXJ0aWZpY2F0ZXMiKQorCisgICAgZ2Vja29fZ3JvdXAgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dy
b3VwKCJHZWNrby1zcGVjaWZpYyIpCisgICAgZ2Vja29fZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXBy
ZWZzLXJvb3QiLCBkZXN0PSJwcmVmc19yb290IiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9YWJzX3Bh
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8gdGhlIGZvbGRl
ciBjb250YWluaW5nIGJyb3dzZXIgcHJlZnMiKQorICAgIGdlY2tvX2dyb3VwLmFkZF9hcmd1bWVu
dCgiLS1kaXNhYmxlLWUxMHMiLCBkZXN0PSJnZWNrb19lMTBzIiwgYWN0aW9uPSJzdG9yZV9mYWxz
ZSIsIGRlZmF1bHQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUnVu
IHRlc3RzIHdpdGhvdXQgZWxlY3Ryb2x5c2lzIHByZWZlcmVuY2VzIikKKyAgICBnZWNrb19ncm91
cC5hZGRfYXJndW1lbnQoIi0tc3RhY2tmaXgtZGlyIiwgZGVzdD0ic3RhY2tmaXhfZGlyIiwgYWN0
aW9uPSJzdG9yZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8g
ZGlyZWN0b3J5IGNvbnRhaW5pbmcgYXNzZXJ0aW9uIHN0YWNrIGZpeGluZyBzY3JpcHRzIikKKyAg
ICBnZWNrb19ncm91cC5hZGRfYXJndW1lbnQoIi0tc2V0cHJlZiIsIGRlc3Q9ImV4dHJhX3ByZWZz
IiwgYWN0aW9uPSdhcHBlbmQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0
PVtdLCBtZXRhdmFyPSJQUkVGPVZBTFVFIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0iRGVmaW5lcyBhbiBleHRyYSB1c2VyIHByZWZlcmVuY2UgKG92ZXJyaWRlcyB0aG9zZSBp
biBwcmVmc19yb290KSIpCisKKyAgICBzZXJ2b19ncm91cCA9IHBhcnNlci5hZGRfYXJndW1lbnRf
Z3JvdXAoIlNlcnZvLXNwZWNpZmljIikKKyAgICBzZXJ2b19ncm91cC5hZGRfYXJndW1lbnQoIi0t
dXNlci1zdHlsZXNoZWV0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1b
XSwgYWN0aW9uPSJhcHBlbmQiLCBkZXN0PSJ1c2VyX3N0eWxlc2hlZXRzIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iSW5qZWN0IGEgdXNlciBDU1Mgc3R5bGVzaGVldCBpbnRv
IGV2ZXJ5IHRlc3QuIikKKworICAgIHNhdWNlX2dyb3VwID0gcGFyc2VyLmFkZF9hcmd1bWVudF9n
cm91cCgiU2F1Y2UgTGFicy1zcGVjaWZpYyIpCisgICAgc2F1Y2VfZ3JvdXAuYWRkX2FyZ3VtZW50
KCItLXNhdWNlLWJyb3dzZXIiLCBkZXN0PSJzYXVjZV9icm93c2VyIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iU2F1Y2UgTGFicyBicm93c2VyIG5hbWUiKQorICAgIHNhdWNl
X2dyb3VwLmFkZF9hcmd1bWVudCgiLS1zYXVjZS1wbGF0Zm9ybSIsIGRlc3Q9InNhdWNlX3BsYXRm
b3JtIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU2F1Y2UgTGFicyBPUyBw
bGF0Zm9ybSIpCisgICAgc2F1Y2VfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXNhdWNlLXZlcnNpb24i
LCBkZXN0PSJzYXVjZV92ZXJzaW9uIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iU2F1Y2UgTGFicyBicm93c2VyIHZlcnNpb24iKQorICAgIHNhdWNlX2dyb3VwLmFkZF9hcmd1
bWVudCgiLS1zYXVjZS1idWlsZCIsIGRlc3Q9InNhdWNlX2J1aWxkIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iU2F1Y2UgTGFicyBidWlsZCBpZGVudGlmaWVyIikKKyAgICBz
YXVjZV9ncm91cC5hZGRfYXJndW1lbnQoIi0tc2F1Y2UtdGFncyIsIGRlc3Q9InNhdWNlX3RhZ3Mi
LCBuYXJncz0iKiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlNhdWNlIExh
YnMgaWRlbnRpZnlpbmcgdGFnIiwgZGVmYXVsdD1bXSkKKyAgICBzYXVjZV9ncm91cC5hZGRfYXJn
dW1lbnQoIi0tc2F1Y2UtdHVubmVsLWlkIiwgZGVzdD0ic2F1Y2VfdHVubmVsX2lkIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU2F1Y2UgQ29ubmVjdCB0dW5uZWwgaWRlbnRp
ZmllciIpCisgICAgc2F1Y2VfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXNhdWNlLXVzZXIiLCBkZXN0
PSJzYXVjZV91c2VyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU2F1Y2Ug
TGFicyB1c2VyIG5hbWUiKQorICAgIHNhdWNlX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1zYXVjZS1r
ZXkiLCBkZXN0PSJzYXVjZV9rZXkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZh
dWx0PW9zLmVudmlyb24uZ2V0KCJTQVVDRV9BQ0NFU1NfS0VZIiksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9IlNhdWNlIExhYnMgYWNjZXNzIGtleSIpCisgICAgc2F1Y2VfZ3Jv
dXAuYWRkX2FyZ3VtZW50KCItLXNhdWNlLWNvbm5lY3QtYmluYXJ5IiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGVzdD0ic2F1Y2VfY29ubmVjdF9iaW5hcnkiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIFNhdWNlIENvbm5lY3QgYmluYXJ5IikKKwor
ICAgIHBhcnNlci5hZGRfYXJndW1lbnQoInRlc3RfbGlzdCIsIG5hcmdzPSIqIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9Ikxpc3Qgb2YgVVJMcyBmb3IgdGVzdHMgdG8gcnVuLCBvciBw
YXRocyBpbmNsdWRpbmcgdGVzdHMgdG8gcnVuLiAiCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICIoZXF1aXZhbGVudCB0byAtLWluY2x1ZGUpIikKKworICAgIGNvbW1hbmRsaW5lLmFkZF9s
b2dnaW5nX2dyb3VwKHBhcnNlcikKKyAgICByZXR1cm4gcGFyc2VyCisKKworZGVmIHNldF9mcm9t
X2NvbmZpZyhrd2FyZ3MpOgorICAgIGlmIGt3YXJnc1siY29uZmlnIl0gaXMgTm9uZToKKyAgICAg
ICAgY29uZmlnX3BhdGggPSBjb25maWcucGF0aCgpCisgICAgZWxzZToKKyAgICAgICAgY29uZmln
X3BhdGggPSBrd2FyZ3NbImNvbmZpZyJdCisKKyAgICBrd2FyZ3NbImNvbmZpZ19wYXRoIl0gPSBj
b25maWdfcGF0aAorCisgICAga3dhcmdzWyJjb25maWciXSA9IGNvbmZpZy5yZWFkKGt3YXJnc1si
Y29uZmlnX3BhdGgiXSkKKworICAgIGtleXMgPSB7InBhdGhzIjogWygicHJlZnMiLCAicHJlZnNf
cm9vdCIsIFRydWUpLAorICAgICAgICAgICAgICAgICAgICAgICgicnVuX2luZm8iLCAicnVuX2lu
Zm8iLCBUcnVlKV0sCisgICAgICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzIjogWygicmVtb3Rl
X3VybCIsICJyZW1vdGVfdXJsIiwgRmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoImJyYW5jaCIsICJicmFuY2giLCBGYWxzZSksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICgic3luY19wYXRoIiwgInN5bmNfcGF0aCIsIFRydWUpXSwKKyAgICAg
ICAgICAgICJTU0wiOiBbKCJvcGVuc3NsX2JpbmFyeSIsICJvcGVuc3NsX2JpbmFyeSIsIFRydWUp
LAorICAgICAgICAgICAgICAgICAgICAoImNlcnR1dGlsX2JpbmFyeSIsICJjZXJ0dXRpbF9iaW5h
cnkiLCBUcnVlKSwKKyAgICAgICAgICAgICAgICAgICAgKCJjYV9jZXJ0X3BhdGgiLCAiY2FfY2Vy
dF9wYXRoIiwgVHJ1ZSksCisgICAgICAgICAgICAgICAgICAgICgiaG9zdF9jZXJ0X3BhdGgiLCAi
aG9zdF9jZXJ0X3BhdGgiLCBUcnVlKSwKKyAgICAgICAgICAgICAgICAgICAgKCJob3N0X2tleV9w
YXRoIiwgImhvc3Rfa2V5X3BhdGgiLCBUcnVlKV19CisKKyAgICBmb3Igc2VjdGlvbiwgdmFsdWVz
IGluIGtleXMuaXRlcml0ZW1zKCk6CisgICAgICAgIGZvciBjb25maWdfdmFsdWUsIGt3X3ZhbHVl
LCBpc19wYXRoIGluIHZhbHVlczoKKyAgICAgICAgICAgIGlmIGt3X3ZhbHVlIGluIGt3YXJncyBh
bmQga3dhcmdzW2t3X3ZhbHVlXSBpcyBOb25lOgorICAgICAgICAgICAgICAgIGlmIG5vdCBpc19w
YXRoOgorICAgICAgICAgICAgICAgICAgICBuZXdfdmFsdWUgPSBrd2FyZ3NbImNvbmZpZyJdLmdl
dChzZWN0aW9uLCBjb25maWcuQ29uZmlnRGljdCh7fSkpLmdldChjb25maWdfdmFsdWUpCisgICAg
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbmV3X3ZhbHVlID0ga3dhcmdz
WyJjb25maWciXS5nZXQoc2VjdGlvbiwgY29uZmlnLkNvbmZpZ0RpY3Qoe30pKS5nZXRfcGF0aChj
b25maWdfdmFsdWUpCisgICAgICAgICAgICAgICAga3dhcmdzW2t3X3ZhbHVlXSA9IG5ld192YWx1
ZQorCisgICAga3dhcmdzWyJ0ZXN0X3BhdGhzIl0gPSBnZXRfdGVzdF9wYXRocyhrd2FyZ3NbImNv
bmZpZyJdKQorCisgICAgaWYga3dhcmdzWyJ0ZXN0c19yb290Il06CisgICAgICAgIGlmICIvIiBu
b3QgaW4ga3dhcmdzWyJ0ZXN0X3BhdGhzIl06CisgICAgICAgICAgICBrd2FyZ3NbInRlc3RfcGF0
aHMiXVsiLyJdID0ge30KKyAgICAgICAga3dhcmdzWyJ0ZXN0X3BhdGhzIl1bIi8iXVsidGVzdHNf
cGF0aCJdID0ga3dhcmdzWyJ0ZXN0c19yb290Il0KKworICAgIGlmIGt3YXJnc1sibWV0YWRhdGFf
cm9vdCJdOgorICAgICAgICBpZiAiLyIgbm90IGluIGt3YXJnc1sidGVzdF9wYXRocyJdOgorICAg
ICAgICAgICAga3dhcmdzWyJ0ZXN0X3BhdGhzIl1bIi8iXSA9IHt9CisgICAgICAgIGt3YXJnc1si
dGVzdF9wYXRocyJdWyIvIl1bIm1ldGFkYXRhX3BhdGgiXSA9IGt3YXJnc1sibWV0YWRhdGFfcm9v
dCJdCisKKyAgICBrd2FyZ3NbInN1aXRlX25hbWUiXSA9IGt3YXJnc1siY29uZmlnIl0uZ2V0KCJ3
ZWItcGxhdGZvcm0tdGVzdHMiLCB7fSkuZ2V0KCJuYW1lIiwgIndlYi1wbGF0Zm9ybS10ZXN0cyIp
CisKKworZGVmIGdldF90ZXN0X3BhdGhzKGNvbmZpZyk6CisgICAgIyBTZXQgdXAgdGVzdF9wYXRo
cworICAgIHRlc3RfcGF0aHMgPSBPcmRlcmVkRGljdCgpCisKKyAgICBmb3Igc2VjdGlvbiBpbiBj
b25maWcuaXRlcmtleXMoKToKKyAgICAgICAgaWYgc2VjdGlvbi5zdGFydHN3aXRoKCJtYW5pZmVz
dDoiKToKKyAgICAgICAgICAgIG1hbmlmZXN0X29wdHMgPSBjb25maWcuZ2V0KHNlY3Rpb24pCisg
ICAgICAgICAgICB1cmxfYmFzZSA9IG1hbmlmZXN0X29wdHMuZ2V0KCJ1cmxfYmFzZSIsICIvIikK
KyAgICAgICAgICAgIHRlc3RfcGF0aHNbdXJsX2Jhc2VdID0geworICAgICAgICAgICAgICAgICJ0
ZXN0c19wYXRoIjogbWFuaWZlc3Rfb3B0cy5nZXRfcGF0aCgidGVzdHMiKSwKKyAgICAgICAgICAg
ICAgICAibWV0YWRhdGFfcGF0aCI6IG1hbmlmZXN0X29wdHMuZ2V0X3BhdGgoIm1ldGFkYXRhIil9
CisKKyAgICByZXR1cm4gdGVzdF9wYXRocworCisKK2RlZiBleGVfcGF0aChuYW1lKToKKyAgICBp
ZiBuYW1lIGlzIE5vbmU6CisgICAgICAgIHJldHVybgorCisgICAgcGF0aCA9IGZpbmRfZXhlY3V0
YWJsZShuYW1lKQorICAgIGlmIG9zLmFjY2VzcyhwYXRoLCBvcy5YX09LKToKKyAgICAgICAgcmV0
dXJuIHBhdGgKKworCitkZWYgY2hlY2tfYXJncyhrd2FyZ3MpOgorICAgIHNldF9mcm9tX2NvbmZp
Zyhrd2FyZ3MpCisKKyAgICBmb3IgdGVzdF9wYXRocyBpbiBrd2FyZ3NbInRlc3RfcGF0aHMiXS5p
dGVydmFsdWVzKCk6CisgICAgICAgIGlmIG5vdCAoInRlc3RzX3BhdGgiIGluIHRlc3RfcGF0aHMg
YW5kCisgICAgICAgICAgICAgICAgIm1ldGFkYXRhX3BhdGgiIGluIHRlc3RfcGF0aHMpOgorICAg
ICAgICAgICAgcHJpbnQgIkZhdGFsOiBtdXN0IHNwZWNpZnkgYm90aCBhIHRlc3QgcGF0aCBhbmQg
bWV0YWRhdGEgcGF0aCIKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgIGZvciBrZXks
IHBhdGggaW4gdGVzdF9wYXRocy5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgIG5hbWUgPSBrZXku
c3BsaXQoIl8iLCAxKVswXQorCisgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGF0
aCk6CisgICAgICAgICAgICAgICAgcHJpbnQgIkZhdGFsOiAlcyBwYXRoICVzIGRvZXMgbm90IGV4
aXN0IiAlIChuYW1lLCBwYXRoKQorICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICAg
ICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKHBhdGgpOgorICAgICAgICAgICAgICAgIHByaW50
ICJGYXRhbDogJXMgcGF0aCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiICUgKG5hbWUsIHBhdGgpCisg
ICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkKKworICAgIGlmIGt3YXJnc1sicHJvZHVjdCJdIGlz
IE5vbmU6CisgICAgICAgIGt3YXJnc1sicHJvZHVjdCJdID0gImZpcmVmb3giCisKKyAgICBpZiAi
c2F1Y2UiIGluIGt3YXJnc1sicHJvZHVjdCJdOgorICAgICAgICBrd2FyZ3NbInBhdXNlX2FmdGVy
X3Rlc3QiXSA9IEZhbHNlCisKKyAgICBpZiBrd2FyZ3NbInRlc3RfbGlzdCJdOgorICAgICAgICBp
ZiBrd2FyZ3NbImluY2x1ZGUiXSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGt3YXJnc1siaW5j
bHVkZSJdLmV4dGVuZChrd2FyZ3NbInRlc3RfbGlzdCJdKQorICAgICAgICBlbHNlOgorICAgICAg
ICAgICAga3dhcmdzWyJpbmNsdWRlIl0gPSBrd2FyZ3NbInRlc3RfbGlzdCJdCisKKyAgICBpZiBr
d2FyZ3NbInJ1bl9pbmZvIl0gaXMgTm9uZToKKyAgICAgICAga3dhcmdzWyJydW5faW5mbyJdID0g
a3dhcmdzWyJjb25maWdfcGF0aCJdCisKKyAgICBpZiBrd2FyZ3NbInRoaXNfY2h1bmsiXSA+IDE6
CisgICAgICAgIHJlcXVpcmVfYXJnKGt3YXJncywgInRvdGFsX2NodW5rcyIsIGxhbWJkYSB4OiB4
ID49IGt3YXJnc1sidGhpc19jaHVuayJdKQorCisgICAgaWYga3dhcmdzWyJjaHVua190eXBlIl0g
aXMgTm9uZToKKyAgICAgICAgaWYga3dhcmdzWyJ0b3RhbF9jaHVua3MiXSA+IDE6CisgICAgICAg
ICAgICBrd2FyZ3NbImNodW5rX3R5cGUiXSA9ICJkaXJfaGFzaCIKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIGt3YXJnc1siY2h1bmtfdHlwZSJdID0gIm5vbmUiCisKKyAgICBpZiBrd2FyZ3Nb
InByb2Nlc3NlcyJdIGlzIE5vbmU6CisgICAgICAgIGt3YXJnc1sicHJvY2Vzc2VzIl0gPSAxCisK
KyAgICBpZiBrd2FyZ3NbImRlYnVnZ2VyIl0gaXMgbm90IE5vbmU6CisgICAgICAgIGltcG9ydCBt
b3pkZWJ1ZworICAgICAgICBpZiBrd2FyZ3NbImRlYnVnZ2VyIl0gPT0gIl9fZGVmYXVsdF9fIjoK
KyAgICAgICAgICAgIGt3YXJnc1siZGVidWdnZXIiXSA9IG1vemRlYnVnLmdldF9kZWZhdWx0X2Rl
YnVnZ2VyX25hbWUoKQorICAgICAgICBkZWJ1Z19pbmZvID0gbW96ZGVidWcuZ2V0X2RlYnVnZ2Vy
X2luZm8oa3dhcmdzWyJkZWJ1Z2dlciJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAga3dhcmdzWyJkZWJ1Z2dlcl9hcmdzIl0pCisgICAgICAgIGlmIGRl
YnVnX2luZm8gYW5kIGRlYnVnX2luZm8uaW50ZXJhY3RpdmU6CisgICAgICAgICAgICBpZiBrd2Fy
Z3NbInByb2Nlc3NlcyJdICE9IDE6CisgICAgICAgICAgICAgICAga3dhcmdzWyJwcm9jZXNzZXMi
XSA9IDEKKyAgICAgICAgICAgIGt3YXJnc1sibm9fY2FwdHVyZV9zdGRpbyJdID0gVHJ1ZQorICAg
ICAgICBrd2FyZ3NbImRlYnVnX2luZm8iXSA9IGRlYnVnX2luZm8KKyAgICBlbHNlOgorICAgICAg
ICBrd2FyZ3NbImRlYnVnX2luZm8iXSA9IE5vbmUKKworICAgIGlmIGt3YXJnc1siYmluYXJ5Il0g
aXMgbm90IE5vbmU6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhrd2FyZ3NbImJpbmFy
eSJdKToKKyAgICAgICAgICAgIHByaW50ID4+IHN5cy5zdGRlcnIsICJCaW5hcnkgcGF0aCAlcyBk
b2VzIG5vdCBleGlzdCIgJSBrd2FyZ3NbImJpbmFyeSJdCisgICAgICAgICAgICBzeXMuZXhpdCgx
KQorCisgICAgaWYga3dhcmdzWyJzc2xfdHlwZSJdIGlzIE5vbmU6CisgICAgICAgIGlmIE5vbmUg
bm90IGluIChrd2FyZ3NbImNhX2NlcnRfcGF0aCJdLCBrd2FyZ3NbImhvc3RfY2VydF9wYXRoIl0s
IGt3YXJnc1siaG9zdF9rZXlfcGF0aCJdKToKKyAgICAgICAgICAgIGt3YXJnc1sic3NsX3R5cGUi
XSA9ICJwcmVnZW5lcmF0ZWQiCisgICAgICAgIGVsaWYgZXhlX3BhdGgoa3dhcmdzWyJvcGVuc3Ns
X2JpbmFyeSJdKSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGt3YXJnc1sic3NsX3R5cGUiXSA9
ICJvcGVuc3NsIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAga3dhcmdzWyJzc2xfdHlwZSJd
ID0gIm5vbmUiCisKKyAgICBpZiBrd2FyZ3NbInNzbF90eXBlIl0gPT0gInByZWdlbmVyYXRlZCI6
CisgICAgICAgIHJlcXVpcmVfYXJnKGt3YXJncywgImNhX2NlcnRfcGF0aCIsIGxhbWJkYSB4Om9z
LnBhdGguZXhpc3RzKHgpKQorICAgICAgICByZXF1aXJlX2FyZyhrd2FyZ3MsICJob3N0X2NlcnRf
cGF0aCIsIGxhbWJkYSB4Om9zLnBhdGguZXhpc3RzKHgpKQorICAgICAgICByZXF1aXJlX2FyZyhr
d2FyZ3MsICJob3N0X2tleV9wYXRoIiwgbGFtYmRhIHg6b3MucGF0aC5leGlzdHMoeCkpCisKKyAg
ICBlbGlmIGt3YXJnc1sic3NsX3R5cGUiXSA9PSAib3BlbnNzbCI6CisgICAgICAgIHBhdGggPSBl
eGVfcGF0aChrd2FyZ3NbIm9wZW5zc2xfYmluYXJ5Il0pCisgICAgICAgIGlmIHBhdGggaXMgTm9u
ZToKKyAgICAgICAgICAgIHByaW50ID4+IHN5cy5zdGRlcnIsICJvcGVuc3NsLWJpbmFyeSBhcmd1
bWVudCBtaXNzaW5nIG9yIG5vdCBhIHZhbGlkIGV4ZWN1dGFibGUiCisgICAgICAgICAgICBzeXMu
ZXhpdCgxKQorICAgICAgICBrd2FyZ3NbIm9wZW5zc2xfYmluYXJ5Il0gPSBwYXRoCisKKyAgICBp
ZiBrd2FyZ3NbInNzbF90eXBlIl0gIT0gIm5vbmUiIGFuZCBrd2FyZ3NbInByb2R1Y3QiXSA9PSAi
ZmlyZWZveCI6CisgICAgICAgIHBhdGggPSBleGVfcGF0aChrd2FyZ3NbImNlcnR1dGlsX2JpbmFy
eSJdKQorICAgICAgICBpZiBwYXRoIGlzIE5vbmU6CisgICAgICAgICAgICBwcmludCA+PiBzeXMu
c3RkZXJyLCAiY2VydHV0aWwtYmluYXJ5IGFyZ3VtZW50IG1pc3Npbmcgb3Igbm90IGEgdmFsaWQg
ZXhlY3V0YWJsZSIKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgIGt3YXJnc1siY2Vy
dHV0aWxfYmluYXJ5Il0gPSBwYXRoCisKKyAgICBpZiBrd2FyZ3NbJ2V4dHJhX3ByZWZzJ106Cisg
ICAgICAgIG1pc3NpbmcgPSBhbnkoJz0nIG5vdCBpbiBwcmVmYXJnIGZvciBwcmVmYXJnIGluIGt3
YXJnc1snZXh0cmFfcHJlZnMnXSkKKyAgICAgICAgaWYgbWlzc2luZzoKKyAgICAgICAgICAgIHBy
aW50ID4+IHN5cy5zdGRlcnIsICJQcmVmZXJlbmNlcyB2aWEgLS1zZXRwcmVmIG11c3QgYmUgaW4g
a2V5PXZhbHVlIGZvcm1hdCIKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgIGt3YXJn
c1snZXh0cmFfcHJlZnMnXSA9IFt0dXBsZShwcmVmYXJnLnNwbGl0KCc9JywgMSkpIGZvciBwcmVm
YXJnIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZ3NbJ2V4dHJhX3By
ZWZzJ11dCisKKyAgICByZXR1cm4ga3dhcmdzCisKKworZGVmIGNoZWNrX2FyZ3NfdXBkYXRlKGt3
YXJncyk6CisgICAgc2V0X2Zyb21fY29uZmlnKGt3YXJncykKKworICAgIGlmIGt3YXJnc1sicHJv
ZHVjdCJdIGlzIE5vbmU6CisgICAgICAgIGt3YXJnc1sicHJvZHVjdCJdID0gImZpcmVmb3giCisK
KworZGVmIGNyZWF0ZV9wYXJzZXJfdXBkYXRlKHByb2R1Y3RfY2hvaWNlcz1Ob25lKToKKyAgICBm
cm9tIG1vemxvZy5zdHJ1Y3R1cmVkIGltcG9ydCBjb21tYW5kbGluZQorCisgICAgaW1wb3J0IHBy
b2R1Y3RzCisKKyAgICBpZiBwcm9kdWN0X2Nob2ljZXMgaXMgTm9uZToKKyAgICAgICAgY29uZmln
X2RhdGEgPSBjb25maWcubG9hZCgpCisgICAgICAgIHByb2R1Y3RfY2hvaWNlcyA9IHByb2R1Y3Rz
LnByb2R1Y3RzX2VuYWJsZWQoY29uZmlnX2RhdGEpCisKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5B
cmd1bWVudFBhcnNlcigid2ViLXBsYXRmb3JtLXRlc3RzLXVwZGF0ZSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249IlVwZGF0ZSBzY3JpcHQgZm9yIHdl
Yi1wbGF0Zm9ybS10ZXN0cyB0ZXN0cy4iKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tcHJv
ZHVjdCIsIGFjdGlvbj0ic3RvcmUiLCBjaG9pY2VzPXByb2R1Y3RfY2hvaWNlcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGRlZmF1bHQ9Tm9uZSwgaGVscD0iQnJvd3NlciBmb3Igd2hpY2ggbWV0
YWRhdGEgaXMgYmVpbmcgdXBkYXRlZCIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1jb25m
aWciLCBhY3Rpb249InN0b3JlIiwgdHlwZT1hYnNfcGF0aCwgaGVscD0iUGF0aCB0byBjb25maWcg
ZmlsZSIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1tZXRhZGF0YSIsIGFjdGlvbj0ic3Rv
cmUiLCB0eXBlPWFic19wYXRoLCBkZXN0PSJtZXRhZGF0YV9yb290IiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IlBhdGggdG8gdGhlIGZvbGRlciBjb250YWluaW5nIHRlc3QgbWV0YWRh
dGEiKSwKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXRlc3RzIiwgYWN0aW9uPSJzdG9yZSIs
IHR5cGU9YWJzX3BhdGgsIGRlc3Q9InRlc3RzX3Jvb3QiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iUGF0aCB0byB3ZWItcGxhdGZvcm0tdGVzdHMiKSwKKyAgICBwYXJzZXIuYWRkX2Fy
Z3VtZW50KCItLXN5bmMtcGF0aCIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPWFic19wYXRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iUGF0aCB0byBzdG9yZSBnaXQgY2hlY2tvdXQgb2Yg
d2ViLXBsYXRmb3JtLXRlc3RzIGR1cmluZyB1cGRhdGUiKSwKKyAgICBwYXJzZXIuYWRkX2FyZ3Vt
ZW50KCItLXJlbW90ZV91cmwiLCBhY3Rpb249InN0b3JlIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGhlbHA9IlVSTCBvZiB3ZWItcGxhdGZyb20tdGVzdHMgcmVwb3NpdG9yeSB0byBzeW5jIGFn
YWluc3QiKSwKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLWJyYW5jaCIsIGFjdGlvbj0ic3Rv
cmUiLCB0eXBlPWFic19wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUmVtb3Rl
IGJyYW5jaCB0byBzeW5jIGFnYWluc3QiKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tcmV2
IiwgYWN0aW9uPSJzdG9yZSIsIGhlbHA9IlJldmlzaW9uIHRvIHN5bmMgdG8iKQorICAgIHBhcnNl
ci5hZGRfYXJndW1lbnQoIi0tbm8tcGF0Y2giLCBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iRG9uJ3QgY3JlYXRlIGFuIG1xIHBhdGNoIG9yIGdpdCBj
b21taXQgY29udGFpbmluZyB0aGUgY2hhbmdlcy4iKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQo
Ii0tc3luYyIsIGRlc3Q9InN5bmMiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNl
LAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU3luYyB0aGUgdGVzdHMgd2l0aCB0aGUg
bGF0ZXN0IGZyb20gdXBzdHJlYW0iKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0taWdub3Jl
LWV4aXN0aW5nIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iV2hlbiB1cGRhdGluZyB0ZXN0
IHJlc3VsdHMgb25seSBjb25zaWRlciByZXN1bHRzIGZyb20gdGhlIGxvZ2ZpbGVzIHByb3ZpZGVk
LCBub3QgZXhpc3RpbmcgZXhwZWN0YXRpb25zLiIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgi
LS1jb250aW51ZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9IkNvbnRpbnVlIGEgcHJldmlv
dXNseSBzdGFydGVkIHJ1biBvZiB0aGUgdXBkYXRlIHNjcmlwdCIpCisgICAgcGFyc2VyLmFkZF9h
cmd1bWVudCgiLS1hYm9ydCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9IkNsZWFyIHN0YXRl
IGZyb20gYSBwcmV2aW91cyBpbmNvbXBsZXRlIHJ1biBvZiB0aGUgdXBkYXRlIHNjcmlwdCIpCisg
ICAgIyBTaG91bGQgbWFrZSB0aGlzIHJlcXVpcmVkIGlmZiBydW49bG9nZmlsZQorICAgIHBhcnNl
ci5hZGRfYXJndW1lbnQoInJ1bl9sb2ciLCBuYXJncz0iKiIsIHR5cGU9YWJzX3BhdGgsCisgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJMb2cgZmlsZSBmcm9tIHJ1biBvZiB0ZXN0cyIpCisg
ICAgY29tbWFuZGxpbmUuYWRkX2xvZ2dpbmdfZ3JvdXAocGFyc2VyKQorICAgIHJldHVybiBwYXJz
ZXIKKworCitkZWYgY3JlYXRlX3BhcnNlcl9yZWR1Y2UocHJvZHVjdF9jaG9pY2VzPU5vbmUpOgor
ICAgIHBhcnNlciA9IGNyZWF0ZV9wYXJzZXIocHJvZHVjdF9jaG9pY2VzKQorICAgIHBhcnNlci5h
ZGRfYXJndW1lbnQoInRhcmdldCIsIGFjdGlvbj0ic3RvcmUiLCBoZWxwPSJUZXN0IGlkIHRoYXQg
aXMgdW5zdGFibGUiKQorICAgIHJldHVybiBwYXJzZXIKKworCitkZWYgcGFyc2VfYXJncygpOgor
ICAgIHBhcnNlciA9IGNyZWF0ZV9wYXJzZXIoKQorICAgIHJ2ID0gdmFycyhwYXJzZXIucGFyc2Vf
YXJncygpKQorICAgIGNoZWNrX2FyZ3MocnYpCisgICAgcmV0dXJuIHJ2CisKKworZGVmIHBhcnNl
X2FyZ3NfdXBkYXRlKCk6CisgICAgcGFyc2VyID0gY3JlYXRlX3BhcnNlcl91cGRhdGUoKQorICAg
IHJ2ID0gdmFycyhwYXJzZXIucGFyc2VfYXJncygpKQorICAgIGNoZWNrX2FyZ3NfdXBkYXRlKHJ2
KQorICAgIHJldHVybiBydgorCisKK2RlZiBwYXJzZV9hcmdzX3JlZHVjZSgpOgorICAgIHBhcnNl
ciA9IGNyZWF0ZV9wYXJzZXJfcmVkdWNlKCkKKyAgICBydiA9IHZhcnMocGFyc2VyLnBhcnNlX2Fy
Z3MoKSkKKyAgICBjaGVja19hcmdzKHJ2KQorICAgIHJldHVybiBydgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3dwdGxvZ2dpbmcucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bG9nZ2luZy5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xYWI2NzU1YzQzNTIzYWNkOGUyZmY4MTgyMmM4YmEyMDY4YjJkOTA2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdGxvZ2dpbmcucHkKQEAgLTAsMCArMSwxMjEgQEAK
K2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgc3lzCitpbXBvcnQgdGhyZWFkaW5nCitmcm9tIFN0cmlu
Z0lPIGltcG9ydCBTdHJpbmdJTworZnJvbSBtdWx0aXByb2Nlc3NpbmcgaW1wb3J0IFF1ZXVlCisK
K2Zyb20gbW96bG9nIGltcG9ydCBjb21tYW5kbGluZSwgc3RkYWRhcHRlcgorCitkZWYgc2V0dXAo
YXJncywgZGVmYXVsdHMpOgorICAgIGxvZ2dlciA9IGNvbW1hbmRsaW5lLnNldHVwX2xvZ2dpbmco
IndlYi1wbGF0Zm9ybS10ZXN0cyIsIGFyZ3MsIGRlZmF1bHRzKQorICAgIHNldHVwX3N0ZGxpYl9s
b2dnZXIoKQorCisgICAgZm9yIG5hbWUgaW4gYXJncy5rZXlzKCk6CisgICAgICAgIGlmIG5hbWUu
c3RhcnRzd2l0aCgibG9nXyIpOgorICAgICAgICAgICAgYXJncy5wb3AobmFtZSkKKworICAgIHJl
dHVybiBsb2dnZXIKKworCitkZWYgc2V0dXBfc3RkbGliX2xvZ2dlcigpOgorICAgIGxvZ2dpbmcu
cm9vdC5oYW5kbGVycyA9IFtdCisgICAgbG9nZ2luZy5yb290ID0gc3RkYWRhcHRlci5zdGRfbG9n
Z2luZ19hZGFwdGVyKGxvZ2dpbmcucm9vdCkKKworCitjbGFzcyBMb2dMZXZlbFJld3JpdGVyKG9i
amVjdCk6CisgICAgIiIiRmlsdGVyIHRoYXQgcmVwbGFjZXMgbG9nIG1lc3NhZ2VzIGF0IHNwZWNp
ZmllZCBsZXZlbHMgd2l0aCBtZXNzYWdlcworICAgIGF0IGEgZGlmZmVyZW50IGxldmVsLgorCisg
ICAgVGhpcyBjYW4gYmUgdXNlZCB0byBlLmcuIGRvd25ncmFkZSBsb2cgbWVzc2FnZXMgZnJvbSBF
UlJPUiB0byBXQVJOSU5HCisgICAgaW4gc29tZSBjb21wb25lbnQgd2hlcmUgRVJST1JzIGFyZSBu
b3QgY3JpdGljYWwuCisKKyAgICA6cGFyYW0gaW5uZXI6IEhhbmRsZXIgdG8gdXNlIGZvciBtZXNz
YWdlcyB0aGF0IHBhc3MgdGhpcyBmaWx0ZXIKKyAgICA6cGFyYW0gZnJvbV9sZXZlbHM6IExpc3Qg
b2YgbGV2ZWxzIHdoaWNoIHNob3VsZCBiZSBhZmZlY3RlZAorICAgIDpwYXJhbSB0b19sZXZlbDog
TG9nIGxldmVsIHRvIHNldCBmb3IgdGhlIGFmZmVjdGVkIG1lc3NhZ2VzCisgICAgIiIiCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGlubmVyLCBmcm9tX2xldmVscywgdG9fbGV2ZWwpOgorICAgICAg
ICBzZWxmLmlubmVyID0gaW5uZXIKKyAgICAgICAgc2VsZi5mcm9tX2xldmVscyA9IFtpdGVtLnVw
cGVyKCkgZm9yIGl0ZW0gaW4gZnJvbV9sZXZlbHNdCisgICAgICAgIHNlbGYudG9fbGV2ZWwgPSB0
b19sZXZlbC51cHBlcigpCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgZGF0YSk6CisgICAgICAg
IGlmIGRhdGFbImFjdGlvbiJdID09ICJsb2ciIGFuZCBkYXRhWyJsZXZlbCJdLnVwcGVyKCkgaW4g
c2VsZi5mcm9tX2xldmVsczoKKyAgICAgICAgICAgIGRhdGEgPSBkYXRhLmNvcHkoKQorICAgICAg
ICAgICAgZGF0YVsibGV2ZWwiXSA9IHNlbGYudG9fbGV2ZWwKKyAgICAgICAgcmV0dXJuIHNlbGYu
aW5uZXIoZGF0YSkKKworCisKK2NsYXNzIExvZ1RocmVhZCh0aHJlYWRpbmcuVGhyZWFkKToKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgcXVldWUsIGxvZ2dlciwgbGV2ZWwpOgorICAgICAgICBzZWxm
LnF1ZXVlID0gcXVldWUKKyAgICAgICAgc2VsZi5sb2dfZnVuYyA9IGdldGF0dHIobG9nZ2VyLCBs
ZXZlbCkKKyAgICAgICAgdGhyZWFkaW5nLlRocmVhZC5fX2luaXRfXyhzZWxmLCBuYW1lPSJUaHJl
YWQtTG9nIikKKyAgICAgICAgc2VsZi5kYWVtb24gPSBUcnVlCisKKyAgICBkZWYgcnVuKHNlbGYp
OgorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAg
IG1zZyA9IHNlbGYucXVldWUuZ2V0KCkKKyAgICAgICAgICAgIGV4Y2VwdCAoRU9GRXJyb3IsIElP
RXJyb3IpOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBpZiBtc2cgaXMgTm9u
ZToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICBzZWxmLmxvZ19mdW5jKG1zZykKKworCitjbGFzcyBMb2dnaW5nV3JhcHBlcihTdHJpbmdJ
Tyk6CisgICAgIiIiV3JhcHBlciBmb3IgZmlsZSBsaWtlIG9iamVjdHMgdG8gcmVkaXJlY3Qgb3V0
cHV0IHRvIGxvZ2dlcgorICAgIGluc3RlYWQiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBx
dWV1ZSwgcHJlZml4PU5vbmUpOgorICAgICAgICBTdHJpbmdJTy5fX2luaXRfXyhzZWxmKQorICAg
ICAgICBzZWxmLnF1ZXVlID0gcXVldWUKKyAgICAgICAgc2VsZi5wcmVmaXggPSBwcmVmaXgKKwor
ICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShkYXRhLCBz
dHIpOgorICAgICAgICAgICAgZGF0YSA9IGRhdGEuZGVjb2RlKCJ1dGY4IikKKworICAgICAgICBp
ZiBkYXRhLmVuZHN3aXRoKCJcbiIpOgorICAgICAgICAgICAgZGF0YSA9IGRhdGFbOi0xXQorICAg
ICAgICBpZiBkYXRhLmVuZHN3aXRoKCJcciIpOgorICAgICAgICAgICAgZGF0YSA9IGRhdGFbOi0x
XQorICAgICAgICBpZiBub3QgZGF0YToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBpZiBz
ZWxmLnByZWZpeCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGRhdGEgPSAiJXM6ICVzIiAlIChz
ZWxmLnByZWZpeCwgZGF0YSkKKyAgICAgICAgc2VsZi5xdWV1ZS5wdXQoZGF0YSkKKworICAgIGRl
ZiBmbHVzaChzZWxmKToKKyAgICAgICAgcGFzcworCisKK2NsYXNzIENhcHR1cmVJTyhvYmplY3Qp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIGRvX2NhcHR1cmUpOgorICAgICAgICBz
ZWxmLmxvZ2dlciA9IGxvZ2dlcgorICAgICAgICBzZWxmLmRvX2NhcHR1cmUgPSBkb19jYXB0dXJl
CisgICAgICAgIHNlbGYubG9nZ2luZ19xdWV1ZSA9IE5vbmUKKyAgICAgICAgc2VsZi5sb2dnaW5n
X3RocmVhZCA9IE5vbmUKKyAgICAgICAgc2VsZi5vcmlnaW5hbF9zdGRpbyA9IE5vbmUKKworICAg
IGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIGlmIHNlbGYuZG9fY2FwdHVyZToKKyAgICAg
ICAgICAgIHNlbGYub3JpZ2luYWxfc3RkaW8gPSAoc3lzLnN0ZG91dCwgc3lzLnN0ZGVycikKKyAg
ICAgICAgICAgIHNlbGYubG9nZ2luZ19xdWV1ZSA9IFF1ZXVlKCkKKyAgICAgICAgICAgIHNlbGYu
bG9nZ2luZ190aHJlYWQgPSBMb2dUaHJlYWQoc2VsZi5sb2dnaW5nX3F1ZXVlLCBzZWxmLmxvZ2dl
ciwgImluZm8iKQorICAgICAgICAgICAgc3lzLnN0ZG91dCA9IExvZ2dpbmdXcmFwcGVyKHNlbGYu
bG9nZ2luZ19xdWV1ZSwgcHJlZml4PSJTVERPVVQiKQorICAgICAgICAgICAgc3lzLnN0ZGVyciA9
IExvZ2dpbmdXcmFwcGVyKHNlbGYubG9nZ2luZ19xdWV1ZSwgcHJlZml4PSJTVERFUlIiKQorICAg
ICAgICAgICAgc2VsZi5sb2dnaW5nX3RocmVhZC5zdGFydCgpCisKKyAgICBkZWYgX19leGl0X18o
c2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgaWYgc2VsZi5kb19jYXB0dXJlOgorICAg
ICAgICAgICAgc3lzLnN0ZG91dCwgc3lzLnN0ZGVyciA9IHNlbGYub3JpZ2luYWxfc3RkaW8KKyAg
ICAgICAgICAgIGlmIHNlbGYubG9nZ2luZ19xdWV1ZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
ICAgICBzZWxmLmxvZ2dlci5pbmZvKCJDbG9zaW5nIGxvZ2dpbmcgcXVldWUiKQorICAgICAgICAg
ICAgICAgIHNlbGYubG9nZ2luZ19xdWV1ZS5wdXQoTm9uZSkKKyAgICAgICAgICAgICAgICBpZiBz
ZWxmLmxvZ2dpbmdfdGhyZWFkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICBzZWxm
LmxvZ2dpbmdfdGhyZWFkLmpvaW4oMTApCisgICAgICAgICAgICAgICAgc2VsZi5sb2dnaW5nX3F1
ZXVlLmNsb3NlKCkKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJxdWV1ZSBjbG9z
ZWQiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L19faW5pdF9fLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiNjQ3ODRj
N2U2Njc4MjY1OGJjY2VmMDFlY2M5MTBjNzY4NDViZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvd3B0bWFuaWZlc3QvX19pbml0X18ucHkKQEAgLTAsMCArMSw0IEBACitmcm9tIHNl
cmlhbGl6ZXIgaW1wb3J0IHNlcmlhbGl6ZQorZnJvbSBwYXJzZXIgaW1wb3J0IHBhcnNlCitmcm9t
IGJhY2tlbmRzLnN0YXRpYyBpbXBvcnQgY29tcGlsZSBhcyBjb21waWxlX3N0YXRpYworZnJvbSBi
YWNrZW5kcy5jb25kaXRpb25hbCBpbXBvcnQgY29tcGlsZSBhcyBjb21waWxlX2NvbmRpdGlvbgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRzL19faW5pdF9fLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRzL19faW5pdF9fLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE2ODM0YjgyODVhNTZiZWYwZTE1NDNmZDkwMWM3ZTZmMmY4YmMyMDIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvYmFja2VuZHMvX19pbml0X18ucHkKQEAg
LTAsMCArMSBAQAorIyBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2gg
dGhpcyBkaXJlY3RvcnkgZm9yIG1vZHVsZXMuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRzL2NvbmRpdGlvbmFs
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRzL2NvbmRpdGlvbmFsLnB5Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYwZjRlY2YzMzVmZjNjNjYwYmI0Mzc0MDkxZmNiNmEzZTcyYmVmZmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvYmFja2VuZHMvY29uZGl0aW9u
YWwucHkKQEAgLTAsMCArMSwzMzAgQEAKK2ltcG9ydCBvcGVyYXRvcgorCitmcm9tIC4ubm9kZSBp
bXBvcnQgTm9kZVZpc2l0b3IsIERhdGFOb2RlLCBDb25kaXRpb25hbE5vZGUsIEtleVZhbHVlTm9k
ZSwgTGlzdE5vZGUsIFZhbHVlTm9kZQorZnJvbSAuLnBhcnNlciBpbXBvcnQgcGFyc2UKKworCitj
bGFzcyBDb25kaXRpb25hbFZhbHVlKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5v
ZGUsIGNvbmRpdGlvbl9mdW5jKToKKyAgICAgICAgc2VsZi5ub2RlID0gbm9kZQorICAgICAgICBz
ZWxmLmNvbmRpdGlvbl9mdW5jID0gY29uZGl0aW9uX2Z1bmMKKyAgICAgICAgaWYgaXNpbnN0YW5j
ZShub2RlLCBDb25kaXRpb25hbE5vZGUpOgorICAgICAgICAgICAgYXNzZXJ0IGxlbihub2RlLmNo
aWxkcmVuKSA9PSAyCisgICAgICAgICAgICBzZWxmLmNvbmRpdGlvbl9ub2RlID0gc2VsZi5ub2Rl
LmNoaWxkcmVuWzBdCisgICAgICAgICAgICBzZWxmLnZhbHVlX25vZGUgPSBzZWxmLm5vZGUuY2hp
bGRyZW5bMV0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG5v
ZGUsIChWYWx1ZU5vZGUsIExpc3ROb2RlKSkKKyAgICAgICAgICAgIHNlbGYuY29uZGl0aW9uX25v
ZGUgPSBOb25lCisgICAgICAgICAgICBzZWxmLnZhbHVlX25vZGUgPSBzZWxmLm5vZGUKKworICAg
IEBwcm9wZXJ0eQorICAgIGRlZiB2YWx1ZShzZWxmKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShz
ZWxmLnZhbHVlX25vZGUsIFZhbHVlTm9kZSk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi52YWx1
ZV9ub2RlLmRhdGEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBbaXRlbS5kYXRh
IGZvciBpdGVtIGluIHNlbGYudmFsdWVfbm9kZS5jaGlsZHJlbl0KKworICAgIEB2YWx1ZS5zZXR0
ZXIKKyAgICBkZWYgdmFsdWUoc2VsZiwgdmFsdWUpOgorICAgICAgICBzZWxmLnZhbHVlX25vZGUu
ZGF0YSA9IHZhbHVlCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgcnVuX2luZm8pOgorICAgICAg
ICByZXR1cm4gc2VsZi5jb25kaXRpb25fZnVuYyhydW5faW5mbykKKworICAgIGRlZiBzZXRfdmFs
dWUoc2VsZiwgdmFsdWUpOgorICAgICAgICBzZWxmLnZhbHVlID0gdmFsdWUKKworICAgIGRlZiBy
ZW1vdmUoc2VsZik6CisgICAgICAgIGlmIGxlbihzZWxmLm5vZGUucGFyZW50LmNoaWxkcmVuKSA9
PSAxOgorICAgICAgICAgICAgc2VsZi5ub2RlLnBhcmVudC5yZW1vdmUoKQorICAgICAgICBzZWxm
Lm5vZGUucmVtb3ZlKCkKKworCitjbGFzcyBDb21waWxlcihOb2RlVmlzaXRvcik6CisgICAgZGVm
IGNvbXBpbGUoc2VsZiwgdHJlZSwgZGF0YV9jbHNfZ2V0dGVyPU5vbmUsICoqa3dhcmdzKToKKyAg
ICAgICAgIiIiQ29tcGlsZSBhIHJhdyBBU1QgaW50byBhIGZvcm0gd2hlcmUgY29uZGl0aW9uYWwg
ZXhwcmVzc2lvbnMKKyAgICAgICAgYXJlIHJlcHJlc2VudGVkIGJ5IENvbmRpdGlvbmFsVmFsdWUg
b2JqZWN0cyB0aGF0IGNhbiBiZSBldmFsdWF0ZWQKKyAgICAgICAgYXQgcnVudGltZS4KKworICAg
ICAgICB0cmVlIC0gVGhlIHJvb3Qgbm9kZSBvZiB0aGUgd3B0bWFuaWZlc3QgQVNUIHRvIGNvbXBp
bGUKKworICAgICAgICBkYXRhX2Nsc19nZXR0ZXIgLSBBIGZ1bmN0aW9uIHRha2luZyB0d28gcGFy
YW1ldGVyczsgdGhlIHByZXZpb3VzCisgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCBu
b2RlIGFuZCB0aGUgY3VycmVudCBhc3Qgbm9kZSBhbmQgcmV0dXJuaW5nCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoZSBjbGFzcyBvZiB0aGUgb3V0cHV0IG5vZGUgdG8gdXNlIGZvciB0aGUg
Y3VycmVudAorICAgICAgICAgICAgICAgICAgICAgICAgICBhc3Qgbm9kZQorICAgICAgICAiIiIK
KyAgICAgICAgaWYgZGF0YV9jbHNfZ2V0dGVyIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmRh
dGFfY2xzX2dldHRlciA9IGxhbWJkYSB4LCB5OiBNYW5pZmVzdEl0ZW0KKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIHNlbGYuZGF0YV9jbHNfZ2V0dGVyID0gZGF0YV9jbHNfZ2V0dGVyCisKKyAg
ICAgICAgc2VsZi50cmVlID0gdHJlZQorICAgICAgICBzZWxmLm91dHB1dF9ub2RlID0gc2VsZi5f
aW5pdGlhbF9vdXRwdXRfbm9kZSh0cmVlLCAqKmt3YXJncykKKyAgICAgICAgc2VsZi52aXNpdCh0
cmVlKQorICAgICAgICBhc3NlcnQgc2VsZi5vdXRwdXRfbm9kZSBpcyBub3QgTm9uZQorICAgICAg
ICByZXR1cm4gc2VsZi5vdXRwdXRfbm9kZQorCisgICAgZGVmIGNvbXBpbGVfY29uZGl0aW9uKHNl
bGYsIGNvbmRpdGlvbik6CisgICAgICAgICIiIkNvbXBpbGUgYSBDb25kaXRpb25hbE5vZGUgaW50
byBhIENvbmRpdGlvbmFsVmFsdWUuCisKKyAgICAgICAgY29uZGl0aW9uOiBBIENvbmRpdGlvbmFs
Tm9kZSIiIgorICAgICAgICBkYXRhX25vZGUgPSBEYXRhTm9kZSgpCisgICAgICAgIGtleV92YWx1
ZV9ub2RlID0gS2V5VmFsdWVOb2RlKCkKKyAgICAgICAga2V5X3ZhbHVlX25vZGUuYXBwZW5kKGNv
bmRpdGlvbi5jb3B5KCkpCisgICAgICAgIGRhdGFfbm9kZS5hcHBlbmQoa2V5X3ZhbHVlX25vZGUp
CisgICAgICAgIG1hbmlmZXN0X2l0ZW0gPSBzZWxmLmNvbXBpbGUoZGF0YV9ub2RlKQorICAgICAg
ICByZXR1cm4gbWFuaWZlc3RfaXRlbS5fZGF0YVtOb25lXVswXQorCisgICAgZGVmIF9pbml0aWFs
X291dHB1dF9ub2RlKHNlbGYsIG5vZGUsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYu
ZGF0YV9jbHNfZ2V0dGVyKE5vbmUsIE5vbmUpKG5vZGUsICoqa3dhcmdzKQorCisgICAgZGVmIHZp
c2l0X0RhdGFOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICBpZiBub2RlICE9IHNlbGYudHJlZToK
KyAgICAgICAgICAgIG91dHB1dF9wYXJlbnQgPSBzZWxmLm91dHB1dF9ub2RlCisgICAgICAgICAg
ICBzZWxmLm91dHB1dF9ub2RlID0gc2VsZi5kYXRhX2Nsc19nZXR0ZXIoc2VsZi5vdXRwdXRfbm9k
ZSwgbm9kZSkobm9kZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG91dHB1dF9wYXJlbnQg
PSBOb25lCisKKyAgICAgICAgYXNzZXJ0IHNlbGYub3V0cHV0X25vZGUgaXMgbm90IE5vbmUKKwor
ICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgIHNlbGYudmlz
aXQoY2hpbGQpCisKKyAgICAgICAgaWYgb3V0cHV0X3BhcmVudCBpcyBub3QgTm9uZToKKyAgICAg
ICAgICAgICMgQXBwZW5kIHRvIHRoZSBwYXJlbnQgKmFmdGVyKiBwcm9jZXNzaW5nIGFsbCB0aGUg
bm9kZSBkYXRhCisgICAgICAgICAgICBvdXRwdXRfcGFyZW50LmFwcGVuZChzZWxmLm91dHB1dF9u
b2RlKQorICAgICAgICAgICAgc2VsZi5vdXRwdXRfbm9kZSA9IHNlbGYub3V0cHV0X25vZGUucGFy
ZW50CisKKyAgICAgICAgYXNzZXJ0IHNlbGYub3V0cHV0X25vZGUgaXMgbm90IE5vbmUKKworICAg
IGRlZiB2aXNpdF9LZXlWYWx1ZU5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGtleV92YWx1ZXMg
PSBbXQorICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgIGNv
bmRpdGlvbiwgdmFsdWUgPSBzZWxmLnZpc2l0KGNoaWxkKQorICAgICAgICAgICAga2V5X3ZhbHVl
cy5hcHBlbmQoQ29uZGl0aW9uYWxWYWx1ZShjaGlsZCwgY29uZGl0aW9uKSkKKworICAgICAgICBz
ZWxmLm91dHB1dF9ub2RlLl9hZGRfa2V5X3ZhbHVlKG5vZGUsIGtleV92YWx1ZXMpCisKKyAgICBk
ZWYgdmlzaXRfTGlzdE5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVybiAobGFtYmRhIHg6
VHJ1ZSwgW3NlbGYudmlzaXQoY2hpbGQpIGZvciBjaGlsZCBpbiBub2RlLmNoaWxkcmVuXSkKKwor
ICAgIGRlZiB2aXNpdF9WYWx1ZU5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVybiAobGFt
YmRhIHg6IFRydWUsIG5vZGUuZGF0YSkKKworICAgIGRlZiB2aXNpdF9BdG9tTm9kZShzZWxmLCBu
b2RlKToKKyAgICAgICAgcmV0dXJuIChsYW1iZGEgeDogVHJ1ZSwgbm9kZS5kYXRhKQorCisgICAg
ZGVmIHZpc2l0X0NvbmRpdGlvbmFsTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIHNl
bGYudmlzaXQobm9kZS5jaGlsZHJlblswXSksIHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblsxXSkK
KworICAgIGRlZiB2aXNpdF9TdHJpbmdOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICBpbmRleGVz
ID0gW3NlbGYudmlzaXQoY2hpbGQpIGZvciBjaGlsZCBpbiBub2RlLmNoaWxkcmVuXQorCisgICAg
ICAgIGRlZiB2YWx1ZSh4KToKKyAgICAgICAgICAgIHJ2ID0gbm9kZS5kYXRhCisgICAgICAgICAg
ICBmb3IgaW5kZXggaW4gaW5kZXhlczoKKyAgICAgICAgICAgICAgICBydiA9IHJ2W2luZGV4KHgp
XQorICAgICAgICAgICAgcmV0dXJuIHJ2CisgICAgICAgIHJldHVybiB2YWx1ZQorCisgICAgZGVm
IHZpc2l0X051bWJlck5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGlmICIuIiBpbiBub2RlLmRh
dGE6CisgICAgICAgICAgICByZXR1cm4gbGFtYmRhIHg6IGZsb2F0KG5vZGUuZGF0YSkKKyAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBsYW1iZGEgeDogaW50KG5vZGUuZGF0YSkKKwor
ICAgIGRlZiB2aXNpdF9WYXJpYWJsZU5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGluZGV4ZXMg
PSBbc2VsZi52aXNpdChjaGlsZCkgZm9yIGNoaWxkIGluIG5vZGUuY2hpbGRyZW5dCisKKyAgICAg
ICAgZGVmIHZhbHVlKHgpOgorICAgICAgICAgICAgZGF0YSA9IHhbbm9kZS5kYXRhXQorICAgICAg
ICAgICAgZm9yIGluZGV4IGluIGluZGV4ZXM6CisgICAgICAgICAgICAgICAgZGF0YSA9IGRhdGFb
aW5kZXgoeCldCisgICAgICAgICAgICByZXR1cm4gZGF0YQorICAgICAgICByZXR1cm4gdmFsdWUK
KworICAgIGRlZiB2aXNpdF9JbmRleE5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGFzc2VydCBs
ZW4obm9kZS5jaGlsZHJlbikgPT0gMQorICAgICAgICByZXR1cm4gc2VsZi52aXNpdChub2RlLmNo
aWxkcmVuWzBdKQorCisgICAgZGVmIHZpc2l0X1VuYXJ5RXhwcmVzc2lvbk5vZGUoc2VsZiwgbm9k
ZSk6CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5jaGlsZHJlbikgPT0gMgorICAgICAgICBvcGVy
YXRvciA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblswXSkKKyAgICAgICAgb3BlcmFuZCA9IHNl
bGYudmlzaXQobm9kZS5jaGlsZHJlblsxXSkKKworICAgICAgICByZXR1cm4gbGFtYmRhIHg6IG9w
ZXJhdG9yKG9wZXJhbmQoeCkpCisKKyAgICBkZWYgdmlzaXRfQmluYXJ5RXhwcmVzc2lvbk5vZGUo
c2VsZiwgbm9kZSk6CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5jaGlsZHJlbikgPT0gMworICAg
ICAgICBvcGVyYXRvciA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblswXSkKKyAgICAgICAgb3Bl
cmFuZF8wID0gc2VsZi52aXNpdChub2RlLmNoaWxkcmVuWzFdKQorICAgICAgICBvcGVyYW5kXzEg
PSBzZWxmLnZpc2l0KG5vZGUuY2hpbGRyZW5bMl0pCisKKyAgICAgICAgYXNzZXJ0IG9wZXJhbmRf
MCBpcyBub3QgTm9uZQorICAgICAgICBhc3NlcnQgb3BlcmFuZF8xIGlzIG5vdCBOb25lCisKKyAg
ICAgICAgcmV0dXJuIGxhbWJkYSB4OiBvcGVyYXRvcihvcGVyYW5kXzAoeCksIG9wZXJhbmRfMSh4
KSkKKworICAgIGRlZiB2aXNpdF9VbmFyeU9wZXJhdG9yTm9kZShzZWxmLCBub2RlKToKKyAgICAg
ICAgcmV0dXJuIHsibm90Ijogb3BlcmF0b3Iubm90X31bbm9kZS5kYXRhXQorCisgICAgZGVmIHZp
c2l0X0JpbmFyeU9wZXJhdG9yTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIHsiYW5k
Ijogb3BlcmF0b3IuYW5kXywKKyAgICAgICAgICAgICAgICAib3IiOiBvcGVyYXRvci5vcl8sCisg
ICAgICAgICAgICAgICAgIj09Ijogb3BlcmF0b3IuZXEsCisgICAgICAgICAgICAgICAgIiE9Ijog
b3BlcmF0b3IubmV9W25vZGUuZGF0YV0KKworCitjbGFzcyBNYW5pZmVzdEl0ZW0ob2JqZWN0KToK
KyAgICBkZWYgX19pbml0X18oc2VsZiwgbm9kZT1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgIHNl
bGYubm9kZSA9IG5vZGUKKyAgICAgICAgc2VsZi5wYXJlbnQgPSBOb25lCisgICAgICAgIHNlbGYu
Y2hpbGRyZW4gPSBbXQorICAgICAgICBzZWxmLl9kYXRhID0ge30KKworICAgIGRlZiBfX3JlcHJf
XyhzZWxmKToKKyAgICAgICAgcmV0dXJuICI8TWFuaWZlc3RJdGVtICVzPiIgJSAoc2VsZi5ub2Rl
LmRhdGEpCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcnYgPSBbcmVwcihzZWxm
KV0KKyAgICAgICAgZm9yIGl0ZW0gaW4gc2VsZi5jaGlsZHJlbjoKKyAgICAgICAgICAgIHJ2LmV4
dGVuZCgiICAlcyIgJSBsaW5lIGZvciBsaW5lIGluIHN0cihpdGVtKS5zcGxpdCgiXG4iKSkKKyAg
ICAgICAgcmV0dXJuICJcbiIuam9pbihydikKKworICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwg
a2V5KToKKyAgICAgICAgcmV0dXJuIGtleSBpbiBzZWxmLl9kYXRhCisKKyAgICBAcHJvcGVydHkK
KyAgICBkZWYgaXNfZW1wdHkoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2RhdGE6CisgICAgICAg
ICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIGFsbChjaGlsZC5pc19lbXB0eSBmb3Ig
Y2hpbGQgaW4gc2VsZi5jaGlsZHJlbikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiByb290KHNl
bGYpOgorICAgICAgICBub2RlID0gc2VsZgorICAgICAgICB3aGlsZSBub2RlLnBhcmVudCBpcyBu
b3QgTm9uZToKKyAgICAgICAgICAgIG5vZGUgPSBub2RlLnBhcmVudAorICAgICAgICByZXR1cm4g
bm9kZQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIG5hbWUoc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmLm5vZGUuZGF0YQorCisgICAgZGVmIGhhc19rZXkoc2VsZiwga2V5KToKKyAgICAgICAg
Zm9yIG5vZGUgaW4gW3NlbGYsIHNlbGYucm9vdF06CisgICAgICAgICAgICBpZiBrZXkgaW4gbm9k
ZS5fZGF0YToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gRmFs
c2UKKworICAgIGRlZiBnZXQoc2VsZiwga2V5LCBydW5faW5mbz1Ob25lKToKKyAgICAgICAgaWYg
cnVuX2luZm8gaXMgTm9uZToKKyAgICAgICAgICAgIHJ1bl9pbmZvID0ge30KKworICAgICAgICBm
b3Igbm9kZSBpbiBbc2VsZiwgc2VsZi5yb290XToKKyAgICAgICAgICAgIGlmIGtleSBpbiBub2Rl
Ll9kYXRhOgorICAgICAgICAgICAgICAgIGZvciBjb25kX3ZhbHVlIGluIG5vZGUuX2RhdGFba2V5
XToKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgbWF0
Y2hlcyA9IGNvbmRfdmFsdWUocnVuX2luZm8pCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBL
ZXlFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoZXMgPSBGYWxzZQorICAgICAg
ICAgICAgICAgICAgICBpZiBtYXRjaGVzOgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGNvbmRfdmFsdWUudmFsdWUKKyAgICAgICAgcmFpc2UgS2V5RXJyb3IKKworICAgIGRlZiBzZXQo
c2VsZiwga2V5LCB2YWx1ZSwgY29uZGl0aW9uPU5vbmUpOgorICAgICAgICAjIEZpcnN0IHRyeSB0
byB1cGRhdGUgdGhlIGV4aXN0aW5nIHZhbHVlCisgICAgICAgIGlmIGtleSBpbiBzZWxmLl9kYXRh
OgorICAgICAgICAgICAgY29uZF92YWx1ZXMgPSBzZWxmLl9kYXRhW2tleV0KKyAgICAgICAgICAg
IGZvciBjb25kX3ZhbHVlIGluIGNvbmRfdmFsdWVzOgorICAgICAgICAgICAgICAgIGlmIGNvbmRf
dmFsdWUuY29uZGl0aW9uX25vZGUgPT0gY29uZGl0aW9uOgorICAgICAgICAgICAgICAgICAgICBj
b25kX3ZhbHVlLnZhbHVlID0gdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisgICAg
ICAgICAgICAjIElmIHRoZXJlIGlzbid0IGEgY29uZGl0aW9uYWwgbWF0Y2ggcmV1c2UgdGhlIGV4
aXN0aW5nIEtleVZhbHVlTm9kZSBhcyB0aGUKKyAgICAgICAgICAgICMgcGFyZW50CisgICAgICAg
ICAgICBub2RlID0gTm9uZQorICAgICAgICAgICAgZm9yIGNoaWxkIGluIHNlbGYubm9kZS5jaGls
ZHJlbjoKKyAgICAgICAgICAgICAgICBpZiBjaGlsZC5kYXRhID09IGtleToKKyAgICAgICAgICAg
ICAgICAgICAgbm9kZSA9IGNoaWxkCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAg
ICAgICBhc3NlcnQgbm9kZSBpcyBub3QgTm9uZQorCisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICBub2RlID0gS2V5VmFsdWVOb2RlKGtleSkKKyAgICAgICAgICAgIHNlbGYubm9kZS5hcHBlbmQo
bm9kZSkKKworICAgICAgICB2YWx1ZV9ub2RlID0gVmFsdWVOb2RlKHZhbHVlKQorICAgICAgICBp
ZiBjb25kaXRpb24gaXMgbm90IE5vbmU6CisgICAgICAgICAgICBjb25kaXRpb25hbF9ub2RlID0g
Q29uZGl0aW9uYWxOb2RlKCkKKyAgICAgICAgICAgIGNvbmRpdGlvbmFsX25vZGUuYXBwZW5kKGNv
bmRpdGlvbikKKyAgICAgICAgICAgIGNvbmRpdGlvbmFsX25vZGUuYXBwZW5kKHZhbHVlX25vZGUp
CisgICAgICAgICAgICBub2RlLmFwcGVuZChjb25kaXRpb25hbF9ub2RlKQorICAgICAgICAgICAg
Y29uZF92YWx1ZSA9IENvbXBpbGVyKCkuY29tcGlsZV9jb25kaXRpb24oY29uZGl0aW9uYWxfbm9k
ZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG5vZGUuYXBwZW5kKHZhbHVlX25vZGUpCisg
ICAgICAgICAgICBjb25kX3ZhbHVlID0gQ29uZGl0aW9uYWxWYWx1ZSh2YWx1ZV9ub2RlLCBsYW1i
ZGEgeDogVHJ1ZSkKKworICAgICAgICAjIFVwZGF0ZSB0aGUgY2FjaGUgb2YgY2hpbGQgdmFsdWVz
LiBUaGlzIGlzIHByZXR0eSBhbm5veWluZyBhbmQgbWF5YmUKKyAgICAgICAgIyBpdCBzaG91bGQg
anVzdCB3b3JrIGRpcmVjdGx5IG9uIHRoZSB0cmVlCisgICAgICAgIGlmIGtleSBub3QgaW4gc2Vs
Zi5fZGF0YToKKyAgICAgICAgICAgIHNlbGYuX2RhdGFba2V5XSA9IFtdCisgICAgICAgIGlmIHNl
bGYuX2RhdGFba2V5XSBhbmQgc2VsZi5fZGF0YVtrZXldWy0xXS5jb25kaXRpb25fbm9kZSBpcyBO
b25lOgorICAgICAgICAgICAgc2VsZi5fZGF0YVtrZXldLmluc2VydChsZW4oc2VsZi5fZGF0YVtr
ZXldKSAtIDEsIGNvbmRfdmFsdWUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9k
YXRhW2tleV0uYXBwZW5kKGNvbmRfdmFsdWUpCisKKyAgICBkZWYgX2FkZF9rZXlfdmFsdWUoc2Vs
Ziwgbm9kZSwgdmFsdWVzKToKKyAgICAgICAgIiIiQ2FsbGVkIGR1cmluZyBjb25zdHJ1Y3Rpb24g
dG8gc2V0IGEga2V5LXZhbHVlIG5vZGUiIiIKKyAgICAgICAgc2VsZi5fZGF0YVtub2RlLmRhdGFd
ID0gdmFsdWVzCisKKyAgICBkZWYgYXBwZW5kKHNlbGYsIGNoaWxkKToKKyAgICAgICAgc2VsZi5j
aGlsZHJlbi5hcHBlbmQoY2hpbGQpCisgICAgICAgIGNoaWxkLnBhcmVudCA9IHNlbGYKKyAgICAg
ICAgaWYgY2hpbGQubm9kZS5wYXJlbnQgIT0gc2VsZi5ub2RlOgorICAgICAgICAgICAgc2VsZi5u
b2RlLmFwcGVuZChjaGlsZC5ub2RlKQorICAgICAgICByZXR1cm4gY2hpbGQKKworICAgIGRlZiBy
ZW1vdmUoc2VsZik6CisgICAgICAgIGlmIHNlbGYucGFyZW50OgorICAgICAgICAgICAgc2VsZi5w
YXJlbnQuX3JlbW92ZV9jaGlsZChzZWxmKQorCisgICAgZGVmIF9yZW1vdmVfY2hpbGQoc2VsZiwg
Y2hpbGQpOgorICAgICAgICBzZWxmLmNoaWxkcmVuLnJlbW92ZShjaGlsZCkKKyAgICAgICAgY2hp
bGQucGFyZW50ID0gTm9uZQorCisgICAgZGVmIGl0ZXJjaGlsZHJlbihzZWxmLCBuYW1lPU5vbmUp
OgorICAgICAgICBmb3IgaXRlbSBpbiBzZWxmLmNoaWxkcmVuOgorICAgICAgICAgICAgaWYgaXRl
bS5uYW1lID09IG5hbWUgb3IgbmFtZSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHlpZWxkIGl0
ZW0KKworICAgIGRlZiBfZmxhdHRlbihzZWxmKToKKyAgICAgICAgcnYgPSB7fQorICAgICAgICBm
b3Igbm9kZSBpbiBbc2VsZiwgc2VsZi5yb290XToKKyAgICAgICAgICAgIGZvciBuYW1lLCB2YWx1
ZSBpbiBub2RlLl9kYXRhLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgICAgIGlmIG5hbWUgbm90
IGluIHJ2OgorICAgICAgICAgICAgICAgICAgICBydltuYW1lXSA9IHZhbHVlCisgICAgICAgIHJl
dHVybiBydgorCisgICAgZGVmIGl0ZXJpdGVtcyhzZWxmKToKKyAgICAgICAgZm9yIGl0ZW0gaW4g
c2VsZi5fZmxhdHRlbigpLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgeWllbGQgaXRlbQorCisg
ICAgZGVmIGl0ZXJrZXlzKHNlbGYpOgorICAgICAgICBmb3IgaXRlbSBpbiBzZWxmLl9mbGF0dGVu
KCkuaXRlcmtleXMoKToKKyAgICAgICAgICAgIHlpZWxkIGl0ZW0KKworICAgIGRlZiByZW1vdmVf
dmFsdWUoc2VsZiwga2V5LCB2YWx1ZSk6CisgICAgICAgIHNlbGYuX2RhdGFba2V5XS5yZW1vdmUo
dmFsdWUpCisgICAgICAgIGlmIG5vdCBzZWxmLl9kYXRhW2tleV06CisgICAgICAgICAgICBkZWwg
c2VsZi5fZGF0YVtrZXldCisgICAgICAgIHZhbHVlLnJlbW92ZSgpCisKKworZGVmIGNvbXBpbGVf
YXN0KGFzdCwgZGF0YV9jbHNfZ2V0dGVyPU5vbmUsICoqa3dhcmdzKToKKyAgICByZXR1cm4gQ29t
cGlsZXIoKS5jb21waWxlKGFzdCwgZGF0YV9jbHNfZ2V0dGVyPWRhdGFfY2xzX2dldHRlciwgKipr
d2FyZ3MpCisKKworZGVmIGNvbXBpbGUoc3RyZWFtLCBkYXRhX2Nsc19nZXR0ZXI9Tm9uZSwgKipr
d2FyZ3MpOgorICAgIHJldHVybiBjb21waWxlX2FzdChwYXJzZShzdHJlYW0pLAorICAgICAgICAg
ICAgICAgICAgICAgICBkYXRhX2Nsc19nZXR0ZXI9ZGF0YV9jbHNfZ2V0dGVyLAorICAgICAgICAg
ICAgICAgICAgICAgICAqKmt3YXJncykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5p
ZmVzdC9iYWNrZW5kcy9zdGF0aWMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvYmFja2Vu
ZHMvc3RhdGljLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyYjlmYmU5NDI5ODU5NjY4MmUyZGY4NTllNWU5MTJi
MDJkNTBkYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvYmFj
a2VuZHMvc3RhdGljLnB5CkBAIC0wLDAgKzEsMjIwIEBACitpbXBvcnQgb3BlcmF0b3IKKworZnJv
bSAuLm5vZGUgaW1wb3J0IE5vZGVWaXNpdG9yCitmcm9tIC4ucGFyc2VyIGltcG9ydCBwYXJzZQor
CisKK2NsYXNzIENvbXBpbGVyKE5vZGVWaXNpdG9yKToKKyAgICAiIiJDb21waWxlciBiYWNrZW5k
IHRoYXQgZXZhbHVhdGVzIGNvbmRpdGlvbmFsIGV4cHJlc3Npb25zCisgICAgdG8gZ2l2ZSBzdGF0
aWMgb3V0cHV0IiIiCisKKyAgICBkZWYgY29tcGlsZShzZWxmLCB0cmVlLCBleHByX2RhdGEsIGRh
dGFfY2xzX2dldHRlcj1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgICIiIkNvbXBpbGUgYSByYXcg
QVNUIGludG8gYSBmb3JtIHdpdGggY29uZGl0aW9uYWwgZXhwcmVzc2lvbnMKKyAgICAgICAgZXZh
bHVhdGVkLgorCisgICAgICAgIHRyZWUgLSBUaGUgcm9vdCBub2RlIG9mIHRoZSB3cHRtYW5pZmVz
dCBBU1QgdG8gY29tcGlsZQorCisgICAgICAgIGV4cHJfZGF0YSAtIEEgZGljdGlvbmFyeSBvZiBr
ZXkgLyB2YWx1ZSBwYWlycyB0byB1c2Ugd2hlbgorICAgICAgICAgICAgICAgICAgICBldmFsdWF0
aW5nIGNvbmRpdGlvbmFsIGV4cHJlc3Npb25zCisKKyAgICAgICAgZGF0YV9jbHNfZ2V0dGVyIC0g
QSBmdW5jdGlvbiB0YWtpbmcgdHdvIHBhcmFtZXRlcnM7IHRoZSBwcmV2aW91cworICAgICAgICAg
ICAgICAgICAgICAgICAgICBvdXRwdXQgbm9kZSBhbmQgdGhlIGN1cnJlbnQgYXN0IG5vZGUgYW5k
IHJldHVybmluZworICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xhc3Mgb2YgdGhlIG91
dHB1dCBub2RlIHRvIHVzZSBmb3IgdGhlIGN1cnJlbnQKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgYXN0IG5vZGUKKyAgICAgICAgIiIiCisKKyAgICAgICAgc2VsZi5fa3dhcmdzID0ga3dhcmdz
CisgICAgICAgIHNlbGYuZXhwcl9kYXRhID0gZXhwcl9kYXRhCisKKyAgICAgICAgaWYgZGF0YV9j
bHNfZ2V0dGVyIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmRhdGFfY2xzX2dldHRlciA9IGxh
bWJkYSB4LCB5OiBNYW5pZmVzdEl0ZW0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYu
ZGF0YV9jbHNfZ2V0dGVyID0gZGF0YV9jbHNfZ2V0dGVyCisKKyAgICAgICAgc2VsZi5vdXRwdXRf
bm9kZSA9IE5vbmUKKyAgICAgICAgc2VsZi52aXNpdCh0cmVlKQorICAgICAgICByZXR1cm4gc2Vs
Zi5vdXRwdXRfbm9kZQorCisgICAgZGVmIHZpc2l0X0RhdGFOb2RlKHNlbGYsIG5vZGUpOgorICAg
ICAgICBvdXRwdXRfcGFyZW50ID0gc2VsZi5vdXRwdXRfbm9kZQorICAgICAgICBpZiBzZWxmLm91
dHB1dF9ub2RlIGlzIE5vbmU6CisgICAgICAgICAgICBhc3NlcnQgbm9kZS5wYXJlbnQgaXMgTm9u
ZQorICAgICAgICAgICAgc2VsZi5vdXRwdXRfbm9kZSA9IHNlbGYuZGF0YV9jbHNfZ2V0dGVyKE5v
bmUsIE5vbmUpKE5vbmUsICoqc2VsZi5fa3dhcmdzKQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgc2VsZi5vdXRwdXRfbm9kZSA9IHNlbGYuZGF0YV9jbHNfZ2V0dGVyKHNlbGYub3V0cHV0X25v
ZGUsIG5vZGUpKG5vZGUuZGF0YSkKKworICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJl
bjoKKyAgICAgICAgICAgIHNlbGYudmlzaXQoY2hpbGQpCisKKyAgICAgICAgaWYgb3V0cHV0X3Bh
cmVudCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIG91dHB1dF9wYXJlbnQuYXBwZW5kKHNlbGYu
b3V0cHV0X25vZGUpCisgICAgICAgICAgICBzZWxmLm91dHB1dF9ub2RlID0gc2VsZi5vdXRwdXRf
bm9kZS5wYXJlbnQKKworICAgIGRlZiB2aXNpdF9LZXlWYWx1ZU5vZGUoc2VsZiwgbm9kZSk6Cisg
ICAgICAgIGtleV9uYW1lID0gbm9kZS5kYXRhCisgICAgICAgIGtleV92YWx1ZSA9IE5vbmUKKyAg
ICAgICAgZm9yIGNoaWxkIGluIG5vZGUuY2hpbGRyZW46CisgICAgICAgICAgICB2YWx1ZSA9IHNl
bGYudmlzaXQoY2hpbGQpCisgICAgICAgICAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKKyAgICAg
ICAgICAgICAgICBrZXlfdmFsdWUgPSB2YWx1ZQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAg
ICAgIGlmIGtleV92YWx1ZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYub3V0cHV0X25v
ZGUuc2V0KGtleV9uYW1lLCBrZXlfdmFsdWUpCisKKyAgICBkZWYgdmlzaXRfVmFsdWVOb2RlKHNl
bGYsIG5vZGUpOgorICAgICAgICByZXR1cm4gbm9kZS5kYXRhCisKKyAgICBkZWYgdmlzaXRfQXRv
bU5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVybiBub2RlLmRhdGEKKworICAgIGRlZiB2
aXNpdF9MaXN0Tm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIFtzZWxmLnZpc2l0KGNo
aWxkKSBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbl0KKworICAgIGRlZiB2aXNpdF9Db25kaXRp
b25hbE5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5jaGlsZHJlbikg
PT0gMgorICAgICAgICBpZiBzZWxmLnZpc2l0KG5vZGUuY2hpbGRyZW5bMF0pOgorICAgICAgICAg
ICAgcmV0dXJuIHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblsxXSkKKworICAgIGRlZiB2aXNpdF9T
dHJpbmdOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICB2YWx1ZSA9IG5vZGUuZGF0YQorICAgICAg
ICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgIHZhbHVlID0gc2VsZi52
aXNpdChjaGlsZCkodmFsdWUpCisgICAgICAgIHJldHVybiB2YWx1ZQorCisgICAgZGVmIHZpc2l0
X051bWJlck5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGlmICIuIiBpbiBub2RlLmRhdGE6Cisg
ICAgICAgICAgICByZXR1cm4gZmxvYXQobm9kZS5kYXRhKQorICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgcmV0dXJuIGludChub2RlLmRhdGEpCisKKyAgICBkZWYgdmlzaXRfVmFyaWFibGVOb2Rl
KHNlbGYsIG5vZGUpOgorICAgICAgICB2YWx1ZSA9IHNlbGYuZXhwcl9kYXRhW25vZGUuZGF0YV0K
KyAgICAgICAgZm9yIGNoaWxkIGluIG5vZGUuY2hpbGRyZW46CisgICAgICAgICAgICB2YWx1ZSA9
IHNlbGYudmlzaXQoY2hpbGQpKHZhbHVlKQorICAgICAgICByZXR1cm4gdmFsdWUKKworICAgIGRl
ZiB2aXNpdF9JbmRleE5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5j
aGlsZHJlbikgPT0gMQorICAgICAgICBpbmRleCA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblsw
XSkKKyAgICAgICAgcmV0dXJuIGxhbWJkYSB4OiB4W2luZGV4XQorCisgICAgZGVmIHZpc2l0X1Vu
YXJ5RXhwcmVzc2lvbk5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5j
aGlsZHJlbikgPT0gMgorICAgICAgICBvcGVyYXRvciA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJl
blswXSkKKyAgICAgICAgb3BlcmFuZCA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblsxXSkKKwor
ICAgICAgICByZXR1cm4gb3BlcmF0b3Iob3BlcmFuZCkKKworICAgIGRlZiB2aXNpdF9CaW5hcnlF
eHByZXNzaW9uTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgYXNzZXJ0IGxlbihub2RlLmNoaWxk
cmVuKSA9PSAzCisgICAgICAgIG9wZXJhdG9yID0gc2VsZi52aXNpdChub2RlLmNoaWxkcmVuWzBd
KQorICAgICAgICBvcGVyYW5kXzAgPSBzZWxmLnZpc2l0KG5vZGUuY2hpbGRyZW5bMV0pCisgICAg
ICAgIG9wZXJhbmRfMSA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblsyXSkKKworICAgICAgICBy
ZXR1cm4gb3BlcmF0b3Iob3BlcmFuZF8wLCBvcGVyYW5kXzEpCisKKyAgICBkZWYgdmlzaXRfVW5h
cnlPcGVyYXRvck5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVybiB7Im5vdCI6IG9wZXJh
dG9yLm5vdF99W25vZGUuZGF0YV0KKworICAgIGRlZiB2aXNpdF9CaW5hcnlPcGVyYXRvck5vZGUo
c2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVybiB7ImFuZCI6IG9wZXJhdG9yLmFuZF8sCisgICAg
ICAgICAgICAgICAgIm9yIjogb3BlcmF0b3Iub3JfLAorICAgICAgICAgICAgICAgICI9PSI6IG9w
ZXJhdG9yLmVxLAorICAgICAgICAgICAgICAgICIhPSI6IG9wZXJhdG9yLm5lfVtub2RlLmRhdGFd
CisKKworY2xhc3MgTWFuaWZlc3RJdGVtKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IG5hbWUsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5wYXJlbnQgPSBOb25lCisgICAgICAgIHNl
bGYubmFtZSA9IG5hbWUKKyAgICAgICAgc2VsZi5jaGlsZHJlbiA9IFtdCisgICAgICAgIHNlbGYu
X2RhdGEgPSB7fQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gIjxN
YW5pZmVzdEl0ZW0gJXM+IiAlIChzZWxmLm5hbWUpCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToK
KyAgICAgICAgcnYgPSBbcmVwcihzZWxmKV0KKyAgICAgICAgZm9yIGl0ZW0gaW4gc2VsZi5jaGls
ZHJlbjoKKyAgICAgICAgICAgIHJ2LmV4dGVuZCgiICAlcyIgJSBsaW5lIGZvciBsaW5lIGluIHN0
cihpdGVtKS5zcGxpdCgiXG4iKSkKKyAgICAgICAgcmV0dXJuICJcbiIuam9pbihydikKKworICAg
IEBwcm9wZXJ0eQorICAgIGRlZiBpc19lbXB0eShzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fZGF0
YToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gYWxsKGNoaWxkLmlz
X2VtcHR5IGZvciBjaGlsZCBpbiBzZWxmLmNoaWxkcmVuKQorCisgICAgQHByb3BlcnR5CisgICAg
ZGVmIHJvb3Qoc2VsZik6CisgICAgICAgIG5vZGUgPSBzZWxmCisgICAgICAgIHdoaWxlIG5vZGUu
cGFyZW50IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgbm9kZSA9IG5vZGUucGFyZW50CisgICAg
ICAgIHJldHVybiBub2RlCisKKyAgICBkZWYgaGFzX2tleShzZWxmLCBrZXkpOgorICAgICAgICBm
b3Igbm9kZSBpbiBbc2VsZiwgc2VsZi5yb290XToKKyAgICAgICAgICAgIGlmIGtleSBpbiBub2Rl
Ll9kYXRhOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBGYWxz
ZQorCisgICAgZGVmIGdldChzZWxmLCBrZXkpOgorICAgICAgICBmb3Igbm9kZSBpbiBbc2VsZiwg
c2VsZi5yb290XToKKyAgICAgICAgICAgIGlmIGtleSBpbiBub2RlLl9kYXRhOgorICAgICAgICAg
ICAgICAgIHJldHVybiBub2RlLl9kYXRhW2tleV0KKyAgICAgICAgcmFpc2UgS2V5RXJyb3IKKwor
ICAgIGRlZiBzZXQoc2VsZiwgbmFtZSwgdmFsdWUpOgorICAgICAgICBzZWxmLl9kYXRhW25hbWVd
ID0gdmFsdWUKKworICAgIGRlZiByZW1vdmUoc2VsZik6CisgICAgICAgIGlmIHNlbGYucGFyZW50
OgorICAgICAgICAgICAgc2VsZi5wYXJlbnQuX3JlbW92ZV9jaGlsZChzZWxmKQorCisgICAgZGVm
IF9yZW1vdmVfY2hpbGQoc2VsZiwgY2hpbGQpOgorICAgICAgICBzZWxmLmNoaWxkcmVuLnJlbW92
ZShjaGlsZCkKKyAgICAgICAgY2hpbGQucGFyZW50ID0gTm9uZQorCisgICAgZGVmIGl0ZXJjaGls
ZHJlbihzZWxmLCBuYW1lPU5vbmUpOgorICAgICAgICBmb3IgaXRlbSBpbiBzZWxmLmNoaWxkcmVu
OgorICAgICAgICAgICAgaWYgaXRlbS5uYW1lID09IG5hbWUgb3IgbmFtZSBpcyBOb25lOgorICAg
ICAgICAgICAgICAgIHlpZWxkIGl0ZW0KKworICAgIGRlZiBfZmxhdHRlbihzZWxmKToKKyAgICAg
ICAgcnYgPSB7fQorICAgICAgICBmb3Igbm9kZSBpbiBbc2VsZiwgc2VsZi5yb290XToKKyAgICAg
ICAgICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBub2RlLl9kYXRhLml0ZXJpdGVtcygpOgorICAgICAg
ICAgICAgICAgIGlmIG5hbWUgbm90IGluIHJ2OgorICAgICAgICAgICAgICAgICAgICBydltuYW1l
XSA9IHZhbHVlCisgICAgICAgIHJldHVybiBydgorCisgICAgZGVmIGl0ZXJpdGVtcyhzZWxmKToK
KyAgICAgICAgZm9yIGl0ZW0gaW4gc2VsZi5fZmxhdHRlbigpLml0ZXJpdGVtcygpOgorICAgICAg
ICAgICAgeWllbGQgaXRlbQorCisgICAgZGVmIGl0ZXJrZXlzKHNlbGYpOgorICAgICAgICBmb3Ig
aXRlbSBpbiBzZWxmLl9mbGF0dGVuKCkuaXRlcmtleXMoKToKKyAgICAgICAgICAgIHlpZWxkIGl0
ZW0KKworICAgIGRlZiBpdGVydmFsdWVzKHNlbGYpOgorICAgICAgICBmb3IgaXRlbSBpbiBzZWxm
Ll9mbGF0dGVuKCkuaXRlcnZhbHVlcygpOgorICAgICAgICAgICAgeWllbGQgaXRlbQorCisgICAg
ZGVmIGFwcGVuZChzZWxmLCBjaGlsZCk6CisgICAgICAgIGNoaWxkLnBhcmVudCA9IHNlbGYKKyAg
ICAgICAgc2VsZi5jaGlsZHJlbi5hcHBlbmQoY2hpbGQpCisgICAgICAgIHJldHVybiBjaGlsZAor
CisKK2RlZiBjb21waWxlX2FzdChhc3QsIGV4cHJfZGF0YSwgZGF0YV9jbHNfZ2V0dGVyPU5vbmUs
ICoqa3dhcmdzKToKKyAgICByZXR1cm4gQ29tcGlsZXIoKS5jb21waWxlKGFzdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGV4cHJfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRhdGFfY2xzX2dldHRlcj1kYXRhX2Nsc19nZXR0ZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqKmt3YXJncykKKworCitkZWYgY29tcGlsZShzdHJlYW0sIGV4cHJfZGF0
YSwgZGF0YV9jbHNfZ2V0dGVyPU5vbmUsICoqa3dhcmdzKToKKyAgICByZXR1cm4gY29tcGlsZV9h
c3QocGFyc2Uoc3RyZWFtKSwKKyAgICAgICAgICAgICAgICAgICAgICAgZXhwcl9kYXRhLAorICAg
ICAgICAgICAgICAgICAgICAgICBkYXRhX2Nsc19nZXR0ZXI9ZGF0YV9jbHNfZ2V0dGVyLAorICAg
ICAgICAgICAgICAgICAgICAgICAqKmt3YXJncykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93
cHRtYW5pZmVzdC9iYWNrZW5kcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5p
ZmVzdC9iYWNrZW5kcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNzkzYTJhZGQwMGJjM2Zm
NWI3NWQyMjc5NDY3OWUxNTc0YzExY2VhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3dwdG1hbmlmZXN0L2JhY2tlbmRzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTkgQEAKK1Ro
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZp
bGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9fX2luaXRfXy5weQorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9jb25kaXRpb25hbC5weQorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9zdGF0aWMucHkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93cHRtYW5pZmVzdC9ub2RlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L25vZGUu
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzNlOTc5NmM0MzBjMzNhYTAzMjg1NTlmMTIwNzlmMjIxMTgwZDY3OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9ub2RlLnB5CkBAIC0w
LDAgKzEsMTU3IEBACitjbGFzcyBOb2RlVmlzaXRvcihvYmplY3QpOgorICAgIGRlZiB2aXNpdChz
ZWxmLCBub2RlKToKKyAgICAgICAgIyBUaGlzIGlzIHVnbHkgYXMgaGVsbCwgYnV0IHdlIGRvbid0
IGhhdmUgbXVsdGltZXRob2RzIGFuZAorICAgICAgICAjIHRoZXkgYXJlbid0IHRyaXZpYWwgdG8g
ZmFrZSB3aXRob3V0IGFjY2VzcyB0byB0aGUgY2xhc3MKKyAgICAgICAgIyBvYmplY3QgZnJvbSB0
aGUgY2xhc3MgYm9keQorICAgICAgICBmdW5jID0gZ2V0YXR0cihzZWxmLCAidmlzaXRfJXMiICUg
KG5vZGUuX19jbGFzc19fLl9fbmFtZV9fKSkKKyAgICAgICAgcmV0dXJuIGZ1bmMobm9kZSkKKwor
CitjbGFzcyBOb2RlKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRhdGE9Tm9uZSk6
CisgICAgICAgIHNlbGYuZGF0YSA9IGRhdGEKKyAgICAgICAgc2VsZi5wYXJlbnQgPSBOb25lCisg
ICAgICAgIHNlbGYuY2hpbGRyZW4gPSBbXQorCisgICAgZGVmIGFwcGVuZChzZWxmLCBvdGhlcik6
CisgICAgICAgIG90aGVyLnBhcmVudCA9IHNlbGYKKyAgICAgICAgc2VsZi5jaGlsZHJlbi5hcHBl
bmQob3RoZXIpCisKKyAgICBkZWYgcmVtb3ZlKHNlbGYpOgorICAgICAgICBzZWxmLnBhcmVudC5j
aGlsZHJlbi5yZW1vdmUoc2VsZikKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAg
cmV0dXJuICI8JXMgJXM+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi5kYXRhKQor
CisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJ2ID0gW3JlcHIoc2VsZildCisgICAg
ICAgIGZvciBpdGVtIGluIHNlbGYuY2hpbGRyZW46CisgICAgICAgICAgICBydi5leHRlbmQoIiAg
JXMiICUgbGluZSBmb3IgbGluZSBpbiBzdHIoaXRlbSkuc3BsaXQoIlxuIikpCisgICAgICAgIHJl
dHVybiAiXG4iLmpvaW4ocnYpCisKKyAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAg
ICAgaWYgbm90IChzZWxmLl9fY2xhc3NfXyA9PSBvdGhlci5fX2NsYXNzX18gYW5kCisgICAgICAg
ICAgICAgICAgc2VsZi5kYXRhID09IG90aGVyLmRhdGEgYW5kCisgICAgICAgICAgICAgICAgbGVu
KHNlbGYuY2hpbGRyZW4pID09IGxlbihvdGhlci5jaGlsZHJlbikpOgorICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCisgICAgICAgIGZvciBjaGlsZCwgb3RoZXJfY2hpbGQgaW4gemlwKHNlbGYuY2hp
bGRyZW4sIG90aGVyLmNoaWxkcmVuKToKKyAgICAgICAgICAgIGlmIG5vdCBjaGlsZCA9PSBvdGhl
cl9jaGlsZDoKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRy
dWUKKworICAgIGRlZiBjb3B5KHNlbGYpOgorICAgICAgICBuZXcgPSBzZWxmLl9fY2xhc3NfXyhz
ZWxmLmRhdGEpCisgICAgICAgIGZvciBpdGVtIGluIHNlbGYuY2hpbGRyZW46CisgICAgICAgICAg
ICBuZXcuYXBwZW5kKGl0ZW0uY29weSgpKQorICAgICAgICByZXR1cm4gbmV3CisKKworY2xhc3Mg
RGF0YU5vZGUoTm9kZSk6CisgICAgZGVmIGFwcGVuZChzZWxmLCBvdGhlcik6CisgICAgICAgICMg
QXBwZW5kIHRoYXQgcmV0YWlucyB0aGUgaW52YXJpYW50IHRoYXQgY2hpbGQgZGF0YSBub2Rlcwor
ICAgICAgICAjIGNvbWUgYWZ0ZXIgY2hpbGQgbm9kZXMgb2Ygb3RoZXIgdHlwZXMKKyAgICAgICAg
b3RoZXIucGFyZW50ID0gc2VsZgorICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBEYXRhTm9k
ZSk6CisgICAgICAgICAgICBzZWxmLmNoaWxkcmVuLmFwcGVuZChvdGhlcikKKyAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgIGluZGV4ID0gbGVuKHNlbGYuY2hpbGRyZW4pCisgICAgICAgICAgICB3
aGlsZSBpbmRleCA+IDAgYW5kIGlzaW5zdGFuY2Uoc2VsZi5jaGlsZHJlbltpbmRleCAtIDFdLCBE
YXRhTm9kZSk6CisgICAgICAgICAgICAgICAgaW5kZXggLT0gMQorICAgICAgICAgICAgZm9yIGkg
aW4geHJhbmdlKGluZGV4KToKKyAgICAgICAgICAgICAgICBhc3NlcnQgb3RoZXIuZGF0YSAhPSBz
ZWxmLmNoaWxkcmVuW2ldLmRhdGEKKyAgICAgICAgICAgIHNlbGYuY2hpbGRyZW4uaW5zZXJ0KGlu
ZGV4LCBvdGhlcikKKworCitjbGFzcyBLZXlWYWx1ZU5vZGUoTm9kZSk6CisgICAgZGVmIGFwcGVu
ZChzZWxmLCBvdGhlcik6CisgICAgICAgICMgQXBwZW5kIHRoYXQgcmV0YWlucyB0aGUgaW52YXJp
YW50IHRoYXQgY29uZGl0aW9uYWwgbm9kZXMKKyAgICAgICAgIyBjb21lIGJlZm9yZSB1bmNvbmRp
dGlvbmFsIG5vZGVzCisgICAgICAgIG90aGVyLnBhcmVudCA9IHNlbGYKKyAgICAgICAgaWYgaXNp
bnN0YW5jZShvdGhlciwgVmFsdWVOb2RlKToKKyAgICAgICAgICAgIGlmIHNlbGYuY2hpbGRyZW46
CisgICAgICAgICAgICAgICAgYXNzZXJ0IG5vdCBpc2luc3RhbmNlKHNlbGYuY2hpbGRyZW5bLTFd
LCBWYWx1ZU5vZGUpCisgICAgICAgICAgICBzZWxmLmNoaWxkcmVuLmFwcGVuZChvdGhlcikKKyAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYuY2hpbGRyZW4gYW5kIGlzaW5zdGFuY2Uo
c2VsZi5jaGlsZHJlblstMV0sIFZhbHVlTm9kZSk6CisgICAgICAgICAgICAgICAgc2VsZi5jaGls
ZHJlbi5pbnNlcnQobGVuKHNlbGYuY2hpbGRyZW4pIC0gMSwgb3RoZXIpCisgICAgICAgICAgICBl
bHNlOgorICAgICAgICAgICAgICAgIHNlbGYuY2hpbGRyZW4uYXBwZW5kKG90aGVyKQorCisKK2Ns
YXNzIExpc3ROb2RlKE5vZGUpOgorICAgIGRlZiBhcHBlbmQoc2VsZiwgb3RoZXIpOgorICAgICAg
ICBvdGhlci5wYXJlbnQgPSBzZWxmCisgICAgICAgIHNlbGYuY2hpbGRyZW4uYXBwZW5kKG90aGVy
KQorCisKK2NsYXNzIFZhbHVlTm9kZShOb2RlKToKKyAgICBkZWYgYXBwZW5kKHNlbGYsIG90aGVy
KToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yCisKKworY2xhc3MgQXRvbU5vZGUoVmFsdWVOb2Rl
KToKKyAgICBwYXNzCisKKworY2xhc3MgQ29uZGl0aW9uYWxOb2RlKE5vZGUpOgorICAgIHBhc3MK
KworCitjbGFzcyBVbmFyeUV4cHJlc3Npb25Ob2RlKE5vZGUpOgorICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBvcGVyYXRvciwgb3BlcmFuZCk6CisgICAgICAgIE5vZGUuX19pbml0X18oc2VsZikKKyAg
ICAgICAgc2VsZi5hcHBlbmQob3BlcmF0b3IpCisgICAgICAgIHNlbGYuYXBwZW5kKG9wZXJhbmQp
CisKKyAgICBkZWYgYXBwZW5kKHNlbGYsIG90aGVyKToKKyAgICAgICAgTm9kZS5hcHBlbmQoc2Vs
Ziwgb3RoZXIpCisgICAgICAgIGFzc2VydCBsZW4oc2VsZi5jaGlsZHJlbikgPD0gMgorCisgICAg
ZGVmIGNvcHkoc2VsZik6CisgICAgICAgIG5ldyA9IHNlbGYuX19jbGFzc19fKHNlbGYuY2hpbGRy
ZW5bMF0uY29weSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNoaWxkcmVu
WzFdLmNvcHkoKSkKKyAgICAgICAgcmV0dXJuIG5ldworCisKK2NsYXNzIEJpbmFyeUV4cHJlc3Np
b25Ob2RlKE5vZGUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcGVyYXRvciwgb3BlcmFuZF8w
LCBvcGVyYW5kXzEpOgorICAgICAgICBOb2RlLl9faW5pdF9fKHNlbGYpCisgICAgICAgIHNlbGYu
YXBwZW5kKG9wZXJhdG9yKQorICAgICAgICBzZWxmLmFwcGVuZChvcGVyYW5kXzApCisgICAgICAg
IHNlbGYuYXBwZW5kKG9wZXJhbmRfMSkKKworICAgIGRlZiBhcHBlbmQoc2VsZiwgb3RoZXIpOgor
ICAgICAgICBOb2RlLmFwcGVuZChzZWxmLCBvdGhlcikKKyAgICAgICAgYXNzZXJ0IGxlbihzZWxm
LmNoaWxkcmVuKSA8PSAzCisKKyAgICBkZWYgY29weShzZWxmKToKKyAgICAgICAgbmV3ID0gc2Vs
Zi5fX2NsYXNzX18oc2VsZi5jaGlsZHJlblswXS5jb3B5KCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlbGYuY2hpbGRyZW5bMV0uY29weSgpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxmLmNoaWxkcmVuWzJdLmNvcHkoKSkKKyAgICAgICAgcmV0dXJuIG5ldworCisK
K2NsYXNzIFVuYXJ5T3BlcmF0b3JOb2RlKE5vZGUpOgorICAgIGRlZiBhcHBlbmQoc2VsZiwgb3Ro
ZXIpOgorICAgICAgICByYWlzZSBUeXBlRXJyb3IKKworCitjbGFzcyBCaW5hcnlPcGVyYXRvck5v
ZGUoTm9kZSk6CisgICAgZGVmIGFwcGVuZChzZWxmLCBvdGhlcik6CisgICAgICAgIHJhaXNlIFR5
cGVFcnJvcgorCisKK2NsYXNzIEluZGV4Tm9kZShOb2RlKToKKyAgICBwYXNzCisKKworY2xhc3Mg
VmFyaWFibGVOb2RlKE5vZGUpOgorICAgIHBhc3MKKworCitjbGFzcyBTdHJpbmdOb2RlKE5vZGUp
OgorICAgIHBhc3MKKworCitjbGFzcyBOdW1iZXJOb2RlKFZhbHVlTm9kZSk6CisgICAgcGFzcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3BhcnNlci5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93cHRtYW5pZmVzdC9wYXJzZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDg0YTkxNDNmYTYzYmRkNDc0
OWUxZDFjNzEyZTk0MTVhNzA2M2JhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93
cHRtYW5pZmVzdC9wYXJzZXIucHkKQEAgLTAsMCArMSw3NDYgQEAKKyNkZWZhdWx0X3ZhbHVlOmZv
bworI2luY2x1ZGU6IG90aGVyLm1hbmlmZXN0CisjCisjW3Rlc3RfbmFtZS5qc10KKyMgIGV4cGVj
dGVkOiBFUlJPUgorIworIyAgW3N1YnRlc3QgMV0KKyMgICAgZXhwZWN0ZWQ6CisjICAgICAgb3Mg
PT0gd2luOiBGQUlMICNUaGlzIGlzIGEgY29tbWVudAorIyAgICAgIFBBU1MKKyMKKworIyBUT0RP
OiBrZWVwIGNvbW1lbnRzIGluIHRoZSB0cmVlCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgdW5p
Y29kZV9saXRlcmFscworCitpbXBvcnQgdHlwZXMKK2Zyb20gY1N0cmluZ0lPIGltcG9ydCBTdHJp
bmdJTworCitmcm9tIG5vZGUgaW1wb3J0ICoKKworCitjbGFzcyBQYXJzZUVycm9yKEV4Y2VwdGlv
bik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBsaW5lLCBkZXRhaWwpOgorICAg
ICAgICBzZWxmLmxpbmUgPSBsaW5lCisgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZQor
ICAgICAgICBzZWxmLmRldGFpbCA9IGRldGFpbAorICAgICAgICBzZWxmLm1lc3NhZ2UgPSAiJXM6
ICVzIGxpbmUgJXMiICUgKHNlbGYuZGV0YWlsLCBzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmUpCisg
ICAgICAgIEV4Y2VwdGlvbi5fX2luaXRfXyhzZWxmLCBzZWxmLm1lc3NhZ2UpCisKK2VvbCA9IG9i
amVjdAorZ3JvdXBfc3RhcnQgPSBvYmplY3QKK2dyb3VwX2VuZCA9IG9iamVjdAorZGlnaXRzID0g
IjAxMjM0NTY3ODkiCitvcGVuX3BhcmVucyA9ICJbKCIKK2Nsb3NlX3BhcmVucyA9ICJdKSIKK3Bh
cmVucyA9IG9wZW5fcGFyZW5zICsgY2xvc2VfcGFyZW5zCitvcGVyYXRvcl9jaGFycyA9ICI9ISIK
KwordW5hcnlfb3BlcmF0b3JzID0gWyJub3QiXQorYmluYXJ5X29wZXJhdG9ycyA9IFsiPT0iLCAi
IT0iLCAiYW5kIiwgIm9yIl0KKworb3BlcmF0b3JzID0gWyI9PSIsICIhPSIsICJub3QiLCAiYW5k
IiwgIm9yIl0KKworYXRvbXMgPSB7IlRydWUiOiBUcnVlLAorICAgICAgICAgIkZhbHNlIjogRmFs
c2UsCisgICAgICAgICAiUmVzZXQiOiBvYmplY3QoKX0KKworZGVmIGRlY29kZShzKToKKyAgICBh
c3NlcnQgaXNpbnN0YW5jZShzLCB1bmljb2RlKQorICAgIHJldHVybiBzCisKKworZGVmIHByZWNl
ZGVuY2Uob3BlcmF0b3Jfbm9kZSk6CisgICAgcmV0dXJuIGxlbihvcGVyYXRvcnMpIC0gb3BlcmF0
b3JzLmluZGV4KG9wZXJhdG9yX25vZGUuZGF0YSkKKworCitjbGFzcyBUb2tlblR5cGVzKG9iamVj
dCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBmb3IgdHlwZSBpbiBbImdyb3Vw
X3N0YXJ0IiwgImdyb3VwX2VuZCIsICJwYXJlbiIsICJsaXN0X3N0YXJ0IiwgImxpc3RfZW5kIiwg
InNlcGFyYXRvciIsICJpZGVudCIsICJzdHJpbmciLCAibnVtYmVyIiwgImF0b20iLCAiZW9mIl06
CisgICAgICAgICAgICBzZXRhdHRyKHNlbGYsIHR5cGUsIHR5cGUpCisKK3Rva2VuX3R5cGVzID0g
VG9rZW5UeXBlcygpCisKKworY2xhc3MgVG9rZW5pemVyKG9iamVjdCk6CisgICAgZGVmIF9faW5p
dF9fKHNlbGYpOgorICAgICAgICBzZWxmLnJlc2V0KCkKKworICAgIGRlZiByZXNldChzZWxmKToK
KyAgICAgICAgc2VsZi5pbmRlbnRfbGV2ZWxzID0gWzBdCisgICAgICAgIHNlbGYuc3RhdGUgPSBz
ZWxmLmxpbmVfc3RhcnRfc3RhdGUKKyAgICAgICAgc2VsZi5uZXh0X3N0YXRlID0gc2VsZi5kYXRh
X2xpbmVfc3RhdGUKKyAgICAgICAgc2VsZi5saW5lX251bWJlciA9IDAKKworICAgIGRlZiB0b2tl
bml6ZShzZWxmLCBzdHJlYW0pOgorICAgICAgICBzZWxmLnJlc2V0KCkKKyAgICAgICAgYXNzZXJ0
IG5vdCBpc2luc3RhbmNlKHN0cmVhbSwgdW5pY29kZSkKKyAgICAgICAgaWYgaXNpbnN0YW5jZShz
dHJlYW0sIHN0cik6CisgICAgICAgICAgICBzdHJlYW0gPSBTdHJpbmdJTyhzdHJlYW0pCisgICAg
ICAgIGlmIG5vdCBoYXNhdHRyKHN0cmVhbSwgIm5hbWUiKToKKyAgICAgICAgICAgIHNlbGYuZmls
ZW5hbWUgPSAiIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5maWxlbmFtZSA9IHN0
cmVhbS5uYW1lCisKKyAgICAgICAgc2VsZi5uZXh0X2xpbmVfc3RhdGUgPSBzZWxmLmxpbmVfc3Rh
cnRfc3RhdGUKKyAgICAgICAgZm9yIGksIGxpbmUgaW4gZW51bWVyYXRlKHN0cmVhbSk6CisgICAg
ICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShsaW5lLCBzdHIpCisgICAgICAgICAgICBzZWxmLnN0
YXRlID0gc2VsZi5uZXh0X2xpbmVfc3RhdGUKKyAgICAgICAgICAgIGFzc2VydCBzZWxmLnN0YXRl
IGlzIG5vdCBOb25lCisgICAgICAgICAgICBzdGF0ZXMgPSBbXQorICAgICAgICAgICAgc2VsZi5u
ZXh0X2xpbmVfc3RhdGUgPSBOb25lCisgICAgICAgICAgICBzZWxmLmxpbmVfbnVtYmVyID0gaSAr
IDEKKyAgICAgICAgICAgIHNlbGYuaW5kZXggPSAwCisgICAgICAgICAgICBzZWxmLmxpbmUgPSBs
aW5lLmRlY29kZSgndXRmLTgnKS5yc3RyaXAoKQorICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFu
Y2Uoc2VsZi5saW5lLCB1bmljb2RlKQorICAgICAgICAgICAgd2hpbGUgc2VsZi5zdGF0ZSAhPSBz
ZWxmLmVvbF9zdGF0ZToKKyAgICAgICAgICAgICAgICBzdGF0ZXMuYXBwZW5kKHNlbGYuc3RhdGUp
CisgICAgICAgICAgICAgICAgdG9rZW5zID0gc2VsZi5zdGF0ZSgpCisgICAgICAgICAgICAgICAg
aWYgdG9rZW5zOgorICAgICAgICAgICAgICAgICAgICBmb3IgdG9rZW4gaW4gdG9rZW5zOgorICAg
ICAgICAgICAgICAgICAgICAgICAgeWllbGQgdG9rZW4KKyAgICAgICAgICAgIHNlbGYuc3RhdGUo
KQorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLmVv
ZiwgTm9uZSkKKworICAgIGRlZiBjaGFyKHNlbGYpOgorICAgICAgICBpZiBzZWxmLmluZGV4ID09
IGxlbihzZWxmLmxpbmUpOgorICAgICAgICAgICAgcmV0dXJuIGVvbAorICAgICAgICByZXR1cm4g
c2VsZi5saW5lW3NlbGYuaW5kZXhdCisKKyAgICBkZWYgY29uc3VtZShzZWxmKToKKyAgICAgICAg
aWYgc2VsZi5pbmRleCA8IGxlbihzZWxmLmxpbmUpOgorICAgICAgICAgICAgc2VsZi5pbmRleCAr
PSAxCisKKyAgICBkZWYgcGVlayhzZWxmLCBsZW5ndGgpOgorICAgICAgICByZXR1cm4gc2VsZi5s
aW5lW3NlbGYuaW5kZXg6c2VsZi5pbmRleCArIGxlbmd0aF0KKworICAgIGRlZiBza2lwX3doaXRl
c3BhY2Uoc2VsZik6CisgICAgICAgIHdoaWxlIHNlbGYuY2hhcigpID09ICIgIjoKKyAgICAgICAg
ICAgIHNlbGYuY29uc3VtZSgpCisKKyAgICBkZWYgZW9sX3N0YXRlKHNlbGYpOgorICAgICAgICBp
ZiBzZWxmLm5leHRfbGluZV9zdGF0ZSBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5uZXh0X2xp
bmVfc3RhdGUgPSBzZWxmLmxpbmVfc3RhcnRfc3RhdGUKKworICAgIGRlZiBsaW5lX3N0YXJ0X3N0
YXRlKHNlbGYpOgorICAgICAgICBzZWxmLnNraXBfd2hpdGVzcGFjZSgpCisgICAgICAgIGlmIHNl
bGYuY2hhcigpID09IGVvbDoKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmVvbF9zdGF0
ZQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIHNlbGYuaW5kZXggPiBzZWxmLmluZGVu
dF9sZXZlbHNbLTFdOgorICAgICAgICAgICAgc2VsZi5pbmRlbnRfbGV2ZWxzLmFwcGVuZChzZWxm
LmluZGV4KQorICAgICAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLmdyb3VwX3N0YXJ0LCBOb25l
KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgd2hpbGUgc2VsZi5pbmRleCA8IHNlbGYuaW5k
ZW50X2xldmVsc1stMV06CisgICAgICAgICAgICAgICAgc2VsZi5pbmRlbnRfbGV2ZWxzLnBvcCgp
CisgICAgICAgICAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLmdyb3VwX2VuZCwgTm9uZSkKKyAg
ICAgICAgICAgICAgICAjIFRoaXMgaXMgdGVycmlibGU7IGlmIHdlIHdlcmUgcGFyc2luZyBhbiBl
eHByZXNzaW9uCisgICAgICAgICAgICAgICAgIyB0aGVuIHRoZSBuZXh0X3N0YXRlIHdpbGwgYmUg
ZXhwcl9vcl92YWx1ZSBidXQgd2hlbiB3ZSBkZWluZGVudAorICAgICAgICAgICAgICAgICMgaXQg
bXVzdCBhbHdheXMgYmUgYSBoZWFkaW5nIG9yIGtleSBuZXh0IHNvIHdlIGdvIGJhY2sgdG8gZGF0
YV9saW5lX3N0YXRlCisgICAgICAgICAgICAgICAgc2VsZi5uZXh0X3N0YXRlID0gc2VsZi5kYXRh
X2xpbmVfc3RhdGUKKyAgICAgICAgICAgIGlmIHNlbGYuaW5kZXggIT0gc2VsZi5pbmRlbnRfbGV2
ZWxzWy0xXToKKyAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUs
IHNlbGYubGluZV9udW1iZXIsICJVbmV4cGVjdGVkIGluZGVudCIpCisKKyAgICAgICAgc2VsZi5z
dGF0ZSA9IHNlbGYubmV4dF9zdGF0ZQorCisgICAgZGVmIGRhdGFfbGluZV9zdGF0ZShzZWxmKToK
KyAgICAgICAgaWYgc2VsZi5jaGFyKCkgPT0gIlsiOgorICAgICAgICAgICAgeWllbGQgKHRva2Vu
X3R5cGVzLnBhcmVuLCBzZWxmLmNoYXIoKSkKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisg
ICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5oZWFkaW5nX3N0YXRlCisgICAgICAgIGVsc2U6
CisgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5rZXlfc3RhdGUKKworICAgIGRlZiBoZWFk
aW5nX3N0YXRlKHNlbGYpOgorICAgICAgICBydiA9ICIiCisgICAgICAgIHdoaWxlIFRydWU6Cisg
ICAgICAgICAgICBjID0gc2VsZi5jaGFyKCkKKyAgICAgICAgICAgIGlmIGMgPT0gIlxcIjoKKyAg
ICAgICAgICAgICAgICBydiArPSBzZWxmLmNvbnN1bWVfZXNjYXBlKCkKKyAgICAgICAgICAgIGVs
aWYgYyA9PSAiXSI6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgYyA9
PSBlb2w6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBz
ZWxmLmxpbmVfbnVtYmVyLCAiRU9MIGluIGhlYWRpbmciKQorICAgICAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgICAgICBydiArPSBjCisgICAgICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKwor
ICAgICAgICB5aWVsZCAodG9rZW5fdHlwZXMuc3RyaW5nLCBkZWNvZGUocnYpKQorICAgICAgICB5
aWVsZCAodG9rZW5fdHlwZXMucGFyZW4sICJdIikKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAg
ICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYubGluZV9lbmRfc3RhdGUKKyAgICAgICAgc2VsZi5uZXh0
X3N0YXRlID0gc2VsZi5kYXRhX2xpbmVfc3RhdGUKKworICAgIGRlZiBrZXlfc3RhdGUoc2VsZik6
CisgICAgICAgIHJ2ID0gIiIKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGMgPSBz
ZWxmLmNoYXIoKQorICAgICAgICAgICAgaWYgYyA9PSAiICI6CisgICAgICAgICAgICAgICAgc2Vs
Zi5za2lwX3doaXRlc3BhY2UoKQorICAgICAgICAgICAgICAgIGlmIHNlbGYuY2hhcigpICE9ICI6
IjoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBz
ZWxmLmxpbmVfbnVtYmVyLCAiU3BhY2UgaW4ga2V5IG5hbWUiKQorICAgICAgICAgICAgICAgIGJy
ZWFrCisgICAgICAgICAgICBlbGlmIGMgPT0gIjoiOgorICAgICAgICAgICAgICAgIGJyZWFrCisg
ICAgICAgICAgICBlbGlmIGMgPT0gZW9sOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhcnNlRXJy
b3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwgIkVPTCBpbiBrZXkgbmFtZSAobWlz
c2luZyAnOic/KSIpCisgICAgICAgICAgICBlbGlmIGMgPT0gIlxcIjoKKyAgICAgICAgICAgICAg
ICBydiArPSBzZWxmLmNvbnN1bWVfZXNjYXBlKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICAgICAgcnYgKz0gYworICAgICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAg
IHlpZWxkICh0b2tlbl90eXBlcy5zdHJpbmcsIGRlY29kZShydikpCisgICAgICAgIHlpZWxkICh0
b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IikKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAg
ICAgc2VsZi5zdGF0ZSA9IHNlbGYuYWZ0ZXJfa2V5X3N0YXRlCisKKyAgICBkZWYgYWZ0ZXJfa2V5
X3N0YXRlKHNlbGYpOgorICAgICAgICBzZWxmLnNraXBfd2hpdGVzcGFjZSgpCisgICAgICAgIGMg
PSBzZWxmLmNoYXIoKQorICAgICAgICBpZiBjID09ICIjIjoKKyAgICAgICAgICAgIHNlbGYubmV4
dF9zdGF0ZSA9IHNlbGYuZXhwcl9vcl92YWx1ZV9zdGF0ZQorICAgICAgICAgICAgc2VsZi5zdGF0
ZSA9IHNlbGYuY29tbWVudF9zdGF0ZQorICAgICAgICBlbGlmIGMgPT0gZW9sOgorICAgICAgICAg
ICAgc2VsZi5uZXh0X3N0YXRlID0gc2VsZi5leHByX29yX3ZhbHVlX3N0YXRlCisgICAgICAgICAg
ICBzZWxmLnN0YXRlID0gc2VsZi5lb2xfc3RhdGUKKyAgICAgICAgZWxpZiBjID09ICJbIjoKKyAg
ICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmxpc3Rfc3RhcnRfc3RhdGUKKyAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLnZhbHVlX3N0YXRlCisKKyAgICBkZWYg
bGlzdF9zdGFydF9zdGF0ZShzZWxmKToKKyAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLmxpc3Rf
c3RhcnQsICJbIikKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgc2VsZi5zdGF0ZSA9
IHNlbGYubGlzdF92YWx1ZV9zdGFydF9zdGF0ZQorCisgICAgZGVmIGxpc3RfdmFsdWVfc3RhcnRf
c3RhdGUoc2VsZik6CisgICAgICAgIHNlbGYuc2tpcF93aGl0ZXNwYWNlKCkKKyAgICAgICAgaWYg
c2VsZi5jaGFyKCkgPT0gIl0iOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYubGlzdF9l
bmRfc3RhdGUKKyAgICAgICAgZWxpZiBzZWxmLmNoYXIoKSBpbiAoIiciLCAnIicpOgorICAgICAg
ICAgICAgcXVvdGVfY2hhciA9IHNlbGYuY2hhcigpCisgICAgICAgICAgICBzZWxmLmNvbnN1bWUo
KQorICAgICAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLnN0cmluZywgc2VsZi5jb25zdW1lX3N0
cmluZyhxdW90ZV9jaGFyKSkKKyAgICAgICAgICAgIHNlbGYuc2tpcF93aGl0ZXNwYWNlKCkKKyAg
ICAgICAgICAgIGlmIHNlbGYuY2hhcigpID09ICJdIjoKKyAgICAgICAgICAgICAgICBzZWxmLnN0
YXRlID0gc2VsZi5saXN0X2VuZF9zdGF0ZQorICAgICAgICAgICAgZWxpZiBzZWxmLmNoYXIoKSAh
PSAiLCI6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBz
ZWxmLmxpbmVfbnVtYmVyLCAiSnVuayBhZnRlciBxdW90ZWQgc3RyaW5nIikKKyAgICAgICAgICAg
IHNlbGYuY29uc3VtZSgpCisgICAgICAgIGVsaWYgc2VsZi5jaGFyKCkgPT0gIiMiOgorICAgICAg
ICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuY29tbWVudF9zdGF0ZQorICAgICAgICAgICAgc2VsZi5u
ZXh0X2xpbmVfc3RhdGUgPSBzZWxmLmxpc3RfdmFsdWVfc3RhcnRfc3RhdGUKKyAgICAgICAgZWxp
ZiBzZWxmLmNoYXIoKSA9PSBlb2w6CisgICAgICAgICAgICBzZWxmLm5leHRfbGluZV9zdGF0ZSA9
IHNlbGYubGlzdF92YWx1ZV9zdGFydF9zdGF0ZQorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNl
bGYuZW9sX3N0YXRlCisgICAgICAgIGVsaWYgc2VsZi5jaGFyKCkgPT0gIiwiOgorICAgICAgICAg
ICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyLCAiTGlz
dCBpdGVtIHN0YXJ0ZWQgd2l0aCBzZXBhcmF0b3IiKQorICAgICAgICBlbGlmIHNlbGYuY2hhcigp
ID09ICJAIjoKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmxpc3RfdmFsdWVfYXRvbV9z
dGF0ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYubGlzdF92
YWx1ZV9zdGF0ZQorCisgICAgZGVmIGxpc3RfdmFsdWVfc3RhdGUoc2VsZik6CisgICAgICAgIHJ2
ID0gIiIKKyAgICAgICAgc3BhY2VzID0gMAorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAg
ICAgYyA9IHNlbGYuY2hhcigpCisgICAgICAgICAgICBpZiBjID09ICJcXCI6CisgICAgICAgICAg
ICAgICAgZXNjYXBlID0gc2VsZi5jb25zdW1lX2VzY2FwZSgpCisgICAgICAgICAgICAgICAgcnYg
Kz0gZXNjYXBlCisgICAgICAgICAgICBlbGlmIGMgPT0gZW9sOgorICAgICAgICAgICAgICAgIHJh
aXNlIFBhcnNlRXJyb3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwgIkVPTCBpbiBs
aXN0IHZhbHVlIikKKyAgICAgICAgICAgIGVsaWYgYyA9PSAiIyI6CisgICAgICAgICAgICAgICAg
cmFpc2UgUGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyLCAiRU9MIGlu
IGxpc3QgdmFsdWUgKGNvbW1lbnQpIikKKyAgICAgICAgICAgIGVsaWYgYyA9PSAiLCI6CisgICAg
ICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYubGlzdF92YWx1ZV9zdGFydF9zdGF0ZQorICAg
ICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAg
ICAgICAgIGVsaWYgYyA9PSAiICI6CisgICAgICAgICAgICAgICAgc3BhY2VzICs9IDEKKyAgICAg
ICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICAgICAgZWxpZiBjID09ICJdIjoKKyAg
ICAgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5saXN0X2VuZF9zdGF0ZQorICAgICAgICAg
ICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAg
IGVsc2U6CisgICAgICAgICAgICAgICAgcnYgKz0gIiAiICogc3BhY2VzCisgICAgICAgICAgICAg
ICAgc3BhY2VzID0gMAorICAgICAgICAgICAgICAgIHJ2ICs9IGMKKyAgICAgICAgICAgICAgICBz
ZWxmLmNvbnN1bWUoKQorCisgICAgICAgIGlmIHJ2OgorICAgICAgICAgICAgeWllbGQgKHRva2Vu
X3R5cGVzLnN0cmluZywgZGVjb2RlKHJ2KSkKKworICAgIGRlZiBsaXN0X3ZhbHVlX2F0b21fc3Rh
dGUoc2VsZik6CisgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgIGZvciBfLCB2YWx1ZSBp
biBzZWxmLmxpc3RfdmFsdWVfc3RhdGUoKToKKyAgICAgICAgICAgIHlpZWxkIHRva2VuX3R5cGVz
LmF0b20sIHZhbHVlCisKKyAgICBkZWYgbGlzdF9lbmRfc3RhdGUoc2VsZik6CisgICAgICAgIHNl
bGYuY29uc3VtZSgpCisgICAgICAgIHlpZWxkICh0b2tlbl90eXBlcy5saXN0X2VuZCwgIl0iKQor
ICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5saW5lX2VuZF9zdGF0ZQorCisgICAgZGVmIHZhbHVl
X3N0YXRlKHNlbGYpOgorICAgICAgICBzZWxmLnNraXBfd2hpdGVzcGFjZSgpCisgICAgICAgIGlm
IHNlbGYuY2hhcigpIGluICgiJyIsICciJyk6CisgICAgICAgICAgICBxdW90ZV9jaGFyID0gc2Vs
Zi5jaGFyKCkKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICB5aWVsZCAo
dG9rZW5fdHlwZXMuc3RyaW5nLCBzZWxmLmNvbnN1bWVfc3RyaW5nKHF1b3RlX2NoYXIpKQorICAg
ICAgICAgICAgaWYgc2VsZi5jaGFyKCkgPT0gIiMiOgorICAgICAgICAgICAgICAgIHNlbGYuc3Rh
dGUgPSBzZWxmLmNvbW1lbnRfc3RhdGUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg
ICAgc2VsZi5zdGF0ZSA9IHNlbGYubGluZV9lbmRfc3RhdGUKKyAgICAgICAgZWxpZiBzZWxmLmNo
YXIoKSA9PSAiQCI6CisgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICAgICAgZm9y
IF8sIHZhbHVlIGluIHNlbGYudmFsdWVfaW5uZXJfc3RhdGUoKToKKyAgICAgICAgICAgICAgICB5
aWVsZCB0b2tlbl90eXBlcy5hdG9tLCB2YWx1ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAg
c2VsZi5zdGF0ZSA9IHNlbGYudmFsdWVfaW5uZXJfc3RhdGUKKworICAgIGRlZiB2YWx1ZV9pbm5l
cl9zdGF0ZShzZWxmKToKKyAgICAgICAgcnYgPSAiIgorICAgICAgICBzcGFjZXMgPSAwCisgICAg
ICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjID0gc2VsZi5jaGFyKCkKKyAgICAgICAgICAg
IGlmIGMgPT0gIlxcIjoKKyAgICAgICAgICAgICAgICBydiArPSBzZWxmLmNvbnN1bWVfZXNjYXBl
KCkKKyAgICAgICAgICAgIGVsaWYgYyA9PSAiIyI6CisgICAgICAgICAgICAgICAgc2VsZi5zdGF0
ZSA9IHNlbGYuY29tbWVudF9zdGF0ZQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAg
ICBlbGlmIGMgPT0gIiAiOgorICAgICAgICAgICAgICAgICMgcHJldmVudCB3aGl0ZXNwYWNlIGJl
Zm9yZSBjb21tZW50cyBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHRoZSB2YWx1ZQorICAgICAgICAg
ICAgICAgIHNwYWNlcyArPSAxCisgICAgICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAg
ICAgICAgIGVsaWYgYyA9PSBlb2w6CisgICAgICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYu
bGluZV9lbmRfc3RhdGUKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToK
KyAgICAgICAgICAgICAgICBydiArPSAiICIgKiBzcGFjZXMKKyAgICAgICAgICAgICAgICBzcGFj
ZXMgPSAwCisgICAgICAgICAgICAgICAgcnYgKz0gYworICAgICAgICAgICAgICAgIHNlbGYuY29u
c3VtZSgpCisgICAgICAgIHlpZWxkICh0b2tlbl90eXBlcy5zdHJpbmcsIGRlY29kZShydikpCisK
KyAgICBkZWYgY29tbWVudF9zdGF0ZShzZWxmKToKKyAgICAgICAgd2hpbGUgc2VsZi5jaGFyKCkg
aXMgbm90IGVvbDoKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgIHNlbGYuc3Rh
dGUgPSBzZWxmLmVvbF9zdGF0ZQorCisgICAgZGVmIGxpbmVfZW5kX3N0YXRlKHNlbGYpOgorICAg
ICAgICBzZWxmLnNraXBfd2hpdGVzcGFjZSgpCisgICAgICAgIGMgPSBzZWxmLmNoYXIoKQorICAg
ICAgICBpZiBjID09ICIjIjoKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmNvbW1lbnRf
c3RhdGUKKyAgICAgICAgZWxpZiBjID09IGVvbDoKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBz
ZWxmLmVvbF9zdGF0ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJv
cihzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyLCAiSnVuayBiZWZvcmUgRU9MICVzIiAl
IGMpCisKKyAgICBkZWYgY29uc3VtZV9zdHJpbmcoc2VsZiwgcXVvdGVfY2hhcik6CisgICAgICAg
IHJ2ID0gIiIKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGMgPSBzZWxmLmNoYXIo
KQorICAgICAgICAgICAgaWYgYyA9PSAiXFwiOgorICAgICAgICAgICAgICAgIHJ2ICs9IHNlbGYu
Y29uc3VtZV9lc2NhcGUoKQorICAgICAgICAgICAgZWxpZiBjID09IHF1b3RlX2NoYXI6CisgICAg
ICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAg
ICAgICAgZWxpZiBjID09IGVvbDoKKyAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNl
bGYuZmlsZW5hbWUsIHNlbGYubGluZV9udW1iZXIsICJFT0wgaW4gcXVvdGVkIHN0cmluZyIpCisg
ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJ2ICs9IGMKKyAgICAgICAgICAgICAg
ICBzZWxmLmNvbnN1bWUoKQorCisgICAgICAgIHJldHVybiBkZWNvZGUocnYpCisKKyAgICBkZWYg
ZXhwcl9vcl92YWx1ZV9zdGF0ZShzZWxmKToKKyAgICAgICAgaWYgc2VsZi5wZWVrKDMpID09ICJp
ZiAiOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuZXhwcl9zdGF0ZQorICAgICAgICBl
bHNlOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYudmFsdWVfc3RhdGUKKworICAgIGRl
ZiBleHByX3N0YXRlKHNlbGYpOgorICAgICAgICBzZWxmLnNraXBfd2hpdGVzcGFjZSgpCisgICAg
ICAgIGMgPSBzZWxmLmNoYXIoKQorICAgICAgICBpZiBjID09IGVvbDoKKyAgICAgICAgICAgIHJh
aXNlIFBhcnNlRXJyb3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwgIkVPTCBpbiBl
eHByZXNzaW9uIikKKyAgICAgICAgZWxpZiBjIGluICInXCIiOgorICAgICAgICAgICAgc2VsZi5j
b25zdW1lKCkKKyAgICAgICAgICAgIHlpZWxkICh0b2tlbl90eXBlcy5zdHJpbmcsIHNlbGYuY29u
c3VtZV9zdHJpbmcoYykpCisgICAgICAgIGVsaWYgYyA9PSAiIyI6CisgICAgICAgICAgICByYWlz
ZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZV9udW1iZXIsICJDb21tZW50IGJl
Zm9yZSBlbmQgb2YgZXhwcmVzc2lvbiIpCisgICAgICAgIGVsaWYgYyA9PSAiOiI6CisgICAgICAg
ICAgICB5aWVsZCAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCBjKQorICAgICAgICAgICAgc2VsZi5j
b25zdW1lKCkKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLnZhbHVlX3N0YXRlCisgICAg
ICAgIGVsaWYgYyBpbiBwYXJlbnM6CisgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAg
ICAgICAgeWllbGQgKHRva2VuX3R5cGVzLnBhcmVuLCBjKQorICAgICAgICBlbGlmIGMgaW4gKCIh
IiwgIj0iKToKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLm9wZXJhdG9yX3N0YXRlCisg
ICAgICAgIGVsaWYgYyBpbiBkaWdpdHM6CisgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5k
aWdpdF9zdGF0ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYu
aWRlbnRfc3RhdGUKKworICAgIGRlZiBvcGVyYXRvcl9zdGF0ZShzZWxmKToKKyAgICAgICAgIyBP
bmx5IHN5bWJvbGljIG9wZXJhdG9ycworICAgICAgICBpbmRleF8wID0gc2VsZi5pbmRleAorICAg
ICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgYyA9IHNlbGYuY2hhcigpCisgICAgICAgICAg
ICBpZiBjID09IGVvbDoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxpZiBj
IGluIG9wZXJhdG9yX2NoYXJzOgorICAgICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAg
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmV4cHJfc3Rh
dGUKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICB5aWVsZCAodG9rZW5fdHlwZXMuaWRl
bnQsIHNlbGYubGluZVtpbmRleF8wOnNlbGYuaW5kZXhdKQorCisgICAgZGVmIGRpZ2l0X3N0YXRl
KHNlbGYpOgorICAgICAgICBpbmRleF8wID0gc2VsZi5pbmRleAorICAgICAgICBzZWVuX2RvdCA9
IEZhbHNlCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjID0gc2VsZi5jaGFyKCkK
KyAgICAgICAgICAgIGlmIGMgPT0gZW9sOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAg
ICAgICBlbGlmIGMgaW4gZGlnaXRzOgorICAgICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisg
ICAgICAgICAgICBlbGlmIGMgPT0gIi4iOgorICAgICAgICAgICAgICAgIGlmIHNlZW5fZG90Ogor
ICAgICAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUsIHNlbGYu
bGluZV9udW1iZXIsICJJbnZhbGlkIG51bWJlciIpCisgICAgICAgICAgICAgICAgc2VsZi5jb25z
dW1lKCkKKyAgICAgICAgICAgICAgICBzZWVuX2RvdCA9IFRydWUKKyAgICAgICAgICAgIGVsaWYg
YyBpbiBwYXJlbnM6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgYyBp
biBvcGVyYXRvcl9jaGFyczoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxp
ZiBjID09ICIgIjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxpZiBjID09
ICI6IjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZV9udW1iZXIs
ICJJbnZhbGlkIGNoYXJhY3RlciBpbiBudW1iZXIiKQorCisgICAgICAgIHNlbGYuc3RhdGUgPSBz
ZWxmLmV4cHJfc3RhdGUKKyAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLm51bWJlciwgc2VsZi5s
aW5lW2luZGV4XzA6c2VsZi5pbmRleF0pCisKKyAgICBkZWYgaWRlbnRfc3RhdGUoc2VsZik6Cisg
ICAgICAgIGluZGV4XzAgPSBzZWxmLmluZGV4CisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAg
ICAgICBjID0gc2VsZi5jaGFyKCkKKyAgICAgICAgICAgIGlmIGMgPT0gZW9sOgorICAgICAgICAg
ICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbGlmIGMgPT0gIi4iOgorICAgICAgICAgICAgICAg
IGJyZWFrCisgICAgICAgICAgICBlbGlmIGMgaW4gcGFyZW5zOgorICAgICAgICAgICAgICAgIGJy
ZWFrCisgICAgICAgICAgICBlbGlmIGMgaW4gb3BlcmF0b3JfY2hhcnM6CisgICAgICAgICAgICAg
ICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgYyA9PSAiICI6CisgICAgICAgICAgICAgICAgYnJl
YWsKKyAgICAgICAgICAgIGVsaWYgYyA9PSAiOiI6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAg
ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAg
c2VsZi5zdGF0ZSA9IHNlbGYuZXhwcl9zdGF0ZQorICAgICAgICB5aWVsZCAodG9rZW5fdHlwZXMu
aWRlbnQsIHNlbGYubGluZVtpbmRleF8wOnNlbGYuaW5kZXhdKQorCisgICAgZGVmIGNvbnN1bWVf
ZXNjYXBlKHNlbGYpOgorICAgICAgICBhc3NlcnQgc2VsZi5jaGFyKCkgPT0gIlxcIgorICAgICAg
ICBzZWxmLmNvbnN1bWUoKQorICAgICAgICBjID0gc2VsZi5jaGFyKCkKKyAgICAgICAgc2VsZi5j
b25zdW1lKCkKKyAgICAgICAgaWYgYyA9PSAieCI6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5k
ZWNvZGVfZXNjYXBlKDIpCisgICAgICAgIGVsaWYgYyA9PSAidSI6CisgICAgICAgICAgICByZXR1
cm4gc2VsZi5kZWNvZGVfZXNjYXBlKDQpCisgICAgICAgIGVsaWYgYyA9PSAiVSI6CisgICAgICAg
ICAgICByZXR1cm4gc2VsZi5kZWNvZGVfZXNjYXBlKDYpCisgICAgICAgIGVsaWYgYyBpbiBbImEi
LCAiYiIsICJmIiwgIm4iLCAiciIsICJ0IiwgInYiXToKKyAgICAgICAgICAgIHJldHVybiBldmFs
KCInXCVzJyIgJSBjKQorICAgICAgICBlbGlmIGMgaXMgZW9sOgorICAgICAgICAgICAgcmFpc2Ug
UGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyLCAiRU9MIGluIGVzY2Fw
ZSIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gYworCisgICAgZGVmIGRlY29k
ZV9lc2NhcGUoc2VsZiwgbGVuZ3RoKToKKyAgICAgICAgdmFsdWUgPSAwCisgICAgICAgIGZvciBp
IGluIHhyYW5nZShsZW5ndGgpOgorICAgICAgICAgICAgYyA9IHNlbGYuY2hhcigpCisgICAgICAg
ICAgICB2YWx1ZSAqPSAxNgorICAgICAgICAgICAgdmFsdWUgKz0gc2VsZi5lc2NhcGVfdmFsdWUo
YykKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisKKyAgICAgICAgcmV0dXJuIHVuaWNocih2
YWx1ZSkKKworICAgIGRlZiBlc2NhcGVfdmFsdWUoc2VsZiwgYyk6CisgICAgICAgIGlmICcwJyA8
PSBjIDw9ICc5JzoKKyAgICAgICAgICAgIHJldHVybiBvcmQoYykgLSBvcmQoJzAnKQorICAgICAg
ICBlbGlmICdhJyA8PSBjIDw9ICdmJzoKKyAgICAgICAgICAgIHJldHVybiBvcmQoYykgLSBvcmQo
J2EnKSArIDEwCisgICAgICAgIGVsaWYgJ0EnIDw9IGMgPD0gJ0YnOgorICAgICAgICAgICAgcmV0
dXJuIG9yZChjKSAtIG9yZCgnQScpICsgMTAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJh
aXNlIFBhcnNlRXJyb3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwgIkludmFsaWQg
Y2hhcmFjdGVyIGVzY2FwZSIpCisKKworY2xhc3MgUGFyc2VyKG9iamVjdCk6CisgICAgZGVmIF9f
aW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLnJlc2V0KCkKKworICAgIGRlZiByZXNldChzZWxm
KToKKyAgICAgICAgc2VsZi50b2tlbiA9IE5vbmUKKyAgICAgICAgc2VsZi51bmFyeV9vcGVyYXRv
cnMgPSAiISIKKyAgICAgICAgc2VsZi5iaW5hcnlfb3BlcmF0b3JzID0gZnJvemVuc2V0KFsiJiYi
LCAifHwiLCAiPT0iXSkKKyAgICAgICAgc2VsZi50b2tlbml6ZXIgPSBUb2tlbml6ZXIoKQorICAg
ICAgICBzZWxmLnRva2VuX2dlbmVyYXRvciA9IE5vbmUKKyAgICAgICAgc2VsZi50cmVlID0gVHJl
ZWJ1aWxkZXIoRGF0YU5vZGUoTm9uZSkpCisgICAgICAgIHNlbGYuZXhwcl9idWlsZGVyID0gTm9u
ZQorICAgICAgICBzZWxmLmV4cHJfYnVpbGRlcnMgPSBbXQorCisgICAgZGVmIHBhcnNlKHNlbGYs
IGlucHV0KToKKyAgICAgICAgc2VsZi5yZXNldCgpCisgICAgICAgIHNlbGYudG9rZW5fZ2VuZXJh
dG9yID0gc2VsZi50b2tlbml6ZXIudG9rZW5pemUoaW5wdXQpCisgICAgICAgIHNlbGYuY29uc3Vt
ZSgpCisgICAgICAgIHNlbGYubWFuaWZlc3QoKQorICAgICAgICByZXR1cm4gc2VsZi50cmVlLm5v
ZGUKKworICAgIGRlZiBjb25zdW1lKHNlbGYpOgorICAgICAgICBzZWxmLnRva2VuID0gc2VsZi50
b2tlbl9nZW5lcmF0b3IubmV4dCgpCisKKyAgICBkZWYgZXhwZWN0KHNlbGYsIHR5cGUsIHZhbHVl
PU5vbmUpOgorICAgICAgICBpZiBzZWxmLnRva2VuWzBdICE9IHR5cGU6CisgICAgICAgICAgICBy
YWlzZSBQYXJzZUVycm9yCisgICAgICAgIGlmIHZhbHVlIGlzIG5vdCBOb25lOgorICAgICAgICAg
ICAgaWYgc2VsZi50b2tlblsxXSAhPSB2YWx1ZToKKyAgICAgICAgICAgICAgICByYWlzZSBQYXJz
ZUVycm9yCisKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKworICAgIGRlZiBtYW5pZmVzdChzZWxm
KToKKyAgICAgICAgc2VsZi5kYXRhX2Jsb2NrKCkKKyAgICAgICAgc2VsZi5leHBlY3QodG9rZW5f
dHlwZXMuZW9mKQorCisgICAgZGVmIGRhdGFfYmxvY2soc2VsZik6CisgICAgICAgIHdoaWxlIHNl
bGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMuc3RyaW5nOgorICAgICAgICAgICAgc2VsZi50cmVl
LmFwcGVuZChLZXlWYWx1ZU5vZGUoc2VsZi50b2tlblsxXSkpCisgICAgICAgICAgICBzZWxmLmNv
bnN1bWUoKQorICAgICAgICAgICAgc2VsZi5leHBlY3QodG9rZW5fdHlwZXMuc2VwYXJhdG9yKQor
ICAgICAgICAgICAgc2VsZi52YWx1ZV9ibG9jaygpCisgICAgICAgICAgICBzZWxmLnRyZWUucG9w
KCkKKworICAgICAgICB3aGlsZSBzZWxmLnRva2VuID09ICh0b2tlbl90eXBlcy5wYXJlbiwgIlsi
KToKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICBpZiBzZWxmLnRva2Vu
WzBdICE9IHRva2VuX3R5cGVzLnN0cmluZzoKKyAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVy
cm9yCisgICAgICAgICAgICBzZWxmLnRyZWUuYXBwZW5kKERhdGFOb2RlKHNlbGYudG9rZW5bMV0p
KQorICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0KHRv
a2VuX3R5cGVzLnBhcmVuLCAiXSIpCisgICAgICAgICAgICBpZiBzZWxmLnRva2VuWzBdID09IHRv
a2VuX3R5cGVzLmdyb3VwX3N0YXJ0OgorICAgICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisg
ICAgICAgICAgICAgICAgc2VsZi5kYXRhX2Jsb2NrKCkKKyAgICAgICAgICAgICAgICBzZWxmLmVv
Zl9vcl9lbmRfZ3JvdXAoKQorICAgICAgICAgICAgc2VsZi50cmVlLnBvcCgpCisKKyAgICBkZWYg
ZW9mX29yX2VuZF9ncm91cChzZWxmKToKKyAgICAgICAgaWYgc2VsZi50b2tlblswXSAhPSB0b2tl
bl90eXBlcy5lb2Y6CisgICAgICAgICAgICBzZWxmLmV4cGVjdCh0b2tlbl90eXBlcy5ncm91cF9l
bmQpCisKKyAgICBkZWYgdmFsdWVfYmxvY2soc2VsZik6CisgICAgICAgIGlmIHNlbGYudG9rZW5b
MF0gPT0gdG9rZW5fdHlwZXMubGlzdF9zdGFydDoKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgp
CisgICAgICAgICAgICBzZWxmLmxpc3RfdmFsdWUoKQorICAgICAgICBlbGlmIHNlbGYudG9rZW5b
MF0gPT0gdG9rZW5fdHlwZXMuc3RyaW5nOgorICAgICAgICAgICAgc2VsZi52YWx1ZSgpCisgICAg
ICAgIGVsaWYgc2VsZi50b2tlblswXSA9PSB0b2tlbl90eXBlcy5ncm91cF9zdGFydDoKKyAgICAg
ICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICBzZWxmLmV4cHJlc3Npb25fdmFsdWVz
KCkKKyAgICAgICAgICAgIGlmIHNlbGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMuc3RyaW5nOgor
ICAgICAgICAgICAgICAgIHNlbGYudmFsdWUoKQorICAgICAgICAgICAgc2VsZi5lb2Zfb3JfZW5k
X2dyb3VwKCkKKyAgICAgICAgZWxpZiBzZWxmLnRva2VuWzBdID09IHRva2VuX3R5cGVzLmF0b206
CisgICAgICAgICAgICBzZWxmLmF0b20oKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFp
c2UgUGFyc2VFcnJvcgorCisgICAgZGVmIGxpc3RfdmFsdWUoc2VsZik6CisgICAgICAgIHNlbGYu
dHJlZS5hcHBlbmQoTGlzdE5vZGUoKSkKKyAgICAgICAgd2hpbGUgc2VsZi50b2tlblswXSBpbiAo
dG9rZW5fdHlwZXMuYXRvbSwgdG9rZW5fdHlwZXMuc3RyaW5nKToKKyAgICAgICAgICAgIGlmIHNl
bGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMuYXRvbToKKyAgICAgICAgICAgICAgICBzZWxmLmF0
b20oKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnZhbHVlKCkKKyAg
ICAgICAgc2VsZi5leHBlY3QodG9rZW5fdHlwZXMubGlzdF9lbmQpCisgICAgICAgIHNlbGYudHJl
ZS5wb3AoKQorCisgICAgZGVmIGV4cHJlc3Npb25fdmFsdWVzKHNlbGYpOgorICAgICAgICB3aGls
ZSBzZWxmLnRva2VuID09ICh0b2tlbl90eXBlcy5pZGVudCwgImlmIik6CisgICAgICAgICAgICBz
ZWxmLmNvbnN1bWUoKQorICAgICAgICAgICAgc2VsZi50cmVlLmFwcGVuZChDb25kaXRpb25hbE5v
ZGUoKSkKKyAgICAgICAgICAgIHNlbGYuZXhwcl9zdGFydCgpCisgICAgICAgICAgICBzZWxmLmV4
cGVjdCh0b2tlbl90eXBlcy5zZXBhcmF0b3IpCisgICAgICAgICAgICBpZiBzZWxmLnRva2VuWzBd
ID09IHRva2VuX3R5cGVzLnN0cmluZzoKKyAgICAgICAgICAgICAgICBzZWxmLnZhbHVlKCkKKyAg
ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcgorICAgICAg
ICAgICAgc2VsZi50cmVlLnBvcCgpCisKKyAgICBkZWYgdmFsdWUoc2VsZik6CisgICAgICAgIHNl
bGYudHJlZS5hcHBlbmQoVmFsdWVOb2RlKHNlbGYudG9rZW5bMV0pKQorICAgICAgICBzZWxmLmNv
bnN1bWUoKQorICAgICAgICBzZWxmLnRyZWUucG9wKCkKKworICAgIGRlZiBhdG9tKHNlbGYpOgor
ICAgICAgICBpZiBzZWxmLnRva2VuWzFdIG5vdCBpbiBhdG9tczoKKyAgICAgICAgICAgIHJhaXNl
IFBhcnNlRXJyb3Ioc2VsZi50b2tlbml6ZXIuZmlsZW5hbWUsIHNlbGYudG9rZW5pemVyLmxpbmVf
bnVtYmVyLCAiVW5yZWNvZ25pc2VkIHN5bWJvbCBAJXMiICUgc2VsZi50b2tlblsxXSkKKyAgICAg
ICAgc2VsZi50cmVlLmFwcGVuZChBdG9tTm9kZShhdG9tc1tzZWxmLnRva2VuWzFdXSkpCisgICAg
ICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgIHNlbGYudHJlZS5wb3AoKQorCisgICAgZGVmIGV4
cHJfc3RhcnQoc2VsZik6CisgICAgICAgIHNlbGYuZXhwcl9idWlsZGVyID0gRXhwcmVzc2lvbkJ1
aWxkZXIoc2VsZi50b2tlbml6ZXIpCisgICAgICAgIHNlbGYuZXhwcl9idWlsZGVycy5hcHBlbmQo
c2VsZi5leHByX2J1aWxkZXIpCisgICAgICAgIHNlbGYuZXhwcigpCisgICAgICAgIGV4cHJlc3Np
b24gPSBzZWxmLmV4cHJfYnVpbGRlci5maW5pc2goKQorICAgICAgICBzZWxmLmV4cHJfYnVpbGRl
cnMucG9wKCkKKyAgICAgICAgc2VsZi5leHByX2J1aWxkZXIgPSBzZWxmLmV4cHJfYnVpbGRlcnNb
LTFdIGlmIHNlbGYuZXhwcl9idWlsZGVycyBlbHNlIE5vbmUKKyAgICAgICAgaWYgc2VsZi5leHBy
X2J1aWxkZXI6CisgICAgICAgICAgICBzZWxmLmV4cHJfYnVpbGRlci5vcGVyYW5kc1stMV0uY2hp
bGRyZW5bLTFdLmFwcGVuZChleHByZXNzaW9uKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAg
c2VsZi50cmVlLmFwcGVuZChleHByZXNzaW9uKQorICAgICAgICAgICAgc2VsZi50cmVlLnBvcCgp
CisKKyAgICBkZWYgZXhwcihzZWxmKToKKyAgICAgICAgc2VsZi5leHByX29wZXJhbmQoKQorICAg
ICAgICB3aGlsZSAoc2VsZi50b2tlblswXSA9PSB0b2tlbl90eXBlcy5pZGVudCBhbmQgc2VsZi50
b2tlblsxXSBpbiBiaW5hcnlfb3BlcmF0b3JzKToKKyAgICAgICAgICAgIHNlbGYuZXhwcl9iaW5f
b3AoKQorICAgICAgICAgICAgc2VsZi5leHByX29wZXJhbmQoKQorCisgICAgZGVmIGV4cHJfb3Bl
cmFuZChzZWxmKToKKyAgICAgICAgaWYgc2VsZi50b2tlbiA9PSAodG9rZW5fdHlwZXMucGFyZW4s
ICIoIik6CisgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICAgICAgc2VsZi5leHBy
X2J1aWxkZXIubGVmdF9wYXJlbigpCisgICAgICAgICAgICBzZWxmLmV4cHIoKQorICAgICAgICAg
ICAgc2VsZi5leHBlY3QodG9rZW5fdHlwZXMucGFyZW4sICIpIikKKyAgICAgICAgICAgIHNlbGYu
ZXhwcl9idWlsZGVyLnJpZ2h0X3BhcmVuKCkKKyAgICAgICAgZWxpZiBzZWxmLnRva2VuWzBdID09
IHRva2VuX3R5cGVzLmlkZW50IGFuZCBzZWxmLnRva2VuWzFdIGluIHVuYXJ5X29wZXJhdG9yczoK
KyAgICAgICAgICAgIHNlbGYuZXhwcl91bmFyeV9vcCgpCisgICAgICAgICAgICBzZWxmLmV4cHJf
b3BlcmFuZCgpCisgICAgICAgIGVsaWYgc2VsZi50b2tlblswXSBpbiBbdG9rZW5fdHlwZXMuc3Ry
aW5nLCB0b2tlbl90eXBlcy5pZGVudF06CisgICAgICAgICAgICBzZWxmLmV4cHJfdmFsdWUoKQor
ICAgICAgICBlbGlmIHNlbGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMubnVtYmVyOgorICAgICAg
ICAgICAgc2VsZi5leHByX251bWJlcigpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlz
ZSBQYXJzZUVycm9yKHNlbGYudG9rZW5pemVyLmZpbGVuYW1lLCBzZWxmLnRva2VuaXplci5saW5l
X251bWJlciwgIlVucmVjb2duaXNlZCBvcGVyYW5kIikKKworICAgIGRlZiBleHByX3VuYXJ5X29w
KHNlbGYpOgorICAgICAgICBpZiBzZWxmLnRva2VuWzFdIGluIHVuYXJ5X29wZXJhdG9yczoKKyAg
ICAgICAgICAgIHNlbGYuZXhwcl9idWlsZGVyLnB1c2hfb3BlcmF0b3IoVW5hcnlPcGVyYXRvck5v
ZGUoc2VsZi50b2tlblsxXSkpCisgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICBl
bHNlOgorICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLnRva2VuaXplci5maWxlbmFt
ZSwgc2VsZi50b2tlbml6ZXIubGluZV9udW1iZXIsICJFeHBlY3RlZCB1bmFyeSBvcGVyYXRvciIp
CisKKyAgICBkZWYgZXhwcl9iaW5fb3Aoc2VsZik6CisgICAgICAgIGlmIHNlbGYudG9rZW5bMV0g
aW4gYmluYXJ5X29wZXJhdG9yczoKKyAgICAgICAgICAgIHNlbGYuZXhwcl9idWlsZGVyLnB1c2hf
b3BlcmF0b3IoQmluYXJ5T3BlcmF0b3JOb2RlKHNlbGYudG9rZW5bMV0pKQorICAgICAgICAgICAg
c2VsZi5jb25zdW1lKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFBhcnNlRXJy
b3Ioc2VsZi50b2tlbml6ZXIuZmlsZW5hbWUsIHNlbGYudG9rZW5pemVyLmxpbmVfbnVtYmVyLCAi
RXhwZWN0ZWQgYmluYXJ5IG9wZXJhdG9yIikKKworICAgIGRlZiBleHByX3ZhbHVlKHNlbGYpOgor
ICAgICAgICBub2RlX3R5cGUgPSB7dG9rZW5fdHlwZXMuc3RyaW5nOiBTdHJpbmdOb2RlLAorICAg
ICAgICAgICAgICAgICAgICAgdG9rZW5fdHlwZXMuaWRlbnQ6IFZhcmlhYmxlTm9kZX1bc2VsZi50
b2tlblswXV0KKyAgICAgICAgc2VsZi5leHByX2J1aWxkZXIucHVzaF9vcGVyYW5kKG5vZGVfdHlw
ZShzZWxmLnRva2VuWzFdKSkKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgaWYgc2Vs
Zi50b2tlbiA9PSAodG9rZW5fdHlwZXMucGFyZW4sICJbIik6CisgICAgICAgICAgICBzZWxmLmNv
bnN1bWUoKQorICAgICAgICAgICAgc2VsZi5leHByX2J1aWxkZXIub3BlcmFuZHNbLTFdLmFwcGVu
ZChJbmRleE5vZGUoKSkKKyAgICAgICAgICAgIHNlbGYuZXhwcl9zdGFydCgpCisgICAgICAgICAg
ICBzZWxmLmV4cGVjdCh0b2tlbl90eXBlcy5wYXJlbiwgIl0iKQorCisgICAgZGVmIGV4cHJfbnVt
YmVyKHNlbGYpOgorICAgICAgICBzZWxmLmV4cHJfYnVpbGRlci5wdXNoX29wZXJhbmQoTnVtYmVy
Tm9kZShzZWxmLnRva2VuWzFdKSkKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKworCitjbGFzcyBU
cmVlYnVpbGRlcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCByb290KToKKyAgICAg
ICAgc2VsZi5yb290ID0gcm9vdAorICAgICAgICBzZWxmLm5vZGUgPSByb290CisKKyAgICBkZWYg
YXBwZW5kKHNlbGYsIG5vZGUpOgorICAgICAgICBzZWxmLm5vZGUuYXBwZW5kKG5vZGUpCisgICAg
ICAgIHNlbGYubm9kZSA9IG5vZGUKKyAgICAgICAgcmV0dXJuIG5vZGUKKworICAgIGRlZiBwb3Ao
c2VsZik6CisgICAgICAgIG5vZGUgPSBzZWxmLm5vZGUKKyAgICAgICAgc2VsZi5ub2RlID0gc2Vs
Zi5ub2RlLnBhcmVudAorICAgICAgICByZXR1cm4gbm9kZQorCisKK2NsYXNzIEV4cHJlc3Npb25C
dWlsZGVyKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRva2VuaXplcik6CisgICAg
ICAgIHNlbGYub3BlcmFuZHMgPSBbXQorICAgICAgICBzZWxmLm9wZXJhdG9ycyA9IFtOb25lXQor
ICAgICAgICBzZWxmLnRva2VuaXplciA9IHRva2VuaXplcgorCisgICAgZGVmIGZpbmlzaChzZWxm
KToKKyAgICAgICAgd2hpbGUgc2VsZi5vcGVyYXRvcnNbLTFdIGlzIG5vdCBOb25lOgorICAgICAg
ICAgICAgc2VsZi5wb3Bfb3BlcmF0b3IoKQorICAgICAgICBydiA9IHNlbGYucG9wX29wZXJhbmQo
KQorICAgICAgICBhc3NlcnQgc2VsZi5pc19lbXB0eSgpCisgICAgICAgIHJldHVybiBydgorCisg
ICAgZGVmIGxlZnRfcGFyZW4oc2VsZik6CisgICAgICAgIHNlbGYub3BlcmF0b3JzLmFwcGVuZChO
b25lKQorCisgICAgZGVmIHJpZ2h0X3BhcmVuKHNlbGYpOgorICAgICAgICB3aGlsZSBzZWxmLm9w
ZXJhdG9yc1stMV0gaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLnBvcF9vcGVyYXRvcigp
CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5vcGVyYXRvcnM6CisgICAgICAgICAgICAgICAgcmFp
c2UgUGFyc2VFcnJvcihzZWxmLnRva2VuaXplci5maWxlbmFtZSwgc2VsZi50b2tlbml6ZXIubGlu
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmJhbGFuY2VkIHBhcmVucyIp
CisKKyAgICAgICAgYXNzZXJ0IHNlbGYub3BlcmF0b3JzLnBvcCgpIGlzIE5vbmUKKworICAgIGRl
ZiBwdXNoX29wZXJhdG9yKHNlbGYsIG9wZXJhdG9yKToKKyAgICAgICAgYXNzZXJ0IG9wZXJhdG9y
IGlzIG5vdCBOb25lCisgICAgICAgIHdoaWxlIHNlbGYucHJlY2VkZW5jZShzZWxmLm9wZXJhdG9y
c1stMV0pID4gc2VsZi5wcmVjZWRlbmNlKG9wZXJhdG9yKToKKyAgICAgICAgICAgIHNlbGYucG9w
X29wZXJhdG9yKCkKKworICAgICAgICBzZWxmLm9wZXJhdG9ycy5hcHBlbmQob3BlcmF0b3IpCisK
KyAgICBkZWYgcG9wX29wZXJhdG9yKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYub3Bl
cmF0b3JzLnBvcCgpCisgICAgICAgIGlmIGlzaW5zdGFuY2Uob3BlcmF0b3IsIEJpbmFyeU9wZXJh
dG9yTm9kZSk6CisgICAgICAgICAgICBvcGVyYW5kXzEgPSBzZWxmLm9wZXJhbmRzLnBvcCgpCisg
ICAgICAgICAgICBvcGVyYW5kXzAgPSBzZWxmLm9wZXJhbmRzLnBvcCgpCisgICAgICAgICAgICBz
ZWxmLm9wZXJhbmRzLmFwcGVuZChCaW5hcnlFeHByZXNzaW9uTm9kZShvcGVyYXRvciwgb3BlcmFu
ZF8wLCBvcGVyYW5kXzEpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgb3BlcmFuZF8wID0g
c2VsZi5vcGVyYW5kcy5wb3AoKQorICAgICAgICAgICAgc2VsZi5vcGVyYW5kcy5hcHBlbmQoVW5h
cnlFeHByZXNzaW9uTm9kZShvcGVyYXRvciwgb3BlcmFuZF8wKSkKKworICAgIGRlZiBwdXNoX29w
ZXJhbmQoc2VsZiwgbm9kZSk6CisgICAgICAgIHNlbGYub3BlcmFuZHMuYXBwZW5kKG5vZGUpCisK
KyAgICBkZWYgcG9wX29wZXJhbmQoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm9wZXJhbmRz
LnBvcCgpCisKKyAgICBkZWYgaXNfZW1wdHkoc2VsZik6CisgICAgICAgIHJldHVybiBsZW4oc2Vs
Zi5vcGVyYW5kcykgPT0gMCBhbmQgYWxsKGl0ZW0gaXMgTm9uZSBmb3IgaXRlbSBpbiBzZWxmLm9w
ZXJhdG9ycykKKworICAgIGRlZiBwcmVjZWRlbmNlKHNlbGYsIG9wZXJhdG9yKToKKyAgICAgICAg
aWYgb3BlcmF0b3IgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgIHJldHVy
biBwcmVjZWRlbmNlKG9wZXJhdG9yKQorCisKK2RlZiBwYXJzZShzdHJlYW0pOgorICAgIHAgPSBQ
YXJzZXIoKQorICAgIHJldHVybiBwLnBhcnNlKHN0cmVhbSkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93cHRtYW5pZmVzdC9zZXJpYWxpemVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0
L3NlcmlhbGl6ZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIyMDNhYjI0MGE5MmM2ZDAyOGM4NThhYTRlMGY1
MjM4MjBhY2Q4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9z
ZXJpYWxpemVyLnB5CkBAIC0wLDAgKzEsMTM2IEBACitmcm9tIG5vZGUgaW1wb3J0IE5vZGVWaXNp
dG9yLCBWYWx1ZU5vZGUsIExpc3ROb2RlLCBCaW5hcnlFeHByZXNzaW9uTm9kZQorZnJvbSBwYXJz
ZXIgaW1wb3J0IGF0b21zLCBwcmVjZWRlbmNlCisKK2F0b21fbmFtZXMgPSB7djoiQCVzIiAlIGsg
Zm9yIChrLHYpIGluIGF0b21zLml0ZXJpdGVtcygpfQorCituYW1lZF9lc2NhcGVzID0gc2V0KFsi
XGEiLCAiXGIiLCAiXGYiLCAiXG4iLCAiXHIiLCAiXHQiLCAiXHYiXSkKKworZGVmIGVzY2FwZShz
dHJpbmcsIGV4dHJhcz0iIik6CisgICAgcnYgPSAiIgorICAgIGZvciBjIGluIHN0cmluZzoKKyAg
ICAgICAgaWYgYyBpbiBuYW1lZF9lc2NhcGVzOgorICAgICAgICAgICAgcnYgKz0gYy5lbmNvZGUo
InVuaWNvZGVfZXNjYXBlIikKKyAgICAgICAgZWxpZiBjID09ICJcXCI6CisgICAgICAgICAgICBy
diArPSAiXFxcXCIKKyAgICAgICAgZWxpZiBjIDwgJ1x4MjAnOgorICAgICAgICAgICAgcnYgKz0g
IlxceCUwMngiICUgb3JkKGMpCisgICAgICAgIGVsaWYgYyBpbiBleHRyYXM6CisgICAgICAgICAg
ICBydiArPSAiXFwiICsgYworICAgICAgICBlbHNlOgorICAgICAgICAgICAgcnYgKz0gYworICAg
IHJldHVybiBydi5lbmNvZGUoInV0ZjgiKQorCisKK2NsYXNzIE1hbmlmZXN0U2VyaWFsaXplcihO
b2RlVmlzaXRvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNraXBfZW1wdHlfZGF0YT1GYWxz
ZSk6CisgICAgICAgIHNlbGYuc2tpcF9lbXB0eV9kYXRhID0gc2tpcF9lbXB0eV9kYXRhCisKKyAg
ICBkZWYgc2VyaWFsaXplKHNlbGYsIHJvb3QpOgorICAgICAgICBzZWxmLmluZGVudCA9IDIKKyAg
ICAgICAgcnYgPSAiXG4iLmpvaW4oc2VsZi52aXNpdChyb290KSkKKyAgICAgICAgaWYgcnZbLTFd
ICE9ICJcbiI6CisgICAgICAgICAgICBydiA9IHJ2ICsgIlxuIgorICAgICAgICByZXR1cm4gcnYK
KworICAgIGRlZiB2aXNpdF9EYXRhTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcnYgPSBbXQor
ICAgICAgICBpZiBub3Qgc2VsZi5za2lwX2VtcHR5X2RhdGEgb3Igbm9kZS5jaGlsZHJlbjoKKyAg
ICAgICAgICAgIGlmIG5vZGUuZGF0YToKKyAgICAgICAgICAgICAgICBydi5hcHBlbmQoIlslc10i
ICUgZXNjYXBlKG5vZGUuZGF0YSwgZXh0cmFzPSJdIikpCisgICAgICAgICAgICAgICAgaW5kZW50
ID0gc2VsZi5pbmRlbnQgKiAiICIKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg
aW5kZW50ID0gIiIKKworICAgICAgICAgICAgZm9yIGNoaWxkIGluIG5vZGUuY2hpbGRyZW46Cisg
ICAgICAgICAgICAgICAgcnYuZXh0ZW5kKCIlcyVzIiAlIChpbmRlbnQgaWYgaXRlbSBlbHNlICIi
LCBpdGVtKSBmb3IgaXRlbSBpbiBzZWxmLnZpc2l0KGNoaWxkKSkKKworICAgICAgICAgICAgaWYg
bm9kZS5wYXJlbnQ6CisgICAgICAgICAgICAgICAgcnYuYXBwZW5kKCIiKQorCisgICAgICAgIHJl
dHVybiBydgorCisgICAgZGVmIHZpc2l0X0tleVZhbHVlTm9kZShzZWxmLCBub2RlKToKKyAgICAg
ICAgcnYgPSBbZXNjYXBlKG5vZGUuZGF0YSwgIjoiKSArICI6Il0KKyAgICAgICAgaW5kZW50ID0g
IiAiICogc2VsZi5pbmRlbnQKKworICAgICAgICBpZiBsZW4obm9kZS5jaGlsZHJlbikgPT0gMSBh
bmQgaXNpbnN0YW5jZShub2RlLmNoaWxkcmVuWzBdLCAoVmFsdWVOb2RlLCBMaXN0Tm9kZSkpOgor
ICAgICAgICAgICAgcnZbMF0gKz0gIiAlcyIgJSBzZWxmLnZpc2l0KG5vZGUuY2hpbGRyZW5bMF0p
WzBdCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJl
bjoKKyAgICAgICAgICAgICAgICBydi5hcHBlbmQoaW5kZW50ICsgc2VsZi52aXNpdChjaGlsZClb
MF0pCisKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgdmlzaXRfTGlzdE5vZGUoc2VsZiwg
bm9kZSk6CisgICAgICAgIHJ2ID0gWyJbIl0KKyAgICAgICAgcnYuZXh0ZW5kKCIsICIuam9pbihz
ZWxmLnZpc2l0KGNoaWxkKVswXSBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbikpCisgICAgICAg
IHJ2LmFwcGVuZCgiXSIpCisgICAgICAgIHJldHVybiBbIiIuam9pbihydildCisKKyAgICBkZWYg
dmlzaXRfVmFsdWVOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICBpZiAiIyIgaW4gbm9kZS5kYXRh
IG9yIChpc2luc3RhbmNlKG5vZGUucGFyZW50LCBMaXN0Tm9kZSkgYW5kCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICgiLCIgaW4gbm9kZS5kYXRhIG9yICJdIiBpbiBub2RlLmRhdGEp
KToKKyAgICAgICAgICAgIGlmICJcIiIgaW4gbm9kZS5kYXRhOgorICAgICAgICAgICAgICAgIHF1
b3RlID0gIiciCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHF1b3RlID0gIlwi
IgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcXVvdGUgPSAiIgorICAgICAgICByZXR1cm4g
W3F1b3RlICsgZXNjYXBlKG5vZGUuZGF0YSwgZXh0cmFzPXF1b3RlKSArIHF1b3RlXQorCisgICAg
ZGVmIHZpc2l0X0F0b21Ob2RlKHNlbGYsIG5vZGUpOgorICAgICAgICByZXR1cm4gW2F0b21fbmFt
ZXNbbm9kZS5kYXRhXV0KKworICAgIGRlZiB2aXNpdF9Db25kaXRpb25hbE5vZGUoc2VsZiwgbm9k
ZSk6CisgICAgICAgIHJldHVybiBbImlmICVzOiAlcyIgJSB0dXBsZShzZWxmLnZpc2l0KGl0ZW0p
WzBdIGZvciBpdGVtIGluIG5vZGUuY2hpbGRyZW4pXQorCisgICAgZGVmIHZpc2l0X1N0cmluZ05v
ZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJ2ID0gWyJcIiVzXCIiICUgZXNjYXBlKG5vZGUuZGF0
YSwgZXh0cmFzPSJcIiIpXQorICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbjoKKyAg
ICAgICAgICAgIHJ2WzBdICs9IHNlbGYudmlzaXQoY2hpbGQpWzBdCisgICAgICAgIHJldHVybiBy
dgorCisgICAgZGVmIHZpc2l0X051bWJlck5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVy
biBbc3RyKG5vZGUuZGF0YSldCisKKyAgICBkZWYgdmlzaXRfVmFyaWFibGVOb2RlKHNlbGYsIG5v
ZGUpOgorICAgICAgICBydiA9IGVzY2FwZShub2RlLmRhdGEpCisgICAgICAgIGZvciBjaGlsZCBp
biBub2RlLmNoaWxkcmVuOgorICAgICAgICAgICAgcnYgKz0gc2VsZi52aXNpdChjaGlsZCkKKyAg
ICAgICAgcmV0dXJuIFtydl0KKworICAgIGRlZiB2aXNpdF9JbmRleE5vZGUoc2VsZiwgbm9kZSk6
CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5jaGlsZHJlbikgPT0gMQorICAgICAgICByZXR1cm4g
WyJbJXNdIiAlIHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblswXSlbMF1dCisKKyAgICBkZWYgdmlz
aXRfVW5hcnlFeHByZXNzaW9uTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgY2hpbGRyZW4gPSBb
XQorICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgIGNoaWxk
X3N0ciA9IHNlbGYudmlzaXQoY2hpbGQpWzBdCisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGNo
aWxkLCBCaW5hcnlFeHByZXNzaW9uTm9kZSk6CisgICAgICAgICAgICAgICAgY2hpbGRfc3RyID0g
IiglcykiICUgY2hpbGRfc3RyCisgICAgICAgICAgICBjaGlsZHJlbi5hcHBlbmQoY2hpbGRfc3Ry
KQorICAgICAgICByZXR1cm4gWyIgIi5qb2luKGNoaWxkcmVuKV0KKworICAgIGRlZiB2aXNpdF9C
aW5hcnlFeHByZXNzaW9uTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgYXNzZXJ0IGxlbihub2Rl
LmNoaWxkcmVuKSA9PSAzCisgICAgICAgIGNoaWxkcmVuID0gW10KKyAgICAgICAgZm9yIGNoaWxk
X2luZGV4IGluIFsxLCAwLCAyXToKKyAgICAgICAgICAgIGNoaWxkID0gbm9kZS5jaGlsZHJlbltj
aGlsZF9pbmRleF0KKyAgICAgICAgICAgIGNoaWxkX3N0ciA9IHNlbGYudmlzaXQoY2hpbGQpWzBd
CisgICAgICAgICAgICBpZiAoaXNpbnN0YW5jZShjaGlsZCwgQmluYXJ5RXhwcmVzc2lvbk5vZGUp
IGFuZAorICAgICAgICAgICAgICAgIHByZWNlZGVuY2Uobm9kZS5jaGlsZHJlblswXSkgPCBwcmVj
ZWRlbmNlKGNoaWxkLmNoaWxkcmVuWzBdKSk6CisgICAgICAgICAgICAgICAgY2hpbGRfc3RyID0g
IiglcykiICUgY2hpbGRfc3RyCisgICAgICAgICAgICBjaGlsZHJlbi5hcHBlbmQoY2hpbGRfc3Ry
KQorICAgICAgICByZXR1cm4gWyIgIi5qb2luKGNoaWxkcmVuKV0KKworICAgIGRlZiB2aXNpdF9V
bmFyeU9wZXJhdG9yTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIFtzdHIobm9kZS5k
YXRhKV0KKworICAgIGRlZiB2aXNpdF9CaW5hcnlPcGVyYXRvck5vZGUoc2VsZiwgbm9kZSk6Cisg
ICAgICAgIHJldHVybiBbc3RyKG5vZGUuZGF0YSldCisKKworZGVmIHNlcmlhbGl6ZSh0cmVlLCAq
YXJncywgKiprd2FyZ3MpOgorICAgIHMgPSBNYW5pZmVzdFNlcmlhbGl6ZXIoKmFyZ3MsICoqa3dh
cmdzKQorICAgIHJldHVybiBzLnNlcmlhbGl6ZSh0cmVlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3dwdG1hbmlmZXN0L3Rlc3RzL19faW5pdF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlm
ZXN0L3Rlc3RzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ODM0YjgyODVhNTZiZWYwZTE1NDNm
ZDkwMWM3ZTZmMmY4YmMyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFu
aWZlc3QvdGVzdHMvX19pbml0X18ucHkKQEAgLTAsMCArMSBAQAorIyBUaGlzIGZpbGUgaXMgcmVx
dWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2ggdGhpcyBkaXJlY3RvcnkgZm9yIG1vZHVsZXMuClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1h
bmlmZXN0L3Rlc3RzL3Rlc3RfY29uZGl0aW9uYWwucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZl
c3QvdGVzdHMvdGVzdF9jb25kaXRpb25hbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOWZmZGYyNTUwNzJlMjE3
YWEwMjNkMmEwNGUyOWQwOGI1ZDJmYTdiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3RfY29uZGl0aW9uYWwucHkKQEAgLTAsMCArMSwxNDMgQEAK
K2ltcG9ydCB1bml0dGVzdAorCitmcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KKworZnJv
bSAuLmJhY2tlbmRzIGltcG9ydCBjb25kaXRpb25hbAorZnJvbSAuLm5vZGUgaW1wb3J0IEJpbmFy
eUV4cHJlc3Npb25Ob2RlLCBCaW5hcnlPcGVyYXRvck5vZGUsIFZhcmlhYmxlTm9kZSwgTnVtYmVy
Tm9kZQorCisKK2NsYXNzIFRlc3RDb25kaXRpb25hbCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAg
ZGVmIGNvbXBpbGUoc2VsZiwgaW5wdXRfdGV4dCk6CisgICAgICAgIHJldHVybiBjb25kaXRpb25h
bC5jb21waWxlKGlucHV0X3RleHQpCisKKyAgICBkZWYgdGVzdF9nZXRfMChzZWxmKToKKyAgICAg
ICAgZGF0YSA9ICIiIgora2V5OiB2YWx1ZQorCitbSGVhZGluZyAxXQorICBvdGhlcl9rZXk6Cisg
ICAgaWYgYSA9PSAxOiB2YWx1ZV8xCisgICAgaWYgYSA9PSAyOiB2YWx1ZV8yCisgICAgdmFsdWVf
MworIiIiCisKKyAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSkKKworICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtleSIpLCAidmFsdWUiKQorICAgICAg
ICBjaGlsZHJlbiA9IGxpc3QoaXRlbSBmb3IgaXRlbSBpbiBtYW5pZmVzdC5pdGVyY2hpbGRyZW4o
KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobGVuKGNoaWxkcmVuKSwgMSkKKyAgICAgICAg
c2VjdGlvbiA9IGNoaWxkcmVuWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24u
bmFtZSwgIkhlYWRpbmcgMSIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2VjdGlvbi5n
ZXQoIm90aGVyX2tleSIsIHsiYSI6IDF9KSwgInZhbHVlXzEiKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFscyhzZWN0aW9uLmdldCgib3RoZXJfa2V5IiwgeyJhIjogMn0pLCAidmFsdWVfMiIpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24uZ2V0KCJvdGhlcl9rZXkiLCB7ImEiOiA3
fSksICJ2YWx1ZV8zIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2VjdGlvbi5nZXQoImtl
eSIpLCAidmFsdWUiKQorCisgICAgZGVmIHRlc3RfZ2V0XzEoc2VsZik6CisgICAgICAgIGRhdGEg
PSAiIiIKK2tleTogdmFsdWUKKworW0hlYWRpbmcgMV0KKyAgb3RoZXJfa2V5OgorICAgIGlmIGEg
PT0gIjEiOiB2YWx1ZV8xCisgICAgaWYgYSA9PSAyOiB2YWx1ZV8yCisgICAgdmFsdWVfMworIiIi
CisKKyAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSkKKworICAgICAgICBjaGls
ZHJlbiA9IGxpc3QoaXRlbSBmb3IgaXRlbSBpbiBtYW5pZmVzdC5pdGVyY2hpbGRyZW4oKSkKKyAg
ICAgICAgc2VjdGlvbiA9IGNoaWxkcmVuWzBdCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo
c2VjdGlvbi5nZXQoIm90aGVyX2tleSIsIHsiYSI6ICIxIn0pLCAidmFsdWVfMSIpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24uZ2V0KCJvdGhlcl9rZXkiLCB7ImEiOiAxfSksICJ2
YWx1ZV8zIikKKworICAgIGRlZiB0ZXN0X2dldF8yKHNlbGYpOgorICAgICAgICBkYXRhID0gIiIi
CitrZXk6CisgIGlmIGFbMV0gPT0gImIiOiB2YWx1ZV8xCisgIGlmIGFbMV0gPT0gMjogdmFsdWVf
MgorICB2YWx1ZV8zCisiIiIKKworICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRh
KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5IiwgeyJhIjog
ImFiIn0pLCAidmFsdWVfMSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0Lmdl
dCgia2V5IiwgeyJhIjogWzEsIDJdfSksICJ2YWx1ZV8yIikKKworICAgIGRlZiB0ZXN0X2dldF8z
KHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6CisgIGlmIGFbMV0gPT0gImFiIlsxXTog
dmFsdWVfMQorICBpZiBhWzFdID09IDI6IHZhbHVlXzIKKyAgdmFsdWVfMworIiIiCisKKyAgICAg
ICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSkKKworICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhtYW5pZmVzdC5nZXQoImtleSIsIHsiYSI6ICJhYiJ9KSwgInZhbHVlXzEiKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtleSIsIHsiYSI6IFsxLCAyXX0pLCAi
dmFsdWVfMiIpCisKKyAgICBkZWYgdGVzdF9zZXRfMChzZWxmKToKKyAgICAgICAgZGF0YSA9ICIi
Igora2V5OgorICBpZiBhID09ICJhIjogdmFsdWVfMQorICBpZiBhID09ICJiIjogdmFsdWVfMgor
ICB2YWx1ZV8zCisiIiIKKyAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSkKKwor
ICAgICAgICBtYW5pZmVzdC5zZXQoIm5ld19rZXkiLCAidmFsdWVfbmV3IikKKworICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoIm5ld19rZXkiKSwgInZhbHVlX25ldyIpCisK
KyAgICBkZWYgdGVzdF9zZXRfMShzZWxmKToKKyAgICAgICAgZGF0YSA9ICIiIgora2V5OgorICBp
ZiBhID09ICJhIjogdmFsdWVfMQorICBpZiBhID09ICJiIjogdmFsdWVfMgorICB2YWx1ZV8zCisi
IiIKKworICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhKQorCisgICAgICAgIG1h
bmlmZXN0LnNldCgia2V5IiwgInZhbHVlX25ldyIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMobWFuaWZlc3QuZ2V0KCJrZXkiKSwgInZhbHVlX25ldyIpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5IiwgeyJhIjogImEifSksICJ2YWx1ZV8xIikKKworICAg
IGRlZiB0ZXN0X3NldF8yKHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6CisgIGlmIGEg
PT0gImEiOiB2YWx1ZV8xCisgIGlmIGEgPT0gImIiOiB2YWx1ZV8yCisgIHZhbHVlXzMKKyIiIgor
CisgICAgICAgIG1hbmlmZXN0ID0gc2VsZi5jb21waWxlKGRhdGEpCisKKyAgICAgICAgZXhwciA9
IEJpbmFyeUV4cHJlc3Npb25Ob2RlKEJpbmFyeU9wZXJhdG9yTm9kZSgiPT0iKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlTm9kZSgiYSIpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtYmVyTm9kZSgiMSIpKQorCisgICAgICAgIG1h
bmlmZXN0LnNldCgia2V5IiwgInZhbHVlX25ldyIsIGV4cHIpCisKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMobWFuaWZlc3QuZ2V0KCJrZXkiLCB7ImEiOiAxfSksICJ2YWx1ZV9uZXciKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtleSIsIHsiYSI6ICJhIn0pLCAi
dmFsdWVfMSIpCisKKyAgICBkZWYgdGVzdF9hcGlfMChzZWxmKToKKyAgICAgICAgZGF0YSA9ICIi
Igora2V5OgorICBpZiBhID09IDEuNTogdmFsdWVfMQorICB2YWx1ZV8yCitrZXlfMTogb3RoZXJf
dmFsdWUKKyIiIgorICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhKQorCisgICAg
ICAgIHNlbGYuYXNzZXJ0RmFsc2UobWFuaWZlc3QuaXNfZW1wdHkpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKG1hbmlmZXN0LnJvb3QsIG1hbmlmZXN0KQorICAgICAgICBzZWxmLmFzc2VydFRy
dWUobWFuaWZlc3QuaGFzX2tleSgia2V5XzEiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSht
YW5pZmVzdC5oYXNfa2V5KCJrZXlfMiIpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNl
dChtYW5pZmVzdC5pdGVya2V5cygpKSwgc2V0KFsia2V5IiwgImtleV8xIl0pKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3RfcGFyc2VyLnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3RfcGFyc2VyLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2NWM5
ODRmNDJmNTZkNGI4ODhhNWE1ZWI4MTcxNDc0ODUyZmZiZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9wYXJzZXIucHkKQEAgLTAsMCArMSw3
NSBAQAoraW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gY1N0cmluZ0lPIGltcG9ydCBTdHJpbmdJTwor
Citmcm9tIC4uIGltcG9ydCBwYXJzZXIKKworIyBUaGVyZSBhcmVuJ3QgbWFueSB0ZXN0cyBoZXJl
IGJlY2F1c2UgaXQgdHVybnMgb3V0IHRvIGJlIHdheSBtb3JlIGNvbnZlbmllbnQgdG8KKyMgdXNl
IHRlc3Rfc2VyaWFsaXplciBmb3IgdGhlIG1ham9yaXR5IG9mIGNhc2VzCisKKworY2xhc3MgVGVz
dEV4cHJlc3Npb24odW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAg
ICAgICAgc2VsZi5wYXJzZXIgPSBwYXJzZXIuUGFyc2VyKCkKKworICAgIGRlZiBwYXJzZShzZWxm
LCBpbnB1dF9zdHIpOgorICAgICAgICByZXR1cm4gc2VsZi5wYXJzZXIucGFyc2UoU3RyaW5nSU8o
aW5wdXRfc3RyKSkKKworICAgIGRlZiBjb21wYXJlKHNlbGYsIGlucHV0X3RleHQsIGV4cGVjdGVk
KToKKyAgICAgICAgYWN0dWFsID0gc2VsZi5wYXJzZShpbnB1dF90ZXh0KQorICAgICAgICBzZWxm
Lm1hdGNoKGV4cGVjdGVkLCBhY3R1YWwpCisKKyAgICBkZWYgbWF0Y2goc2VsZiwgZXhwZWN0ZWRf
bm9kZSwgYWN0dWFsX25vZGUpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBlY3RlZF9u
b2RlWzBdLCBhY3R1YWxfbm9kZS5fX2NsYXNzX18uX19uYW1lX18pCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKGV4cGVjdGVkX25vZGVbMV0sIGFjdHVhbF9ub2RlLmRhdGEpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKGxlbihleHBlY3RlZF9ub2RlWzJdKSwgbGVuKGFjdHVhbF9ub2RlLmNo
aWxkcmVuKSkKKyAgICAgICAgZm9yIGV4cGVjdGVkX2NoaWxkLCBhY3R1YWxfY2hpbGQgaW4gemlw
KGV4cGVjdGVkX25vZGVbMl0sIGFjdHVhbF9ub2RlLmNoaWxkcmVuKToKKyAgICAgICAgICAgIHNl
bGYubWF0Y2goZXhwZWN0ZWRfY2hpbGQsIGFjdHVhbF9jaGlsZCkKKworICAgIGRlZiB0ZXN0X2V4
cHJfMChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorICAgICAgICAgICAgIiIiCitrZXk6
CisgIGlmIHggPT0gMSA6IHZhbHVlIiIiLAorICAgICAgICAgICAgWyJEYXRhTm9kZSIsIE5vbmUs
CisgICAgICAgICAgICAgW1siS2V5VmFsdWVOb2RlIiwgImtleSIsCisgICAgICAgICAgICAgICBb
WyJDb25kaXRpb25hbE5vZGUiLCBOb25lLAorICAgICAgICAgICAgICAgICBbWyJCaW5hcnlFeHBy
ZXNzaW9uTm9kZSIsIE5vbmUsCisgICAgICAgICAgICAgICAgICAgW1siQmluYXJ5T3BlcmF0b3JO
b2RlIiwgIj09IiwgW11dLAorICAgICAgICAgICAgICAgICAgICBbIlZhcmlhYmxlTm9kZSIsICJ4
IiwgW11dLAorICAgICAgICAgICAgICAgICAgICAgICBbIk51bWJlck5vZGUiLCAiMSIsIFtdXQor
ICAgICAgICAgICAgICAgICAgICBdXSwKKyAgICAgICAgICAgICAgICAgICAgIFsiVmFsdWVOb2Rl
IiwgInZhbHVlIiwgW11dLAorICAgICAgICAgICAgICAgICAgXV1dXV1dCisgICAgICAgICkKKwor
ICAgIGRlZiB0ZXN0X2V4cHJfMShzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorICAgICAg
ICAgICAgIiIiCitrZXk6CisgIGlmIG5vdCB4IGFuZCB5IDogdmFsdWUiIiIsCisgICAgICAgICAg
ICBbIkRhdGFOb2RlIiwgTm9uZSwKKyAgICAgICAgICAgICBbWyJLZXlWYWx1ZU5vZGUiLCAia2V5
IiwKKyAgICAgICAgICAgICAgIFtbIkNvbmRpdGlvbmFsTm9kZSIsIE5vbmUsCisgICAgICAgICAg
ICAgICAgIFtbIkJpbmFyeUV4cHJlc3Npb25Ob2RlIiwgTm9uZSwKKyAgICAgICAgICAgICAgICAg
ICBbWyJCaW5hcnlPcGVyYXRvck5vZGUiLCAiYW5kIiwgW11dLAorICAgICAgICAgICAgICAgICAg
ICBbIlVuYXJ5RXhwcmVzc2lvbk5vZGUiLCBOb25lLAorICAgICAgICAgICAgICAgICAgICAgICBb
WyJVbmFyeU9wZXJhdG9yTm9kZSIsICJub3QiLCBbXV0sCisgICAgICAgICAgICAgICAgICAgICAg
ICBbIlZhcmlhYmxlTm9kZSIsICJ4IiwgW11dCisgICAgICAgICAgICAgICAgICAgICAgICBdXSwK
KyAgICAgICAgICAgICAgICAgICAgICAgWyJWYXJpYWJsZU5vZGUiLCAieSIsIFtdXQorICAgICAg
ICAgICAgICAgICAgICBdXSwKKyAgICAgICAgICAgICAgICAgICAgIFsiVmFsdWVOb2RlIiwgInZh
bHVlIiwgW11dLAorICAgICAgICAgICAgICAgICAgXV1dXV1dCisgICAgICAgICkKKworICAgIGRl
ZiB0ZXN0X2F0b21fMChzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhwYXJz
ZXIuUGFyc2VFcnJvcik6CisgICAgICAgICAgICBzZWxmLnBhcnNlKCJrZXk6IEBVbmtub3duIikK
KworICAgIGRlZiB0ZXN0X2F0b21fMShzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJh
aXNlcyhwYXJzZXIuUGFyc2VFcnJvcik6CisgICAgICAgICAgICBzZWxmLnBhcnNlKCJrZXk6IEB0
cnVlIikKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3NlcmlhbGl6
ZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zZXJpYWxpemVyLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZkYjJjYmJiYjQ3N2I0ZWVmZGY5YThjZmYwNjIzYjk5YWFkYTQwODAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zZXJp
YWxpemVyLnB5CkBAIC0wLDAgKzEsMjI3IEBACitpbXBvcnQgc3lzCitpbXBvcnQgdW5pdHRlc3QK
KworZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCisKK2ltcG9ydCBweXRlc3QKKworZnJv
bSAuLiBpbXBvcnQgcGFyc2VyLCBzZXJpYWxpemVyCisKKworY2xhc3MgVG9rZW5pemVyVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLnNl
cmlhbGl6ZXIgPSBzZXJpYWxpemVyLk1hbmlmZXN0U2VyaWFsaXplcigpCisgICAgICAgIHNlbGYu
cGFyc2VyID0gcGFyc2VyLlBhcnNlcigpCisKKyAgICBkZWYgc2VyaWFsaXplKHNlbGYsIGlucHV0
X3N0cik6CisgICAgICAgIHJldHVybiBzZWxmLnNlcmlhbGl6ZXIuc2VyaWFsaXplKHNlbGYucGFy
c2VyLnBhcnNlKGlucHV0X3N0cikpCisKKyAgICBkZWYgY29tcGFyZShzZWxmLCBpbnB1dF9zdHIs
IGV4cGVjdGVkPU5vbmUpOgorICAgICAgICBpZiBleHBlY3RlZCBpcyBOb25lOgorICAgICAgICAg
ICAgZXhwZWN0ZWQgPSBpbnB1dF9zdHIKKyAgICAgICAgZXhwZWN0ZWQgPSBleHBlY3RlZC5lbmNv
ZGUoInV0ZjgiKQorICAgICAgICBhY3R1YWwgPSBzZWxmLnNlcmlhbGl6ZShpbnB1dF9zdHIpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVz
dF8wKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQorW0hlYWRpbmcg
MV0KKyAgb3RoZXJfa2V5OiBvdGhlcl92YWx1ZQorIiIiKQorCisgICAgZGVmIHRlc3RfMShzZWxm
KToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogdmFsdWUKK1tIZWFkaW5nIDFdCisgIG90
aGVyX2tleToKKyAgICBpZiBhIG9yIGI6IG90aGVyX3ZhbHVlCisiIiIpCisKKyAgICBkZWYgdGVz
dF8yKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQorW0hlYWRpbmcg
MV0KKyAgb3RoZXJfa2V5OgorICAgIGlmIGEgb3IgYjogb3RoZXJfdmFsdWUKKyAgICBmYWxsYmFj
a192YWx1ZQorIiIiKQorCisgICAgZGVmIHRlc3RfMyhzZWxmKToKKyAgICAgICAgc2VsZi5jb21w
YXJlKCIiImtleTogdmFsdWUKK1tIZWFkaW5nIDFdCisgIG90aGVyX2tleToKKyAgICBpZiBhID09
IDE6IG90aGVyX3ZhbHVlCisgICAgZmFsbGJhY2tfdmFsdWUKKyIiIikKKworICAgIGRlZiB0ZXN0
XzQoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IHZhbHVlCitbSGVhZGluZyAx
XQorICBvdGhlcl9rZXk6CisgICAgaWYgYSA9PSAiMSI6IG90aGVyX3ZhbHVlCisgICAgZmFsbGJh
Y2tfdmFsdWUKKyIiIikKKworICAgIGRlZiB0ZXN0XzUoc2VsZik6CisgICAgICAgIHNlbGYuY29t
cGFyZSgiIiJrZXk6IHZhbHVlCitbSGVhZGluZyAxXQorICBvdGhlcl9rZXk6CisgICAgaWYgYSA9
PSAiYWJjIlsxXTogb3RoZXJfdmFsdWUKKyAgICBmYWxsYmFja192YWx1ZQorIiIiKQorCisgICAg
ZGVmIHRlc3RfNihzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogdmFsdWUKK1tI
ZWFkaW5nIDFdCisgIG90aGVyX2tleToKKyAgICBpZiBhID09ICJhYmMiW2NdOiBvdGhlcl92YWx1
ZQorICAgIGZhbGxiYWNrX3ZhbHVlCisiIiIpCisKKyAgICBkZWYgdGVzdF83KHNlbGYpOgorICAg
ICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQorW0hlYWRpbmcgMV0KKyAgb3RoZXJfa2V5
OgorICAgIGlmIChhIG9yIGIpIGFuZCBjOiBvdGhlcl92YWx1ZQorICAgIGZhbGxiYWNrX3ZhbHVl
CisiIiIsCisiIiJrZXk6IHZhbHVlCitbSGVhZGluZyAxXQorICBvdGhlcl9rZXk6CisgICAgaWYg
YSBvciBiIGFuZCBjOiBvdGhlcl92YWx1ZQorICAgIGZhbGxiYWNrX3ZhbHVlCisiIiIpCisKKyAg
ICBkZWYgdGVzdF84KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQor
W0hlYWRpbmcgMV0KKyAgb3RoZXJfa2V5OgorICAgIGlmIGEgb3IgKGIgYW5kIGMpOiBvdGhlcl92
YWx1ZQorICAgIGZhbGxiYWNrX3ZhbHVlCisiIiIpCisKKyAgICBkZWYgdGVzdF85KHNlbGYpOgor
ICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQorW0hlYWRpbmcgMV0KKyAgb3RoZXJf
a2V5OgorICAgIGlmIG5vdCAoYSBhbmQgYik6IG90aGVyX3ZhbHVlCisgICAgZmFsbGJhY2tfdmFs
dWUKKyIiIikKKworICAgIGRlZiB0ZXN0XzEwKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUo
IiIia2V5OiB2YWx1ZQorW0hlYWRpbmcgMV0KKyAgc29tZV9rZXk6IHNvbWVfdmFsdWUKKworW0hl
YWRpbmcgMl0KKyAgb3RoZXJfa2V5OiBvdGhlcl92YWx1ZQorIiIiKQorCisgICAgZGVmIHRlc3Rf
MTEoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6CisgIGlmIG5vdCBhIGFuZCBi
IGFuZCBjIGFuZCBkOiB0cnVlCisiIiIpCisKKyAgICBkZWYgdGVzdF8xMihzZWxmKToKKyAgICAg
ICAgc2VsZi5jb21wYXJlKCIiIltIZWFkaW5nIDFdCisgIGtleTogW2E6MSwgYjoyXQorIiIiKQor
CisgICAgZGVmIHRlc3RfMTMoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IFth
OjEsICJiOiMiXQorIiIiKQorCisgICAgZGVmIHRlc3RfMTQoc2VsZik6CisgICAgICAgIHNlbGYu
Y29tcGFyZSgiIiJrZXk6IFsiLCJdCisiIiIpCisKKyAgICBkZWYgdGVzdF8xNShzZWxmKToKKyAg
ICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogLAorIiIiKQorCisgICAgZGVmIHRlc3RfMTYoc2Vs
Zik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IFsiXSIsIGJdCisiIiIpCisKKyAgICBk
ZWYgdGVzdF8xNyhzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogXQorIiIiKQor
CisgICAgZGVmIHRlc3RfMTgoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IFxd
CisgICAgICAgICIiIiwgIiIia2V5OiBdCisiIiIpCisKKyAgICBkZWYgdGVzdF9lc2NhcGVfMChz
ZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrXHRcOnk6IFxhXGJcZlxuXHJcdFx2IiIi
LAorICAgICAgICAgICAgICAgICAgICAgciIiImtcdFw6eTogXHgwN1x4MDhceDBjXG5cclx0XHgw
YgorIiIiKQorCisgICAgZGVmIHRlc3RfZXNjYXBlXzEoc2VsZik6CisgICAgICAgIHNlbGYuY29t
cGFyZShyIiIia1x4MDA6IFx4MTJBXHg0NSIiIiwKKyAgICAgICAgICAgICAgICAgICAgIHIiIiJr
XHgwMDogXHgxMkFFCisiIiIpCisKKyAgICBkZWYgdGVzdF9lc2NhcGVfMihzZWxmKToKKyAgICAg
ICAgc2VsZi5jb21wYXJlKHIiIiJrXHUwMDQ1eTogXHUxMjM0QVx1QUJjNiIiIiwKKyAgICAgICAg
ICAgICAgICAgICAgIHUiIiJrRXk6IFx1MTIzNEFcdWFiYzYKKyIiIikKKworICAgIGRlZiB0ZXN0
X2VzY2FwZV8zKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUociIiImtcdTAwNDV5OiBcdTEy
MzRBXHVBQmM2IiIiLAorICAgICAgICAgICAgICAgICAgICAgdSIiImtFeTogXHUxMjM0QVx1YWJj
NgorIiIiKQorCisgICAgZGVmIHRlc3RfZXNjYXBlXzQoc2VsZik6CisgICAgICAgIHNlbGYuY29t
cGFyZShyIiIia2V5OiAnXHUxMjM0QVx1QUJjNiciIiIsCisgICAgICAgICAgICAgICAgICAgICB1
IiIia2V5OiBcdTEyMzRBXHVhYmM2CisiIiIpCisKKyAgICBkZWYgdGVzdF9lc2NhcGVfNShzZWxm
KToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6IFtcdTEyMzRBXHVBQmM2XSIiIiwKKyAg
ICAgICAgICAgICAgICAgICAgIHUiIiJrZXk6IFtcdTEyMzRBXHVhYmM2XQorIiIiKQorCisgICAg
ZGVmIHRlc3RfZXNjYXBlXzYoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZShyIiIia2V5OiBb
XHUxMjM0QVx1QUJjNlwsXSIiIiwKKyAgICAgICAgICAgICAgICAgICAgIHUiIiJrZXk6IFsiXHUx
MjM0QVx1YWJjNiwiXQorIiIiKQorCisgICAgZGVmIHRlc3RfZXNjYXBlXzcoc2VsZik6CisgICAg
ICAgIHNlbGYuY29tcGFyZShyIiIia2V5OiBbXCxcXVwjXSIiIiwKKyAgICAgICAgICAgICAgICAg
ICAgIHIiIiJrZXk6IFsiLF0jIl0KKyIiIikKKworICAgIGRlZiB0ZXN0X2VzY2FwZV84KHNlbGYp
OgorICAgICAgICBzZWxmLmNvbXBhcmUociIiImtleTogXCMiIiIsCisgICAgICAgICAgICAgICAg
ICAgICByIiIia2V5OiAiIyIKKyIiIikKKworICAgIEBweXRlc3QubWFyay54ZmFpbChzeXMubWF4
dW5pY29kZSA9PSAweEZGRkYsIHJlYXNvbj0ibmFycm93IHVuaWNvZGUiKQorICAgIGRlZiB0ZXN0
X2VzY2FwZV85KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUociIiImtleTogXFUxMEZGRkZh
YmMiIiIsCisgICAgICAgICAgICAgICAgICAgICB1IiIia2V5OiBcVTAwMTBGRkZGYWJjCisiIiIp
CisKKyAgICBkZWYgdGVzdF9lc2NhcGVfMTAoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZShy
IiIia2V5OiBcdTEwRkZhYiIiIiwKKyAgICAgICAgICAgICAgICAgICAgIHUiIiJrZXk6IFx1MTBG
RmFiCisiIiIpCisKKyAgICBkZWYgdGVzdF9lc2NhcGVfMTEoc2VsZik6CisgICAgICAgIHNlbGYu
Y29tcGFyZShyIiIia2V5OiBcXGFiCisiIiIpCisKKyAgICBkZWYgdGVzdF9hdG9tXzEoc2VsZik6
CisgICAgICAgICAgICBzZWxmLmNvbXBhcmUociIiImtleTogQFRydWUKKyIiIikKKworICAgIGRl
ZiB0ZXN0X2F0b21fMihzZWxmKToKKyAgICAgICAgICAgIHNlbGYuY29tcGFyZShyIiIia2V5OiBA
RmFsc2UKKyIiIikKKworICAgIGRlZiB0ZXN0X2F0b21fMyhzZWxmKToKKyAgICAgICAgICAgIHNl
bGYuY29tcGFyZShyIiIia2V5OiBAUmVzZXQKKyIiIikKKworICAgIGRlZiB0ZXN0X2F0b21fNChz
ZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6IFthLCBAUmVzZXQsIGJdCisiIiIp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zdGF0aWMu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zdGF0aWMucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZWQyODU3OGQzYmZjM2E1ZTEzNTYxN2EzMmMzZTcxOTNjNGM1M2JiOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3N0YXRpYy5weQpA
QCAtMCwwICsxLDk4IEBACitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSBjU3RyaW5nSU8gaW1wb3J0
IFN0cmluZ0lPCisKK2Zyb20gLi5iYWNrZW5kcyBpbXBvcnQgc3RhdGljCisKKyMgVGhlcmUgYXJl
bid0IG1hbnkgdGVzdHMgaGVyZSBiZWNhdXNlIGl0IHR1cm5zIG91dCB0byBiZSB3YXkgbW9yZSBj
b252ZW5pZW50IHRvCisjIHVzZSB0ZXN0X3NlcmlhbGl6ZXIgZm9yIHRoZSBtYWpvcml0eSBvZiBj
YXNlcworCisKK2NsYXNzIFRlc3RTdGF0aWModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBj
b21waWxlKHNlbGYsIGlucHV0X3RleHQsIGlucHV0X2RhdGEpOgorICAgICAgICByZXR1cm4gc3Rh
dGljLmNvbXBpbGUoaW5wdXRfdGV4dCwgaW5wdXRfZGF0YSkKKworICAgIGRlZiB0ZXN0X2dldF8w
KHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6IHZhbHVlCisKK1tIZWFkaW5nIDFdCisg
IG90aGVyX2tleToKKyAgICBpZiBhID09IDE6IHZhbHVlXzEKKyAgICBpZiBhID09IDI6IHZhbHVl
XzIKKyAgICB2YWx1ZV8zCisiIiIKKworICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShk
YXRhLCB7ImEiOiAyfSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQo
ImtleSIpLCAidmFsdWUiKQorICAgICAgICBjaGlsZHJlbiA9IGxpc3QoaXRlbSBmb3IgaXRlbSBp
biBtYW5pZmVzdC5pdGVyY2hpbGRyZW4oKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobGVu
KGNoaWxkcmVuKSwgMSkKKyAgICAgICAgc2VjdGlvbiA9IGNoaWxkcmVuWzBdCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24ubmFtZSwgIkhlYWRpbmcgMSIpCisKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoc2VjdGlvbi5nZXQoIm90aGVyX2tleSIpLCAidmFsdWVfMiIpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24uZ2V0KCJrZXkiKSwgInZhbHVlIikKKworICAg
IGRlZiB0ZXN0X2dldF8xKHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6IHZhbHVlCisK
K1tIZWFkaW5nIDFdCisgIG90aGVyX2tleToKKyAgICBpZiBhID09IDE6IHZhbHVlXzEKKyAgICBp
ZiBhID09IDI6IHZhbHVlXzIKKyAgICB2YWx1ZV8zCisiIiIKKyAgICAgICAgbWFuaWZlc3QgPSBz
ZWxmLmNvbXBpbGUoZGF0YSwgeyJhIjogM30pCisKKyAgICAgICAgY2hpbGRyZW4gPSBsaXN0KGl0
ZW0gZm9yIGl0ZW0gaW4gbWFuaWZlc3QuaXRlcmNoaWxkcmVuKCkpCisgICAgICAgIHNlY3Rpb24g
PSBjaGlsZHJlblswXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZWN0aW9uLmdldCgib3Ro
ZXJfa2V5IiksICJ2YWx1ZV8zIikKKworICAgIGRlZiB0ZXN0X2dldF8zKHNlbGYpOgorICAgICAg
ICBkYXRhID0gIiIia2V5OgorICBpZiBhID09ICIxIjogdmFsdWVfMQorICBpZiBhWzBdID09ICJh
YiJbMF06IHZhbHVlXzIKKyIiIgorICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRh
LCB7ImEiOiAiMSJ9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtl
eSIpLCAidmFsdWVfMSIpCisKKyAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSwg
eyJhIjogImFjIn0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5
IiksICJ2YWx1ZV8yIikKKworICAgIGRlZiB0ZXN0X2dldF80KHNlbGYpOgorICAgICAgICBkYXRh
ID0gIiIia2V5OgorICBpZiBub3QgYTogdmFsdWVfMQorICB2YWx1ZV8yCisiIiIKKyAgICAgICAg
bWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSwgeyJhIjogVHJ1ZX0pCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5IiksICJ2YWx1ZV8yIikKKworICAgICAgICBt
YW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhLCB7ImEiOiBGYWxzZX0pCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5IiksICJ2YWx1ZV8xIikKKworICAgIGRlZiB0
ZXN0X2FwaShzZWxmKToKKyAgICAgICAgZGF0YSA9ICIiImtleToKKyAgaWYgYSA9PSAxLjU6IHZh
bHVlXzEKKyAgdmFsdWVfMgora2V5XzE6IG90aGVyX3ZhbHVlCisiIiIKKyAgICAgICAgbWFuaWZl
c3QgPSBzZWxmLmNvbXBpbGUoZGF0YSwgeyJhIjogMS41fSkKKworICAgICAgICBzZWxmLmFzc2Vy
dEZhbHNlKG1hbmlmZXN0LmlzX2VtcHR5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5p
ZmVzdC5yb290LCBtYW5pZmVzdCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hbmlmZXN0Lmhh
c19rZXkoImtleV8xIikpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobWFuaWZlc3QuaGFzX2tl
eSgia2V5XzIiKSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZXQobWFuaWZlc3QuaXRl
cmtleXMoKSksIHNldChbImtleSIsICJrZXlfMSJdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMoc2V0KG1hbmlmZXN0Lml0ZXJ2YWx1ZXMoKSksIHNldChbInZhbHVlXzEiLCAib3RoZXJfdmFs
dWUiXSkpCisKKyAgICBkZWYgdGVzdF9pc19lbXB0eV8xKHNlbGYpOgorICAgICAgICBkYXRhID0g
IiIiCitbU2VjdGlvbl0KKyAgW1N1YnNlY3Rpb25dCisiIiIKKyAgICAgICAgbWFuaWZlc3QgPSBz
ZWxmLmNvbXBpbGUoZGF0YSwge30pCisKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hbmlmZXN0
LmlzX2VtcHR5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rl
c3RfdG9rZW5pemVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3RfdG9r
ZW5pemVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4MTc2YzVhMTY5MDUyYTVjMDZmMmU1MzVhMzdiOGY1M2I1
MmRhNWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMv
dGVzdF90b2tlbml6ZXIucHkKQEAgLTAsMCArMSwzNTcgQEAKK2ltcG9ydCBzeXMKK2ltcG9ydCBv
cworaW1wb3J0IHVuaXR0ZXN0CisKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmFic3BhdGgo
Ii4uIikpCitmcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KKworZnJvbSAuLiBpbXBvcnQg
cGFyc2VyCitmcm9tIC4ucGFyc2VyIGltcG9ydCB0b2tlbl90eXBlcworCisKK2NsYXNzIFRva2Vu
aXplclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAg
ICAgc2VsZi50b2tlbml6ZXIgPSBwYXJzZXIuVG9rZW5pemVyKCkKKworICAgIGRlZiB0b2tlbml6
ZShzZWxmLCBpbnB1dF9zdHIpOgorICAgICAgICBydiA9IFtdCisgICAgICAgIGZvciBpdGVtIGlu
IHNlbGYudG9rZW5pemVyLnRva2VuaXplKFN0cmluZ0lPKGlucHV0X3N0cikpOgorICAgICAgICAg
ICAgcnYuYXBwZW5kKGl0ZW0pCisgICAgICAgICAgICBpZiBpdGVtWzBdID09IHRva2VuX3R5cGVz
LmVvZjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICByZXR1cm4gcnYKKworICAgIGRl
ZiBjb21wYXJlKHNlbGYsIGlucHV0X3RleHQsIGV4cGVjdGVkKToKKyAgICAgICAgZXhwZWN0ZWQg
PSBleHBlY3RlZCArIFsodG9rZW5fdHlwZXMuZW9mLCBOb25lKV0KKyAgICAgICAgYWN0dWFsID0g
c2VsZi50b2tlbml6ZShpbnB1dF90ZXh0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhhY3R1
YWwsIGV4cGVjdGVkKQorCisgICAgZGVmIHRlc3RfaGVhZGluZ18wKHNlbGYpOgorICAgICAgICBz
ZWxmLmNvbXBhcmUoIiIiW0hlYWRpbmcgdGV4dF0iIiIsCisgICAgICAgICAgICAgICAgICAgICBb
KHRva2VuX3R5cGVzLnBhcmVuLCAiWyIpLAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90
eXBlcy5zdHJpbmcsICJIZWFkaW5nIHRleHQiKSwKKyAgICAgICAgICAgICAgICAgICAgICAodG9r
ZW5fdHlwZXMucGFyZW4sICJdIildKQorCisgICAgZGVmIHRlc3RfaGVhZGluZ18xKHNlbGYpOgor
ICAgICAgICBzZWxmLmNvbXBhcmUoIiIiW0hlYWRpbmcgW3RleHRcXV0iIiIsCisgICAgICAgICAg
ICAgICAgICAgICBbKHRva2VuX3R5cGVzLnBhcmVuLCAiWyIpLAorICAgICAgICAgICAgICAgICAg
ICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJIZWFkaW5nIFt0ZXh0XSIpLAorICAgICAgICAgICAg
ICAgICAgICAgICh0b2tlbl90eXBlcy5wYXJlbiwgIl0iKV0pCisKKyAgICBkZWYgdGVzdF9oZWFk
aW5nXzIoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJbSGVhZGluZyAjdGV4dF0iIiIs
CisgICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnBhcmVuLCAiWyIpLAorICAgICAg
ICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJIZWFkaW5nICN0ZXh0IiksCisg
ICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnBhcmVuLCAiXSIpXSkKKworICAgIGRl
ZiB0ZXN0X2hlYWRpbmdfMyhzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiIltIZWFkaW5n
IFtcXXRleHRdIiIiLAorICAgICAgICAgICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5wYXJlbiwg
IlsiKSwKKyAgICAgICAgICAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAiSGVhZGlu
ZyBbXXRleHQiKSwKKyAgICAgICAgICAgICAgICAgICAgICAodG9rZW5fdHlwZXMucGFyZW4sICJd
IildKQorCisgICAgZGVmIHRlc3RfaGVhZGluZ180KHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYu
YXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAgICAgICAgIHNlbGYudG9rZW5p
emUoIltIZWFkaW5nIikKKworICAgIGRlZiB0ZXN0X2hlYWRpbmdfNShzZWxmKToKKyAgICAgICAg
c2VsZi5jb21wYXJlKCIiIltIZWFkaW5nIFtcXXRleHRdICNjb21tZW50IiIiLAorICAgICAgICAg
ICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5wYXJlbiwgIlsiKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAiSGVhZGluZyBbXXRleHQiKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAodG9rZW5fdHlwZXMucGFyZW4sICJdIildKQorCisgICAgZGVmIHRlc3RfaGVh
ZGluZ182KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUociIiIltIZWFkaW5nIFx0dGV4dF0i
IiIsCisgICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnBhcmVuLCAiWyIpLAorICAg
ICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJIZWFkaW5nIFx0dGV4dCIp
LAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5wYXJlbiwgIl0iKV0pCisKKyAg
ICBkZWYgdGVzdF9rZXlfMChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTp2YWx1
ZSIiIiwKKyAgICAgICAgICAgICAgICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5Iiks
CisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUiKV0pCisKKyAg
ICBkZWYgdGVzdF9rZXlfMShzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleSAgOiAg
dmFsdWUiIiIsCisgICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtl
eSIpLAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6Iiks
CisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgInZhbHVlIildKQor
CisgICAgZGVmIHRlc3Rfa2V5XzIoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXkg
IDogIHZhbCB1ZSIiIiwKKyAgICAgICAgICAgICAgICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5n
LCAia2V5IiksCisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwg
IjoiKSwKKyAgICAgICAgICAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsIHVl
IildKQorCisgICAgZGVmIHRlc3Rfa2V5XzMoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgi
IiJrZXk6IHZhbHVlI2NvbW1lbnQiIiIsCisgICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5
cGVzLnN0cmluZywgImtleSIpLAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5z
ZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmlu
ZywgInZhbHVlIildKQorCisgICAgZGVmIHRlc3Rfa2V5XzQoc2VsZik6CisgICAgICAgIHdpdGgg
c2VsZi5hc3NlcnRSYWlzZXMocGFyc2VyLlBhcnNlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi50
b2tlbml6ZSgiIiJrZSB5OiB2YWx1ZSIiIikKKworICAgIGRlZiB0ZXN0X2tleV81KHNlbGYpOgor
ICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAg
ICAgICAgIHNlbGYudG9rZW5pemUoIiIia2V5IiIiKQorCisgICAgZGVmIHRlc3Rfa2V5XzYoc2Vs
Zik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6ICJ2YWx1ZVwiIiIiLAorICAgICAgICAg
ICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAgICAgICAg
ICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJ2YWx1ZSIpXSkKKworICAgIGRlZiB0ZXN0X2tleV83
KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiAndmFsdWUnIiIiLAorICAgICAg
ICAgICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAgICAg
ICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJ2YWx1ZSIpXSkKKworICAgIGRlZiB0ZXN0X2tl
eV84KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiAiI3ZhbHVlXCIiIiIsCisg
ICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAg
ICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAg
ICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgIiN2YWx1ZSIpXSkKKworICAgIGRlZiB0
ZXN0X2tleV85KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiAnI3ZhbHVlXCci
IiIsCisgICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAor
ICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAg
ICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgIiN2YWx1ZSIpXSkKKworICAg
IGRlZiB0ZXN0X2tleV8xMChzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhw
YXJzZXIuUGFyc2VFcnJvcik6CisgICAgICAgICAgICBzZWxmLnRva2VuaXplKCIiImtleTogInZh
bHVlIiIiKQorCisgICAgZGVmIHRlc3Rfa2V5XzExKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYu
YXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAgICAgICAgIHNlbGYudG9rZW5p
emUoIiIia2V5OiAndmFsdWUiIiIpCisKKyAgICBkZWYgdGVzdF9rZXlfMTIoc2VsZik6CisgICAg
ICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMocGFyc2VyLlBhcnNlRXJyb3IpOgorICAgICAgICAg
ICAgc2VsZi50b2tlbml6ZSgiIiJrZXk6ICd2YWx1ZSIiIikKKworICAgIGRlZiB0ZXN0X2tleV8x
MyhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhwYXJzZXIuUGFyc2VFcnJv
cik6CisgICAgICAgICAgICBzZWxmLnRva2VuaXplKCIiImtleTogJ3ZhbHVlJyBhYmMiIiIpCisK
KyAgICBkZWYgdGVzdF9rZXlfMTQoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZShyIiIia2V5
OiBcXG5iIiIiLAorICAgICAgICAgICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJpbmcsICJr
ZXkiKSwKKyAgICAgICAgICAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIp
LAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsIHIiXG5iIildKQor
CisgICAgZGVmIHRlc3RfbGlzdF8wKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoCisiIiIK
K2tleTogW10iIiIsCisgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAor
ICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAg
KHRva2VuX3R5cGVzLmxpc3Rfc3RhcnQsICJbIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVz
Lmxpc3RfZW5kLCAiXSIpXSkKKworICAgIGRlZiB0ZXN0X2xpc3RfMShzZWxmKToKKyAgICAgICAg
c2VsZi5jb21wYXJlKAorIiIiCitrZXk6IFthLCAiYiJdIiIiLAorICAgICAgICAgICAgWyh0b2tl
bl90eXBlcy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJh
dG9yLCAiOiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5saXN0X3N0YXJ0LCAiWyIpLAor
ICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJhIiksCisgICAgICAgICAgICAgKHRv
a2VuX3R5cGVzLnN0cmluZywgImIiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubGlzdF9l
bmQsICJdIildKQorCisgICAgZGVmIHRlc3RfbGlzdF8yKHNlbGYpOgorICAgICAgICBzZWxmLmNv
bXBhcmUoCisiIiIKK2tleTogW2EsCisgICAgICBiXSIiIiwKKyAgICAgICAgICAgIFsodG9rZW5f
dHlwZXMuc3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRv
ciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubGlzdF9zdGFydCwgIlsiKSwKKyAg
ICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAiYSIpLAorICAgICAgICAgICAgICh0b2tl
bl90eXBlcy5zdHJpbmcsICJiIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLmxpc3RfZW5k
LCAiXSIpXSkKKworICAgIGRlZiB0ZXN0X2xpc3RfMyhzZWxmKToKKyAgICAgICAgc2VsZi5jb21w
YXJlKAorIiIiCitrZXk6IFthLCAjYl0KKyAgICAgIGNdIiIiLAorICAgICAgICAgICAgWyh0b2tl
bl90eXBlcy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJh
dG9yLCAiOiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5saXN0X3N0YXJ0LCAiWyIpLAor
ICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJhIiksCisgICAgICAgICAgICAgKHRv
a2VuX3R5cGVzLnN0cmluZywgImMiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubGlzdF9l
bmQsICJdIildKQorCisgICAgZGVmIHRlc3RfbGlzdF80KHNlbGYpOgorICAgICAgICB3aXRoIHNl
bGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAgICAgICAgIHNlbGYudG9r
ZW5pemUoIiIia2V5OiBbYSAjYl0KKyAgICAgICAgICAgIGNdIiIiKQorCisgICAgZGVmIHRlc3Rf
bGlzdF81KHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJz
ZUVycm9yKToKKyAgICAgICAgICAgIHNlbGYudG9rZW5pemUoIiIia2V5OiBbYSBcXAorICAgICAg
ICAgICAgY10iIiIpCisKKyAgICBkZWYgdGVzdF9saXN0XzYoc2VsZik6CisgICAgICAgIHNlbGYu
Y29tcGFyZSgKKyIiImtleTogW2EgLCBiXSIiIiwKKyAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJp
bmcsICJrZXkiKSwKKyAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAg
ICAgICAodG9rZW5fdHlwZXMubGlzdF9zdGFydCwgIlsiKSwKKyAgICAgICAgICh0b2tlbl90eXBl
cy5zdHJpbmcsICJhIiksCisgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAiYiIpLAorICAg
ICAgICAgKHRva2VuX3R5cGVzLmxpc3RfZW5kLCAiXSIpXSkKKworICAgIGRlZiB0ZXN0X2V4cHJf
MChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorIiIiCitrZXk6CisgIGlmIGNvbmQgPT0g
MTogdmFsdWUiIiIsCisgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAor
ICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAg
KHRva2VuX3R5cGVzLmdyb3VwX3N0YXJ0LCBOb25lKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlw
ZXMuaWRlbnQsICJpZiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImNvbmQi
KSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICI9PSIpLAorICAgICAgICAgICAg
ICh0b2tlbl90eXBlcy5udW1iZXIsICIxIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNl
cGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUi
KV0pCisKKyAgICBkZWYgdGVzdF9leHByXzEoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgK
KyIiIgora2V5OgorICBpZiBjb25kID09IDE6IHZhbHVlMQorICB2YWx1ZTIiIiIsCisgICAgICAg
ICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAgICAgICAgICh0b2tlbl90
eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLmdyb3VwX3N0
YXJ0LCBOb25lKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICJpZiIpLAorICAg
ICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImNvbmQiKSwKKyAgICAgICAgICAgICAodG9r
ZW5fdHlwZXMuaWRlbnQsICI9PSIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5udW1iZXIs
ICIxIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAg
ICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUxIiksCisgICAgICAgICAgICAgKHRv
a2VuX3R5cGVzLnN0cmluZywgInZhbHVlMiIpXSkKKworICAgIGRlZiB0ZXN0X2V4cHJfMihzZWxm
KToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorIiIiCitrZXk6CisgIGlmIGNvbmQ9PSIxIjogdmFs
dWUiIiIsCisgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAg
ICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgKHRva2Vu
X3R5cGVzLmdyb3VwX3N0YXJ0LCBOb25lKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRl
bnQsICJpZiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImNvbmQiKSwKKyAg
ICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICI9PSIpLAorICAgICAgICAgICAgICh0b2tl
bl90eXBlcy5zdHJpbmcsICIxIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRv
ciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUiKV0pCisK
KyAgICBkZWYgdGVzdF9leHByXzMoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgKKyIiIgor
a2V5OgorICBpZiBjb25kPT0xLjE6IHZhbHVlIiIiLAorICAgICAgICAgICAgWyh0b2tlbl90eXBl
cy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAi
OiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5ncm91cF9zdGFydCwgTm9uZSksCisgICAg
ICAgICAgICAgKHRva2VuX3R5cGVzLmlkZW50LCAiaWYiKSwKKyAgICAgICAgICAgICAodG9rZW5f
dHlwZXMuaWRlbnQsICJjb25kIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLmlkZW50LCAi
PT0iKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubnVtYmVyLCAiMS4xIiksCisgICAgICAg
ICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5f
dHlwZXMuc3RyaW5nLCAidmFsdWUiKV0pCisKKyAgICBkZWYgdGVzdF9leHByXzQoc2VsZik6Cisg
ICAgICAgIHNlbGYuY29tcGFyZSgKKyAgICAgICAgICAgICIiIgora2V5OgorICBpZiBjb25kPT0x
LjEgYW5kIGNvbmQyID09ICJhIjogdmFsdWUiIiIsCisgICAgICAgICAgICBbKHRva2VuX3R5cGVz
LnN0cmluZywgImtleSIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6
IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLmdyb3VwX3N0YXJ0LCBOb25lKSwKKyAgICAg
ICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICJpZiIpLAorICAgICAgICAgICAgICh0b2tlbl90
eXBlcy5pZGVudCwgImNvbmQiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICI9
PSIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5udW1iZXIsICIxLjEiKSwKKyAgICAgICAg
ICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICJhbmQiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlw
ZXMuaWRlbnQsICJjb25kMiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgIj09
IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgImEiKSwKKyAgICAgICAgICAg
ICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBl
cy5zdHJpbmcsICJ2YWx1ZSIpXSkKKworICAgIGRlZiB0ZXN0X2V4cHJfNShzZWxmKToKKyAgICAg
ICAgc2VsZi5jb21wYXJlKAorIiIiCitrZXk6CisgIGlmIChjb25kPT0xLjEgKTogdmFsdWUiIiIs
CisgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAgICAgICAg
ICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVz
Lmdyb3VwX3N0YXJ0LCBOb25lKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICJp
ZiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5wYXJlbiwgIigiKSwKKyAgICAgICAgICAg
ICAodG9rZW5fdHlwZXMuaWRlbnQsICJjb25kIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVz
LmlkZW50LCAiPT0iKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubnVtYmVyLCAiMS4xIiks
CisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnBhcmVuLCAiKSIpLAorICAgICAgICAgICAgICh0
b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0
cmluZywgInZhbHVlIildKQorCisgICAgZGVmIHRlc3RfZXhwcl82KHNlbGYpOgorICAgICAgICBz
ZWxmLmNvbXBhcmUoCisiIiIKK2tleToKKyAgaWYgIlxcdHRlc3QiOiB2YWx1ZSIiIiwKKyAgICAg
ICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAgKHRva2Vu
X3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuZ3JvdXBf
c3RhcnQsIE5vbmUpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImlmIiksCisg
ICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgIlx0dGVzdCIpLAorICAgICAgICAgICAg
ICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVz
LnN0cmluZywgInZhbHVlIildKQorCisgICAgZGVmIHRlc3RfZXhwcl83KHNlbGYpOgorICAgICAg
ICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAgICAgICAg
IHNlbGYudG9rZW5pemUoCisiIiIKK2tleToKKyAgaWYgMUE6IHZhbHVlIiIiKQorCisgICAgZGVm
IHRlc3RfZXhwcl84KHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNl
ci5QYXJzZUVycm9yKToKKyAgICAgICAgICAgIHNlbGYudG9rZW5pemUoCisiIiIKK2tleToKKyAg
aWYgMWE6IHZhbHVlIiIiKQorCisgICAgZGVmIHRlc3RfZXhwcl85KHNlbGYpOgorICAgICAgICB3
aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAgICAgICAgIHNl
bGYudG9rZW5pemUoCisiIiIKK2tleToKKyAgaWYgMS4xLjE6IHZhbHVlIiIiKQorCisgICAgZGVm
IHRlc3RfZXhwcl8xMChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorIiIiCitrZXk6Cisg
IGlmIDEuOiB2YWx1ZSIiIiwKKyAgICAgICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5
IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAg
ICAgICAodG9rZW5fdHlwZXMuZ3JvdXBfc3RhcnQsIE5vbmUpLAorICAgICAgICAgICAgICh0b2tl
bl90eXBlcy5pZGVudCwgImlmIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLm51bWJlciwg
IjEuIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAg
ICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUiKV0pCisKK2lmIF9fbmFtZV9fID09
ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvd3B0bWFuaWZlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFu
aWZlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjdkNDc2NGFjZWEzZjk1M2E0
YWEzYjBmYTYyOGJmYjJiMWM0MjY3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93
cHRtYW5pZmVzdC90ZXN0cy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvX19pbml0X18ucHkKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9jb25kaXRpb25hbC5weQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93
cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3BhcnNlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVz
dC90ZXN0cy90ZXN0X3NlcmlhbGl6ZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVz
dHMvdGVzdF9zdGF0aWMucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF90
b2tlbml6ZXIucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC93M2MtaW1wb3J0LmxvZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wMTNjNTQ2ZTNmZDc5NjlkZGJmYzM0YzYwNjJjYTcxNWJmMzA3ZDU4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3czYy1pbXBvcnQubG9nCkBAIC0wLDAg
KzEsMjAgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9fX2luaXRfXy5weQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9ub2RlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlm
ZXN0L3BhcnNlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9zZXJpYWxpemVyLnB5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0cnVubmVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdHJ1
bm5lci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iZjliNzRlNDM5OGZhZTkxNWY3MzQ1NTFmNTY0NDFlMjk3NmI2
MjE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdHJ1bm5lci5weQpAQCAtMCww
ICsxLDI1OSBAQAorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCisKK2lt
cG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworaW1wb3J0IGVudmlyb25tZW50IGFz
IGVudgoraW1wb3J0IHByb2R1Y3RzCitpbXBvcnQgdGVzdGxvYWRlcgoraW1wb3J0IHdwdGNvbW1h
bmRsaW5lCitpbXBvcnQgd3B0bG9nZ2luZworaW1wb3J0IHdwdHRlc3QKK2Zyb20gdGVzdHJ1bm5l
ciBpbXBvcnQgTWFuYWdlckdyb3VwCitmcm9tIGJyb3dzZXJzLmJhc2UgaW1wb3J0IE51bGxCcm93
c2VyCisKK2hlcmUgPSBvcy5wYXRoLnNwbGl0KF9fZmlsZV9fKVswXQorCitsb2dnZXIgPSBOb25l
CisKKyIiIlJ1bm5lciBmb3Igd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZSBydW5uZXIgaGFzIHNl
dmVyYWwgZGVzaWduIGdvYWxzOgorCisqIFRlc3RzIHNob3VsZCBydW4gd2l0aCBubyBtb2RpZmlj
YXRpb24gZnJvbSB1cHN0cmVhbS4KKworKiBUZXN0cyBzaG91bGQgYmUgcmVnYXJkZWQgYXMgInVu
dHJ1c3RlZCIgc28gdGhhdCBlcnJvcnMsIHRpbWVvdXRzIGFuZCBldmVuCisgIGNyYXNoZXMgaW4g
dGhlIHRlc3RzIGNhbiBiZSBoYW5kbGVkIHdpdGhvdXQgZmFpbGluZyB0aGUgZW50aXJlIHRlc3Qg
cnVuLgorCisqIEZvciBwZXJmb3JtYW5jZSB0ZXN0cyBjYW4gYmUgcnVuIGluIG11bHRpcGxlIGJy
b3dzZXJzIGluIHBhcmFsbGVsLgorCitUaGUgdXBzdHJlYW0gcmVwb3NpdG9yeSBoYXMgdGhlIGZh
Y2lsaXR5IGZvciBjcmVhdGluZyBhIHRlc3QgbWFuaWZlc3QgaW4gSlNPTgorZm9ybWF0LiBUaGlz
IG1hbmlmZXN0IGlzIHVzZWQgZGlyZWN0bHkgdG8gZGV0ZXJtaW5lIHdoaWNoIHRlc3RzIGV4aXN0
LiBMb2NhbAorbWV0YWRhdGEgZmlsZXMgYXJlIHVzZWQgdG8gc3RvcmUgdGhlIGV4cGVjdGVkIHRl
c3QgcmVzdWx0cy4KKyIiIgorCitkZWYgc2V0dXBfbG9nZ2luZygqYXJncywgKiprd2FyZ3MpOgor
ICAgIGdsb2JhbCBsb2dnZXIKKyAgICBsb2dnZXIgPSB3cHRsb2dnaW5nLnNldHVwKCphcmdzLCAq
Kmt3YXJncykKKworZGVmIGdldF9sb2FkZXIodGVzdF9wYXRocywgcHJvZHVjdCwgc3NsX2Vudiwg
ZGVidWc9Tm9uZSwgcnVuX2luZm9fZXh0cmFzPU5vbmUsICoqa3dhcmdzKToKKyAgICBpZiBydW5f
aW5mb19leHRyYXMgaXMgTm9uZToKKyAgICAgICAgcnVuX2luZm9fZXh0cmFzID0ge30KKworICAg
IHJ1bl9pbmZvID0gd3B0dGVzdC5nZXRfcnVuX2luZm8oa3dhcmdzWyJydW5faW5mbyJdLCBwcm9k
dWN0LCBkZWJ1Zz1kZWJ1ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4
dHJhcz1ydW5faW5mb19leHRyYXMpCisKKyAgICB0ZXN0X21hbmlmZXN0cyA9IHRlc3Rsb2FkZXIu
TWFuaWZlc3RMb2FkZXIodGVzdF9wYXRocywgZm9yY2VfbWFuaWZlc3RfdXBkYXRlPWt3YXJnc1si
bWFuaWZlc3RfdXBkYXRlIl0pLmxvYWQoKQorCisgICAgbWFuaWZlc3RfZmlsdGVycyA9IFtdCisg
ICAgbWV0YV9maWx0ZXJzID0gW10KKworICAgIGlmIGt3YXJnc1siaW5jbHVkZSJdIG9yIGt3YXJn
c1siZXhjbHVkZSJdIG9yIGt3YXJnc1siaW5jbHVkZV9tYW5pZmVzdCJdOgorICAgICAgICBtYW5p
ZmVzdF9maWx0ZXJzLmFwcGVuZCh0ZXN0bG9hZGVyLlRlc3RGaWx0ZXIoaW5jbHVkZT1rd2FyZ3Nb
ImluY2x1ZGUiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4Y2x1ZGU9a3dhcmdzWyJleGNsdWRlIl0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5pZmVzdF9wYXRoPWt3YXJnc1si
aW5jbHVkZV9tYW5pZmVzdCJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdF9tYW5pZmVzdHM9dGVzdF9tYW5pZmVzdHMpKQorICAgIGlm
IGt3YXJnc1sidGFncyJdOgorICAgICAgICBtZXRhX2ZpbHRlcnMuYXBwZW5kKHRlc3Rsb2FkZXIu
VGFnRmlsdGVyKHRhZ3M9a3dhcmdzWyJ0YWdzIl0pKQorCisgICAgdGVzdF9sb2FkZXIgPSB0ZXN0
bG9hZGVyLlRlc3RMb2FkZXIodGVzdF9tYW5pZmVzdHMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAga3dhcmdzWyJ0ZXN0X3R5cGVzIl0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcnVuX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWFuaWZlc3RfZmlsdGVycz1tYW5pZmVzdF9maWx0ZXJzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFfZmlsdGVycz1tZXRhX2Zp
bHRlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmtfdHlw
ZT1rd2FyZ3NbImNodW5rX3R5cGUiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0b3RhbF9jaHVua3M9a3dhcmdzWyJ0b3RhbF9jaHVua3MiXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVua19udW1iZXI9a3dhcmdzWyJ0aGlzX2No
dW5rIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9o
dHRwcz1zc2xfZW52LnNzbF9lbmFibGVkKQorICAgIHJldHVybiBydW5faW5mbywgdGVzdF9sb2Fk
ZXIKKworZGVmIGxpc3RfdGVzdF9ncm91cHModGVzdF9wYXRocywgcHJvZHVjdCwgKiprd2FyZ3Mp
OgorICAgIGVudi5kb19kZWxheWVkX2ltcG9ydHMobG9nZ2VyLCB0ZXN0X3BhdGhzKQorCisgICAg
c3NsX2VudiA9IGVudi5zc2xfZW52KGxvZ2dlciwgKiprd2FyZ3MpCisKKyAgICBydW5faW5mbywg
dGVzdF9sb2FkZXIgPSBnZXRfbG9hZGVyKHRlc3RfcGF0aHMsIHByb2R1Y3QsIHNzbF9lbnYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKmt3YXJncykKKworICAgIGZv
ciBpdGVtIGluIHNvcnRlZCh0ZXN0X2xvYWRlci5ncm91cHMoa3dhcmdzWyJ0ZXN0X3R5cGVzIl0p
KToKKyAgICAgICAgcHJpbnQgaXRlbQorCisKK2RlZiBsaXN0X2Rpc2FibGVkKHRlc3RfcGF0aHMs
IHByb2R1Y3QsICoqa3dhcmdzKToKKyAgICBlbnYuZG9fZGVsYXllZF9pbXBvcnRzKGxvZ2dlciwg
dGVzdF9wYXRocykKKworICAgIHJ2ID0gW10KKworICAgIHNzbF9lbnYgPSBlbnYuc3NsX2Vudihs
b2dnZXIsICoqa3dhcmdzKQorCisgICAgcnVuX2luZm8sIHRlc3RfbG9hZGVyID0gZ2V0X2xvYWRl
cih0ZXN0X3BhdGhzLCBwcm9kdWN0LCBzc2xfZW52LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKiprd2FyZ3MpCisKKyAgICBmb3IgdGVzdF90eXBlLCB0ZXN0cyBpbiB0
ZXN0X2xvYWRlci5kaXNhYmxlZF90ZXN0cy5pdGVyaXRlbXMoKToKKyAgICAgICAgZm9yIHRlc3Qg
aW4gdGVzdHM6CisgICAgICAgICAgICBydi5hcHBlbmQoeyJ0ZXN0IjogdGVzdC5pZCwgInJlYXNv
biI6IHRlc3QuZGlzYWJsZWQoKX0pCisgICAgcHJpbnQganNvbi5kdW1wcyhydiwgaW5kZW50PTIp
CisKKworZGVmIGdldF9wYXVzZV9hZnRlcl90ZXN0KHRlc3RfbG9hZGVyLCAqKmt3YXJncyk6Cisg
ICAgdG90YWxfdGVzdHMgPSBzdW0obGVuKGl0ZW0pIGZvciBpdGVtIGluIHRlc3RfbG9hZGVyLnRl
c3RzLml0ZXJ2YWx1ZXMoKSkKKyAgICBpZiBrd2FyZ3NbInBhdXNlX2FmdGVyX3Rlc3QiXSBpcyBO
b25lOgorICAgICAgICBpZiBrd2FyZ3NbInJlcGVhdF91bnRpbF91bmV4cGVjdGVkIl06CisgICAg
ICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgaWYga3dhcmdzWyJyZXBlYXQiXSA9PSAxIGFu
ZCB0b3RhbF90ZXN0cyA9PSAxOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0
dXJuIEZhbHNlCisgICAgcmV0dXJuIGt3YXJnc1sicGF1c2VfYWZ0ZXJfdGVzdCJdCisKKworZGVm
IHJ1bl90ZXN0cyhjb25maWcsIHRlc3RfcGF0aHMsIHByb2R1Y3QsICoqa3dhcmdzKToKKyAgICB3
aXRoIHdwdGxvZ2dpbmcuQ2FwdHVyZUlPKGxvZ2dlciwgbm90IGt3YXJnc1sibm9fY2FwdHVyZV9z
dGRpbyJdKToKKyAgICAgICAgZW52LmRvX2RlbGF5ZWRfaW1wb3J0cyhsb2dnZXIsIHRlc3RfcGF0
aHMpCisKKyAgICAgICAgKGNoZWNrX2FyZ3MsCisgICAgICAgICB0YXJnZXRfYnJvd3Nlcl9jbHMs
IGdldF9icm93c2VyX2t3YXJncywKKyAgICAgICAgIGV4ZWN1dG9yX2NsYXNzZXMsIGdldF9leGVj
dXRvcl9rd2FyZ3MsCisgICAgICAgICBlbnZfb3B0aW9ucywgZ2V0X2Vudl9leHRyYXMsIHJ1bl9p
bmZvX2V4dHJhcykgPSBwcm9kdWN0cy5sb2FkX3Byb2R1Y3QoY29uZmlnLCBwcm9kdWN0KQorCisg
ICAgICAgIHNzbF9lbnYgPSBlbnYuc3NsX2Vudihsb2dnZXIsICoqa3dhcmdzKQorICAgICAgICBl
bnZfZXh0cmFzID0gZ2V0X2Vudl9leHRyYXMoKiprd2FyZ3MpCisKKyAgICAgICAgY2hlY2tfYXJn
cygqKmt3YXJncykKKworICAgICAgICBpZiAidGVzdF9sb2FkZXIiIGluIGt3YXJnczoKKyAgICAg
ICAgICAgIHJ1bl9pbmZvID0gd3B0dGVzdC5nZXRfcnVuX2luZm8oa3dhcmdzWyJydW5faW5mbyJd
LCBwcm9kdWN0LCBkZWJ1Zz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBleHRyYXM9cnVuX2luZm9fZXh0cmFzKCoqa3dhcmdzKSkKKyAgICAgICAgICAg
IHRlc3RfbG9hZGVyID0ga3dhcmdzWyJ0ZXN0X2xvYWRlciJdCisgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICBydW5faW5mbywgdGVzdF9sb2FkZXIgPSBnZXRfbG9hZGVyKHRlc3RfcGF0aHMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3QsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF9lbnYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvX2V4
dHJhcz1ydW5faW5mb19leHRyYXMoKiprd2FyZ3MpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqKmt3YXJncykKKworICAgICAgICBpZiBrd2FyZ3NbInJ1
bl9ieV9kaXIiXSBpcyBGYWxzZToKKyAgICAgICAgICAgIHRlc3Rfc291cmNlX2NscyA9IHRlc3Rs
b2FkZXIuU2luZ2xlVGVzdFNvdXJjZQorICAgICAgICAgICAgdGVzdF9zb3VyY2Vfa3dhcmdzID0g
e30KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgQSB2YWx1ZSBvZiBOb25lIGluZGljYXRl
cyBpbmZpbml0ZSBkZXB0aAorICAgICAgICAgICAgdGVzdF9zb3VyY2VfY2xzID0gdGVzdGxvYWRl
ci5QYXRoR3JvdXBlZFNvdXJjZQorICAgICAgICAgICAgdGVzdF9zb3VyY2Vfa3dhcmdzID0geyJk
ZXB0aCI6IGt3YXJnc1sicnVuX2J5X2RpciJdfQorCisgICAgICAgIGxvZ2dlci5pbmZvKCJVc2lu
ZyAlaSBjbGllbnQgcHJvY2Vzc2VzIiAlIGt3YXJnc1sicHJvY2Vzc2VzIl0pCisKKyAgICAgICAg
dW5leHBlY3RlZF90b3RhbCA9IDAKKworICAgICAgICBrd2FyZ3NbInBhdXNlX2FmdGVyX3Rlc3Qi
XSA9IGdldF9wYXVzZV9hZnRlcl90ZXN0KHRlc3RfbG9hZGVyLCAqKmt3YXJncykKKworICAgICAg
ICB3aXRoIGVudi5UZXN0RW52aXJvbm1lbnQodGVzdF9wYXRocywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNzbF9lbnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBrd2FyZ3NbInBhdXNlX2FmdGVyX3Rlc3QiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGt3YXJnc1siZGVidWdfaW5mbyJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZW52X29wdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZf
ZXh0cmFzKSBhcyB0ZXN0X2Vudmlyb25tZW50OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAg
ICAgICAgIHRlc3RfZW52aXJvbm1lbnQuZW5zdXJlX3N0YXJ0ZWQoKQorICAgICAgICAgICAgZXhj
ZXB0IGVudi5UZXN0RW52aXJvbm1lbnRFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIGxvZ2dl
ci5jcml0aWNhbCgiRXJyb3Igc3RhcnRpbmcgdGVzdCBlbnZpcm9ubWVudDogJXMiICUgZS5tZXNz
YWdlKQorICAgICAgICAgICAgICAgIHJhaXNlCisKKyAgICAgICAgICAgIGJyb3dzZXJfa3dhcmdz
ID0gZ2V0X2Jyb3dzZXJfa3dhcmdzKHNzbF9lbnY9c3NsX2VudiwgKiprd2FyZ3MpCisKKyAgICAg
ICAgICAgIHJlcGVhdCA9IGt3YXJnc1sicmVwZWF0Il0KKyAgICAgICAgICAgIHJlcGVhdF9jb3Vu
dCA9IDAKKyAgICAgICAgICAgIHJlcGVhdF91bnRpbF91bmV4cGVjdGVkID0ga3dhcmdzWyJyZXBl
YXRfdW50aWxfdW5leHBlY3RlZCJdCisKKyAgICAgICAgICAgIHdoaWxlIHJlcGVhdF9jb3VudCA8
IHJlcGVhdCBvciByZXBlYXRfdW50aWxfdW5leHBlY3RlZDoKKyAgICAgICAgICAgICAgICByZXBl
YXRfY291bnQgKz0gMQorICAgICAgICAgICAgICAgIGlmIHJlcGVhdF91bnRpbF91bmV4cGVjdGVk
OgorICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiUmVwZXRpdGlvbiAlaSIgJSAocmVw
ZWF0X2NvdW50KSkKKyAgICAgICAgICAgICAgICBlbGlmIHJlcGVhdCA+IDE6CisgICAgICAgICAg
ICAgICAgICAgIGxvZ2dlci5pbmZvKCJSZXBldGl0aW9uICVpIC8gJWkiICUgKHJlcGVhdF9jb3Vu
dCwgcmVwZWF0KSkKKworICAgICAgICAgICAgICAgIHVuZXhwZWN0ZWRfY291bnQgPSAwCisgICAg
ICAgICAgICAgICAgbG9nZ2VyLnN1aXRlX3N0YXJ0KHRlc3RfbG9hZGVyLnRlc3RfaWRzLCBydW5f
aW5mbykKKyAgICAgICAgICAgICAgICBmb3IgdGVzdF90eXBlIGluIGt3YXJnc1sidGVzdF90eXBl
cyJdOgorICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiUnVubmluZyAlcyB0ZXN0cyIg
JSB0ZXN0X3R5cGUpCisKKyAgICAgICAgICAgICAgICAgICAgIyBXZWJEcml2ZXIgdGVzdHMgbWF5
IGNyZWF0ZSBhbmQgZGVzdHJveSBtdWx0aXBsZSBicm93c2VyCisgICAgICAgICAgICAgICAgICAg
ICMgcHJvY2Vzc2VzIGFzIHBhcnQgb2YgdGhlaXIgZXhwZWN0ZWQgYmVoYXZpb3IuIFRoZXNlCisg
ICAgICAgICAgICAgICAgICAgICMgcHJvY2Vzc2VzIGFyZSBtYW5hZ2VkIGJ5IGEgV2ViRHJpdmVy
IHNlcnZlciBiaW5hcnkuIFRoaXMKKyAgICAgICAgICAgICAgICAgICAgIyBvYnZpYXRlcyB0aGUg
bmVlZCBmb3Igd3B0cnVubmVyIHRvIHByb3ZpZGUgYSBicm93c2VyLCBzbworICAgICAgICAgICAg
ICAgICAgICAjIHRoZSBOdWxsQnJvd3NlciBpcyB1c2VkIGluIHBsYWNlIG9mIHRoZSAidGFyZ2V0
IiBicm93c2VyCisgICAgICAgICAgICAgICAgICAgIGlmIHRlc3RfdHlwZSA9PSAid2RzcGVjIjoK
KyAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXJfY2xzID0gTnVsbEJyb3dzZXIKKyAgICAg
ICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXJfY2xz
ID0gdGFyZ2V0X2Jyb3dzZXJfY2xzCisKKyAgICAgICAgICAgICAgICAgICAgZm9yIHRlc3QgaW4g
dGVzdF9sb2FkZXIuZGlzYWJsZWRfdGVzdHNbdGVzdF90eXBlXToKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGxvZ2dlci50ZXN0X3N0YXJ0KHRlc3QuaWQpCisgICAgICAgICAgICAgICAgICAgICAg
ICBsb2dnZXIudGVzdF9lbmQodGVzdC5pZCwgc3RhdHVzPSJTS0lQIikKKworICAgICAgICAgICAg
ICAgICAgICBleGVjdXRvcl9jbHMgPSBleGVjdXRvcl9jbGFzc2VzLmdldCh0ZXN0X3R5cGUpCisg
ICAgICAgICAgICAgICAgICAgIGV4ZWN1dG9yX2t3YXJncyA9IGdldF9leGVjdXRvcl9rd2FyZ3Mo
dGVzdF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RfZW52aXJvbm1lbnQuZXh0ZXJuYWxfY29uZmlnLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZW52
aXJvbm1lbnQuY2FjaGVfbWFuYWdlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKmt3YXJncykKKworICAgICAg
ICAgICAgICAgICAgICBpZiBleGVjdXRvcl9jbHMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGxvZ2dlci5lcnJvcigiVW5zdXBwb3J0ZWQgdGVzdCB0eXBlICVzIGZvciBwcm9kdWN0
ICVzIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRlc3RfdHlwZSwg
cHJvZHVjdCkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorCisKKyAgICAgICAg
ICAgICAgICAgICAgd2l0aCBNYW5hZ2VyR3JvdXAoIndlYi1wbGF0Zm9ybS10ZXN0cyIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnc1sicHJvY2Vzc2VzIl0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rfc291cmNlX2NscywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9zb3VyY2Vfa3dhcmdzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyX2NscywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJvd3Nlcl9rd2FyZ3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWN1dG9yX2NscywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0b3Jfa3dhcmdzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZ3NbInBhdXNlX2FmdGVyX3Rlc3QiXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dhcmdzWyJwYXVzZV9vbl91bmV4
cGVjdGVkIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnc1si
cmVzdGFydF9vbl91bmV4cGVjdGVkIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGt3YXJnc1siZGVidWdfaW5mbyJdKSBhcyBtYW5hZ2VyX2dyb3VwOgorICAgICAgICAg
ICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXJf
Z3JvdXAucnVuKHRlc3RfdHlwZSwgdGVzdF9sb2FkZXIudGVzdHMpCisgICAgICAgICAgICAgICAg
ICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9nZ2VyLmNyaXRpY2FsKCJNYWluIHRocmVhZCBnb3Qgc2lnbmFsIikKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyX2dyb3VwLnN0b3AoKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgICAgIHVuZXhwZWN0ZWRfY291bnQg
Kz0gbWFuYWdlcl9ncm91cC51bmV4cGVjdGVkX2NvdW50KCkKKworICAgICAgICAgICAgICAgIHVu
ZXhwZWN0ZWRfdG90YWwgKz0gdW5leHBlY3RlZF9jb3VudAorICAgICAgICAgICAgICAgIGxvZ2dl
ci5pbmZvKCJHb3QgJWkgdW5leHBlY3RlZCByZXN1bHRzIiAlIHVuZXhwZWN0ZWRfY291bnQpCisg
ICAgICAgICAgICAgICAgaWYgcmVwZWF0X3VudGlsX3VuZXhwZWN0ZWQgYW5kIHVuZXhwZWN0ZWRf
dG90YWwgPiAwOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGxv
Z2dlci5zdWl0ZV9lbmQoKQorCisgICAgcmV0dXJuIHVuZXhwZWN0ZWRfdG90YWwgPT0gMAorCitk
ZWYgc3RhcnQoKiprd2FyZ3MpOgorICAgIGlmIGt3YXJnc1sibGlzdF90ZXN0X2dyb3VwcyJdOgor
ICAgICAgICBsaXN0X3Rlc3RfZ3JvdXBzKCoqa3dhcmdzKQorICAgIGVsaWYga3dhcmdzWyJsaXN0
X2Rpc2FibGVkIl06CisgICAgICAgIGxpc3RfZGlzYWJsZWQoKiprd2FyZ3MpCisgICAgZWxzZToK
KyAgICAgICAgcmV0dXJuIG5vdCBydW5fdGVzdHMoKiprd2FyZ3MpCisKK2RlZiBtYWluKCk6Cisg
ICAgIiIiTWFpbiBlbnRyeSBwb2ludCB3aGVuIGNhbGxpbmcgZnJvbSB0aGUgY29tbWFuZCBsaW5l
IiIiCisgICAga3dhcmdzID0gd3B0Y29tbWFuZGxpbmUucGFyc2VfYXJncygpCisKKyAgICB0cnk6
CisgICAgICAgIGlmIGt3YXJnc1sicHJlZnNfcm9vdCJdIGlzIE5vbmU6CisgICAgICAgICAgICBr
d2FyZ3NbInByZWZzX3Jvb3QiXSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oaGVyZSwg
InByZWZzIikpCisKKyAgICAgICAgc2V0dXBfbG9nZ2luZyhrd2FyZ3MsIHsicmF3Ijogc3lzLnN0
ZG91dH0pCisKKyAgICAgICAgcmV0dXJuIHN0YXJ0KCoqa3dhcmdzKQorICAgIGV4Y2VwdCBFeGNl
cHRpb246CisgICAgICAgIGlmIGt3YXJnc1sicGRiIl06CisgICAgICAgICAgICBpbXBvcnQgcGRi
LCB0cmFjZWJhY2sKKyAgICAgICAgICAgIHByaW50IHRyYWNlYmFjay5mb3JtYXRfZXhjKCkKKyAg
ICAgICAgICAgIHBkYi5wb3N0X21vcnRlbSgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBy
YWlzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdHRlc3QucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
d3B0dGVzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTQ0Y2Q2NmVhNzhlMmVhNjQ5ZDc0ZGVmMzhlYzFhZjBh
MDkzNWQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdHRlc3QucHkKQEAgLTAs
MCArMSwzMzggQEAKK0RFRkFVTFRfVElNRU9VVCA9IDEwICAjIHNlY29uZHMKK0xPTkdfVElNRU9V
VCA9IDYwICAjIHNlY29uZHMKKworaW1wb3J0IG9zCisKK2ltcG9ydCBtb3ppbmZvCisKK2Zyb20g
d3B0bWFuaWZlc3QucGFyc2VyIGltcG9ydCBhdG9tcworCithdG9tX3Jlc2V0ID0gYXRvbXNbIlJl
c2V0Il0KK2VuYWJsZWRfdGVzdHMgPSBzZXQoWyJ0ZXN0aGFybmVzcyIsICJyZWZ0ZXN0IiwgIndk
c3BlYyJdKQorCisKK2NsYXNzIFJlc3VsdChvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBzdGF0dXMsIG1lc3NhZ2UsIGV4cGVjdGVkPU5vbmUsIGV4dHJhPU5vbmUpOgorICAgICAgICBp
ZiBzdGF0dXMgbm90IGluIHNlbGYuc3RhdHVzZXM6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVy
cm9yKCJVbnJlY29nbmlzZWQgc3RhdHVzICVzIiAlIHN0YXR1cykKKyAgICAgICAgc2VsZi5zdGF0
dXMgPSBzdGF0dXMKKyAgICAgICAgc2VsZi5tZXNzYWdlID0gbWVzc2FnZQorICAgICAgICBzZWxm
LmV4cGVjdGVkID0gZXhwZWN0ZWQKKyAgICAgICAgc2VsZi5leHRyYSA9IGV4dHJhCisKKyAgICBk
ZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAiPCVzLiVzICVzPiIgJSAoc2VsZi5f
X21vZHVsZV9fLCBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi5zdGF0dXMpCisKKworY2xh
c3MgU3VidGVzdFJlc3VsdChvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBz
dGF0dXMsIG1lc3NhZ2UsIHN0YWNrPU5vbmUsIGV4cGVjdGVkPU5vbmUpOgorICAgICAgICBzZWxm
Lm5hbWUgPSBuYW1lCisgICAgICAgIGlmIHN0YXR1cyBub3QgaW4gc2VsZi5zdGF0dXNlczoKKyAg
ICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVucmVjb2duaXNlZCBzdGF0dXMgJXMiICUgc3Rh
dHVzKQorICAgICAgICBzZWxmLnN0YXR1cyA9IHN0YXR1cworICAgICAgICBzZWxmLm1lc3NhZ2Ug
PSBtZXNzYWdlCisgICAgICAgIHNlbGYuc3RhY2sgPSBzdGFjaworICAgICAgICBzZWxmLmV4cGVj
dGVkID0gZXhwZWN0ZWQKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJu
ICI8JXMuJXMgJXMgJXM+IiAlIChzZWxmLl9fbW9kdWxlX18sIHNlbGYuX19jbGFzc19fLl9fbmFt
ZV9fLCBzZWxmLm5hbWUsIHNlbGYuc3RhdHVzKQorCisKK2NsYXNzIFRlc3RoYXJuZXNzUmVzdWx0
KFJlc3VsdCk6CisgICAgZGVmYXVsdF9leHBlY3RlZCA9ICJPSyIKKyAgICBzdGF0dXNlcyA9IHNl
dChbIk9LIiwgIkVSUk9SIiwgIlRJTUVPVVQiLCAiRVhURVJOQUwtVElNRU9VVCIsICJDUkFTSCJd
KQorCisKK2NsYXNzIFRlc3RoYXJuZXNzU3VidGVzdFJlc3VsdChTdWJ0ZXN0UmVzdWx0KToKKyAg
ICBkZWZhdWx0X2V4cGVjdGVkID0gIlBBU1MiCisgICAgc3RhdHVzZXMgPSBzZXQoWyJQQVNTIiwg
IkZBSUwiLCAiVElNRU9VVCIsICJOT1RSVU4iXSkKKworCitjbGFzcyBSZWZ0ZXN0UmVzdWx0KFJl
c3VsdCk6CisgICAgZGVmYXVsdF9leHBlY3RlZCA9ICJQQVNTIgorICAgIHN0YXR1c2VzID0gc2V0
KFsiUEFTUyIsICJGQUlMIiwgIkVSUk9SIiwgIlRJTUVPVVQiLCAiRVhURVJOQUwtVElNRU9VVCIs
ICJDUkFTSCJdKQorCisKK2NsYXNzIFdkc3BlY1Jlc3VsdChSZXN1bHQpOgorICAgIGRlZmF1bHRf
ZXhwZWN0ZWQgPSAiT0siCisgICAgc3RhdHVzZXMgPSBzZXQoWyJPSyIsICJFUlJPUiIsICJUSU1F
T1VUIiwgIkVYVEVSTkFMLVRJTUVPVVQiLCAiQ1JBU0giXSkKKworCitjbGFzcyBXZHNwZWNTdWJ0
ZXN0UmVzdWx0KFN1YnRlc3RSZXN1bHQpOgorICAgIGRlZmF1bHRfZXhwZWN0ZWQgPSAiUEFTUyIK
KyAgICBzdGF0dXNlcyA9IHNldChbIlBBU1MiLCAiRkFJTCIsICJFUlJPUiJdKQorCisKK2RlZiBn
ZXRfcnVuX2luZm8obWV0YWRhdGFfcm9vdCwgcHJvZHVjdCwgKiprd2FyZ3MpOgorICAgIHJldHVy
biBSdW5JbmZvKG1ldGFkYXRhX3Jvb3QsIHByb2R1Y3QsICoqa3dhcmdzKQorCisKK2NsYXNzIFJ1
bkluZm8oZGljdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1ldGFkYXRhX3Jvb3QsIHByb2R1
Y3QsIGRlYnVnLCBleHRyYXM9Tm9uZSk6CisgICAgICAgIHNlbGYuX3VwZGF0ZV9tb3ppbmZvKG1l
dGFkYXRhX3Jvb3QpCisgICAgICAgIHNlbGYudXBkYXRlKG1vemluZm8uaW5mbykKKyAgICAgICAg
c2VsZlsicHJvZHVjdCJdID0gcHJvZHVjdAorICAgICAgICBpZiBkZWJ1ZyBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgIHNlbGZbImRlYnVnIl0gPSBkZWJ1ZworICAgICAgICBlbGlmICJkZWJ1ZyIg
bm90IGluIHNlbGY6CisgICAgICAgICAgICAjIERlZmF1bHQgdG8gcmVsZWFzZQorICAgICAgICAg
ICAgc2VsZlsiZGVidWciXSA9IEZhbHNlCisgICAgICAgIGlmIGV4dHJhcyBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgIHNlbGYudXBkYXRlKGV4dHJhcykKKworICAgIGRlZiBfdXBkYXRlX21vemlu
Zm8oc2VsZiwgbWV0YWRhdGFfcm9vdCk6CisgICAgICAgICIiIkFkZCBleHRyYSBidWlsZCBpbmZv
cm1hdGlvbiBmcm9tIGEgbW96aW5mby5qc29uIGZpbGUgaW4gYSBwYXJlbnQKKyAgICAgICAgZGly
ZWN0b3J5IiIiCisgICAgICAgIHBhdGggPSBtZXRhZGF0YV9yb290CisgICAgICAgIGRpcnMgPSBz
ZXQoKQorICAgICAgICB3aGlsZSBwYXRoICE9IG9zLnBhdGguZXhwYW5kdXNlcignficpOgorICAg
ICAgICAgICAgaWYgcGF0aCBpbiBkaXJzOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAg
ICAgICBkaXJzLmFkZChzdHIocGF0aCkpCisgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5zcGxp
dChwYXRoKVswXQorCisgICAgICAgIG1vemluZm8uZmluZF9hbmRfdXBkYXRlX2Zyb21fanNvbigq
ZGlycykKKworCitjbGFzcyBUZXN0KG9iamVjdCk6CisgICAgcmVzdWx0X2NscyA9IE5vbmUKKyAg
ICBzdWJ0ZXN0X3Jlc3VsdF9jbHMgPSBOb25lCisgICAgdGVzdF90eXBlID0gTm9uZQorCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RzX3Jvb3QsIHVybCwgaW5oZXJpdF9tZXRhZGF0YSwgdGVz
dF9tZXRhZGF0YSwKKyAgICAgICAgICAgICAgICAgdGltZW91dD1ERUZBVUxUX1RJTUVPVVQsIHBh
dGg9Tm9uZSwgcHJvdG9jb2w9Imh0dHAiKToKKyAgICAgICAgc2VsZi50ZXN0c19yb290ID0gdGVz
dHNfcm9vdAorICAgICAgICBzZWxmLnVybCA9IHVybAorICAgICAgICBzZWxmLl9pbmhlcml0X21l
dGFkYXRhID0gaW5oZXJpdF9tZXRhZGF0YQorICAgICAgICBzZWxmLl90ZXN0X21ldGFkYXRhID0g
dGVzdF9tZXRhZGF0YQorICAgICAgICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CisgICAgICAgIHNl
bGYucGF0aCA9IHBhdGgKKyAgICAgICAgc2VsZi5lbnZpcm9ubWVudCA9IHsicHJvdG9jb2wiOiBw
cm90b2NvbCwgInByZWZzIjogc2VsZi5wcmVmc30KKworICAgIGRlZiBfX2VxX18oc2VsZiwgb3Ro
ZXIpOgorICAgICAgICByZXR1cm4gc2VsZi5pZCA9PSBvdGhlci5pZAorCisgICAgQGNsYXNzbWV0
aG9kCisgICAgZGVmIGZyb21fbWFuaWZlc3QoY2xzLCBtYW5pZmVzdF9pdGVtLCBpbmhlcml0X21l
dGFkYXRhLCB0ZXN0X21ldGFkYXRhKToKKyAgICAgICAgdGltZW91dCA9IExPTkdfVElNRU9VVCBp
ZiBtYW5pZmVzdF9pdGVtLnRpbWVvdXQgPT0gImxvbmciIGVsc2UgREVGQVVMVF9USU1FT1VUCisg
ICAgICAgIHByb3RvY29sID0gImh0dHBzIiBpZiBoYXNhdHRyKG1hbmlmZXN0X2l0ZW0sICJodHRw
cyIpIGFuZCBtYW5pZmVzdF9pdGVtLmh0dHBzIGVsc2UgImh0dHAiCisgICAgICAgIHJldHVybiBj
bHMobWFuaWZlc3RfaXRlbS5zb3VyY2VfZmlsZS50ZXN0c19yb290LAorICAgICAgICAgICAgICAg
ICAgIG1hbmlmZXN0X2l0ZW0udXJsLAorICAgICAgICAgICAgICAgICAgIGluaGVyaXRfbWV0YWRh
dGEsCisgICAgICAgICAgICAgICAgICAgdGVzdF9tZXRhZGF0YSwKKyAgICAgICAgICAgICAgICAg
ICB0aW1lb3V0PXRpbWVvdXQsCisgICAgICAgICAgICAgICAgICAgcGF0aD1tYW5pZmVzdF9pdGVt
LnNvdXJjZV9maWxlLnBhdGgsCisgICAgICAgICAgICAgICAgICAgcHJvdG9jb2w9cHJvdG9jb2wp
CisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaWQoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxm
LnVybAorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGtleXMoc2VsZik6CisgICAgICAgIHJldHVy
biB0dXBsZSgpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgYWJzX3BhdGgoc2VsZik6CisgICAg
ICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi50ZXN0c19yb290LCBzZWxmLnBhdGgpCisKKyAg
ICBkZWYgX2dldF9tZXRhZGF0YShzZWxmLCBzdWJ0ZXN0PU5vbmUpOgorICAgICAgICBpZiBzZWxm
Ll90ZXN0X21ldGFkYXRhIGlzIG5vdCBOb25lIGFuZCBzdWJ0ZXN0IGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgcmV0dXJuIHNlbGYuX3Rlc3RfbWV0YWRhdGEuZ2V0X3N1YnRlc3Qoc3VidGVzdCkK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl90ZXN0X21ldGFkYXRhCisK
KyAgICBkZWYgaXRlcm1ldGEoc2VsZiwgc3VidGVzdD1Ob25lKToKKyAgICAgICAgZm9yIG1ldGFk
YXRhIGluIHNlbGYuX2luaGVyaXRfbWV0YWRhdGE6CisgICAgICAgICAgICB5aWVsZCBtZXRhZGF0
YQorCisgICAgICAgIGlmIHNlbGYuX3Rlc3RfbWV0YWRhdGEgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICB5aWVsZCBzZWxmLl9nZXRfbWV0YWRhdGEoKQorICAgICAgICAgICAgaWYgc3VidGVzdCBp
cyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBzdWJ0ZXN0X21ldGEgPSBzZWxmLl9nZXRfbWV0
YWRhdGEoc3VidGVzdCkKKyAgICAgICAgICAgICAgICBpZiBzdWJ0ZXN0X21ldGEgaXMgbm90IE5v
bmU6CisgICAgICAgICAgICAgICAgICAgIHlpZWxkIHN1YnRlc3RfbWV0YQorCisgICAgZGVmIGRp
c2FibGVkKHNlbGYsIHN1YnRlc3Q9Tm9uZSk6CisgICAgICAgIGZvciBtZXRhIGluIHNlbGYuaXRl
cm1ldGEoc3VidGVzdCk6CisgICAgICAgICAgICBkaXNhYmxlZCA9IG1ldGEuZGlzYWJsZWQKKyAg
ICAgICAgICAgIGlmIGRpc2FibGVkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHJldHVy
biBkaXNhYmxlZAorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgQHByb3BlcnR5CisgICAgZGVm
IHJlc3RhcnRfYWZ0ZXIoc2VsZik6CisgICAgICAgIGZvciBtZXRhIGluIHNlbGYuaXRlcm1ldGEo
Tm9uZSk6CisgICAgICAgICAgICByZXN0YXJ0X2FmdGVyID0gbWV0YS5yZXN0YXJ0X2FmdGVyCisg
ICAgICAgICAgICBpZiByZXN0YXJ0X2FmdGVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAg
IHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgQHByb3BlcnR5CisgICAg
ZGVmIHRhZ3Moc2VsZik6CisgICAgICAgIHRhZ3MgPSBzZXQoKQorICAgICAgICBmb3IgbWV0YSBp
biBzZWxmLml0ZXJtZXRhKCk6CisgICAgICAgICAgICBtZXRhX3RhZ3MgPSBtZXRhLnRhZ3MKKyAg
ICAgICAgICAgIGlmIGF0b21fcmVzZXQgaW4gbWV0YV90YWdzOgorICAgICAgICAgICAgICAgIHRh
Z3MgPSBtZXRhX3RhZ3MuY29weSgpCisgICAgICAgICAgICAgICAgdGFncy5yZW1vdmUoYXRvbV9y
ZXNldCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgdGFncyB8PSBtZXRhX3Rh
Z3MKKworICAgICAgICB0YWdzLmFkZCgiZGlyOiVzIiAlIHNlbGYuaWQubHN0cmlwKCIvIikuc3Bs
aXQoIi8iKVswXSkKKworICAgICAgICByZXR1cm4gdGFncworCisgICAgQHByb3BlcnR5CisgICAg
ZGVmIHByZWZzKHNlbGYpOgorICAgICAgICBwcmVmcyA9IHt9CisgICAgICAgIGZvciBtZXRhIGlu
IHNlbGYuaXRlcm1ldGEoKToKKyAgICAgICAgICAgIG1ldGFfcHJlZnMgPSBtZXRhLnByZWZzCisg
ICAgICAgICAgICBpZiBhdG9tX3Jlc2V0IGluIHByZWZzOgorICAgICAgICAgICAgICAgIHByZWZz
ID0gbWV0YV9wcmVmcy5jb3B5KCkKKyAgICAgICAgICAgICAgICBkZWwgcHJlZnNbYXRvbV9yZXNl
dF0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcHJlZnMudXBkYXRlKG1ldGFf
cHJlZnMpCisgICAgICAgIHJldHVybiBwcmVmcworCisgICAgZGVmIGV4cGVjdGVkKHNlbGYsIHN1
YnRlc3Q9Tm9uZSk6CisgICAgICAgIGlmIHN1YnRlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIGRl
ZmF1bHQgPSBzZWxmLnJlc3VsdF9jbHMuZGVmYXVsdF9leHBlY3RlZAorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgZGVmYXVsdCA9IHNlbGYuc3VidGVzdF9yZXN1bHRfY2xzLmRlZmF1bHRfZXhw
ZWN0ZWQKKworICAgICAgICBtZXRhZGF0YSA9IHNlbGYuX2dldF9tZXRhZGF0YShzdWJ0ZXN0KQor
ICAgICAgICBpZiBtZXRhZGF0YSBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHQK
KworICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gbWV0YWRhdGEuZ2V0KCJleHBlY3Rl
ZCIpCisgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgIHJldHVybiBkZWZhdWx0
CisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAiPCVzLiVzICVzPiIg
JSAoc2VsZi5fX21vZHVsZV9fLCBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi5pZCkKKwor
CitjbGFzcyBUZXN0aGFybmVzc1Rlc3QoVGVzdCk6CisgICAgcmVzdWx0X2NscyA9IFRlc3RoYXJu
ZXNzUmVzdWx0CisgICAgc3VidGVzdF9yZXN1bHRfY2xzID0gVGVzdGhhcm5lc3NTdWJ0ZXN0UmVz
dWx0CisgICAgdGVzdF90eXBlID0gInRlc3RoYXJuZXNzIgorCisgICAgQHByb3BlcnR5CisgICAg
ZGVmIGlkKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi51cmwKKworCitjbGFzcyBNYW51YWxU
ZXN0KFRlc3QpOgorICAgIHRlc3RfdHlwZSA9ICJtYW51YWwiCisKKyAgICBAcHJvcGVydHkKKyAg
ICBkZWYgaWQoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnVybAorCisKK2NsYXNzIFJlZnRl
c3RUZXN0KFRlc3QpOgorICAgIHJlc3VsdF9jbHMgPSBSZWZ0ZXN0UmVzdWx0CisgICAgdGVzdF90
eXBlID0gInJlZnRlc3QiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdHNfcm9vdCwgdXJs
LCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRhLCByZWZlcmVuY2VzLAorICAgICAgICAg
ICAgICAgICB0aW1lb3V0PURFRkFVTFRfVElNRU9VVCwgcGF0aD1Ob25lLCB2aWV3cG9ydF9zaXpl
PU5vbmUsCisgICAgICAgICAgICAgICAgIGRwaT1Ob25lLCBwcm90b2NvbD0iaHR0cCIpOgorICAg
ICAgICBUZXN0Ll9faW5pdF9fKHNlbGYsIHRlc3RzX3Jvb3QsIHVybCwgaW5oZXJpdF9tZXRhZGF0
YSwgdGVzdF9tZXRhZGF0YSwgdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICBwYXRoLCBw
cm90b2NvbCkKKworICAgICAgICBmb3IgXywgcmVmX3R5cGUgaW4gcmVmZXJlbmNlczoKKyAgICAg
ICAgICAgIGlmIHJlZl90eXBlIG5vdCBpbiAoIj09IiwgIiE9Iik6CisgICAgICAgICAgICAgICAg
cmFpc2UgVmFsdWVFcnJvcgorCisgICAgICAgIHNlbGYucmVmZXJlbmNlcyA9IHJlZmVyZW5jZXMK
KyAgICAgICAgc2VsZi52aWV3cG9ydF9zaXplID0gdmlld3BvcnRfc2l6ZQorICAgICAgICBzZWxm
LmRwaSA9IGRwaQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGZyb21fbWFuaWZlc3QoY2xz
LAorICAgICAgICAgICAgICAgICAgICAgIG1hbmlmZXN0X3Rlc3QsCisgICAgICAgICAgICAgICAg
ICAgICAgaW5oZXJpdF9tZXRhZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICB0ZXN0X21ldGFk
YXRhLAorICAgICAgICAgICAgICAgICAgICAgIG5vZGVzPU5vbmUsCisgICAgICAgICAgICAgICAg
ICAgICAgcmVmZXJlbmNlc19zZWVuPU5vbmUpOgorCisgICAgICAgIHRpbWVvdXQgPSBMT05HX1RJ
TUVPVVQgaWYgbWFuaWZlc3RfdGVzdC50aW1lb3V0ID09ICJsb25nIiBlbHNlIERFRkFVTFRfVElN
RU9VVAorCisgICAgICAgIGlmIG5vZGVzIGlzIE5vbmU6CisgICAgICAgICAgICBub2RlcyA9IHt9
CisgICAgICAgIGlmIHJlZmVyZW5jZXNfc2VlbiBpcyBOb25lOgorICAgICAgICAgICAgcmVmZXJl
bmNlc19zZWVuID0gc2V0KCkKKworICAgICAgICB1cmwgPSBtYW5pZmVzdF90ZXN0LnVybAorCisg
ICAgICAgIG5vZGUgPSBjbHMobWFuaWZlc3RfdGVzdC5zb3VyY2VfZmlsZS50ZXN0c19yb290LAor
ICAgICAgICAgICAgICAgICAgIG1hbmlmZXN0X3Rlc3QudXJsLAorICAgICAgICAgICAgICAgICAg
IGluaGVyaXRfbWV0YWRhdGEsCisgICAgICAgICAgICAgICAgICAgdGVzdF9tZXRhZGF0YSwKKyAg
ICAgICAgICAgICAgICAgICBbXSwKKyAgICAgICAgICAgICAgICAgICB0aW1lb3V0PXRpbWVvdXQs
CisgICAgICAgICAgICAgICAgICAgcGF0aD1tYW5pZmVzdF90ZXN0LnBhdGgsCisgICAgICAgICAg
ICAgICAgICAgdmlld3BvcnRfc2l6ZT1tYW5pZmVzdF90ZXN0LnZpZXdwb3J0X3NpemUsCisgICAg
ICAgICAgICAgICAgICAgZHBpPW1hbmlmZXN0X3Rlc3QuZHBpLAorICAgICAgICAgICAgICAgICAg
IHByb3RvY29sPSJodHRwcyIgaWYgaGFzYXR0cihtYW5pZmVzdF90ZXN0LCAiaHR0cHMiKSBhbmQg
bWFuaWZlc3RfdGVzdC5odHRwcyBlbHNlICJodHRwIikKKworICAgICAgICBub2Rlc1t1cmxdID0g
bm9kZQorCisgICAgICAgIGZvciByZWZfdXJsLCByZWZfdHlwZSBpbiBtYW5pZmVzdF90ZXN0LnJl
ZmVyZW5jZXM6CisgICAgICAgICAgICBjb21wYXJpc29uX2tleSA9IChyZWZfdHlwZSwpICsgdHVw
bGUoc29ydGVkKFt1cmwsIHJlZl91cmxdKSkKKyAgICAgICAgICAgIGlmIHJlZl91cmwgaW4gbm9k
ZXM6CisgICAgICAgICAgICAgICAgbWFuaWZlc3Rfbm9kZSA9IHJlZl91cmwKKyAgICAgICAgICAg
ICAgICBpZiBjb21wYXJpc29uX2tleSBpbiByZWZlcmVuY2VzX3NlZW46CisgICAgICAgICAgICAg
ICAgICAgICMgV2UgaGF2ZSByZWFjaGVkIGEgY3ljbGUgc28gc3RvcCBoZXJlCisgICAgICAgICAg
ICAgICAgICAgICMgTm90ZSB0aGF0IGp1c3Qgc2VlaW5nIGEgbm9kZSBmb3IgdGhlIHNlY29uZCB0
aW1lIGlzIG5vdAorICAgICAgICAgICAgICAgICAgICAjIGVub3VnaCB0byBkZXRlY3QgYSBjeWNs
ZSBiZWNhdXNlCisgICAgICAgICAgICAgICAgICAgICMgQSAhPSBCICE9IEMgIT0gQSBtdXN0IGlu
Y2x1ZGUgQyAhPSBBCisgICAgICAgICAgICAgICAgICAgICMgYnV0IEEgPT0gQiA9PSBBIHNob3Vs
ZCBub3QgaW5jbHVkZSB0aGUgcmVkdW5kYW50IEIgPT0gQS4KKyAgICAgICAgICAgICAgICAgICAg
Y29udGludWUKKworICAgICAgICAgICAgcmVmZXJlbmNlc19zZWVuLmFkZChjb21wYXJpc29uX2tl
eSkKKworICAgICAgICAgICAgbWFuaWZlc3Rfbm9kZSA9IG1hbmlmZXN0X3Rlc3QubWFuaWZlc3Qu
Z2V0X3JlZmVyZW5jZShyZWZfdXJsKQorICAgICAgICAgICAgaWYgbWFuaWZlc3Rfbm9kZToKKyAg
ICAgICAgICAgICAgICByZWZlcmVuY2UgPSBSZWZ0ZXN0VGVzdC5mcm9tX21hbmlmZXN0KG1hbmlm
ZXN0X25vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBub2RlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZXNfc2VlbikKKyAgICAgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICAgICAgcmVmZXJlbmNlID0gUmVmdGVzdFRlc3QobWFuaWZlc3RfdGVzdC5zb3Vy
Y2VfZmlsZS50ZXN0c19yb290LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlZl91cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW10s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9uZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXSkKKworICAgICAgICAgICAgbm9kZS5y
ZWZlcmVuY2VzLmFwcGVuZCgocmVmZXJlbmNlLCByZWZfdHlwZSkpCisKKyAgICAgICAgcmV0dXJu
IG5vZGUKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpZChzZWxmKToKKyAgICAgICAgcmV0dXJu
IHNlbGYudXJsCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYga2V5cyhzZWxmKToKKyAgICAgICAg
cmV0dXJuICgicmVmdHlwZSIsICJyZWZ1cmwiKQorCisKK2NsYXNzIFdkc3BlY1Rlc3QoVGVzdCk6
CisgICAgcmVzdWx0X2NscyA9IFdkc3BlY1Jlc3VsdAorICAgIHN1YnRlc3RfcmVzdWx0X2NscyA9
IFdkc3BlY1N1YnRlc3RSZXN1bHQKKyAgICB0ZXN0X3R5cGUgPSAid2RzcGVjIgorCisKK21hbmlm
ZXN0X3Rlc3RfY2xzID0geyJyZWZ0ZXN0IjogUmVmdGVzdFRlc3QsCisgICAgICAgICAgICAgICAg
ICAgICAidGVzdGhhcm5lc3MiOiBUZXN0aGFybmVzc1Rlc3QsCisgICAgICAgICAgICAgICAgICAg
ICAibWFudWFsIjogTWFudWFsVGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICJ3ZHNwZWMiOiBX
ZHNwZWNUZXN0fQorCisKK2RlZiBmcm9tX21hbmlmZXN0KG1hbmlmZXN0X3Rlc3QsIGluaGVyaXRf
bWV0YWRhdGEsIHRlc3RfbWV0YWRhdGEpOgorICAgIHRlc3RfY2xzID0gbWFuaWZlc3RfdGVzdF9j
bHNbbWFuaWZlc3RfdGVzdC5pdGVtX3R5cGVdCisgICAgcmV0dXJuIHRlc3RfY2xzLmZyb21fbWFu
aWZlc3QobWFuaWZlc3RfdGVzdCwgaW5oZXJpdF9tZXRhZGF0YSwgdGVzdF9tZXRhZGF0YSkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0c2VydmUvZG9jcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvZG9jcy93M2MtaW1wb3J0LmxvZwpp
bmRleCA1YWFlYTVjNDE5NjVhODhhY2RiNzM2NzJjZjc2Njg1YzNjMmU2ZmJlLi5iM2EwOWI0NWU5
MzhmMDk3YWU2MDY2MTAyYzg5OTVhYWNlZTQxNDI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL2RvY3MvdzNjLWlt
cG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRzZXJ2ZS9kb2NzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUlu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHVi
OgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL2Z1bmN0
aW9uYWwvZG9jcm9vdC9zdWJkaXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwv
ZG9jcm9vdC9zdWJkaXIvdzNjLWltcG9ydC5sb2cKaW5kZXggMTJhYTU4YTdkZTk5ODBlY2ExZGM1
MTNkZGI4ZDc1MjY4OTdiZTZjYi4uY2FhM2Q3NjE0MWVkZjE5NGQ0YzQxODMyMzQ4MTU3MDg1Zjc1
NGVkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5jdGlvbmFsL2RvY3Jvb3Qvc3ViZGlyL3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC9kb2Nyb290L3N1YmRpci93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5jdGlvbmFsL2RvY3Jvb3QvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNl
cnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC93M2MtaW1wb3J0LmxvZwppbmRleCAzYjUzMzhh
Y2IyOGNlNjQzZDU3M2M3MWY2Njc5ZjNmNGUxYzkyNGYxLi41ZTY1ZTBkZjJlYTkwYjJkMzdmMzkx
NTgyMjgwYzllOWFkNTVlYzQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9v
dC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5jdGlvbmFsL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0
cy9mdW5jdGlvbmFsL3czYy1pbXBvcnQubG9nCmluZGV4IGRlYWM0NGYxMmUwMzI2NGM4ZGY1YjJm
Y2JlYjBjMGRmYTUxYWY1ZDQuLjNkZGI3NjhjODE3MTJjMTIyODQyZDM4MDViMWMzNzU5OTNiMDQx
MDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC93M2MtaW1wb3J0LmxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZl
L3Rlc3RzL2Z1bmN0aW9uYWwvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNl
cnZlL3czYy1pbXBvcnQubG9nCmluZGV4IGFlMzUwYTY0ODg3NGY3MWU2MmVjMjY0OTczYmY2NmU5
OGJlMjQ4ZmQuLmVmMDcwMmMxZGY3YjBlNzQ3Mjc1ZTRkMThkY2JiYTljODg3NzMxY2QgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0c2VydmUvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsx
LDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3Ig
V1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93
cHRzZXJ2ZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0c2VydmUvdzNjLWltcG9ydC5sb2cKaW5kZXgg
MTY5OTNlNzZkMDliNzUyZTgxNWEyZGZkMmZlN2RiYzVhZDdiY2UwMy4uMzE1ZDVhNWUwN2M3NWYz
YzM5ODJhMWFlOTg5YzY0YjdmNzU3ZWRlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS93M2MtaW1w
b3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAog
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VybC9pbnRlcmZhY2VzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXJsL2lu
dGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4IGJhYmRhOGJiZWUyYjY5ZTc5YzNjMzQ4Zjc3Mzlm
ZjhjNjdkNmRkZGMuLmFjM2VjNWQ0NmY3N2EwYThjNDIyN2VlMzc5NmQ2YzAzYzNjMTkzMDMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXJs
L2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdXJsL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0yMCw4ICsy
MCw2IEBAIFBBU1MgVVJMIGludGVyZmFjZTogYXR0cmlidXRlIHNlYXJjaAogUEFTUyBVUkwgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgc2VhcmNoUGFyYW1zIAogUEFTUyBVUkwgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgaGFzaCAKIFBBU1MgVVJMIGludGVyZmFjZTogb3BlcmF0aW9uIHRvSlNPTigpIAotUEFT
UyBVUkwgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgVVJMKCJodHRwOi8vZm9vIikg
Ci1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgVVJMKCJodHRwOi8vZm9vIikgCiBQQVNTIFVS
TCBpbnRlcmZhY2U6IG5ldyBVUkwoImh0dHA6Ly9mb28iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
ImhyZWYiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgVVJMIGludGVyZmFjZTogbmV3
IFVSTCgiaHR0cDovL2ZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3JpZ2luIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIFVSTCBpbnRlcmZhY2U6IG5ldyBVUkwoImh0dHA6Ly9m
b28iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInByb3RvY29sIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMikgCkBAIC00Nyw5ICs0NSw5IEBAIFBBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTog
b3BlcmF0aW9uIGdldEFsbChVU1ZTdHJpbmcpCiBQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBoYXMoVVNWU3RyaW5nKSAKIFBBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVy
ZmFjZTogb3BlcmF0aW9uIHNldChVU1ZTdHJpbmcsVVNWU3RyaW5nKSAKIEZBSUwgVGVzdGluZyBT
eW1ib2wuaXRlcmF0b3IgcHJvcGVydHkgb2YgaXRlcmFibGUgaW50ZXJmYWNlIFVSTFNlYXJjaFBh
cmFtcyBhc3NlcnRfZXF1YWxzOiBAQGl0ZXJhdG9yIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgdGhl
IHJpZ2h0IG5hbWUgZXhwZWN0ZWQgImVudHJpZXMiIGJ1dCBnb3QgIltTeW1ib2wuSXRlcmF0b3Jd
IgotRkFJTCBUZXN0aW5nIHBhaXIgaXRlcmFibGUgaW50ZXJmYWNlIFVSTFNlYXJjaFBhcmFtcyBh
c3NlcnRfZXF1YWxzOiBlbnRyaWVzIG1ldGhvZCBpcyBub3QgdGhlIHNhbWUgYXMgQEBpdGVyYXRv
ciBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gW1N5bWJvbC5JdGVyYXRvcl0oKSB7CitGQUlM
IFRlc3RpbmcgcGFpciBpdGVyYWJsZSBpbnRlcmZhY2UgVVJMU2VhcmNoUGFyYW1zIGFzc2VydF9l
cXVhbHM6IGVudHJpZXMgbWV0aG9kIGlzIG5vdCB0aGUgc2FtZSBhcyBAQGl0ZXJhdG9yIGV4cGVj
dGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBlbnRyaWVzKCkgewogICAgIFtuYXRpdmUgY29kZV0KLX0i
IGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIGVudHJpZXMoKSB7Cit9IiBidXQgZ290IGZ1bmN0
aW9uICJmdW5jdGlvbiBbU3ltYm9sLkl0ZXJhdG9yXSgpIHsKICAgICBbbmF0aXZlIGNvZGVdCiB9
IgogUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBzdHJpbmdpZmllciAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL2Rh
dGFjaGFubmVsLWlkbGhhcm5lc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvZGF0YWNoYW5uZWwtaWRsaGFybmVzcy1leHBl
Y3RlZC50eHQKaW5kZXggMDkzMTM2OTg5ZWI4MzRiNmUzNzhjMmQzMWUyZDRlNzdjYWNlZDRmZC4u
ZTRlNzA4NThiZDNiM2M2MDc0NWZhNjY5NTA3OTdjODIyZTliOTBmMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvZGF0YWNoYW5u
ZWwtaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvZGF0YWNoYW5uZWwtaWRsaGFybmVzcy1leHBlY3Rl
ZC50eHQKQEAgLTMwLDggKzMwLDYgQEAgUEFTUyBSVENEYXRhQ2hhbm5lbCBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBzZW5kKFVTVlN0cmluZykKIFBBU1MgUlRDRGF0YUNoYW5uZWwgaW50ZXJmYWNlOiBv
cGVyYXRpb24gc2VuZChCbG9iKSAKIFBBU1MgUlRDRGF0YUNoYW5uZWwgaW50ZXJmYWNlOiBvcGVy
YXRpb24gc2VuZChBcnJheUJ1ZmZlcikgCiBQQVNTIFJUQ0RhdGFDaGFubmVsIGludGVyZmFjZTog
b3BlcmF0aW9uIHNlbmQoQXJyYXlCdWZmZXJWaWV3KSAKLVBBU1MgUlRDRGF0YUNoYW5uZWwgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBjaGFubmVsIAotRkFJTCBTdHJpbmdpZmljYXRpb24g
b2YgY2hhbm5lbCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5h
cnJheS5tZW1iZXJzW3RoaXMuYmFzZV0uaGFzX3N0cmluZ2lmaWVyJykKIFBBU1MgUlRDRGF0YUNo
YW5uZWwgaW50ZXJmYWNlOiBjaGFubmVsIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFiZWwiIHdp
dGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgUlRDRGF0YUNoYW5uZWwgaW50ZXJmYWNlOiBj
aGFubmVsIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3JkZXJlZCIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgKDEpIAogUEFTUyBSVENEYXRhQ2hhbm5lbCBpbnRlcmZhY2U6IGNoYW5uZWwgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJtYXhQYWNrZXRMaWZlVGltZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIp
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtc291cmNlL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4IGQwYTJkMWE4MjFhYmJlY2Ji
YjkwNWMwNDgxOTI2NzUwODM1Y2E2YjQuLmFmMWJlMjk3Mzk5MWVkMDNmOGVlNWU2MzEzNTcwODUy
ZGUzZTlmN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1zb3VyY2UvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKQEAgLTIxLDggKzIx
LDYgQEAgUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBlbmRPZlN0cmVhbShF
bmRPZlN0cmVhbUVycm9yKQogUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBz
ZXRMaXZlU2Vla2FibGVSYW5nZShkb3VibGUsZG91YmxlKSAKIFBBU1MgTWVkaWFTb3VyY2UgaW50
ZXJmYWNlOiBvcGVyYXRpb24gY2xlYXJMaXZlU2Vla2FibGVSYW5nZSgpIAogUEFTUyBNZWRpYVNv
dXJjZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpc1R5cGVTdXBwb3J0ZWQoRE9NU3RyaW5nKSAKLVBB
U1MgTWVkaWFTb3VyY2UgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBtZWRpYVNvdXJjZSAK
LVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG1lZGlhU291cmNlIAogUEFTUyBNZWRpYVNvdXJjZSBp
bnRlcmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic291cmNlQnVmZmVy
cyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6
IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWN0aXZlU291cmNlQnVmZmVycyIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IG1l
ZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVhZHlTdGF0ZSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDIpIApAQCAtNDEsMTIgKzM5LDYgQEAgUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZh
Y2U6IGNhbGxpbmcgc2V0TGl2ZVNlZWthYmxlUmFuZ2UoZG91YmxlLGRvdWJsZSkgb24gbWVkaWEK
IFBBU1MgTWVkaWFTb3VyY2UgaW50ZXJmYWNlOiBtZWRpYVNvdXJjZSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImNsZWFyTGl2ZVNlZWthYmxlUmFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlICgxMSkg
CiBQQVNTIE1lZGlhU291cmNlIGludGVyZmFjZTogbWVkaWFTb3VyY2UgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJpc1R5cGVTdXBwb3J0ZWQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxMikgCiBQQVNT
IE1lZGlhU291cmNlIGludGVyZmFjZTogY2FsbGluZyBpc1R5cGVTdXBwb3J0ZWQoRE9NU3RyaW5n
KSBvbiBtZWRpYVNvdXJjZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiYWRkRXZlbnRMaXN0ZW5lciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAot
UEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgYWRkRXZlbnRMaXN0ZW5lcihET01T
dHJpbmcsRXZlbnRMaXN0ZW5lcixib29sZWFuKSBvbiBtZWRpYVNvdXJjZSB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZh
Y2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5l
ciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6
IGNhbGxpbmcgcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsRXZlbnRMaXN0ZW5lcixib29s
ZWFuKSBvbiBtZWRpYVNvdXJjZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiZGlzcGF0Y2hFdmVudCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIAot
UEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkg
b24gbWVkaWFTb3VyY2Ugd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
ciAKIFBBU1MgU291cmNlQnVmZmVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2Ugb2JqZWN0
IGxlbmd0aCAKIFBBU1MgU291cmNlQnVmZmVyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTY5
LDggKzYxLDYgQEAgUEFTUyBTb3VyY2VCdWZmZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9y
dAogUEFTUyBTb3VyY2VCdWZmZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gYXBwZW5kQnVmZmVyKEJ1
ZmZlclNvdXJjZSkgCiBQQVNTIFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhYm9y
dCgpIAogUEFTUyBTb3VyY2VCdWZmZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVtb3ZlKGRvdWJs
ZSx1bnJlc3RyaWN0ZWQgZG91YmxlKSAKLVBBU1MgU291cmNlQnVmZmVyIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2Ygc291cmNlQnVmZmVyIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygc291
cmNlQnVmZmVyIAogUEFTUyBTb3VyY2VCdWZmZXIgaW50ZXJmYWNlOiBzb3VyY2VCdWZmZXIgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJtb2RlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNT
IFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2U6IHNvdXJjZUJ1ZmZlciBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInVwZGF0aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIFNvdXJjZUJ1ZmZl
ciBpbnRlcmZhY2U6IHNvdXJjZUJ1ZmZlciBtdXN0IGluaGVyaXQgcHJvcGVydHkgImJ1ZmZlcmVk
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC05MCwxMiArODAsNiBAQCBQQVNTIFNvdXJj
ZUJ1ZmZlciBpbnRlcmZhY2U6IGNhbGxpbmcgYXBwZW5kQnVmZmVyKEJ1ZmZlclNvdXJjZSkgb24g
c291cmNlQnVmZmVyCiBQQVNTIFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2U6IHNvdXJjZUJ1ZmZlciBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImFib3J0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMTUpIAog
UEFTUyBTb3VyY2VCdWZmZXIgaW50ZXJmYWNlOiBzb3VyY2VCdWZmZXIgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJyZW1vdmUiIHdpdGggdGhlIHByb3BlciB0eXBlICgxNikgCiBQQVNTIFNvdXJjZUJ1
ZmZlciBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3ZlKGRvdWJsZSx1bnJlc3RyaWN0ZWQgZG91Ymxl
KSBvbiBzb3VyY2VCdWZmZXIgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBzb3VyY2VCdWZmZXIgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkg
Ci1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBhZGRFdmVudExpc3RlbmVyKERP
TVN0cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4pIG9uIHNvdXJjZUJ1ZmZlciB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRl
cmZhY2U6IHNvdXJjZUJ1ZmZlciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlbW92ZUV2ZW50TGlz
dGVuZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBjYWxsaW5nIHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLEV2ZW50TGlzdGVuZXIs
Ym9vbGVhbikgb24gc291cmNlQnVmZmVyIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJv
dyBUeXBlRXJyb3IgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogc291cmNlQnVmZmVyIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzcGF0Y2hFdmVudCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDIpIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChF
dmVudCkgb24gc291cmNlQnVmZmVyIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgCiBQQVNTIFNvdXJjZUJ1ZmZlckxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgU291cmNlQnVmZmVyTGlzdCBp
bnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgU291cmNlQnVmZmVyTGlzdCBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCkBAIC0xMDQsMTUgKzg4LDcgQEAgUEFTUyBTb3VyY2VCdWZmZXJMaXN0IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUK
IFBBU1MgU291cmNlQnVmZmVyTGlzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsZW5ndGggCiBQQVNT
IFNvdXJjZUJ1ZmZlckxpc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hZGRzb3VyY2VidWZmZXIg
CiBQQVNTIFNvdXJjZUJ1ZmZlckxpc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25yZW1vdmVzb3Vy
Y2VidWZmZXIgCi1QQVNTIFNvdXJjZUJ1ZmZlckxpc3QgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFj
ZSBvZiBtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2Yg
bWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyAKIFBBU1MgU291cmNlQnVmZmVyTGlzdCBpbnRlcmZh
Y2U6IG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsZW5n
dGgiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgU291cmNlQnVmZmVyTGlzdCBpbnRl
cmZhY2U6IG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bmFkZHNvdXJjZWJ1ZmZlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBTb3VyY2VC
dWZmZXJMaXN0IGludGVyZmFjZTogbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9ucmVtb3Zlc291cmNlYnVmZmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MikgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVy
cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlzdGVuZXIiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgwKSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50
TGlzdGVuZXIoRE9NU3RyaW5nLEV2ZW50TGlzdGVuZXIsYm9vbGVhbikgb24gbWVkaWFTb3VyY2Uu
c291cmNlQnVmZmVycyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmVFdmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMSkgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVF
dmVudExpc3RlbmVyKERPTVN0cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4pIG9uIG1lZGlhU291
cmNlLnNvdXJjZUJ1ZmZlcnMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBtZWRpYVNvdXJjZS5zb3VyY2VCdWZm
ZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzcGF0Y2hFdmVudCIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgKDIpIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hF
dmVudChFdmVudCkgb24gbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>310485</attachid>
            <date>2017-05-17 21:29:33 -0700</date>
            <delta_ts>2017-05-17 21:33:41 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews121 for ios-simulator-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>1044688</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
lKKxSpmxRSKAAQAAfAMAADYAHABhbmltYXRpb25zLzNkL2NoYW5nZS10cmFuc2Zvcm0taW4tZW5k
LWV2ZW50LXN0ZGVyci50eHRVVAkAAwgTHVlhDB1ZdXgLAAEE9QEAAAQUAAAAzVLBattAEL33K+bY
QK1dyZYtm1JwHXqJoaYKTaDksFqNomlWu2JnZUf9+q5aBwJNLoVClznNezu892Zc9V1/W6bpSt5t
YGcUMxz2Hwcy9Vf0TM4CMVDXG+zQBqyBLFQutCC2fW9IqxA5LG61qzFRfS92LtJsYHGJRzSuRy8O
RoXG+Y4FHVpnsaRuiC3nk/6MPCOXl1d/8rh+EOXIATuxp8orP4qDp6MK+MmrDk/OP7DYMmPgM16i
P5JGTponwss4vJWPaTafY75eFxegbP0fOot/gnvd2Evw2VcmV0UhLxL4bBFcA6FFCCcHJzIGKoSB
sU7gpiXdQtQ1LXuwNTZkY/9NJtPVTOazdAWZ3MRayCRdFnCD1RWFa+TwZbAWfQxsuqF8sZnni2K+
XtzB+9322ivLUwZ7NaLfgHxcykLGl9U5yg8wA90qe0/2Hno/JRRG0OeMS60MTrcWnobMnDUjmGnU
u9/yW3VEsA6waVCHV8Su/6FYr+LePP34dSl/ofgnUEsDBBQAAgAIAJSisUqFaLnr9QAAAB0CAAAw
ABwAYW5pbWF0aW9ucy9DU1NLZXlmcmFtZXNSdWxlLW5hbWUtbnVsbC1zdGRlcnIudHh0VVQJAAMH
Ex1ZYAwdWXV4CwABBPUBAAAEFAAAAM2RQUvDQBCF7/6KOdpLNrEaUm+1xYsFAwEVxMMmOyFjNzvL
ziax/94IEQTr3ev7vgfzGK7fm9c8y/L12y3srBaB8nA3kDVPGITYAQlQ7y326CIaIAc1xw7U1ntL
jY6zI+qlYYOJ9l7teNZcFLXHES17DKq0OrYcelFUduywon6YIw6JX8gPudo//PbEHFV1koi9OlAd
dDipMtCoI94H3ePE4ShqK4JRFl5hGKlBSdpv4TyHy/Qju0rzdbHZFCvQzvzDZXMn8t/DzuFl1/WN
Lop0lcCjQ+AWYocQJ4aJrIUaYRA0CTx31HQw3/X17MEZbMnN+cUnUEsDBBQAAgAIAJuisUqJnP4G
qwAAAF8BAAA9ABwAYW5pbWF0aW9ucy9jaGFuZ2UtdHJhbnNmb3JtLXN0eWxlLWR1cmluZy1hbmlt
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
DNwELMjLgVcylQsQgopTRML7C0W79jcvLsIfOxDWk4cMVKPl4hArcvv0+AjNvYKhebByt9njZF5n
02/Zevep3mRfNmuYsy0so91k81uN8XfZ7tNye7jxqvkku8n28/1ivbn/spy/ylpW3OI33c/g7139
KiP9i9t6d7/dddfjjp9rnvy15uE/vVHBF2j6QxwsEPSp/gwX5k/2efHxOsMSov3vi8g1N6uHbxmG
KOGd9SLrMmReZXfr3eThZ0bZpbjOgA8s5/Vq9zN58yP54ads+zuspXp+v37a3QNZT6vmPAI6m+/f
wCT6H366+HWz3E2mDzU0gJ0fmyXikl9nv8PtXb06tHqml8OlqKemkX1PWTP2cz8fr97ffXBv4bf3
4fXVzbvsYv/v3b9+Cadeur36d3PP33x4d5f9uFqv8tl68lBvZ/X8p+zi5+NP8vXu3uGXCzfbLb8i
SubdZjLDxTv6gWGZN91/sotyD/AKWxjDVZ6abbLtvwEqNLnuvfGm0YEzh18qu1nN6hRpot/HtXv7
9saf+XgUa3Uf+qC6ewNMm808+4KccPzDWdcHvPFLu8YzYF5ftnV2tVqsnxn57Z3zb7LXH9z78gRZ
Ul3S6+5teGM3mX0+uwqoutT9Nz5e3zcjcXcn10DGjt9KZBf396W7c8/0Ifd9UMPxjatr9zqce0Wy
aOT392+v3r0J5dXdqRcsvTTdfBh84y788+4cUYxcqo4qi298eHflb8ozdEnJ+lQ9NtsxwxOiU19K
HucD39g2GXbZIwjdzbf0K2CW9VfJn99Rdzd3za4+PQoqu/kQCubj4n9QSwMEFAACAAgANaWxSilp
YeuVOAAApRwBAEAAHABjb20uYXBwbGUuQ29yZVNpbXVsYXRvci5Db3JlU2ltdWxhdG9yU2Vydmlj
ZS02NTQxNS1jcmFzaC1sb2cudHh0VVQJAAP2Fx1Z9hcdWXV4CwABBPUBAAAEFAAAAOxdbXPayLL+
fPgV+ujUlmBepRnXveeU0MuuT17sG5zd3NraooQ02LoBxEqQxOfX3x4JsATyi7yQ3dTKVYkxM+rp
7pl5+unWIK6yNFJ5fm7Uf6J03g+Xy5nqu2mmRsl8PQtXaVb/a6Syz0mkjF8tzjD/rXcVrm73BcHP
wAFBSRSuknSRDz5Gaay07IGbLlZqscoHnvqsZulSZYM3ySQLs7vBVZZ8DlcqyMK5+pJmn/JBXY3p
tmHws8ryQq4z+HjlbjTKB230739dRvfKvA2jy1Gr63sXMVyZTBOVnb/Uh72NHfvuo1T0sWWclb9f
9VxwnnF9t1T1jh+FZVrMOHsHTv6sXsFMZKCScbU3uf/617+MX/FvvfcqX4LPksmsJudFk/4hV5lx
4e0rzhHu9TyYw8F1Mt/TliBsm4ib2IaX5wyfE7tPpG2YyEaodzkympwB82JA00cDoz7GffAJ5j9i
RvArMGeZZquDqzDuOYt0cTdP17nx4UNFx8C3vAALYRIuPBMzyzOH3JVm4BHXkYGwHOz2ej2tueF8
CT8pY5QswOZhmq7ODVASISNXUbqI815vdJev1Ny4gPVzkyWrO+31lYpWhSpxkofg5bjXc7Mwv1Wx
cX2bqTDeqSIMw0vyZbiKbo3f12oNrnpoGuAV7BS9YCegR77KwuX/6Ct6Pf9rpJZ6wPrS8D+646Hj
jR3X9Ucj42x08ePww+hVpbteTrvl8dp//2589f7y2nevLy7fjQPn4s2H974Rrgz0VdtcGI5oyKYK
VYS8A3NrY7qX769G/vjd5fVF8L+93s9vjffqRm9S450KMxBWFXTe05eNrh33tfHjB+e9V530yqiE
w/9m9Q1LT8Ovuht7/ZthmuYg+/LVGL3973cf3hhGvgqjT8bNOsxiY5pmxqrwuyF6pvlPY1Q0Hvzs
S68OF4rNcJwgGC77shvOvfzFuBf/PGsKaTXx8iXWyF6vAq7GaKkiwKEIFiN0mhdvnvfiuxmst2Rh
xBpkF+Nlpqaz5OZ2dfYK1ngpCJ2ft1mHGxAoQPPrqh/OZuXKHKlVXq5JdIAnQbpexKWexc8/Notq
Op2KiGIcSWREtyr6FKSZO0tzdR3eGD8YXJIebikMxVNGjWWY5erj2zf+TM01Gv5gYE5oj7QVNp0C
5t6o1SZEXE7+D3Y3SLMp69G2wpQdTxs0ozaxe+yYmvH2PrNZo89s0rPaCotCEhpjNwAshLi+unuT
5CsXVpqO6en8w3UgIDaE2nAkSM9uK37C1KRZ/C/J6nYjGmPMe6Kt6HAKIP2EZEl7siZ3X+a+XCYs
CJa28cOv70ZVybCPknCW/Ke8dFlp2Y52nhYgm5+XG/pcZVmanf+mlWA9jFoqQSMaF0p4SRGggGud
Vf94ZSzUFz30lg5dTs+T+Xy90kGsGBWCZQ/jlsNKZk0fHzbeva6PHiSbcRnvYfIgRakPCz8YUcua
hBPt8l3cNPLtK2dVcNV4C1qlabBrMG03hgjtODLM+zFAGEBtUswfvC6GyWtoWY7FLbuHWUuDmATw
GI8ZLwasg7CxM0YPXYy7WSvjySyNPo2TxecUmAyMbdEeBniYJZN4A/l9iBHJpBYLq1MYWthiCHbc
tv84miUwQeMIkD9da5gQPaCp7UTackoqIidhlgGFHud3i2g8vVfXhlmx2zpKRNJo5SQYiOg1JtqO
ZE/QAyNNw/Vs5VUH9Hdj2biHZTvGXR+YSkyJMQ8hrIM0znoEle6HYN/g+gOgIxxziPvAK7IC5XdM
ALdjAs2MVEd/UCEvqPH4k8oWalbXqqKMFEjSWFmwspd68m/HADjq65cwKTRDRfi/l7YsuU9NXN00
iykG0WfTsZQ2LvbARqaQBQtoJZPwKW+Umc/SL0UgQwUbaDMHbIoBwt+AlJ/UDKD//Pz+9dmrYqsW
pKDVvCKbEKB6kaZQWoRoTQWkCtVUh9ch9JopbzaNFm/SMC7/1DJt3poSSCW5uBeq5flfVVSGFmcR
v1erdbYodohmfQS1ZgWxwBAitgP8qFbBelFElas0gT2ZAa98F861/hw18ILHNzqfTCB0VoD+4lKb
oLZO2WL+h/dvig0OCcQeR3jOGDKeVAPW3hizyh9gzHYoi+8RgWeELR7Hom6NRhlYdQ+M/aoY3JnN
yj/z34pdxPaowDPwMlT2tDqwMU4Xwxp4jLUrC1aktpqU8Izs9hQgmoR2bbjPIBiWkF5xQfIV8sCV
+pAni5uLclBNuYqwUBpoFYSgTVQjGLCsGighQm4CcLiIx5maqbDcl6SI/8cOwm3j+gTRqsgC8Mdx
dh9X2oZ1gm1kH0jcRXPOZBHOWykpY04rIjNYL3uaciqK2N1O7ARS7nuxup4I/KNEeKoZdhmk24Ue
BinZLkx8+X2TqOtshMhtkG4RdSjDZZCuyaK7cE0eDdcVd5jzcBHeqKx9bGbAZIxP6rNea7+neS0m
P9/ZEbZ4xdnzm+x+URCIc6StwEkcxXsCdw7iZOcg2oLPNFaHZ+nNDQDEC/xmAVyNx1+yZKXGizQK
F5GaNTGa6HFjpaVsgWEOxnkhS290e4/APEME8AKYgHE+na3z21IGbStDkgnI+BwvM4ioUx17IJdg
rTWh1DbuZWDRVK1oRYYjaWMDfS1e64KaXlNESLtgKaeCb9s4OnwL49jwLY3jwzc6DXzjE8A3OSp8
b8jAEeGbPYpO2lP9TSJpAvS2xiART0Nl5GoeLm9hFxX5z1gzrcbECjaYrjJVBVbtiTEKIwUcPs3H
dZFlptIWwQmTkj1cANjkVVw2VVkfp322QIB1Vdo3S9NP62Ul2adENNRbHxcbMjylVbFXIThukoZZ
DFn/orznY0RFtfC+abRe6ttTV/CvKOoVV5Y1rUdx7yEVmHxShW0yUhkLqKzVNh0RoXjAXCNfT/Io
SybqtzKS2CfEWXF8nG2LijgkcvI4hGEh0Qug8RkYho+LYeTYGMa7itF3XjESKDLiWX4317zJal0v
igXm02cVXjCx28PQCyov9jervLStIx2t8tK2uPRHKy/om1de8AkrL+T4lRd69MoLOz5156eh7tYJ
wp593LAnjh32rI66d9S9o+4ddf+Oqbv996Hu7e5VChs9+14lEaL1ObBW9yrZN2DM/JsxZuvPYsz2
t2XMbTODP86Y5QmRvDU8PoMx46MzZnJ8xkxPw5jZCaINP260sY4dbYSxOQR/rKijP8/w8M8/Dk+t
G6hYzRQzTpGFKWFM7NSTXR3rG9ax0FQYuvuPs3QSznQVy4l+XyeZqpaxdIenJxhEWhJNYVbjzRn3
cg0XQa3l2SkZ3YvgsvUpJ2pjPZ21o1OuPtReBqhiVtufdwY+IqJn8xEKzhOn5CPyG/CRtvWmP3B2
Cv9ZZ6fIt63g0W9ewWMn5CN/gQPMT/MR+/h8RJyGj8jj85HWh52eODuFj81HMOpKeF0JryvhdSW8
77iEh3EHYh2IdSDWgdj3DGKkA7EOxDoQ60DsewYx2hWQuwLykwXkJ4BNWZSUYPN+vVjpJxDBsG/C
NUzuT2m++inUNcTySQy89S3NUFHLqktPcudzmMx0Jbn+EXUiOG5/vJGFABDViPOgfMxJ+0OMkVDq
xTVJLNt/eKVVTRIfvyZJjl6TpMevSbLT1CT5CYKIddwgYh89iLDuSE7jDSqp7yFtb1BdbR9hdX8b
TC9ve48hP/loGklDxvU9lXejzX2i3cOx6rfVNvhhveAsTqjsFve+CEPdWZzuLE53Fqc7i3PSsziY
dxWXruLSVVy6isv3XHGx/gyyDNAWWRVo02l03Ixvz58OZXFZmY6bLF0vS9DcoBHWz3hrTWNCQV5M
YyxEd2WZU+wudvzdxY/+/Iz2DxB5ksa0fm7I82hMa7B6BgJI47gIcPTHH+HuEyxdutyly1263KXL
Xbp8ynRZdOlyly536XKXLn/P6bLs0uUuXe7S5b9vuky6T7x0NKajMR2N+Z5pDDn9J15s/dUqurKX
3zwIX88RRCd0J0hjC9+C1qw40DfOk/nBnNU2hVRWFE2NTfd5cjOeZEl8o8YaYMbr5ebx2bStVJsr
btx3H08T2AVqES/1x701mbFbo5UVTS1dFOX0RQzq4FuKYO3wE+5y6/i73D7RLv97UpUTfySke4Ds
t3yA7FPHkgVEnfqh5wewqeAx7Y9VAzgRdjxwsmjHQP7ODIR2aVSXRnVpVAdi3zOIsT+pGnzy5Orr
MnqAt9Rk4EkoJowa0H28TJYKlsd6lSyKL6QCikFbC5N6ArW04pFZU0Ddikh8/01JzxY5sWg4KUVu
+NC9PGZt06PnixM2BuTeJpP5DSnu9+M9iNHyNl+z9Lb4zjD9TdDV1SUmNp2G3Bi9/Xc6cdPl3f03
+ZZfu9z+vEIkrejFlXdKeGu0aYNk8vhI1hpxnj5AgI9/gICc5gABPQHasuOiLT862nbn7TvK2FHG
jjJ+15TROn/B12ByVXwNJhj8e9E/K86JvrTOxm3RbDIR9AUltqefWRyVzyw2vsA2Mz4Ky9i0FJzE
OLOYOUlWr857hpGFX8+N3cba7q8YGiYNDbAcjCx6qCFubNCDxElDCxie5buG3SOPlaVlTZYHDdOJ
bsibGgQMYmSiYZBIN8gHFMbocHRb247xwRUEWdoSTHaXFE9gwMQSEHWggeqGSYyQCgm0EdhAEusG
9tAV/L4hYpNoirC0CnclDTYqrfB0tqcXBr30I1kzUmko78GUru+9SW8SABfDvfpwXqwm1Csfuuum
sSrf0VcSfZ2Ie9c6/L5bzycqKxsxhYXVGyYFU76YA7XO9brZXHf/7aWmUXuTITC23fejGmeUij62
QFT54pXxX8FwiDxpC1NYgpsUeciUzKWmx4fS97gzpJ7zT2PgwBBgpQ4v+eBjBJbpUQcQdFYArvkA
IoTSD7jIBm+SSQaWDK6y5DPshSAL50pv83xQV3C6bRj8rGCVarnO4OOVu9E1H7T6Pl5IT+6VeRtG
l6NW19f9zaImf6vC3zq1inKIT9FqAyFnABcUPOkIHiBsS9Oy0NCkvitNwT0b/rM86hLuBAECT67z
bACXDQ4E1XXgTXMehdOp/XAUb5hegRzmDF3XdAPHMqktuSldj5k+QObQArZPufXtprfWpWavjaxD
e20kplP65BrfnlRvst9DGCOPWOZQYLCfEs8UgWWZ0nJt6gnLdgLx7ew/7L3V/VF/bTvVPYZZg8cI
edRj9x/mgJ3W5K9h4FkUD7npYofBevGxKT1wGqfEsagcDn1v+Kf4q6b5A72rXWq+knHD6oI3H0XQ
neOv75aqry1W5i/Fl6ZTMZ8bZ7ivJWJwGiIe9lEgTZcQHzAUgFTgAJvIR0K4ApaZI1s57WqTiuWD
YsB7nbY5WoODa8qDu9NpMlOF0I0JeaGAMgqRes7Bin6ezOOixwp67CPoYf89r4ZNXg1f6FVG6l7l
Qzz0HRaYgtqwdX0SmHLowHqUlCLpOIz7+K/nVW1FG6/q/nteVU1eVY8h/yNehQCXqNwkB4vWJT7E
KeGaAcR5k7rYh0gliek40g6Yjwm1nb+ae0tjDNJ69e5dWHe4Ig0OV+SPOnx/PTtDzhj2qUlsF6aD
Ywd8jZHpcyEdYFmOw/Ff2OHtFvbehXsOb0JjZevI9UPTgaUzaZM+RX1bowK3fZ8FQFApck1KXGQO
mbRN3/MlQr6HvBejQnJ1my7Uo24cea8P++Xxpx2rK5PMwW2arwYNpvRKezfPllMVjrd9E2MVMnvz
jLozaqE+IZrHCWZbNAAe56LApBgYneO6zLS5IxB3fYawVyGX+urKWIJIdDAWvEnwHla/VhnkJWkO
I+/WLR4ym7FhAAvVgegmfI0R3DJ9QjxKbBQQX1OoUWn5dqFVQvdWaHPU3rZW1aUMhQfq6jf31HWi
CAh0Bryi/1lFb/RSoX2sr9v8qf/S3mMCE+5R0wkwsBoOfFDYjJtB4HpD2P2uZ1uPmlAZ6CmiUo7c
3K1s27N00mCpNrRm6XC2Vqs0Xd0aZ6zP+pqzFb+neoYYsonvUN8MiOfpPQFBcoilCYFSukCibVQg
y8PmXVzu5DcrXulQ136CGrSfiG2qFKXLO40w242Mid7DDhOQ0w4h9NAAkJDBf8OhJUzmWjwAxk4E
JZXFvNlTB+L2NImaNIm2mqiFym7uVlkY3SuD+gz1CwLnMIldxwZdODZp4EGWJKVjcuEMGbWIJciw
nrodiNtTZtqgTCQOQsp8ni6cdTmruj/p6+XKhpCYUKDe1AJkowHsOAFwBzvedlzusUAMg8P5bGLY
W/kPpRfb9rr2kWzSXhWZBZi6XnxJFtsC2hnlfZ39BpY/ZMLnJvOwjm7gPR3wTFdSO4C0QSJGG+e0
Kq2mBg/ZoRpcWXtOfKtW4cw441axKfQv0IbCihc2xuA3hCCN4VLHWkjIEYJcXAjfkvTRHVFIbfZa
0VTX9BDIBWTw++nFSIVZdPs6WWlWUM538Vt7D4PDhBCwAF0Hph2SB8cVvukDB6bClV4wfFzfIq5v
KidPQtROkeaeu+aakXY1alfe3DPy4nIbUK9m65tkEYTzZHZX5UGehATTY8IcejpbcrFtSt8CMLb1
+5btU+w8Z3U3j/QQfjX1rdknqDq0TzBZLDdYm+5tslC5uk4/qUXyH5XtUESvN1sCk7ZsmDpkwbZ1
bWFK4nomsziyMZgnPFYHkGZxdY1YQxAE5NzPr4LLpVp4SaYiYCN3Ba7pg5MGlkyHbxxIbtnE5NyH
rRBIz5TYxib3hcstx/clezx816Q/XdcIntF/r1Pdaqth24tQbtEnAAr3Xt0k+Qqkb+eA875mSY6N
PE+zQcqBIVLmOaZ0YdsHbAiQJpAvrccDYYU2Pns3Odej5j7vVZ6uM13KbFS7ZnWEG2hARPZrvNeu
W91KAff9IbAwU3LYRf9P3JUsx3Ek2bu+Yo4yawtY7MsxVkkzVBu72SObW1stWRRGIMABQJmkr+/n
WWtkZgGcMZjmQoKVxYgXmeHu77l7JFRwiFsuVSZlTr4KkXxUX2NKGHZ5CbjQw1QLoWGzGiYwT2PB
HYz+DnHthrSAEC7cGL5/WIaHokApAzkD2L5jHnQF/MVGF8HKXJKvsJarLmy81CPf+gXkw4mpfPi8
enwa0rv44bSphJUjUNtMEBG021N2HGZZmFdcs8SVyboWkVL5M9jjAsp+icPCw9nKqb/4WxlZ8qiF
Oa2Pt2qU8JxJHwxTBRQ5iupY8xJiqghu69tbzd/K8lf+Vro1bcOCD9yGzdEr/321vV3dX3A6bckw
XOWUhmuMhzymfUGGhQ7wgdY77zJMpb28t6gOcy0t2xl2j2ACfjsDr6VZ7zbdA/l1nOzfvvWjXfuR
EAB70kISAwDxU1pBuyDIsATkvGVwDs/fbM+N819RLOO1y1VpgJmvShl1tKT10ydY+5Ed6vFpCG24
hmT1CYsxDrYDushMMS2m7CBEbR8dL8bo5zZ2ae5wnJto0E8/5rHif7ZjuBzKHFhecO8SczxAQmOD
UBUAwUHq0HJyJdryaiD87t3yfdp//Xa/JeYoJotYLSxitT3u6c1f/nIjzoppL1F8y7BMRRTWwEh1
AMOAGGBWWwfwDbR7wjAuhumm107MpzdEK/bT//t7ObGmrHlz1ngmNYi0cgqMTSjIN6hpq3JoRpQ3
sqbT5N/06OacQDu7Oz729vB098/t7/dgdZszL7uRtPkMGE+CJ2Ot6IQYaSCm4O5YrlzyFlQFYehv
3Hy0DoxzC1btvDiC+bz6dHO6g5KMObdcREgIGyR6oXlhx0lk6F2pKjSTaSPjvYBwMUY/94YvzE2p
s54S/vzl/pfb+4+HR0E3w1H0taP6Lq5JbzLj3IB/25RYAE+A2JVWCxiySvWr1GU/yRWm13+pX8ww
D8naizBZzHcfPvTyOOnAlVIg20lVYj2QmgXUx3qvbQ0Rnv5l34gRl9HiQofQ63lSQa9XU1Z28Yq0
b+1NoDstTSDHJyJRHM54EnA5FZi9BTMVlACxJtraXqY455GXAOeL6x3u9WaO27idmUhnxO2RnR0w
a65vNO2QpjRUg62sFE85EbAeqBvPsg1JSuwa/Yq97wdehry/9k2PzC7BPTvEh0+fbxHM/vl4cup2
ZJBC1dwsXLghj+7BJb3lgbnk6Jd5w9fnciWPNBmwg+P9XAmaMONRt/e/nFc4qi66i1KMogv+MjcF
6tFcIBuD2s1wm9loHnF7k1Ivi668elwvP/QudP9wiaEjwPe/fNPDn3tQs/E7a/a3+GH935ubeLq7
nuysGARozx0TDZpCyQh1IbhhWhcXGzRtlq53W5ejdNNvtnN5Y7aHdgbqhPh0Jy+cZgA9JWLqEncc
TJR7KZmKjbMUweeylTUi5jl4sUlHxcU4HYDtbh5zzY4subOI1Zft7cPN88PD3frht5tI//rH/h8k
u4QaUzaC8l0KwIKBO4e4hk8PFmHFZjjVKDT2ZOTKh5dt5GLw5Wd4+Y3LxVixmz9MqyiZPyv9/2P4
7ZlydHL0nzro/Z2NJVVwSMOKbmATSlgWbdasIAIUK0yuWb+ab6Kxr/ct0NVL1IiQ89jlaDG9We0f
AY0wrp9c/74WMf4N7DU6oFaJcYtAqrIXLAafWfagkfBVvLyS0DiNfR38eLlHb+UC+vWJNW2+fH46
72BwvFE6BmG8jhrSSkA1KkR73GehQD6khNriymU/YW0X43QAgpo/dLehaLmelSmPImzvRegjosHK
HjQ4/QBwsqTYcojM5mKpIFkYwpQGSyleRLBh+0oc/V8lHc9Yrtz20/Vv+hWuFpZNzlhddnXePzzf
7i7yQafUPjZDKlVpBgpb9+lVSPkGT+x8VSFADObFGLEwcA9MLj0PtT5uiMP/Xz3dnbSQVJT7GCs2
olF+pjGRKKXQ6NZHNRaEjXO1gJCFl1CdRu0hqc0CJC+PkFZfnh9Ot8hT3jKEUK3gjQEQVVNBA2PB
LTI1cx2SNaVNCh/nMfqp/eLUw+RubB7ud7cfvzzuKc0BiudyfFqjWy0VSqwFkDl+6D9KULuMCwt6
J1vDs3vpxixM0OEcVnPyDvphjzh//fH26SQhIIpG5ZiaFbI5SIgIt6MayIZPCEu+iJSTFDVn8ycl
gC7wXa4Lt3BecaIPZ704m4cVEb4xQbyvLHPnvIuJFamo9mXInYaEP8ChrFQwFPGKF8CY11wpLnU4
wwIR8CurJ3H4/fBIyXrKq8T71d3vT7dPXcOVK9kXJZmxEcQvFsW8KlDEJUPBpAhm8lUFsoVplhey
8MVuWWtp5stau2ls+/x4e38RMm/e07+P7nl0ztrtc44mVg8XnEimBtI4cBAIbPBiIefUwC9defOc
3AnOlZtwvNwv3cmlpU+f6OL5wb4sZEErbaFODhiZqZUlUwKrUHoqNS5EetnIZqNfq25NvjZZzcKD
3O42s5rLX4fnPe93lt/YG2KGh5/IpnIKcAwQUJRvUqJQRhXqBBS6VS59LDa9bFPH8a/VTw6XO+yD
mutpfHhKjh1c5HjM5ulE9cnBCQlOH4phIK6Q1SZRohHEn3rCRZY6+Wpe8rqXQ/aQVnO3BHlujpA+
DZsVFn8CE+zocGuzmSfcNdwuqoniJuKeNWZDNArcFJJ/krPpBrqEEEC05hCs1EcI7+L7mP9jlvTX
UipfAcEmKusFhOnUqFuB68iz9E4K9Sf5/EuE3dICnwezEMQp6P5xTiNauJc99UiqpqQlQj74D0I+
FH5ovFDbauW6aO7iRFT9sZRGDCs5F+1hZd1x8u/e/ec5hznOnGHfJlAbdlUgG7WBbEhnWJKQBsKm
AJt5mwTsae4O8VYu3K6tUrMK9unRUU+95OYQLccfaB1GpOakZuBw2J2J6AC3FbySZ2u4sVqbrytg
X0x0rY518ZV+MQtyIGz1djeccyaPw9PTBc+SnnI7XjUtwTeFMIX6XRwiPYxepJoM1HZUfML4ZiP1
OPSwhGO42qk1Cmn6DxcfiX2blvFKOCciyyJja1ppsDVrYBIhz8KduvpaIeoVmztf79YwLOSfwu5A
5c9r2CD0PR1j6YefV4/Dtt3eDe9un6jCqW80bRI9OjBRZCzOJQZuBYIiDW31sbiGGyyjF1LkN+zn
6LBcCXvddy6Xv+LDvCCAD+WoLKnoOKK8SWdzliCQh84pIY32uTA7CtwxRaOSYNZZbDNXJKRlv536
0TogOiwAwYdHl/LL8Punj4/ddvbKiVwNRQpqfcvYLUkhUtTgs7MiWcTbxch1OVYHwoq5YYGgntL7
k8Od3xouRvVCQSM7DUUJk7Ii0sMGa4umQmCbkrPPABaWG9v6QXs8Wi7gWU+p5Xb1vNoOz2NDxdNm
pJRunzaxY9LEW2FBoljgEb7XWwWt7zPT0lZbioi5fFXSn16xUI7TXKeKs691S3J+bm8rTwWwbkn7
3298tAKsR/p9Cm7/A+0+E1SLePquaGgX6h5IPgfGcxa+umRkekMz6/FcCUPdd7pVg0TOV70bTo0t
d398Wt2Yc3Mi7afMFSJmgvDEplIZmypSvosXcE3w4sxz7a3rcpDL2dd6oZSxttS+1eUMn4bNl8fb
59+Pu8c4pdwNdSGDBMhxI1XEPjrcYhKEifeVhQpyFHnEJ7A9ncMrNH0/wzV2vr/aYXdq3l+3dqup
f/5+uP20pV7Ay2KRKcoahXvmE1W7pAnMe+tYyzq6ApKbvm7jHwZfRn242IPerBdAb6fVLfql4B/v
9hxpr4XGH6jtRIaALQyHlgtlv51gqYA9leoMZe6iy/L/TJf21zrAw4LjWw9KzItGd8NP72M7lz7G
vTHe8f0ecUmCNUO7xZoQx0vNLOlYqFE/Zd6K4F5+zT0/TnUlmB+uXi5iczh53C1iw8P8pNfdw+OH
3+83tFnCIb0c9p0XLStXJYfTptINZBw1KNFTUAGXfGnevbnyPuG5lkc5XO7WKhb47EZspm6U+lUp
Oowlqr1Vj+cp9sVx8P1MTRlQgNhjwlCLLGdelpI4Ig8+fjsHekRyva+WrvZr3IqFNW71qSuTfunV
h7za/DxM+z2g3wIicERIqFR8TRDhMTbWUi2VCwS8HN+u36MD0S1BLjDkjTTiSK8u3qh5Pu/RBFdJ
QvcW5WFCPicWgoysQicVPDB42+V26vNoPQizXgBh+fE+0iuzTrlh78xI7pSgloBGffCNwmvx2Bje
MNFAzXWtWvC6COJitB6FFUsoVpMscf+Khm8FHU7lN3pMDxdRm85MFERFFROkV8525Jy51hqMeTFv
3o3cQ1tob944s1k4BXa13G+AqindSLWMAlcyr7xksghwQdO8NvFVa3q55B8n3+nWMAzz5NVm2G1m
SfjH4fnulAHyivgrWUwOvMSqPNNw0Nh0IrMo8LxltNEn65yV/uXk+8XAl8hgxPPWxK0QYjfsXngF
0bdOE7SxVhVi4AZ2DBTEhJTCVoTfsllF77NOcF0vPvhu5B6bNQvY7PZon4cRtvdPT9tz+4EhUqTH
/LnwAawfLpT8qLAIdiYbBtJhnAbVwLN/CdnFuB0sZecbEh8OS6drjw64fai/0vG2UaOpUaONu/Pw
M4XmZpKLEuw/C+ilFhGkQ/KsGOxbUUVwIb6dwz/iufLFw9V+2QvpZHxoTmJ08zgM93+HEZ9b8CFi
bjTtEkic7EIRTIO3wgADvczCNJZTlLIY7OVWJmp0NlyPZjUsoDlXfX/eEz+2ero/pdq0GQ1qJPDB
i1I1JwJPeS/bIFBqgFvIPlICxuYySWTOR+wA6YUG7K1R5twJd//8nnqEz+cTjB8PTqoAh1SjguRL
sCBPvfEBfxQOiDE6pXP7f+yNvwTdrdjY3cKK1+tJ3fv7H85CESyU6KgxI41OziYt6A0YJlIBWDMf
mma1FZejKiKHt6+knNFcEQw/LEnErR0WthvWf2pv/enHD/sDLIe3ik0zrIarCFfJxr56PHHQucoL
syEbZ6zXyfI3ojzLSPrV7ObRfjsmLvr259sxtdhWm2FfClM3avRb498kOY3m0teInUunHLjzLMok
WDayamqsMOGrJNxxhitP73C1W8JaLi3BTTXRh98/rR+Om2Q83UXbz3NNAaI5nqh9lohnoFo/HbTP
oKXgd74aVX3+KjXUTXJFPV9+pV9IWC8sZDVtHP3weRg2P/992Dx8pFdqHntHqKfKjQJPjr7Epsgh
TzkrGg5FGViXdw0ayYKdWdEaN1+VAV+c7srSlr7aL3Hll5bop5nouTnDZ3tSgH7sjCrGwXyYoBoJ
XKZhqYH41piLl8Jq7/XbuIuFL07Ws+Dq19vpIdLza1Y7B0hPy/CxGqk4fjJaUhikUhYdDxb4KRkX
TanCmfCGIm+O50qKcPa9bvWbhW4xfHhKw5bb1cf7h6fn282Pw9MTvTRr0vXPx5O0UqsE98+kINsz
BjIqIwwEE/EspVIpTNLTL497CXFQ63nCZNBWTzbcerX55cvnrlUUMlyPrYRupJBNcV2JtgQ8F3pJ
U2XBUuKnwVEok7Tn/mvMKU1murzd+2sd/s1CZB12M/zf/3BqgaQED3lmz93IyhU1jGdtwGyoD0OD
n4fMK2vCJwUxVI01b9HmeoJwLZoudEnu5EJ1dCf1+lyg3J976UNoSqKJGBQzgpPm5ZbFJKjXx6uW
6WUBLbxVkfJi/g65tvNc7U5vpm8/2GPIlx1PY3Ftv7XGPmTvva1cg+5bC4USxzxWRCgCBUq85mTr
ywnyhTmuhZ7ZF/s1bRaeht6aSXPC/b6vYfjtebi/rF1CTBGpVtS0BmEUTMmOWaMoBQ2ZHahdRFOa
wjQLRqtfbOlbnKNHu52Lr51zS9mAsk+tSfo2zGH0uMTBjA6CWWHpwIxMlDhpzOtaeaaDKF/RXluu
ZsqOV7/p0S3cYBdOfQ6fsPGeTp0WtDkqEIbEFSt0NkXF5hm97YBlLUwOvqrGJ8dSLsfoJw9hYfJh
Gqso2b25Iz/iDil6N+ZcuWvJU7s8ldCZQsCldKtnoeqatdeBu/qq0eUXUt35XQ935xfg7k4vi/ju
hzY5AuVFVhY3hkXK6iiVofLH1+pp1bRvlhzFGx2BOk3eQfYLiW16hcvEfm7vd6c0nnaO+k3HCBNj
kNJCCegCYeCwK6MFq7E5pqiTa02/mKQ4D9uDUqsFUCu/UDKYUiIoQ1i1I1apgh5BwhvpTOIUtoIw
mDVYZVOZwXyct4pDK+s/T6HiQr/WBTpGdbXTnnk3iSSOFwO+qBjXVHLVlFZvAjvItixN8Eb6N4sk
S89mbRbwbk6pi/UfY6Hp7GApywY9oqXxLPNGr/qhvjXIZyYoOxBzTkpPDhl2o/Tzb+bsaBeGE4F7
+p+72+dBnar5wo6boGRFeo5OGJK0cJRNNS4za0NwMhAJn/SndAN1EFZ6Lnp2K3dKer+//zgx86SD
TIZ6YgR1i8NsWHS+MkvF5FiMxn58IzM/TX4BOXDtZ4dr8SEdsN+nv+jNHLe/DueTBkpRY9dIzAh/
dlZHKEzj6HxcCYZF8lXg+D4orCCbCd+dDNiBAWeYg7HulI74rv3Xvq1ksvNbSyolOBoeK71uyXGW
KOUiUuZBNe+ce6PKywRBh957OUfvwwn9b6vHc3/c4SS8kghF1jKZNd0+OrJZvGCON529CVzlyf6/
GKSbHNPMJw+zYiqBv73/CF+tcevU/r1Ohx/JGEqRXkBdg6YlpiQVFGoFrQipQSG4pONXCYPDNNc7
g3Cxh6/kEvwpA/3r8Nw+UBFkX0Ddv2pLRqM0biG9RVg1CXJWM708zNsoeI3ilSOP45jLSMdLPU67
XsBp1+f+0ufV3fjLxZ+e/9XbtfW2kSvpd/8KvRxg5qEN3i8B5oFkswMjcTIb2zl7zouhSysRYste
Sc5M9tdvFVtq9VXW2QnGCBKnL2QVm6wLq+rj9PG53r4nBGSWEMmJySMQRZnO0BuuojagEuGvSJkE
l1nm/qzNjLe/34V9XWGD/DEiWmxM5aLPxlR2d8oenr6s1ttqv62ZOm09K2RhfRZzjkgavMi8tibL
GZj92odcncdBav9VjdmkYiRntfFEm08rBvi0tRPwMF1/WTWkSSqhCkEUBJxjGRCbyyt0YcCWjpE7
SYscawM7OTCNVlrdz/p5JHDxGAT9c/uwa1TeV6l8JhJOYeJmVDKw5X0EK1mCMCOSOaEdVVp0ixAb
zbT7LwfYn5W9Ig3Elv9U4uiVm5v6c+9RfTQ1KfPJoKbSWYEwQzwYASIW/iKCggDzXNHcn1XEPdDX
iNMx8GSLu4GMVLgoZCf62IJgYwRTP5PPFEE60gDeCFYkwThTROuDmeyUsFIVRcHUydDuMBYbUqAG
yJKkL8oqILZKmKkkzHIFg0xjkWF0DOwhjNwgDi3z3ulgXJFrcc4o7xsflWodCDagbzEwU0syG/A/
P68W5RNKA5MgnyoHlDrHwA7wWfAwKTjMiMwrUMiUCivAxIMxfT0xLrU87oGm202qKZe93XJEXRnK
o31Zpd0ktP6VqgAuKGYlqgIzyTQiXCIckAqZLKQWugBmmDsP9G5T3l2Nk3131aJZ6v70oGCdd5PC
583tYmUS6fhPymuPMfdRZYXE8jDEKDYMTGfGPQaYcmOFPSsffP6a39J8osWFWvb1IB7l1Bn5k0Bh
nDqlwcYFQZvwaYnLsCQHeKF5gTsW1Kq/ChQ2BvuFxJohDmp8JnzzZr5ZPe/AVrnbrR6OOB82fQWX
k9zBmsxADFqMEmnEcATvwcWgQL/73HUch5Em22Tx5QBZkg1E4RsQnUfVDP5UcNaBNSERiIgEmdlc
xcwIjeW3lmsaX12Ir4Bzth5pU2+HpsWyrna8vSq6Gx1oCjkH1qYrwCTCHNPMckEzQkWhOMXzh/1P
8oCOvbeJXvZlHzVlDcS3gkXwvVFqnfY3iASxgRv7zCHegjLgazMC2lEH+PBM+diJs7daafU/m/Zd
MDqb11k0x5P1ftFK4g4LKmQpcsrBfwa7QIDnmIPnaGxkiD2pGStsTs1w4WrdXJuI/nYpXFyQXq3K
zUs6UxAXswF2EkJB9RsSxSLmJKlMMAx/5Dl8VkxQEWAzSTB0FXtlH7Juf6w8ZX+7RfuCDIjUBes6
D9cvD7vV7ull/rVnd6A/Jg4QZXvIAiYLxzRuDyrMXNEc1pQvJNZVUCaIy5U7Sxef6LaVjdh9rM0i
H2BxSUQnm/q/Xqab3f/uCzwrWStQ6CZxG6LTCr6N4jhlk12rnMmEVr5QOS+kOb3Qjo2PIKnV91uk
L1k5QPps8CyEdli7ispjWLvSe6AvfEFhtsuEtsjgNwNmJwa2mbeBGePiuRr7jOB277EmWww+SY8t
xsiiGy0tZy9fqlYwTsoTIAJP84s7wYLkYEdjLYHRFCxRWMDg+GuHNqQ8z4lq9jAS+Ww80eKBzfQA
DzM9iJDxsl7tthVEyd26wpRt45MYDw4LAxGImUfMoQXIQCwGkOmgezT4L6/jk2DLJ8BJ8HaLA95H
a8CLtez8H5iT0zUeVnos/k8IhALUeEEygo4Md0xmHjNYotCeS6NyS4YTD7vtNYnhYDv0iOFWLk5l
0H28OVVvIgtqXUFhFCXBulSD5gWDJWw4TPwi6mDNz4ukH2kZMaZuhmxBbo0eYNt2yxy3KaHicvtj
vftatgrfJ7/Iy730rX5JSFa5I8SbTEYwZjgo1MwYKjJpc8+kpKx4JdL7/9mbr3I+bvoU9hND6ofa
QzGw38DtzByh7uLbjv2jqJDUxJDpoLHaV4IxT2DxwPd13AYF5n34aVh3h95bRE/nA0TDxQPRL+v5
ESgpbRKCi2qFzoLWiOWDWFPAC+iVKCOoFVOMZGnXDbW77ycRWz4T81GIV5zT/1wVq4RhkOxeSrDa
OMGLcGmxWMhzTCAvXILAy7PoDA+gx30IxbkaArsYVwx4t8XGQP4IXqzDNfNmyYDGjR4rhXEOy00d
JkhKrD6NIYKBAb6+QHA5oYfRxAYT/y1fyL6m5Yt9YnGzzG39pQlyoffI4FVolJqcgUnOM8cjpm3C
fLRauIyYKHNw5YnQP3/hNUkaq3M7PtFkGpzEXpgMLk5FA8vt8WkdNj+ej1g0oFy1PEDjWDTtGG4B
CQ+6wIKQwYxlLFw01FGDbtMYqFun5TZhUzlEmO4EUFtFvgfRYNNGMYVZLF0R0rEReMAbyECPpwRI
bsDlKDwj+Wvp8e2mWwRKNkCg5HW84tufjToRBjaYQvcdBXSVaEwLZ0AVMZwmjOCaszKLKhoqlY5G
DAuBY6ttYiwbIGZpOpt5+1SKuhbW1AhHYHyAw605eGR5QH9IVzEgbyw4wFgiH+gZSRoDpKmy79QK
o7qFdXdXzTqNSjIJXu01OeeBPqWzqHGpI3ikR0kflZLgLpo8Fmf5Es0+htdJ84kWF2bat5TkjJIB
DLe3m+nz19U8CYcUucAKLlUdh6MomCIOAZI4+A6cI1Sjsx54Qtwerc86OODQwbh4PTxx0aaWDbDA
aviJXhKPTgAEucWpocBNwCKZ4FVmjecZIk1TGmSQolPTOp6oY+Xc9BcNXDSdVb2drheYPnbYM0Ck
ln1hiVPQuw0Z5hiA6UkkqCiHyEIx4Ynawp+seWm13CZtXg6QNq+HpzobaGArwXARcwWESIqn1SjM
OnECtGYoOPWGwCAN17Q3W2yRsugfMmNlOZ8dosqDsOdeBIYFYGDyYRVnUDmMkcyz4ARmlTHwVtXf
hIAyCHhu5XLAUpIIG3ooDvxU3LysdmULjJqAYyQC5r44E/C8BhBMzINCDcwR77xxgXeOamg106RA
EdrfB1CUdfcBFuX22+7pedtI0MWoR+Wt7ZN0nbJE5SILaGVzDHh5aWxGhFJgxwkYbnue+5m6Oqh6
fGDMC+092GKNzfsbsorz+UjB+LJVFJdKx8ErqI7gjAiPojNNsZSRFuA0UfAfNFhXQqCHx/KzKsZf
k7X95y7atC+GGDrlDg75gJHnRcSKbLANHe56gGkC/nRmpbdKKC+1/6s+YPOJDgt9kaKEJIcyuu/5
ze9d8DqpCVOSxCwv0GfNJbgHVME3iAVxDHxF5v8uIKMjeS2u5LyvCpVc1EH8+eNzLSbTGaVO+IIF
leE5hZXDY/McQTdssNEbBAXuQNjULbQ61mxg9WrBOkbOI54cX/tcSh+gJbG8LxrPsgIrJbkAigyG
LYVUjHLKtNInVUez3TZdi4HPbIhpAMRPZ6tj6kqVjG0Zi6DtVUaihWGhEpNONcnAAHRBcKFZID2E
+LqdFgGm7O+cKCu7pw93fMD37sOAD8g9R53O4WsF/Foc0ZICzQRnhRM0zweRR7rOH7R9wvmDuxdt
UmcD9Jtpp6SzrjPllOBSAZ+KptQPME9xqRTg/EmTTtrTnEsfdTyZWPw4MJQDMKF4sa5n3JSPT9/L
5hlpIs0tCR+Tw3ekAmY2B18eHCBpcW5JF1hh7Ig9322vQ8zAhC95fXTDav6CTsoRCBpk+CX8SfvV
YLh7KhQegEJgcMAHNZglVUTw0XKZMxl0N8TSau2i3enAsJTzbkHwEc2fGJYcnpSlCF8jZ3iiEeK/
Bx8ycJJDFvMQvVBRKHcaI7RPj2b9hG+4uOzG+d7iuW9JtUwfbnZPm3RuR4WtzHgVhzTBMIrzRzCL
CKawIG2IRYbnNIBva2TwZynyga5GQOv7D7ZY431YQLgIa6Gc7T3yTTlv+eMw149uXCCygCnoJH51
IR3u4MASjoIaYRwe3zXijbdbbZG0HPj6ermX+O2dkRdg5/ppUT6kNLnG6cAmUOMEGG85OrzBY/Ah
ELAqQKPZnGri6DnD3O1jfLuj+VSTG0NYf8PVEN3dMXMRzAmSUnhIFbAWloG2AfWBm94GTCIHujwr
YH0bCs5y4X5iWZaLI/v4sc1Lv4oALtouqvG3crMuH0Z3IwzMf7CF8IgJrNgsNHwmTETRkhoTAnFB
n1yhzeZb5A3lJYIorDXj+9W6nG7cw5eygSpZezRFEcG5zIusIGAAcaAjAzJdJoLT3mNZBvu7DnIa
ILTNqLIDjPaq//PV9pvbzFa7Q/nPoU4zHeMgpSXMuUzyFAKSMnMw9bIij7n0IDzJK3v2ndbH6vha
D3W4WA5wYcpROyJh+sCCorRhSTB6yatUTUuE1oWLGRh5EuubcXO+8MBRUYAdy2g+VMs9AiyUujkB
LZTut9hJ2NFddqYL2t1sKOcrjJs1j4DhzFPwN1WWpwhXIQpEKgOl7iTzQgcelT+5zdBss0PUgPSZ
KbFY9GGbMOLQFKK+0DH3mBUgGcbUiyRORRZRNoFRlFc4q+eNZwpnjA8n3m4RPiunA4Qvu0cy7ONU
m2PlbztSVVUkyn0CvI3SgcACs0TgMUksl7jPBFaCz8FZB9kjZPwZFYm9cuQzq5ZbI7BQA9JsoeuD
Vjfl9unh+6U97pOj2gBnDrSyyagFZcGVIyDEcpoRz4TCc9x80anaajfToqDkAzO6VN0Cnk9gVO7K
z6vyj6NnXFk9NKkyzzAYKCxYhFg3klME/AIrgUo8uYlbJvlZ5xD2+xkLo3Wfa3M1IHZSSn4/e3J/
9Bo9HMiK2Yiicly0ZtQ7FJqY/csFk5kBVrIgcx0kprI7/6p+PnG0Wn37okXmQJjCMtUVmb0oYwWb
kD5JhfgoLThXCMUZuYl4IC8HWclUJkAJKk4RCe8vHNq1v3lxEf/cgbKePkzANFotD7kiNy+Pj9Dc
G2AtgJe7nTxOF+Vk9mPytPtabibPmyf4ZluYRrvp5kuJ+XeT3dfV9nDjTRqS3XT77X75tLl/Xi3e
TCpRXOE33c/h7135ZkKaF7fl7n67q6+3O36tefLXmof/NLiCEUj9IQ4WKPqh/oyllP9nfV58vp7g
EaLN8UXkmo/rhx8TTFHCO0/LSV0h82Zy+7SbPvzGKLsU1xOQA6tFud79Rt79Qv7x62T7B8ylcnH/
9LK7B7Je1mk/Ajpb7N/AIvp//Hrxz81qN509lNAAdl43SxGe6XryB9zeletDqyd6OVxq9lQ1su9p
kng/9fP56tPtnXsPv32Kb68+fphc7P+9/dfvceylm6t/p3vh492H28kv66d1Nn+aPpTbebn4dXLx
2/Fn8PX63uGXCzffrb4jSubtZjrHydv7YUSYd/V/Jhf5HuAVljCmq7ykZbJtvgEmNLluvPEu2cAT
hyM1+biel0OkiWYf1+79+4/hxODhngw/9EF1/Qa4NpvF5BklYf+Hs7oPeOP3ao5PQHg9b8vJ1Xr5
9ArnN7cuvJu8vXOf8hGypLqkB6qYgTd20/m3k7OAkUvTfOPz9X3ixN3G8XeOYyUmF/f3ubt1p/qg
6lLu+6CG4xtX1+5tPPWKZC3O7+/fX314F/Or27EXLD3yQQ2+cRv/+/YUUcC5qqmy+Mbdh6vwMT9B
l5SsSdVjWo4T3CEaGyl5/B74xjZV2E0eQelufgy/Am5Zc5b85yvq9uNtWtWjP8LImnOhgfOL/wNQ
SwMECgAAAAAAlaKxSgAAAAAAAAAAAAAAAAwAHABjb21wb3NpdGluZy9VVAkAAwkTHVn5Fx1ZdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIAJSisUqvV0X88wAAAB0CAAA4ABwAY29tcG9zaXRpbmcvYWJz
b2x1dGUtaW5zaWRlLW91dC1vZi12aWV3LWZpeGVkLXN0ZGVyci50eHRVVAkAAwgTHVlhDB1ZdXgL
AAEE9QEAAAQUAAAAzZExS8RAEIV7f8WUXpNNrpDE7rzDxgMDARXEYpOdkPF2d5adTeL9eyNEEDx7
2/d9D+Yx3L53rzdFUW3fbmFvtQjUx7uRrHnCKMQeSIBcsOjQJzRAHlpOA6hdCJY6nRZH1EvHBjMd
gtrzovkk6oATWg4YVW116jk6UVQP7LEhNy4Rxyys5IfcHB5+e2JOqjlLQqeO1EYdz6qONOmE91E7
nDmeRO1EMMnKG4wTdShZ/y1c5nCdfxTbvDVYVeUGtDf/cNnSSfz3sEt43aXzvCzzTQaPHoF7SANC
mhlmshZahFHQZPA8UDfActfXs0dvsCe/5FefUEsDBAoAAAAAAIqesUoAAAAAAAAAAAAAAAAWABwA
Y29tcG9zaXRpbmcvYW5pbWF0aW9uL1VUCQADYwwdWfkXHVl1eAsAAQT1AQAABBQAAABQSwMEFAAC
AAgAlKKxSgjANGX1AAAAHQIAAEIAHABjb21wb3NpdGluZy9hbmltYXRpb24vYW5pbWF0ZWQtY29t
cG9zaXRlZC1pbnNpZGUtaGlkZGVuLXN0ZGVyci50eHRVVAkAAwgTHVlhDB1ZdXgLAAEE9QEAAAQU
AAAAzZFNS8NAEIbv/oo52ku2UVpSb/3AiwUDARXEw2Z3QsZudpadTWL/vREiCNa71/d5XpiX4frd
vK7zfLN6u4O90yJQHnc9OfuEUYg9kAB1wWGHPqEF8lBzakFtQ3BkdJocUS+GLWY6BLXnSfNJ1AEH
dBwwqtLp1HDsRFHZsseKun6KOGZhJj/k6vDw2xN7UtVZEnbqSHXU8azKSINOeB91hyPHk6itCCaZ
eYVxIIOSNd/CZQ7Xy4/8xhS39WZTLEB7+w+XTZ3Efw+7hOdd65UtiuUig0ePwA2kFiGNDCM5BzVC
L2gzeG7JtDDd9fXs3ltsyE/51SdQSwMEFAACAAgAlaKxStJ2CHWrAAAAXwEAAEMAHABjb21wb3Np
dGluZy9hbmltYXRpb24vc3RhdGUtYXQtZW5kLWV2ZW50LXRyYW5zZm9ybS1sYXllci1zdGRlcnIu
dHh0VVQJAAMKEx1ZYwwdWXV4CwABBPUBAAAEFAAAALXOvQrCMBSG4d2rOBdgJUl/LSIUR5204CAO
sZy2gXhSkuNPvXp1cHMS/Pjml0cJmUcijWQOSpSvJ2qmCgl7PK0N1xh4eyFCXw3DIZOyUGWcJsU8
yY+wWFW11xRa588bPaIvQdyztBCvxWmWiCVE0PSaOkMdDN4N6HmExhEjcdg12iIYAv5EIkd2BPtO
TeFmrIVeXxHIAbYtNjxRX7Hqj1ivA6M3D83G0Q/iJ1BLAwQKAAAAAACJnrFKAAAAAAAAAAAAAAAA
IAAcAGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkvVVQJAANhDB1Z+RcdWXV4CwABBPUB
AAAEFAAAAFBLAwQUAAIACACUorFKnG7zB6EBAACZBwAAQQAcAGNvbXBvc2l0aW5nL2JhY2tmYWNl
LXZpc2liaWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0eS0zZC1zdGRlcnIudHh0VVQJAAMIEx1ZYQwd
WXV4CwABBPUBAAAEFAAAAM2UwU7jMBCG7zzFHEHaxk7bpGm1WqlbxIVKVKQCpBUHx54QL44d2U5L
eHocKBIS7AnaJfLJ88f65vPIpvjL/6RxPJ3czmChmHOwWv5upRJXaJ00GqQDWTcKa9QeBUgNhfEV
kHnTKMmZDxlHbrgRGLGmIQsTYto7coobVKZBS1aK+dLY2hG5qozGXNZt2DI2anaVN+H89Px9zol7
knfOY02WsrDMdmRl5YZ5PLOsxq2x947MnUPvdvUc7UZydFH5Gvi4Dsf0IR4mYjSaTrMTYFp8w87C
P978u7GPyru+iiTJMnoSwYVGMCX4CsFvDWylUlAgtA5FBNeV5BUErv6yWy2wlDrsHw1pPBnQZBBP
YEhnYY1plKUxXGNxLv0anb9stUYbhPUzlE1mo2Q8pUlyCz8X87Vl2vUOlqxDOwP6kMa0/0ZpMaa/
YAC8YvpO6jtobG/Id8B3jnPOFPaz5l8PGRitOlD9UT9e8Cu2QdAGsCyR+/8Aa1m4Nysfnyfly4jH
X0CcHUrvPmG/rV4+PJTeZI+w+9Gbfp5YHOxx2CfsZ/U+AVBLAwQUAAIACACUorFKIU5CcNgAAADb
BgAAVQAcAGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0
eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLXN0ZGVyci50eHRVVAkAAwgTHVlhDB1ZdXgLAAEE9QEA
AAQUAAAA1dLBasJAEIDhe59iHqCR2Zg1GqQgPdZTK/QgHtZ1ogvb2bAZa9OnbxU8eoob2mHOw8fP
5KjKDHWmSsix+t0CRzOF8E7bFycrauX1yExx0TTriVLTshrrYoZab2D+vFhFw20d4sfSdBQrwK8J
XmasdxafIAN7MLx3vIcmhoaidGADC7G0b9Z4Ascg1yNZYN+BP596hJPzHg7mk4ADUF2TlYd8cGw0
rVB030Zc4LuJVX/xlobKmxL7Z/Na/Ed5b2LT5M3vIB7se1Ni0+Qt+otpOlTelNi+eX8AUEsDBBQA
AgAIAJSisUqZ1eR1tQAAAL4CAABEABwAY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS9i
YWNrZmFjZS12aXNpYmlsaXR5LWltYWdlLXN0ZGVyci50eHRVVAkAAwgTHVlhDB1ZdXgLAAEE9QEA
AAQUAAAAvZDLCsIwEEX3fsV8gJWkr9QigrjUlRZciIsYpjUQJyUdH/XrrQu/wMflrg+HEwupIpFF
UkEsyuGpmExzCTs8rixX2PHmQoRh0bb7XMpClUmWTkWWHWC2XFRBU1f7cF7rHkMJ4p4nhRiWqNyI
OURgTpoaSw20wbcYuAfjiZG42xrtECwBvyGRJ9eDe6HGcLPOwUlfEcgD1jUaHsV/lw26Ywz2odl6
+ppx8rmxKv6VN/2h7Kd5n1BLAwQUAAIACACVorFKLJEgI7kAAAC+AgAARAAcAGNvbXBvc2l0aW5n
L2JhY2tmYWNlLXZpc2liaWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0eS13ZWJnbC1zdGRlcnIudHh0
VVQJAAMJEx1ZYQwdWXV4CwABBPUBAAAEFAAAAM2Qu2rDQBBF+3zFfEBkZmW9IozBuLQrW+AipBgv
I3thPStW44fy9ZGLdOmCQi63PhxOiqZMME9MCSnW4zMzM4hw4OPGacO97q4iHFdd914YU5X1PM/e
MM8/YLFeNZGkb0O8bGngWAM+iqzCcfOCCJeQgD2TnJycoIuh46gD2CDKov3ekmdwAvoNSYL4AfwT
9Qp35z2c6cYgAbht2epL+qOsmVA2Uq8c3SepC/KfjI/2r/KmE8r+Nu8XUEsDBAoAAAAAAImesUoA
AAAAAAAAAAAAAAAdABwAY29tcG9zaXRpbmcvYmFja2dyb3VuZC1jb2xvci9VVAkAA2EMHVn5Fx1Z
dXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAImesUqnX1zt9QAAAB0CAABLABwAY29tcG9zaXRpbmcv
YmFja2dyb3VuZC1jb2xvci9iYWNrZ3JvdW5kLWNvbG9yLWFscGhhLXdpdGgtb3BhY2l0eS1zdGRl
cnIudHh0VVQJAANhDB1ZYQwdWXV4CwABBPUBAAAEFAAAAM2RQUvDQBCF7/6KOdpLNkpMU2+1xYsF
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
AABGABwAY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3ZlcmxhcC10cmFuc2Zvcm1lZC1wcmVz
ZXJ2ZWQtM2Qtc3RkZXJyLnR4dFVUCQADDRMdWWUMHVl1eAsAAQT1AQAABBQAAAC9jksKwjAUAPee
4h3ASJJ+pEWE4lJXWnAhLmJ5bQPxJaTPTz29duEFXDjMehgt1VLITKglaFl+TLOF1ikc8bK1XOPA
+xsRxiqEU65UkZRJlhaJzM+w2lR1NDS0Pl53ZsRYgnzmSk7oDHO5BgFNb6iz1EGIPmDkERpPjMTD
oTEOwRLwNyI8uRHclJrDwzoHvbkjkAdsW2x4pv8+G83AGO3LsPX0w/EbUEsDBAoAAAAAAIuesUoA
AAAAAAAAAAAAAAASABwAY29tcG9zaXRpbmcvbWFza3MvVVQJAANlDB1Z+RcdWXV4CwABBPUBAAAE
FAAAAFBLAwQUAAIACACWorFKe1bPMKkAAABfAQAAMgAcAGNvbXBvc2l0aW5nL21hc2tzL21hc2st
d2l0aC1wcmVzZXJ2ZS0zZC1zdGRlcnIudHh0VVQJAAMMEx1ZZQwdWXV4CwABBPUBAAAEFAAAALXO
uwrCQBCF4d6nmAcwMpurBhGCpVYasBCLNUyShXU2bMZLfHpNYWcleDj1zxeiygJMApVBiPn7cTyL
MIYDnTdGSupld2UmX3TdMVUqCvMoieeIeILluii95r52/rLVA/kc8JEqHBctSOMKAqhazY3hBjrv
OvIyQOVYiKXfV9oSGAb5RALHdgA7pqZwN9ZCq28E7IDqmiqZhF+xyR+xXvdC3jy1GMc/iF9QSwME
FAACAAgAm6KxSh6ZSkCnAAAAXwEAADYAHABjb21wb3NpdGluZy9vdmVyZmxvdy10cnVtcHMtdHJh
bnNmb3JtLXN0eWxlLXN0ZGVyci50eHRVVAkAAxUTHVluDB1ZdXgLAAEE9QEAAAQUAAAAvY5LCsIw
FAD3nuIdwEqS/kIRobjUlRZciIsYXttAfCnp81NPry68gAuHWQ+jhCwTkSeyBCWqt3m6yLSEA543
jhsceXclwlgPw7GQssyrNM+0FuoEy3XdRENjG+JlayaMFYhHkWnxJi2UEStIwPaGOkcdDDEMGHkC
G4iReNxb4xEcAX8jSSA/gf+k5nB33kNvbggUANsWLc/U32ejGRmjexp2gX44fgFQSwMECgAAAAAA
i56xSgAAAAAAAAAAAAAAAB0AHABjb21wb3NpdGluZy9vdmVybGFwLWJsZW5kaW5nL1VUCQADZQwd
WfkXHVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAlqKxSgxS7GmrAAAAXwEAADsAHABjb21wb3Np
dGluZy9vdmVybGFwLWJsZW5kaW5nL3ByZXNlcnZlczNkLW9wYWNpdHktc3RkZXJyLnR4dFVUCQAD
DBMdWWUMHVl1eAsAAQT1AQAABBQAAAC1zssKwjAQheG9TzEPYCVJ01aLCMWlrrTgQlzEMm0DcVLS
8VKf3gu4cyV4OOufTwmZRSKJZAZK5M9rPclUDDs8riyX2PPmTISh6Lp9KuVU5XGipzOdHWC+LMpg
qK99OK3NgCEHcUvFe3EqjVhABFVrqLHUQBd8h4EHqDwxEvfbyjgES8CfSOTJDeBeqTFcrXPQmgsC
ecC6xopH6itW/xEbTM8Y7N2w9fSD+AFQSwMEFAACAAgAm6KxSlPVEq+oAAAAXwEAACkAHABjb21w
b3NpdGluZy9wcmVzZXJ2ZS0zZC10b2dnbGUtc3RkZXJyLnR4dFVUCQADFhMdWW8MHVl1eAsAAQT1
AQAABBQAAAC9zjsKwkAQgOHeU8wBjMyueRlECJZaacBCLNYwSRbW2bAZH/H0auEFLIS//vg1qizC
JFIZaCzeJfFM5QgHOm+sVDTI7spMoez7Y6pUlhTzJM5z1CdYrssqGB4aHy5bM1IoAB9pnCOi1ueF
xhVEUHeGW8st9MH3FGSE2rMQy7CvjSOwDPJFIs9uBPehpnC3zkFnbgTsgZqGapnov88GMwgF+zRi
Pf9w/AJQSwMECgAAAAAAi56xSgAAAAAAAAAAAAAAABQAHABjb21wb3NpdGluZy9yZXBhaW50L1VU
CQADZgwdWfkXHVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAl6KxSgwl2l6mAAAAXwEAADcAHABj
b21wb3NpdGluZy9yZXBhaW50L29wYWNpdHktYmV0d2Vlbi1hYnNvbHV0ZS1zdGRlcnIudHh0VVQJ
AAMNEx1ZZgwdWXV4CwABBPUBAAAEFAAAAL2OSwrCMBQA957iHcBImiZViwjFpa604EJcxPLaBuJL
SZ+fenrtwgu4cJj1MEomcyGNSOagZP5Rm5lKFRzxsnVcYs/7GxHGoutOWZIYnadGL9KlPsNqU5TR
Ul+HeN3ZAWMO8pmlckRhhnINAqrWUuOogS6GDiMPUAViJO4PlfUIjoC/ERHID+DH1BQeznto7R2B
AmBdY8UT9ffZaHvG6F6WXaAfjt9QSwMECgAAAAAAi56xSgAAAAAAAAAAAAAAABMAHABjb21wb3Np
dGluZy90aWxpbmcvVVQJAANmDB1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACACXorFK4/uU
IbkAAAC+AgAAOAAcAGNvbXBvc2l0aW5nL3RpbGluZy9iYWNrZmFjZS1wcmVzZXJ2ZS0zZC10aWxl
ZC1zdGRlcnIudHh0VVQJAAMNEx1ZZQwdWXV4CwABBPUBAAAEFAAAAL3QuwrCQBAF0N6vmA8wMpu3
QQSx1EoFC7FY4yQurLNhMz7i16uFnZ2Py60vhxuiygJMApVBiMWjcTLAKIM17WZGVtTK4sRMftI0
m1SpPCyiJM6HcbaF0XSy8prbyvnjXHfkC8BrqvCZKNlrHEMA5UFzbbiGxruGvHRQOhZiaZeltgSG
QV4jgWPbgX1O9eFirIWDPhOwA6oqKqUXvsXmP8R63Qp5c9NiHH9NPPxYnGL6p3tj/CH203vvUEsD
BBQAAgAIAJeisUpr63eTqgAAAF8BAAAuABwAY29tcG9zaXRpbmcvdGlsaW5nL3ByZXNlcnZlM2Qt
dGlsZWQtc3RkZXJyLnR4dFVUCQADDRMdWWYMHVl1eAsAAQT1AQAABBQAAAC1zr0KwjAUhuHdqzgX
YCT9r0WE4qiTFhzEIYbTNhBPQnr8qVevDm5Ogh/f/PLEMiqEzERUQCyr19NsVuY57PG0NtzgwNsL
EYba+0MeRWVcJVlaztPiCItV3QRFQ+vCeaNGDBXIe57K95JMl3IJAnSvqDPUgQ/OY+ARtCNG4mGn
lUUwBPyJCEd2BPtOTeFmrIVeXRHIAbYtap7EX7HFH7FBDYzBPBQbRz+In1BLAwQUAAIACACXorFK
zLS/zKYAAABfAQAAPgAcAGNvbXBvc2l0aW5nL3RpbGluZy9yb3RhdGVkLXRpbGVkLXByZXNlcnZl
M2QtY2xhbXBlZC1zdGRlcnIudHh0VVQJAAMOEx1ZZgwdWXV4CwABBPUBAAAEFAAAAL2OSwrCMBQA
957iHcBIkn4tIhSXutKCC3ERy2sbiC8lfX7q6bULL+DCYdbDaKkyIROhMtCy+BinC5nlcMTL1nKF
A+9vRBjKvj+lSuW6iJI4X8bZGVabsgqGhsaH686MGAqQz1TLiShVKNcgoO4MtZZa6IPvMfAItSdG
4uFQG4dgCfgbEZ7cCG5KzeFhnYPO3BHIAzYN1jzTf58NZmAM9mXYevrh+A1QSwMECgAAAAAAjJ6x
SgAAAAAAAAAAAAAAABIAHABjb21wb3NpdGluZy92aWRlby9VVAkAA2gMHVn5Fx1ZdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIAJeisUoaSNik8wAAAB0CAAAjABwAY29tcG9zaXRpbmcvdmlkZW8vcG9z
dGVyLXN0ZGVyci50eHRVVAkAAw4THVlnDB1ZdXgLAAEE9QEAAAQUAAAAzZHBSsNAEEDvfsUc7SWb
VtHUW23xYsFAQAXxsMlOyNjNzrKzSezfu0IEwXrvdd4bmMdw/dG83SxX+e37HWytFoFyfz+QNc8Y
hNgBCVDvLfboIhogBzXHDtTGe0uNjskR9dqwwUx7r7acNBdF7XBEyx6DKq2OLYdeFJUdO6yoH9KI
Q+Zn8kuudo9/PTEHVR0lYq/2VAcdjqoMNOqID0H3OHE4iNqIYJSZVxhGalCy9kc4zeEy/0z1V6tm
vS4WoJ05w7K0E/n/sFN47lpeY1HkiwyeHAK3EDuEODFMZC3UCIOgyeClo6aDdNf3swdnsCWX5hdf
UEsDBBQAAgAIAJiisUqwcznb9AAAAB0CAAAwABwAY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tYm9y
ZGVyLXJhZGl1cy1zdGRlcnIudHh0VVQJAAMQEx1ZaAwdWXV4CwABBPUBAAAEFAAAAM2RQUvDQBCF
7/6KOdpLtsmhpN5qixcLBgIqiIdNdkKm3d1ZdjaJ/fdGiCBY717f9z2Yx3Bzat82eZFv3u9gb7UI
VMf7gax5xijEHkiAXLDo0Cc0QB4aTj2oXQiWWp1mR9RrywYzHYLa86z5JOqAI1oOGFVldeo4OlFU
9eyxJjfMEccsLOSHXB8ef3tizqq+SEKnjtREHS+qijTqhA9RO5w4nkXtRDDJwmuMI7UoWfctXOdw
u/7Ii0av9XZbrkB78w+XzZ3Efw+7hpddZdGW5XqVwZNH4A5Sj5AmhomshQZhEDQZvPTU9jDf9fXs
wRvsyM/5zSdQSwMECgAAAAAAi56xSgAAAAAAAAAAAAAAABcAHABjb21wb3NpdGluZy92aXNpYmls
aXR5L1VUCQADZgwdWfkXHVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAl6KxSnOgCcCrAAAAXwEA
AEIAHABjb21wb3NpdGluZy92aXNpYmlsaXR5L3Zpc2liaWxpdHktY29tcG9zaXRlZC10cmFuc2Zv
cm1zLXN0ZGVyci50eHRVVAkAAw4THVlmDB1ZdXgLAAEE9QEAAAQUAAAAtc67CsJAEIXh3qeYBzAy
uV8QIVhqpQELsVjDJFlYZ8NmvMSn1xR2VoJwugM/X4B+6mHs+SkEWLwXxYs8y+FA542WigbZXZnJ
lX1/THw/DIowjjJEPMFyXVZO8dBYd9mqkVwB+EjC6cTwnBKuwIO6U9xqbqF3ticnI9SWhViGfa0M
gWaQT8SzbEYwU2oOd20MdOpGwBaoaaiWWfANm+MfsU4NQk4/lWjLP4hfUEsDBAoAAAAAAIuesUoA
AAAAAAAAAAAAAAAZABwAY29tcG9zaXRpbmcvdmlzaWJsZS1yZWN0L1VUCQADZgwdWfkXHVl1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgAl6KxSsLAyQCrAAAAXwEAADcAHABjb21wb3NpdGluZy92aXNp
YmxlLXJlY3QvZmxpcHBlZC1wcmVzZXJ2ZS0zZC1zdGRlcnIudHh0VVQJAAMOEx1ZZgwdWXV4CwAB
BPUBAAAEFAAAALXOvQrCMBSG4d2rOBdgJUl/0hYRiqNOWnAQh1hONRBPSnr8qVevHdycBD+++eVR
QupIpJHUoET5fpLNRKJhh8eV5Rp73lyJMFRdt8+kLEQZp0khdXqA+bKqg6G+9eGyNgOGEsQjU2Jc
rHQuFhBBczZ0snSCLvgOAw/QeGIk7reNcQiWgD+RyJMbwI2pKdytc3A2NwTygG2LDU/UV2z+R2ww
PWOwT8PW0w/iF1BLAwQUAAIACACXorFKiEnmzNAAAAB8BQAANAAcAGNvbXBvc2l0aW5nL3Zpc2li
bGUtcmVjdC9uZXN0ZWQtdHJhbnNmb3JtLXN0ZGVyci50eHRVVAkAAw4THVlmDB1ZdXgLAAEE9QEA
AAQUAAAAvdLBbsIwDIDhO0/hB6CTE9oGqgkJcWQnhrTDtEPIXIgUnCr12Lqn30DaE3Sp5bP16Zc1
KlNgVSgDGpvfLesHZUp4oePOy4F62X8wU9p03Wut1AqbRVWulKne4HG7OSTLfRvT5ckOlBrArxrv
s1BO4xoKcGfLJ88n6FLsKMkALrIQS//sbCDwDPJ3pIgcBgi3U3P49CHA2V4JOAK1LTmZ6cmxyfZC
yX9b8ZH/TWzGi4+T5c2JzZN3OVqsNU6VNyc2S94ljn+I93KivFmxY/P+AFBLAwQKAAAAAACMnrFK
AAAAAAAAAAAAAAAAEQAcAGNvbnRlbnRmaWx0ZXJpbmcvVVQJAANnDB1Z+RcdWXV4CwABBPUBAAAE
FAAAAFBLAwQUAAIACACXorFKNgQVuPMAAAAdAgAAMAAcAGNvbnRlbnRmaWx0ZXJpbmcvYWxsb3ct
bWVkaWEtZG9jdW1lbnQtc3RkZXJyLnR4dFVUCQADDhMdWWcMHVl1eAsAAQT1AQAABBQAAADNkUFL
w0AQhe/+ijnaS7a5aOqttnixYCCggnjY7M6SaTc7y84msf/eCBEE693r+74H8xhuj+btpixvN+93
sPNaBOrD/UDePmMS4gAkQH302GPIaIECtJw7UNsYPRmdZ0fUq2GLhY5R7XjWQha1xxE9R0yq9jo7
Tr0oqjsO2FA/zBGnIi7kh9zsH397Yk+qOUvGXh2oTTqdVZ1o1Bkfku5x4nQStRXBLAtvMI1kUAr3
LVzmcL3+KEtE4zabagU62H+4bO5k/nvYJbzsMq6sqvWqgKeAwA5yh5Anhom8hxZhELQFvHRkOpjv
+nr2ECw6CnN+9QlQSwMECgAAAAAAjJ6xSgAAAAAAAAAAAAAAAAwAHABjcmVkZW50aWFscy9VVAkA
A2cMHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAJeisUpRQY4Q9QAAAB0CAAAhABwAY3Jl
ZGVudGlhbHMvaWRsaGFybmVzcy1zdGRlcnIudHh0VVQJAAMOEx1ZZwwdWXV4CwABBPUBAAAEFAAA
AM2RQUvDQBCF7/6KOdpLtqklJN5qixcLBgIqiIdNdkLGbnaWnU1i/70RIgjWu9f3fQ/mMVy/N69Z
ulkXb7ewt1oEyuPdQNY8YRBiByRAvbfYo4togBzUHDtQO+8tNTrOjqiXhg0m2nu151lzUdQBR7Ts
MajS6thy6EVR2bHDivphjjgkfiE/5Orw8NsTc1LVWSL26kh10OGsykCjjngfdI8Th5OonQhGWXiF
YaQGJWm/hcscrtcf6SbPtmlR5CvQzvzDZXMn8t/DLuFl1za7yfP1KoFHh8AtxA4hTgwTWQs1wiBo
EnjuqOlgvuvr2YMz2JKb86tPUEsDBAoAAAAAAJGesUoAAAAAAAAAAAAAAAAHABwAY3J5cHRvL1VU
CQADcQwdWfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAkZ6xSgAAAAAAAAAAAAAAAA4AHABj
cnlwdG8vc3VidGxlL1VUCQADcgwdWfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgACAAAAnaKxSiXg
0wgsAAAALAAAAD4AHABjcnlwdG8vc3VidGxlL3JzYS1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBh
cmFtZXRlcnMtc3RkZXJyLnR4dFVUCQADGRMdWXEMHVl1eAsAAQT1AQAABBQAAABDb3VsZCBub3Qg
Z2VuZXJhdGUgYSBrZXkgcGFpciwgc3RhdHVzIC00MzA0ClBLAwQUAAIACACdorFKMDu4sUsAAABo
AAAAPAAcAGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMt
c3RkZXJyLnR4dFVUCQADGhMdWXIMHVl1eAsAAQT1AQAABBQAAABty7ENgDAMRNGeKW4fGlawZEux
gDhyLkRsDw0d9X9/S7+Eht3ujuksMQhRdXpUOaBCgaShBtFHa5E0XdaP44w3skgFZ6Cln9Z/hgdQ
SwMECgAAAAAAkJ6xSgAAAAAAAAAAAAAAAA8AHABjcnlwdG8vd29ya2Vycy9VVAkAA28MHVn5Fx1Z
dXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAJCesUoAAAAAAAAAAAAAAAAWABwAY3J5cHRvL3dvcmtl
cnMvc3VidGxlL1VUCQADbwwdWfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgACAAAAm6KxSiXg0wgs
AAAALAAAADEAHABjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVyYXRlLWtleS1zdGRlcnIu
dHh0VVQJAAMVEx1ZbwwdWXV4CwABBPUBAAAEFAAAAENvdWxkIG5vdCBnZW5lcmF0ZSBhIGtleSBw
YWlyLCBzdGF0dXMgLTQzMDQKUEsDBAoAAAAAAIyesUoAAAAAAAAAAAAAAAAFABwAY3NzMS9VVAkA
A2gMHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAIyesUoAAAAAAAAAAAAAAAAUABwAY3Nz
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
nrFKkQDAfPQAAAAdAgAALgAcAGZhc3QvY3NzL2F0dHJpYnV0ZS1zZWxlY3Rvci1keW5hbWljLXN0
ZGVyci50eHRVVAkAA6QMHVmkDB1ZdXgLAAEE9QEAAAQUAAAAzZFNS8QwEIbv/oo5upemXRFab/uB
FxcsFFQQD2kzpeMmmZBJu+6/t0IFwfXu9X2eF+ZluH3vXm/zmyp/u4Od1SJQH7YjWfOEUYg9kAC5
YNGhT2iAPLScBlCbECx1Os2OqJeODWY6BLXjWfNJ1B4ntBwwqtrq1HN0oqge2GNDbpwjjllYyA+5
2T/89sQcVXOWhE4dqI06nlUdadIJ76N2eOJ4FLURwSQLbzBO1KFk/bdwmcN1/lGsizWWVVWuQHvz
D5fNncR/D7uEl11FrssyX2Xw6BG4hzQgpBPDiayFFmEUNBk8D9QNMN/19ezRG+zJz/nVJ1BLAwQU
AAIACAC9orFK2wjTQjsAAAA/AAAAKQAcAGZhc3QvY3NzL2NvbXBhcmUtY29udGVudC1zdHlsZS1z
dGRlcnIudHh0VVQJAANVEx1ZrwwdWXV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVI
VCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAAKyesUoAAAAA
AAAAAAAAAAAUABwAZmFzdC9jc3MvZHVtcEFzVGV4dC9VVAkAA6QMHVn5Fx1ZdXgLAAEE9QEAAAQU
AAAAUEsDBBQAAgAIALiisUoyKE/+9AAAAB0CAAA+ABwAZmFzdC9jc3MvZHVtcEFzVGV4dC94bWwt
c3R5bGVzaGVldC1waS1ub3QtaW4tcHJvbG9nLXN0ZGVyci50eHRVVAkAA0sTHVmkDB1ZdXgLAAEE
9QEAAAQUAAAAzZExS8RAEIV7f8WUXpO9WITE7rzDxgMDARXEYpOdkPE2O8vOJvH+vStEEDx72/d9
D+Yx3L53r0WeV8XbLeytFoH6eDeRNU8YhNgBCdDoLY7oIhogBy3HAdTOe0udjskR9dKxwUx7r/ac
NBdFHXBGyx6Dqq2OPYdRFNUDO2xonFLEIfMr+SE3h4ffnpiTas4ScVRHaoMOZ1UHmnXE+6BHXDic
RO1EMMrKGwwzdShZ/y1c5nC9/chvdIdFVZUb0M78w2WpE/nvYZfwuqvdlmW53WTw6BC4hzggxIVh
IWuhRZgETQbPA3UDpLu+nj05gz25lF99AlBLAwQKAAAAAACtnrFKAAAAAAAAAAAAAAAAFAAcAGZh
c3QvY3NzL25hbWVzcGFjZXMvVVQJAAOlDB1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAC4
orFK1fC46fMAAAAdAgAAIgAcAGZhc3QvY3NzL25hbWVzcGFjZXMvMDAxLXN0ZGVyci50eHRVVAkA
A0wTHVmlDB1ZdXgLAAEE9QEAAAQUAAAAzZFBS8NAEIXv/oo52ku2C0VSb7XFiwUDARXEwyY7IWM3
O8vOJrH/3hUiCNa71/d9D+Yx3Ly3rzdabzZvt7B3RgSq491Izj5hFGIPJEBDcDigT2iBPDScelC7
EBy1JmVH1EvLFgsTgtpz1nwSdcAJHQeMqnImdRwHUVT17LGmYcwRxyIs5IdcHx5+e2JPqj5LwkEd
qYkmnlUVaTIJ76MZcOZ4ErUTwSQLrzFO1KIU3bdwmcP1+kNr7LDbbssVGG//4bLcSfz3sEt42YVa
l+V6VcCjR+AOUo+QZoaZnIMGYRS0BTz31PaQ7/p69ugtduRzfvUJUEsDBBQAAgAIAOyisUpguYB7
4wAAANsBAAApABwAZmFzdC9jc3MvdGFyZ2V0LWZyYWdtZW50LW1hdGNoLWFjdHVhbC50eHRVVAkA
A6wTHVmsEx1ZdXgLAAEE9QEAAAQUAAAAhdBPS8NAEAXwez7Fo14UomxDjWmPpQcLiiKl4HHNTrqL
6y7sbkhq8Lu78U9bA8HD8GD4vTmM5nty4AHnLGUX8OqdUDDW5owlwBMZQW6rqBkheqR+nR3aS23L
V3S3m/u7jzF5sFbs0S0fVs/ftEin+Y+9KWZtxr7s4PJqvR0e/oMH/PEf/Ms31AZ0ZyHGsJFns3Y6
P2kAPYOrzVE2SgTZ0wUma3hpay3wQpBqJ3WcQAKVcj7EZclrT7AVgiRwU0rr0pgCgi5PfSPJ9MYR
lIexqBzfvZEJV5PEl85qHVGwYPFvySdQSwMEFAACAAgA7KKxSnAcAi4YAQAAEgIAACcAHABmYXN0
L2Nzcy90YXJnZXQtZnJhZ21lbnQtbWF0Y2gtZGlmZi50eHRVVAkAA6wTHVmsEx1ZdXgLAAEE9QEA
AAQUAAAAvdDBSgMxEAbg+z7FUC/KbpptXVr1tBQ9iBepYs9pMtsEs5uSmdDV4ru7FUuLD+BA+CF8
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
BBQAAABQSwMECgAAAAAAvKKxSgAAAAAAAAAAAAAAABIAHABmYXN0L2RvbS9Eb2N1bWVudC9VVAkA
A1QTHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIALyisUrAbtur9QAAAB0CAAAvABwAZmFz
dC9kb20vRG9jdW1lbnQveG1sLWRvY3VtZW50LWZvY3VzLXN0ZGVyci50eHRVVAkAA1QTHVlUEx1Z
dXgLAAEE9QEAAAQUAAAAzZFNS8QwEIbv/oo5updmgyitt/3AiwsWCiqIhzSZ0nHTTMikXfffW3EF
wfXu9X2eF+ZluH2zLzdaV/r1FjbeiEC9W4/k3SMmIQ5AAjREjwOGjA4oQMu5B7WK0ZM1eXZEPVt2
WJgY1YZnLWRRW5zQc8Skam9yx2kQRXXPARsaxjniVMQT+SE32/vfnri9ao6ScVA7apNJR1UnmkzG
u2QGPHDai1qJYJYTbzBNZFGK7ls4z+Fy+a611Ve2qsoFmOD+4bK5k/nvYefw1662u8ayXC4KeAgI
3EHuEfKB4UDeQ4swCroCnnqyPcx3fT57DA47CnN+8QFQSwMEFAACAAgAsp6xSt2+mXj0AAAAHQIA
AC0AHABmYXN0L2RvbS9jcmVhdGVFbGVtZW50LXdpdGgtY29sdW1uLXN0ZGVyci50eHRVVAkAA7AM
HVmwDB1ZdXgLAAEE9QEAAAQUAAAAzZFBS8NAEIXv/oo52ks2haqJt9rixYKBgAriYbM7IWM3O8vO
JrH/3ggRBOvd6/u+B/MYbt7N61W+2eRvt7BzWgSqw91Azj5hFGIPJEB9cNijT2iBPDScOlDbEBwZ
nWZH1Ithi5kOQe141nwStccRHQeMqnI6tRx7UVR17LGmfpgjjllYyA+53j/89sQeVX2ShL06UBN1
PKkq0qgT3kfd48TxKGorgkkWXmMcyaBk7bdwnsNl/rFeW7y+KctiBdrbf7hs7iT+e9g5vOwyRVkU
+SqDR4/ALaQOIU0MEzkHDcIgaDN47sh0MN/19ezBW2zJz/nFJ1BLAwQKAAAAAACznrFKAAAAAAAA
AAAAAAAAIAAcAGZhc3QvZG9tL2dldEVsZW1lbnRzQnlDbGFzc05hbWUvVVQJAAOyDB1Z+RcdWXV4
CwABBPUBAAAEFAAAAFBLAwQUAAIACADBorFKDbbeIPYAAAAdAgAALgAcAGZhc3QvZG9tL2dldEVs
ZW1lbnRzQnlDbGFzc05hbWUvMDEwLXN0ZGVyci50eHRVVAkAA1kTHVmyDB1ZdXgLAAEE9QEAAAQU
AAAAzZFBS8NAEIXv/oo52ku2aWlNvdUWLxYMBFQQD5vshIzd3Vl2Nqn990aIIFjvXt/3PZjHcP3e
vK7zfL14u4Wd1SJQHu56suYJoxB7IAFywaJDn9AAeag5daC2IVhqdBodUS8NG8x0CGrHo+aTqD0O
aDlgVKXVqeXoRFHZsceKXD9GHLMwkR9ytX/47Yk5quosCZ06UB11PKsy0qAT3kft8MTxKGorgkkm
XmEcqEHJ2m/hMofr+Ue+yJfL1WZTzEB78w+XjZ3Efw+7hKdd+eqmKOazDB49AreQOoR0YjiRtVAj
9IImg+eOmg7Gu76e3XuDLfkxv/oEUEsDBAoAAAAAALSesUoAAAAAAAAAAAAAAAAOABwAZmFzdC9l
bmNvZGluZy9VVAkAA7MMHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAALSesUoAAAAAAAAA
AAAAAAAZABwAZmFzdC9lbmNvZGluZy9kdW1wQXNUZXh0L1VUCQADswwdWfkXHVl1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgAwaKxSoodqLj1AAAAHQIAADEAHABmYXN0L2VuY29kaW5nL2R1bXBBc1Rl
eHQvdXRmLTE2LW5vLWJvbS1zdGRlcnIudHh0VVQJAANaEx1ZswwdWXV4CwABBPUBAAAEFAAAAM2R
QUvDQBCF7/6KOdpLthG1ibfa4sWCgYAK4mGTnZCxm51lZ5Paf+8KEQTrvdf3fQ/mMdx8tG+3eV4W
73ewsVoEqt39SNY8YxBiByRAg7c4oItogBw0HHtQa+8ttTomR9RrywYz7b3acNJcFLXFCS17DKqy
OnYcBlFU9eywpmFMEYfMz+SXXG8f/3pi9qo+SsRB7agJOhxVFWjSER+CHvDAYS9qLYJRZl5jmKhF
ybof4TSHy+VnfnVd3pRlWSxAO3OGy1In8v/DTuF512rVFMVykcGTQ+AOYo8QDwwHshYahFHQZPDS
U9tDuuv72aMz2JFL+cUXUEsDBAoAAAAAAMGesUoAAAAAAAAAAAAAAAALABwAZmFzdC9mb3Jtcy9V
VAkAA8kMHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIALqesUpk66JvrAAAAOoAAAAzABwA
ZmFzdC9mb3Jtcy9mb3JtLWFzc29jaWF0ZWQtZWxlbWVudC1jcmFzaC1zdGRlcnIudHh0VVQJAAPA
DB1ZwAwdWXV4CwABBPUBAAAEFAAAAH2NvQ6CQBCEe59iaxIux19AOqIWRisKKYjFCQtcArd4t2h8
e9FYW81kMvNNKIPUl4kfpBBs8yTKk1BkMoaGJqHmeURR4e2k+SM7MoyGxR4fONI8rb5OZBxleRRl
oYzTK3ieB35dXArnkEt0tNgGz6RabfoS7ws6hk4b7YZfWGkeDtaSza/wVA7cCgUmUAa0caxMg0Ad
/CfyoPi7VqNF1b5+F9gKOPaG7FoVmzdQSwMEFAACAAgAzKKxSttcecmhAAAAzgAAADMAHABmYXN0
L2Zvcm1zL2ludGVyYWN0aXZlLXZhbGlkYXRpb24tY2FuY2VsLXN0ZGVyci50eHRVVAkAA3ATHVnJ
DB1ZdXgLAAEE9QEAAAQUAAAAbY3BCoJAEEDvfcX0AcbMqpmLBNIpukRUHqKD1WgL666sE/b52aFb
18fjPYWURZhGlIFCrZRWyUIlBBXfdkaOPMjh5RyHsu8vS6IcdZwmOWXpFao6OONaDaUId72AeOgD
D+wEitP2bHjceCfBW8tBA76zponxvsKYUlyDd1DsbS2ND910+69T0iA9vvr4NJah/h1qMVPADGDc
hHw70WE++wBQSwMECgAAAAAAu56xSgAAAAAAAAAAAAAAAAwAHABmYXN0L2ZyYW1lcy9VVAkAA8IM
HVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAMmisUrbCNNCOwAAAD8AAAAvABwAZmFzdC9m
cmFtZXMvZnJhbWUtZGlzcGxheS1ub25lLWZvY3VzLXN0ZGVyci50eHRVVAkAA2kTHVnCDB1ZdXgL
AAEE9QEAAAQUAAAAcywpSc0tKFEoyVdIzSssTS1NVUhUKM8vylbIBEoolGdk5qQqQMQzixWSUjPz
0hUKivKTU4uLU1P0uABQSwMECgAAAAAAwZ6xSgAAAAAAAAAAAAAAAAwAHABmYXN0L2ltYWdlcy9V
VAkAA8kMHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAMyisUohj704MgAAADMAAAAsABwA
ZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLWNyb3AtYm94LXN0ZGVyci50eHRVVAkAA28THVnJDB1Z
dXgLAAEE9QEAAAQUAAAAc8tJLEl1SU3OT0m1UkgB0Zl56QqpRUX5RVYKmXnJ+UVFqcklCimJJYkK
yRmpydl6XABQSwMECgAAAAAAyaKxSgAAAAAAAAAAAAAAAA0AHABmYXN0L2ludmFsaWQvVVQJAANp
Ex1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADJorFKHCC98PQAAAAdAgAAGwAcAGZhc3Qv
aW52YWxpZC8wMjAtc3RkZXJyLnR4dFVUCQADaRMdWWkTHVl1eAsAAQT1AQAABBQAAADNkUFLw0AQ
he/+ijnaS7YxKKm32uLFgoGACuJhszshYzc7y84msf/eCBEE693r+74H8xhu3s3rTX5VbN5uYee0
CFSHu4GcfcIoxB5IgPrgsEef0AJ5aDh1oLYhODI6zY6oF8MWMx2C2vGs+SRqjyM6DhhV5XRqOfai
qOrYY039MEccs7CQH3K9f/jtiT2q+iQJe3WgJup4UlWkUSe8j7rHieNR1FYEkyy8xjiSQcnab+E8
h8v1R5631ybfbMoVaG//4bK5k/jvYefwsqvAoizXqwwePQK3kDqENDFM5Bw0CIOgzeC5I9PBfNfX
swdvsSU/5xefUEsDBAoAAAAAAMKesUoAAAAAAAAAAAAAAAAMABwAZmFzdC9sb2FkZXIvVVQJAAPL
DB1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADKorFK2wjTQjsAAAA/AAAAUgAcAGZhc3Qv
bG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2Fk
LWluLXBsYWNlLXN0ZGVyci50eHRVVAkAA2wTHVnEDB1ZdXgLAAEE9QEAAAQUAAAAcywpSc0tKFEo
yVdIzSssTS1NVUhUKM8vylbIBEoolGdk5qQqQMQzixWSUjPz0hUKivKTU4uLU1P0uABQSwMEFAAC
AAgAy6KxStsI00I7AAAAPwAAAFMAHABmYXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNldC1j
YW4tYmxvY2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2Utc3RkZXJyLnR4dFVUCQADbRMd
WcYMHVl1eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpA
xDOLFZJSM/PSFQqK8pNTi4tTU/S4AFBLAwQUAAIACADBnrFKAqstMfQAAAAdAgAAKgAcAGZhc3Qv
bG9hZGVyL3BsYWluLXRleHQtZG9jdW1lbnQtc3RkZXJyLnR4dFVUCQADyQwdWckMHVl1eAsAAQT1
AQAABBQAAADNkUFLw0AQhe/+ijnaSzaRKK232uLFgoGACuJhk52Qsbs7y84msf/eCBEE693r+74H
8xhu3tvX67wsb95uYWe1CFSHu4GsecIoxB5IgFyw6NAnNEAeGk49qG0IllqdZkfUS8sGMx2C2vGs
+SRqjyNaDhhVZXXqODpRVPXssSY3zBHHLCzkh1zvH357Yo6qPklCpw7URB1Pqoo06oT3UTucOB5F
bUUwycJrjCO1KFn3LZzncJl/FFdlgd1ms16B9uYfLps7if8edg4vu/KiWK/zVQaPHoE7SD1Cmhgm
shYahEHQZPDcU9vDfNfXswdvsCM/5xefUEsDBBQAAgAIAM2isUrbCNNCOwAAAD8AAAAtABwAZmFz
dC9sb2FkZXIvcmVsb2FkLXBvbGljeS1kZWxlZ2F0ZS1zdGRlcnIudHh0VVQJAANyEx1ZywwdWXV4
CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz
89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAANCisUoAAAAAAAAAAAAAAAAMABwAZmFzdC9wYXJzZXIv
VVQJAAN4Ex1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADQorFKjRe6s/UAAAAdAgAAMAAc
AGZhc3QvcGFyc2VyL2V4dGVybmFsLWVudGl0aWVzLWluLXhzbHQtc3RkZXJyLnR4dFVUCQADeBMd
WXgTHVl1eAsAAQT1AQAABBQAAADNkUFLw0AQhe/+ijnaS7axVFNvtcWLBQMBFcTDJjshYzc7y84m
sf/eFSII1rvX930P5jFcvzev1/lVvnq7hZ3VIlAe7gay5gmDEDsgAeq9xR5dRAPkoObYgdp6b6nR
MTmiXho2mGnv1Y6T5qKoPY5o2WNQpdWx5dCLorJjhxX1Q4o4ZH4mP+Rq//DbE3NU1Uki9upAddDh
pMpAo454H3SPE4ejqK0IRpl5hWGkBiVrv4XzHC6XH3lu1uvNZlMsQDvzD5elTuS/h53D867VTV0U
y0UGjw6BW4gdQpwYJrIWaoRB0GTw3FHTQbrr69mDM9iSS/nFJ1BLAwQUAAIACADHnrFKxq9kImUA
AABtAAAAMgAcAGZhc3QvcGFyc2VyL3N0cmlwLXNjcmlwdC1hdHRycy1vbi1pbnB1dC1zdGRlcnIu
dHh0VVQJAAPVDB1Z1QwdWXV4CwABBPUBAAAEFAAAADMyMDTXNTDVNTRXMLS0MjWxMjTWMzUzUwhP
TfLOLAlJLS4JKs3LSy1yLCiINjUwtjS2Mja2NDQzMIlVCHDyLEnNdc7PyUlNLsnMzwtOLSrLTE4t
UkjOB+oACymkZBZDeakpelwAUEsDBAoAAAAAANeisUoAAAAAAAAAAAAAAAAKABwAZmFzdC90ZXh0
L1VUCQADhhMdWfkXHVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA16KxSiJGwhz0AAAAHQIAACEA
HABmYXN0L3RleHQvYmFkLWVuY29kaW5nLXN0ZGVyci50eHRVVAkAA4YTHVmGEx1ZdXgLAAEE9QEA
AAQUAAAAzZFNS8QwEIbv/oo5updmqyi73vYDLy5YKKggHtJkSsdNMiGTtu6/t0IFwfXu9X2eF+Zl
uHk3r7flVXnzdgc7p0WgOmx7cvYJkxAHIAHy0aHHkNECBWg4d6A2MToyOk+OqBfDFgsdo9rxpIUs
ao8DOo6YVOV0bjl5UVR1HLAm308RpyLO5Idc7x9+e2KPqj5JRq8O1CSdTqpKNOiM90l7HDkdRW1E
MMvMa0wDGZSi/RbOc7hcfpSlbU25Xq8WoIP9h8umTua/h53D8y6L16vVclHAY0DgFnKHkEeGkZyD
BqEXtAU8d2Q6mO76enYfLLYUpvziE1BLAwQKAAAAAADNnrFKAAAAAAAAAAAAAAAAGAAcAGZhc3Qv
dGV4dC9pbnRlcm5hdGlvbmFsL1VUCQAD4QwdWfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA
0J6xSgAAAAAAAAAAAAAAACgAHABmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9zeXN0ZW0tbGFuZ3Vh
Z2UvVVQJAAPnDB1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADYorFKz/te9/UAAAAdAgAA
UgAcAGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3N5c3RlbS1sYW5ndWFnZS9hcmFiaWMtZ2x5cGgt
Y2FjaGUtZmlsbC1jb21iaW5lLXN0ZGVyci50eHRVVAkAA4gTHVnhDB1ZdXgLAAEE9QEAAAQUAAAA
zZFBS8NAEIXv/oo52ku2jVZSb7XFiwUDARXEwyY7IWM3O8vOJrH/3hUiCNa71/d9D+YxXL83rzer
fF283cLOahEoD3cDWfOEQYgdkAD13mKPLqIBclBz7EBtvbfU6JgcUS8NG8y092rHSXNR1B5HtOwx
qNLq2HLoRVHZscOK+iFFHDI/kx9ytX/47Yk5quokEXt1oDrocFJloFFHvA+6x4nDUdRWBKPMvMIw
UoOStd/CeQ6Xy49Vrtd5sdkUC9DO/MNlqRP572Hn8Lzr6loXxXKRwaND4BZihxAnhomshRphEDQZ
PHfUdJDu+nr24Ay25FJ+8QlQSwMEFAACAAgA2aKxSt8yCDD0AAAAHQIAAEcAHABmYXN0L3RleHQv
aW50ZXJuYXRpb25hbC9zeXN0ZW0tbGFuZ3VhZ2UvZGVjbGFyYXRpdmUtbGFuZ3VhZ2Utc3RkZXJy
LnR4dFVUCQADiRMdWeIMHVl1eAsAAQT1AQAABBQAAADNkUFLw0AQhe/+ijnaSzbJoSTeaosXCwYC
KoiHTXZCpt3sLDubxP57I0QQrHev7/sezGO4ObVv2yzf5u93sLdaBKrj/UjWPGMQYgckQIO3OKCL
aIAcNBx7UDvvLbU6Lo6o15YNJtp7tedFc1HUASe07DGoyurYcRhEUdWzw5qGcYk4JH4lP+T68Pjb
E3NW9UUiDupITdDhoqpAk474EPSAM4ezqJ0IRll5jWGiFiXpvoXrHG7TjyxPm7Yry2ID2pl/uGzp
RP572DW87iq7rCjSTQJPDoE7iD1CnBlmshYahFHQJPDSU9vDctfXs0dnsCO35DefUEsDBBQAAgAI
ANmisUr72EZx9AAAAB0CAAA9ABwAZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvc3lzdGVtLWxhbmd1
YWdlL2hhbi1xdW90ZXMtc3RkZXJyLnR4dFVUCQADihMdWeUMHVl1eAsAAQT1AQAABBQAAADNkU1L
xDAQhu/+ijm6l6YVWVpv+4EXFywUVBAPaTKl46aZkEm77r+3QgXB9e71fZ4X5mW4fTev6+Jmfft2
BzunRaA+bEdy9gmjEHsgARqCwwF9QgvkoeXUg9qE4MjoNDuiXgxbzHQIasez5pOoPU7oOGBUtdOp
4ziIorpnjw0N4xxxzMJCfsjN/uG3J/aomrMkHNSB2qjjWdWRJp3wPuoBTxyPojYimGThDcaJDErW
fQuXOVznH0XRVairqlyB9vYfLps7if8edgkvu8rclGW+yuDRI3AHqUdIJ4YTOQctwihoM3juyfQw
3/X17NFb7MjP+dUnUEsDBBQAAgAIANuisUrXLTIf9QAAAB0CAABQABwAZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwvc3lzdGVtLWxhbmd1YWdlL2hpbmRpLXN5c3RlbS1mb250LXB1bmN0dWF0aW9uLXN0
ZGVyci50eHRVVAkAA40THVnnDB1ZdXgLAAEE9QEAAAQUAAAAzZFBS8NAEIXv/oo52ku2Ldim3mqL
FwsGAiqIh83uhIzd7Cw7m9T+e1eIIFjvXt/3PZjHcPNuXleL5ap8u4Wd0yJQHe4GcvYJoxB7IAHq
g8MefUIL5KHh1IHahuDI6JQdUS+GLRY6BLXjrPkkao8jOg4YVeV0ajn2oqjq2GNN/ZAjjkWYyA+5
3j/89sQeVX2WhL06UBN1PKsq0qgT3kfd44njUdRWBJNMvMY4kkEp2m/hMofr+cdiuV6bcrMpZ6C9
/YfLcifx38Mu4WnXDeqynM8KePQI3ELqENKJ4UTOQYMwCNoCnjsyHeS7vp49eIst+ZxffQJQSwME
FAACAAgA26KxSi+2HuD0AAAAHQIAAEoAHABmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9zeXN0ZW0t
bGFuZ3VhZ2Uvc3lzdGVtLWZvbnQtcHVuY3R1YXRpb24tc3RkZXJyLnR4dFVUCQADjhMdWecMHVl1
eAsAAQT1AQAABBQAAADNkU1LxDAQhu/+ijm6l6btQXe97QdeXLBQUEE8pMmUjptmQiZt3X9vhQqC
693r+zwvzMtw825eb4rytny7g73TIlAddwM5+4RRiD2QAPXBYY8+oQXy0HDqQG1DcGR0mh1RL4Yt
ZjoEtedZ80nUAUd0HDCqyunUcuxFUdWxx5r6YY44ZmEhP+T68PDbE3tS9VkS9upITdTxrKpIo054
H3WPE8eTqK0IJll4jXEkg5K138JlDtf5R1GaEvPNZr0C7e0/XDZ3Ev897BJedhV5uV7nqwwePQK3
kDqENDFM5Bw0CIOgzeC5I9PBfNfXswdvsSU/51efUEsDBAoAAAAAACyhsUoAAAAAAAAAAAAAAAAV
ABwAZmFzdC90ZXh0LWF1dG9zaXppbmcvVVQJAANkEB1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQK
AAAAAAAsobFKAAAAAAAAAAAAAAAAGQAcAGZhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9VVAkAA2QQ
HVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAACyhsUoAAAAAAAAAAAAAAAAeABwAZmFzdC90
ZXh0LWF1dG9zaXppbmcvaW9zL2lwYWQvVVQJAANkEB1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQU
AAIACADjpLFKi4NOt/YAAAAdAgAARgAcAGZhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9pcGFkL3By
b2dyYW1tYXRpYy10ZXh0LXNpemUtYWRqdXN0LXN0ZGVyci50eHRVVAkAA1kXHVlkEB1ZdXgLAAEE
9QEAAAQUAAAAzZFBS8NAEIXv/oo52ks2Kq2Jt9rixYKBgAriYZOdkLG7O8vOJrH/3ogVBOvd6/u+
B/MYbt7al9VVuVy93sDGahGodrcDWfOIUYg9kAC5YNGhT2iAPDScelDrECy1Os2OqOeWDWY6BLXh
WfNJ1BZHtBwwqsrq1HF0oqjq2WNNbpgjjlk4kh9yvb3/7YnZq/ogCZ3aURN1PKgq0qgT3kXtcOK4
F7UWwSRHXmMcqUXJum/hNIfz/P3issiXWJbFArQ3/3DZ3En897BT+GvXNRZ5UeSLDB48AneQeoQ0
MUxkLTQIg6DJ4Kmntof5rs9nD95gR37Ozz4AUEsDBAoAAAAAACyhsUoAAAAAAAAAAAAAAAAOABwA
ZmFzdC92aWV3cG9ydC9VVAkAA2QQHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAACyhsUoA
AAAAAAAAAAAAAAASABwAZmFzdC92aWV3cG9ydC9pb3MvVVQJAANkEB1Z+RcdWXV4CwABBPUBAAAE
FAAAAFBLAwQKAAAAAAAsobFKAAAAAAAAAAAAAAAAFwAcAGZhc3Qvdmlld3BvcnQvaW9zL2lwYWQv
VVQJAANkEB1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADjpLFKELFZ6fUAAAAdAgAANwAc
AGZhc3Qvdmlld3BvcnQvaW9zL2lwYWQvd2lkdGgtaXMtZGV2aWNlLXdpZHRoLXN0ZGVyci50eHRV
VAkAA1kXHVlkEB1ZdXgLAAEE9QEAAAQUAAAAzZFBS8NAEIXv/oo52ks2Kq2pt9rixYKBgAriYZOd
kLG7O8vOJrH/3ggRBOu91/d9D+YxXH80b6ub9bJ4v4Ot1SJQ7u97suYZoxB7IAFywaJDn9AAeag5
daA2IVhqdJocUa8NG8x0CGrLk+aTqB0OaDlgVKXVqeXoRFHZsceKXD9FHLMwk19ytXv864k5qOoo
CZ3aUx11PKoy0qATPkTtcOR4ELURwSQzrzAO1KBk7Y9wmsNl/nl1vbrVuF4XC9DenOGyqZP4/2Gn
8LxrafKiyBcZPHkEbiF1CGlkGMlaqBF6QZPBS0dNB9Nd38/uvcGW/JRffAFQSwMECgAAAAAA0J6x
SgAAAAAAAAAAAAAAABIAHABmYXN0L3dyaXRpbmctbW9kZS9VVAkAA+gMHVn5Fx1ZdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIANyisUqarUG49QAAAB0CAAA7ABwAZmFzdC93cml0aW5nLW1vZGUvYXV0
by1tYXJnaW5zLWFjcm9zcy1ib3VuZGFyaWVzLXN0ZGVyci50eHRVVAkAA48THVnoDB1ZdXgLAAEE
9QEAAAQUAAAAzZFNS8NAEIbv/oo52ku2rV+pt9rixYKBgAriYZOdkLG7O8vOprH/3hUiCNa71/d5
XpiX4ea9fb1eLG8u325hY7UIVLu7gax5wijEHkiAXLDo0Cc0QB4aTj2odQiWWp2yI+qlZYOFDkFt
OGs+idriAS0HjKqyOnUcnSiqevZYkxtyxLEIE/kh19uH356YvaqPktCpHTVRx6OqIh10wvuoHY4c
96LWIphk4jXGA7UoRfctnOZwPv9YLMsrXa5W5Qy0N/9wWe4k/nvYKTztumh1Wc5nBTx6BO4g9Qhp
ZBjJWmgQBkFTwHNPbQ/5rq9nD95gRz7nZ59QSwMECgAAAAAA0p6xSgAAAAAAAAAAAAAAAAkAHABm
YXN0L3hzbC9VVAkAA+wMHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAN2isUpO+yD4iAAA
AOcAAAAlABwAZmFzdC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUCQADkhMdWesM
HVl1eAsAAQT1AQAABBQAAACljrEOwjAMRPd+hX+geGDLDBNsIDq7rSsiOXHlOFL5ewLlD1hOJ9/J
7yZNaxTyqBnYTC3AEoW/EhDxoVITFzyRE56HGw48XqLjlV5a/c7FCy5UHLciaFy02tTq29P6WadD
u4LEzHAEFk6cHWJa1bxrSdgtBKiZxgZ1BVGaf/D/0P3+nOfPhu4NUEsDBBQAAgAIAN2isUr9oi5k
jwAAAO4AAAAnABwAZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIudHh0VVQJAAOS
Ex1Z6wwdWXV4CwABBPUBAAAEFAAAAJ2OMQ7CMAxF957CFyge2DLDBBuIzm7rikhOXDmOVG5PoJyA
5cv/f9t6k6Y1CnnUDGymFmCJwl8JiPhQqYkLnsgJz8MNBx4v0fFKL61+5+IFFyqOWxE0LlptauvN
eT/S3Me0qnlfLR5aBhIzwxFYOHF22NuuNWEfIUDNNDYAVxCl+QfyJ0bWUqfn50W7E+neUEsDBBQA
AgAIAN2isUqyu8ZnhwAAADQBAAAkABwAZmFzdC94c2wveHNsdC1jb250ZW50VHlwZS1zdGRlcnIu
dHh0VVQJAAOSEx1Z6wwdWXV4CwABBPUBAAAEFAAAAM2OMQ7CMAxF957CFwCLtTNMsFHROaSuasmJ
o8RB7e1JOAXD/8OXvt7zGhKLM9YIlLPmEVYW+tWIiC+VGqjg1ZnD2/zEmd53Nny4Q6tNVKzg6orh
XqTHTl6jUbTpSHTeLAgIR4ILkFBoO7RbqjZw/DjhBVrXhtMMgWzTpfFVB/9/Wnt/YZf7AlBLAwQU
AAIACADgorFKwuv1xowAAABgAQAANAAcAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZyYWdt
ZW50LWNyYXNoLXN0ZGVyci50eHRVVAkAA5MTHVnsDB1ZdXgLAAEE9QEAAAQUAAAA1Y4xDsJADAT7
vMIfCBZtaqigA5HaCb7Eku+MfA6C30NS8AeK3WaKmdHyQ5RCrAC7m3eQRHm7DhFvpkvmigcKwmN/
wZ6HkwSe6W1LXLlGxUQ18FV1XbThVGoyz21Ym5ymzCXa0anOuzmygkph2AMrrwSe5EKDcuN85yRF
thZLMKkNpD8O8ZU145/1fgBQSwMEFAACAAgANqWxSucPHTv6AQAA3wMAABEAHABmdWxsX3Jlc3Vs
dHMuanNvblVUCQAD9xcdWfkXHVl1eAsAAQT1AQAABBQAAACtUsFO20AQ/ZVoT61kk5gkJLgn1EQI
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
cmNzZXQtY29weS1zdGRlcnIudHh0VVQJAAOhEx1Z+gwdWXV4CwABBPUBAAAEFAAAADMyMDTXNTDV
NTRXMDKwMjK2MjTWM7YwVAhPTfLOLAlJLS4JKs3LSy1yLCiINjM0NDayMjY1MzEzt4xVCHDyLEnN
dc7PyUlNLsnMzwtOLSrLTE4tUkjOB+oACymkZBZDeakpelxGWCwzMbDEb5mhkQVZlgEAUEsDBAoA
AAAAANmesUoAAAAAAAAAAAAAAAAXABwAaHR0cC90ZXN0cy9pbmNyZW1lbnRhbC9VVAkAA/kMHVn5
Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIANmesUpzbTp09QAAAB0CAAA5ABwAaHR0cC90ZXN0
cy9pbmNyZW1lbnRhbC9mcmFtZS1mb2N1cy1iZWZvcmUtbG9hZC1zdGRlcnIudHh0VVQJAAP5DB1Z
+QwdWXV4CwABBPUBAAAEFAAAAM2RQUvDQBCF7/6KOdpLNmqqibfa4sWCgYAK4mGTnZCxm51lZ5PY
f2+ECIL17vV934N5DNfvzes6zW6yt1vYWi0C5f5uIGueMAixAxKg3lvs0UU0QA5qjh2ojfeWGh1n
R9RLwwYT7b3a8qy5KGqHI1r2GFRpdWw59KKo7NhhRf0wRxwSv5AfcrV7+O2JOajqKBF7tac66HBU
ZaBRR7wPuseJw0HURgSjLLzCMFKDkrTfwmkO5+nHxWW9LrKiyFegnfmHy+ZO5L+HncLLrqv6Os/T
VQKPDoFbiB1CnBgmshZqhEHQJPDcUdPBfNfXswdnsCU352efUEsDBAoAAAAAAPGesUoAAAAAAAAA
AAAAAAAQABwAaHR0cC90ZXN0cy9taXNjL1VUCQADJg0dWfkXHVl1eAsAAQT1AQAABBQAAABQSwME
FAACAAgA/aKxShU1NZJ6AAAAvAAAACoAHABodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0
LXN0ZGVyci50eHRVVAkAA80THVkmDR1ZdXgLAAEE9QEAAAQUAAAAjY5BDsMgDATveYU/QCDtoRW/
IcRVLBmMjJH6/BLlA9VeVjuH2SylEScjqYCqohE+xAinWYveb4/XGma2+A4h+EI9e8UuQzN2/+1s
bk+Ho9JEzQ2ldW7AVBGegIwFq8FNl0niXSHCqGmfGhNgScd/uip95PO6lywxLz9QSwMECgAAAAAA
3J6xSgAAAAAAAAAAAAAAABUAHABodHRwL3Rlc3RzL211bHRpcGFydC9VVAkAAwANHVn5Fx1ZdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIAOqisUqII791fQAAAI0AAAAzABwAaHR0cC90ZXN0cy9tdWx0
aXBhcnQvcG9saWN5LWlnbm9yZS1jcmFzaC1zdGRlcnIudHh0VVQJAAOnEx1ZAA0dWXV4CwABBPUB
AAAEFAAAABXMPRLCIBBA4d5T7AVg+BEZaWPnASwcCyCbkZHADm5yfmP1vuoZpb1QTmgPRgVjg75K
qzXkvspIVFE+MN0L/zP1xthY3nDH2mk9/Lxoc1bBOuetdy+YYmudYSlthjlyPD5tx8E4IMdaU8wf
WPqAjQvQlmrJkt4kvnkU4tMPUEsDBAoAAAAAANyesUoAAAAAAAAAAAAAAAAWABwAaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL1VUCQADAA0dWfkXHVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA6qKxStsI
00I7AAAAPwAAADcAHABodHRwL3Rlc3RzL25hdmlnYXRpb24vZmFsbGJhY2stYW5jaG9yLXJlbG9h
ZC1zdGRlcnIudHh0VVQJAAOnEx1ZAA0dWXV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0t
TVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAAOiisUoA
AAAAAAAAAAAAAAAVABwAaHR0cC90ZXN0cy9xdWlja2xvb2svVVQJAAOjEx1Z+RcdWXV4CwABBPUB
AAAEFAAAAFBLAwQUAAIACADoorFKmS/zo/UAAAAdAgAAMgAcAGh0dHAvdGVzdHMvcXVpY2tsb29r
L2NzcC1oZWFkZXItaWdub3JlZC1zdGRlcnIudHh0VVQJAAOjEx1ZoxMdWXV4CwABBPUBAAAEFAAA
AM2RQUvDQBCF7/6KOdpLtlGpqbfa4sWCgYAK4mGzOyFjNzvLziax/94IEQTrvdf3fQ/mMVx/mLdV
fnV7/X4HW6dFoNzf9+TsM0Yh9kAC1AWHHfqEFshDzakFtQnBkdFpckS9GraY6RDUlifNJ1E7HNBx
wKhKp1PDsRNFZcseK+r6KeKYhZn8kqvd419P7EFVR0nYqT3VUcejKiMNOuFD1B2OHA+iNiKYZOYV
xoEMStb8CKc5XC4/87xBfbNeFwvQ3p7hsqmT+P9hp/C8y5hVUSwXGTx5BG4gtQhpZBjJOagRekGb
wUtLpoXpru9n995iQ37KL74AUEsDBAoAAAAAAPSesUoAAAAAAAAAAAAAAAAUABwAaHR0cC90ZXN0
cy9zZWN1cml0eS9VVAkAAysNHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAPKesUoAAAAA
AAAAAAAAAAAqABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQJ
AAMnDR1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADrorFKbd14vXIAAAB1AAAAXgAcAGh0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXN0YXIt
c2VjdXJlLXdlYnNvY2tldC1hbGxvd2VkLXN0ZGVyci50eHRVVAkAA6oTHVkDDR1ZdXgLAAEE9QEA
AAQUAAAAMzIwNNc1MNU1NFcwMrAyMrYyMtIzsLBUSM7P1UssKMhJ1QtPTfLOLNHzSy0pzy/KzsxL
13NJLUvNyS/ITc0riTYzNDS3tDI2NbGwMDWPVXB2g6pTCA728UjMSynOSMxOVUhLzMxJTVHQ0LW0
MDDX5AIAUEsDBBQAAgAIAOuisUpBwZ8vcgAAAHUAAABeABwAaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvZGVmYXVsdC1zcmMtc3Rhci1zZWN1cmUtd2Vic29ja2V0LWFs
bG93ZWQtc3RkZXJyLnR4dFVUCQADqhMdWQUNHVl1eAsAAQT1AQAABBQAAAAzMjA01zUw1TU0VzAy
sDIytjIy0jMzNVJIzs/VSywoyEnVC09N8s4s0fNLLSnPL8rOzEvXc0ktS83JL8hNzSuJNjM0NLe0
MjY1sbAwNY9VcHaDqlMIDvbxSMxLKc5IzE5VSEvMzElNUdDQtbQwMNfkAgBQSwMECgAAAAAA5J6x
SgAAAAAAAAAAAAAAAEQAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL1VUCQADDA0dWfkXHVl1eAsAAQT1AQAABBQAAABQ
SwMEFAACAAgA8KKxSjzQ7nCRAAAAngAAAH4AHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUtcmVkaXJlY3Qt
aHR0cHMtdG8taHR0cC1zY3JpcHQtaW4taWZyYW1lLXN0ZGVyci50eHRVVAkAA7MTHVkMDR1ZdXgL
AAEE9QEAAAQUAAAAHcdNC4IwGADge7/iPRbk2kdm86pFkEg0o0N0WPoWw7nJHPX3i57bwynLEpom
LANOcy5ywQhPObR+IHocLZIrPo4mkhrjx4feuBcp8Y3WjwO6eNswJlku0rUUkt6hVpdzpXCajHer
fwrvHLbxdzg0zQms1x08tbHYwbwv9ioG1MMuBB9KP2jjlKqWkMgt3SxmX1BLAwQKAAAAAADlnrFK
AAAAAAAAAAAAAAAAPQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3VzZXJBZ2VudFNoYWRvd0RPTS9VVAkAAw4NHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAI
APCisUp+T4BM9QAAAB0CAABrABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvdXNlckFnZW50U2hhZG93RE9NL2RlZmF1bHQtc3JjLW9iamVjdC1kYXRhLXVybC1hbGxv
d2VkLXN0ZGVyci50eHRVVAkAA7QTHVkMDR1ZdXgLAAEE9QEAAAQUAAAAzZFBS8NAEIXv/oo52ks2
LVpTb7XFiwUDARXEwyY7IWN3d5adTWL/vREiCNa71/d9D+YxXL83r+tlscrfbmFntQiUh7uerHnC
KMQeSIBcsOjQJzRAHmpOHahtCJYanSZH1EvDBjMdgtrxpPkkao8DWg4YVWl1ajk6UVR27LEi108R
xyzM5Idc7R9+e2KOqjpJQqcOVEcdT6qMNOiE91E7HDkeRW1FMMnMK4wDNShZ+y2c53CZfyxX12tz
s9kUC9De/MNlUyfx38PO4XnXVbspinyRwaNH4BZSh5BGhpGshRqhFzQZPHfUdDDd9fXs3htsyU/5
xSdQSwMEFAACAAgA8aKxSpBWCmzzAAAAHQIAAGsAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS91c2VyQWdlbnRTaGFkb3dET00vZGVmYXVsdC1zcmMtb2JqZWN0LWRh
dGEtdXJsLWJsb2NrZWQtc3RkZXJyLnR4dFVUCQADthMdWQ4NHVl1eAsAAQT1AQAABBQAAADNkUFL
xDAQhe/+ijm6l2ZXRFpv6y5eXLBQUEE8JM2UjptmQiZt3X9vhAqC693r+74H8xg27+3rzaa8Lt9u
Yee0CNSHu5GcfcIoxB5IgIbgcECf0AJ5MJx6UNsQHLU6ZUfUS8sWCx2C2nHWfBK1xwkdB4yqdjp1
HAdRVPfssaFhzBHHIizkh9zsH357Yo+qOUnCQR3IRB1Pqo406YT3UQ84czyK2opgkoU3GCdqUYru
WzjP4XL9sbkyXVtVVbkC7e0/XJY7if8edg4vuyyaslyvCnj0CNxB6hHSzDCTc2AQRkFbwHNPbQ/5
rq9nj95iRz7nF59QSwMEFAACAAgA8aKxSvN49w72AAAAHQIAAGwAHABodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91c2VyQWdlbnRTaGFkb3dET00vZGVmYXVsdC1zcmMt
b2JqZWN0LWRhdGEtdXJsLWJsb2NrZWQzLXN0ZGVyci50eHRVVAkAA7UTHVkODR1ZdXgLAAEE9QEA
AAQUAAAAzZFNS8NAEIbv/oo52ks2jR8k3mqLFwsGAiqIh012QsZudpadTWL/vREiCNZ7r+/zvDAv
w/VH83a7zq+z9zvYWi0C5f5+IGueMQixAxKg3lvs0UU0QA5qjh2ojfeWGh1nR9RrwwYT7b3a8qy5
KGqHI1r2GFRpdWw59KKo7NhhRf0wRxwSv5BfcrV7/OuJOajqKBF7tac66HBUZaBRR3wIuseJw0HU
RgSjLLzCMFKDkrQ/wmkOl+nnOitu6rQo8hVoZ85w2dyJ/P+wU3jZdWWyPE9XCTw5BG4hdghxYpjI
WqgRBkGTwEtHTQfzXd/PHpzBltycX3wBUEsDBBQAAgAIAPyisUpjqqxsggAAAKgAAABAABwAaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJy
LnR4dFVUCQADyxMdWScNHVl1eAsAAQT1AQAABBQAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQ
LCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQm
l2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAI
APyisUpjqqxsggAAAKgAAABSABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUCQADzBMdWScN
HVl1eAsAAQT1AQAABBQAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2
wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDO
IdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBAoAAAAAAOaesUoAAAAAAAAAAAAA
AAAhABwAaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvVVQJAAMPDR1Z+RcdWXV4CwAB
BPUBAAAEFAAAAFBLAwQUAAIACADmnrFK8ptSn/YAAAAdAgAAPgAcAGh0dHAvdGVzdHMvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L2Jsb2ItdXJsLWluLWlmcmFtZS1zdGRlcnIudHh0VVQJAAMPDR1ZDw0d
WXV4CwABBPUBAAAEFAAAAM2RQUvDQBCF7/6KOdpLti22pt5qixcLBgIqiIfN7oSM3ewsO5vE/nsj
RBCs917f9z2Yx3D1Yd5Wi3m+fr+DndMiUBzuO3L2GaMQeyABaoPDFn1CC+Sh4tSA2obgyOg0OqJe
DVvMdAhqx6Pmk6g99ug4YFSF06nm2IqiomGPJbXdGHHMwkR+yeX+8a8n9qjKkyRs1YGqqONJFZF6
nfAh6hYHjkdRWxFMMvESY08GJat/hPMcruefi6XJl6vNJp+B9vYCl42dxP8PO4enXeub2zyfzzJ4
8ghcQ2oQ0sAwkHNQIXSCNoOXhkwD413fz+68xZr8mF99AVBLAwQUAAIACAD6orFKYEtmEJEAAAD7
AQAARQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJp
dHlPcmlnaW4tc3RkZXJyLnR4dFVUCQADyBMdWSsNHVl1eAsAAQT1AQAABBQAAADtjjEOgzAMRXdO
4QuEBJZWmWHo0p4BBVMimSSynQpuXzr0Bh2rv76v90LeSqRJY06AzJk9LJEQVtXire36S+vOdf7q
nLOCoXLUw+4iZhjvt3Ewu5CZc6gbJjVf4MHxGVO7bwQUE0IPSPghQPQglBVRm/PpX8hyuj3kRAd0
rYMFJ62MAhMjSC0ls+LchH/oj0PfUEsDBAoAAAAAAPGisUoAAAAAAAAAAAAAAAAPABwAaHR0cC90
ZXN0cy9zc2wvVVQJAAO2Ex1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADxorFKGkgYdPQA
AAAdAgAALgAcAGh0dHAvdGVzdHMvc3NsL2lmcmFtZS11cGdyYWRlLmh0dHBzLXN0ZGVyci50eHRV
VAkAA7YTHVm2Ex1ZdXgLAAEE9QEAAAQUAAAAzZFBS8NAEIXv/oo52ku2USypt9rixYKBgAriYZOd
kLG7O8vOJrX/3hUiCNa71/d9D+Yx3L53r6uyulm93cLWahGo93cjWfOEUYg9kAC5YNGhT2iAPLSc
BlCbECx1OmVH1EvHBgsdgtpy1nwStcMJLQeMqrY69RydKKoH9tiQG3PEsQgz+SE3u4ffnpiDak6S
0Kk9tVHHk6ojTTrhfdQOjxwPojYimGTmDcaJOpSi/xbOc7hcfpRXXd+X63W1AO3NP1yWO4n/HnYO
z7uwvK6q5aKAR4/APaQBIR0ZjmQttAijoCngeaBugHzX17NHb7Ann/OLT1BLAwQKAAAAAADzorFK
AAAAAAAAAAAAAAAAFQAcAGh0dHAvdGVzdHMvd2Vic29ja2V0L1VUCQADuRMdWfkXHVl1eAsAAQT1
AQAABBQAAABQSwMECgAAAAAA86KxSgAAAAAAAAAAAAAAABsAHABodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9VVAkAA7kTHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAPOisUoAAAAAAAAA
AAAAAAAgABwAaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9VVAkAA7kTHVn5Fx1ZdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIAPOisUrWr82T9QAAAB0CAABJABwAaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi1uYXZpZ2F0ZS1uZXctbG9jYXRpb24tc3RkZXJyLnR4
dFVUCQADuRMdWbkTHVl1eAsAAQT1AQAABBQAAADNkUFLw0AQhe/+ijnaSzatRBNvtcWLBQMBFcTD
JjshYzc7y84msf/eCBEE693r+74H8xiu35vX63WeZW+3sLNaBMrD3UDWPGEQYgckQL232KOLaIAc
1Bw7UFvvLTU6zo6ol4YNJtp7teNZc1HUHke07DGo0urYcuhFUdmxw4r6YY44JH4hP+Rq//DbE3NU
1Uki9upAddDhpMpAo454H3SPE4ejqK0IRll4hWGkBiVpv4XzHC7Tj/Um3VzdFEW+Au3MP1w2dyL/
PewcXnalWZHn6SqBR4fALcQOIU4ME1kLNcIgaBJ47qjpYL7r69mDM9iSm/OLT1BLAwQKAAAAAADu
nrFKAAAAAAAAAAAAAAAAGgAcAGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvVVQJAAMfDR1Z+Rcd
WXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAD5orFKds6ekjUBAABsBQAATgAcAGh0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWNyZWRlbnRpYWwtYXN5bmMt
c3RkZXJyLnR4dFVUCQADxhMdWRoNHVl1eAsAAQT1AQAABBQAAADtkrFOwzAQhneewg+AY58Tx0m2
tE4XEEuFGBCDk7rFamJHjgvq2+OohaVITJ3K4Dvdyaf//k/HKAhMOQaBGK1YWnGa0LxAnRsSNY69
Tl50+2BC8qTDp/N7Y3eJ1B+6d+OgbXjNAUqoUp6VIMQbkmbaL53bG70OzqudRt27srs4hUbXm+6I
tt4NiKHgEL2PKvNXtDW9rk6REPI8aT+R9mD6TesCeTStV/5Izqrak6Xzem2GQ6+ixtw3nZ7IImVl
vUoZhgWscCZFioum5ljmRdOAkDITGdmooOK8DcrYWUXOdR19mk4F4yxpMi5ZBoBj4Dg+jheQ5pjm
slzJJW8Klv+sdHI6feekNTa2T6amO/Yr2vISbUzzShHnBVp2Rlv8o/0LLQh+5aulM1p2g2gZpFe+
2ptA+wVQSwMEFAACAAgA+aKxSn0416FMAQAA2AoAAE0AHABodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1jcmVkZW50aWFsLXN5bmMtc3RkZXJyLnR4dFVU
CQADxhMdWRsNHVl1eAsAAQT1AQAABBQAAADtlb1OwzAQx3eewg+A46/YTrK1dbqAWCrEgBic1C1W
kzhyXFDfHkcpLCAxoExk8J188ul/99PpTDGREHNIJKC4oKzgOGFUgtq1ie77xiRPprqzIXkw4d35
k+2OiTJvpnF9a7rwLAjJScF4mhMpX4Cyw2nj3MmaXXBeHw2oX3V3jFmgd42tL+DgXQsoCA7g26gy
PgUH25hisgihx8H4AVVn2+wrF9C9rbz2F3RVNR5tnDc7254bHTXGuK3NgNaM5qsto5CsyRamSjKY
lSsOlcjKkkilUpmivQ465ndB225UUeN9Ffu0tQ7WdahMuaIpITAaDuPhcE2YgFiofKs2vMyo+Cpp
6nT49Elluxiemhpu6E9ohZgZLR7R0gXthDa6saSI8xtaekWbLVP7O9p8ZrT/dmpTipddOxdauiyE
mdDyfPnGZkIr8LJr/472A1BLAwQUAAIACAD5orFKa19BNzQBAABsBQAASwAcAGh0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWhlYWRlcnMtYXN5bmMtc3Rk
ZXJyLnR4dFVUCQADxhMdWRsNHVl1eAsAAQT1AQAABBQAAADtkr9OwzAQxneewg+A4z+J4yRbWqcL
iKVCDIjBSd1yamJHjgvq2+OohaVITJ3K4Dvdyafvvp+OUyYxFZhJxGnF00rQRAiKOjckehx7k7yY
9gFC8mTCp/N7sLtEmQ/Tu3EwNrzmjJWsSkVWMinfkIJpv3RuD2YdnNc7g7p3bXdxCo2uh+6Itt4N
iKPgEL2PKvNXtIXeVKdICHmejJ9Ie4B+07pAHqH12h/JWdV4snTerGE49DpqzH3ozEQWKS/rVcox
W7AVzpRMcdHUAqu8aBomlcpkRjY66DhvgwY7q6i5rqNP6HQAZ0mTCcUzxnAMAscn8IKlOaa5Kldq
KZqC5z8rnZxO3zlpwcb2ydR0x39DW/Iro6UzWn6TaMtLtDHNK0WcF2j5GW3xf7V/oc0puzLam7ja
L1BLAwQUAAIACAAAo7FKty+IeSEBAAC2AgAAQAAcAGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
Y3Jvc3Mtb3JpZ2luLWNvb2tpZS1zdG9yYWdlLXN0ZGVyci50eHRVVAkAA88THVkfDR1ZdXgLAAEE
9QEAAAQUAAAA7ZDBTsMwDIbvPEUegDRN0jRtb13TXUBcJsQBcUi7bFhtkyrNQHt7Um0gpPEIHGzL
lq3f/8dSKnEqMJWIpRXjlSgTWhaod1Oi53k0yYvpHiAkTyZ8Oj+APSbKfJjRzZOx4TWntKQVF1lJ
pXxDCpahcW4AswvO66NB/bu2x3iFZjdCf0YH7ybEUHAovY8q6yo6wGiqSyaEPC/GL6Q7wbjvXCCP
0Hntz+SqajxpnDc7mE6jjhrrHHqzkA1nZb3lDNMN3eJMSY6LthZY5UXbUqlUJjOy10HHexs02FVF
rX0dfUKvAzhL2kwollGKYxI4hsAbynOc5qrcqka0Bct/Xro4Xb5r0oGN44up5Y79gZYV/BZtLOtL
EecNWnZFW/yj/Y32C1BLAwQUAAIACAAAo7FKEcDeLRwBAAC2AgAARgAcAGh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLW5vLWNyZWRlbnRpYWwtcHJvbXB0LXN0ZGVyci50eHRV
VAkAA88THVkfDR1ZdXgLAAEE9QEAAAQUAAAA7ZBNboMwEIX3PYUPUGNsYwzsAiabVt1EVRdVF4Y4
6QiwkXFa5fY1SlpV6qYHyGJ+NdKb97GUSpwKTCViacV4JcqES4p6NyV6nkeTvJjuAcJaGmeDsSFR
5sOMbp5i/5pTWrKKi6yksnhDCpahcW4AswvO66NB/bu2R7BHNLsR+jM6eDehFAWH2H1UWU/RAUZT
XTIh5HkxfiHdCcZ95wJ5hM5rfyZXVeNJ47zZwXQaddRY99CbhdSclZstZ5jWdIszJTku2o3AKi/a
lkqlMpmRvQ6arD402FVFrfMm+oReB3CWtJlQLKMUxyRwDIFrynOc5qrcqka0Bct/Xro4Xb5r0oGN
64up5Y79F+2TCZ/ODxHSH7T0ilbe0P5G+wVQSwMECgAAAAAA6Z6xSgAAAAAAAAAAAAAAABUAHABo
dHRwL3Rlc3RzL3htbHZpZXdlci9VVAkAAxYNHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAA
AOmesUoAAAAAAAAAAAAAAAAgABwAaHR0cC90ZXN0cy94bWx2aWV3ZXIvZHVtcEFzVGV4dC9VVAkA
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
8ea4tcUHdW+sN6gHS0JsmRKPBtQzt2y5kIokKBVc5bdPB5Cr3qohpPD+jxZqq73UDZvz9sF5cHT/
5AdwCf4vFrZ6xX8BUEsDBAoAAAAAAA+fsUoAAAAAAAAAAAAAAAAJABwAaW1wb3J0ZWQvVVQJAANe
DR1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAD7nrFKAAAAAAAAAAAAAAAADwAcAGltcG9y
dGVkL2JsaW5rL1VUCQADOg0dWfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA7p6xSgAAAAAA
AAAAAAAAABsAHABpbXBvcnRlZC9ibGluay9jb21wb3NpdGluZy9VVAkAAx8NHVn5Fx1ZdXgLAAEE
9QEAAAQUAAAAUEsDBBQAAgAIAPiisUphI4XNtQAAAL4CAABgABwAaW1wb3J0ZWQvYmxpbmsvY29t
cG9zaXRpbmcvYW5jaG9yLXBvaW50LXNob3VsZC1ub3QtYWZmZWN0LXBlcnNwZWN0aXZlLW92ZXJm
bG93LWhpZGRlbi1zdGRlcnIudHh0VVQJAAPDEx1ZHQ0dWXV4CwABBPUBAAAEFAAAAL3QTQrCMBCG
4b2nmANYmUbTahGhuNSVCi7ERSzTNhAnJR1/6unFhSeo9jvAy8OnME4j1FGcgsJMTbNZMklRw5Eu
GysHamV3Y6aQN80pieN5mk31bIFan2G5zg/BcFv6cN2ajkIG+EzwM6XoQriCCIracGW5gib4hoJ0
UHgWYmn3hXEElkG+kciz68B9UmN4WOegNncC9kBlSYWM1ODYYFqhYF9GrOefiZPe4hLNUPf+E9v3
3jdQSwMEFAACAAgA+KKxShWhG0atAAAAXwEAAFQAHABpbXBvcnRlZC9ibGluay9jb21wb3NpdGlu
Zy9pbnZpc2libGUtc3VidHJlZS1jb21wb3NpdGluZy1hbmQtcHJlc2VydmVzLTNkLXN0ZGVyci50
eHRVVAkAA8QTHVkfDR1ZdXgLAAEE9QEAAAQUAAAAtc5NCsIwEEDhvaeYA1hJ06atRYTiUldacCEu
Ypm2gTgJ6fhTT68u3LkSfAd4fFLEeSRUFOcgRSmTMi1maSZhj6e14RoH3l6IMFTeH7I4LvIyUelc
KHWExaqqg6ahdeG80SOGEsQ9E4V4lZzyQiwhgqbX1BnqwAfnMfAIjSNG4mHXaItgCPgziRzZEex7
NYWbsRZ6fUUgB9i22PBEfsUmf8QGPTAG89BsHP0gfgJQSwMEFAACAAgA+aKxSuUAXraoAAAAXwEA
ADoAHABpbXBvcnRlZC9ibGluay9jb21wb3NpdGluZy9yZW9yZGVyLXotd2l0aC1zdHlsZS1zdGRl
cnIudHh0VVQJAAPFEx1ZHw0dWXV4CwABBPUBAAAEFAAAAL3OSwrCMBCA4b2nmANYSdOnQYTiUlda
cCEuYpy2gTgp6fiop5cuvIAL/wN8/FLERSSyKC5ACiUTlZaLZVnAES9byzUOvL8TYaj6/pTHcVmo
JEuXIsvOsNpUddA0ND7cdnrEoEC8cimmkqvJxRoiMJ2m1lILffA9Bh7BeGIkHg5GOwRLwF8k8uRG
cBM1h6d1Djr9QCAP2DRoeCb/Phv0wBjsW7P19MPxB1BLAwQKAAAAAAD7nrFKAAAAAAAAAAAAAAAA
GgAcAGltcG9ydGVkL2JsaW5rL3RyYW5zZm9ybXMvVVQJAAM6DR1Z+RcdWXV4CwABBPUBAAAEFAAA
AFBLAwQKAAAAAAD7nrFKAAAAAAAAAAAAAAAAHQAcAGltcG9ydGVkL2JsaW5rL3RyYW5zZm9ybXMv
M2QvVVQJAAM6DR1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAD7nrFKAAAAAAAAAAAAAAAA
KQAcAGltcG9ydGVkL2JsaW5rL3RyYW5zZm9ybXMvM2QvaGl0LXRlc3RpbmcvVVQJAAM6DR1Z+Rcd
WXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAHo7FKLhbEfqsAAABfAQAARgAcAGltcG9ydGVkL2Js
aW5rL3RyYW5zZm9ybXMvM2QvaGl0LXRlc3RpbmcvaGl0LXByZXNlcnZlcy0zZC0yLXN0ZGVyci50
eHRVVAkAA94THVk6DR1ZdXgLAAEE9QEAAAQUAAAAtc5LCsIwEIDhvaeYA1hJ0kdqEaG41JUWXIiL
WKZtIE5KOj7q6aULd64E/wP8fEpIHYk0khqUKFRSyGSRpgKOeNlarnDg/Y0IQ9n3p0zKXBVxmuTL
RJ9htSmrYGhofLjuzIihAPHMlJiKtc7FGiKoO0OtpRb64HsMPELtiZF4ONTGIVgC/kwiT24EN63m
8LDOQWfuCOQBmwZrnqmvWPlHbDADY7Avw9bTD+I3UEsDBAoAAAAAAA+fsUoAAAAAAAAAAAAAAAAN
ABwAaW1wb3J0ZWQvdzNjL1VUCQADXg0dWfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAbKOx
SgAAAAAAAAAAAAAAACAAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1VUCQADnBQd
WfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAD5+xSgAAAAAAAAAAAAAAAC0AHABpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9VVAkAA14NHVn5Fx1ZdXgLAAEE
9QEAAAQUAAAAUEsDBAoAAAAAABufsUoAAAAAAAAAAAAAAAA5ABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvVVQJAAN2DR1Z+RcdWXV4CwAB
BPUBAAAEFAAAAFBLAwQUAAIACAAYo7FKjzQacEQAAACgCQAAXAAcAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L2ZhaWx1cmVzX1JTQS1PQUVQ
Lndvcmtlci1zdGRlcnIudHh0VVQJAAMAFB1ZXg0dWXV4CwABBPUBAAAEFAAAAHPOL81JUcjLL1FI
T81LLUosSVVIVMhOrVQoSMws0lEoLkksKS1W0DUxNjDhch5VO6p2VO2o2lG1o2pH1Y6qHVVLc7UA
UEsDBBQAAgAIABmjsUpUAsmyNgAAAMACAABlABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvZmFpbHVyZXNfUlNBU1NBLVBLQ1MxLXYxXzUu
d29ya2VyLXN0ZGVyci50eHRVVAkAAwIUHVlhDR1ZdXgLAAEE9QEAAAQUAAAAc84vzUlRyMsvUUhP
zUstSixJVUhUyE6tVChIzCzSUSguSSwpLVbQNTE2MOFyHlU7qnaQqQUAUEsDBBQAAgAIACajsUqP
NBpwRAAAAKAJAABaABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9B
UEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0EtT0FFUC1zdGRlcnIudHh0VVQJAAMYFB1Z
dA0dWXV4CwABBPUBAAAEFAAAAHPOL81JUcjLL1FIT81LLUosSVVIVMhOrVQoSMws0lEoLkksKS1W
0DUxNjDhch5VO6p2VO2o2lG1o2pH1Y6qHVVLc7UAUEsDBBQAAgAIACejsUpUAsmyNgAAAMACAABj
ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVL
ZXkvdGVzdF9mYWlsdXJlc19SU0FTU0EtUEtDUzEtdjFfNS1zdGRlcnIudHh0VVQJAAMaFB1Zdg0d
WXV4CwABBPUBAAAEFAAAAHPOL81JUcjLL1FIT81LLUosSVVIVMhOrVQoSMws0lEoLkksKS1W0DUx
NjDhch5VO6p2kKkFAFBLAwQKAAAAAAAjn7FKAAAAAAAAAAAAAAAAJAAcAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL1VUCQADgg0dWfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgAA
AAAAK6OxSgAAAAAAAAAAAAAAACoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ub2Rlcy9VVAkAAyIUHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAACOfsUoAAAAAAAAA
AAAAAAA/ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1l
bnQtY29udGVudFR5cGUvVVQJAAOCDR1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAjn7FK
AAAAAAAAAAAAAAAASwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVz
L0RvY3VtZW50LWNvbnRlbnRUeXBlL2NvbnRlbnRUeXBlL1VUCQADgg0dWfkXHVl1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgAI5+xSnK1rOT0AAAAHQIAAGUAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9jb250
ZW50dHlwZV90eHQtc3RkZXJyLnR4dFVUCQADgg0dWYINHVl1eAsAAQT1AQAABBQAAADNkcFKw0AQ
hu8+xRztJdtWxdRbbfFiwUBABfGwyU7I2N2dZWeT2rd3CxEE693r/30D889w89G+3SyWq9X7HWys
FoFqdz+QNc8YhdgDCZALFh36hAbIQ8OpB7UOwVKrU3ZEvbZssNAhqA1nzSdRWxzRcsCoKqtTx9GJ
oqpnjzW5IUccizCRH3K9ffztidmr+igJndpRE3U8qirSqBM+RO3wwHEvai2CSSZeYxypRSm6b+E8
h8v552J5250uUM5Ae/MPm+WZxH8XO4enXubquiznswKePAJ3kHqEdGA4kLXQIAyCpoCXntoe8l6n
Zw/eYEc+5xdfUEsDBBQAAgAIACujsUraU7MB9AAAAB0CAABLABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC1zdGRlcnIudHh0
VVQJAAMiFB1ZIhQdWXV4CwABBPUBAAAEFAAAAM2RQUvDQBCF7/6KOdpLNqlQUm+1xYsFAwEVxMMm
OyFjd3eWnU1i/70RIgjWu9f3fQ/mMdy8t6+bdX5TvN3C3moRqI53A1nzhFGIPZAAuWDRoU9ogDw0
nHpQuxAstTrNjqiXlg1mOgS151nzSdQBR7QcMKrK6tRxdKKo6tljTW6YI45ZWMgPuT48/PbEnFR9
loROHamJOp5VFWnUCe+jdjhxPInaiWCShdcYR2pRsu5buMzhOv8oClzjZrstV6C9+YfL5k7iv4dd
wsuuIi/LMl9l8OgRuIPUI6SJYSJroUEYBE0Gzz21Pcx3fT178AY78nN+9QlQSwMECgAAAAAALJ+x
SgAAAAAAAAAAAAAAACYAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL1VU
CQADkw0dWfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAANZ+xSgAAAAAAAAAAAAAAACoAHABp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9VVAkAA6YNHVn5Fx1ZdXgL
AAEE9QEAAAQUAAAAUEsDBAoAAAAAADWfsUoAAAAAAAAAAAAAAAAwABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvVVQJAAOmDR1Z+RcdWXV4CwABBPUBAAAE
FAAAAFBLAwQUAAIACAAwo7FK3yEKPpEAAACeAAAARwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL21vZGUtbm8tY29ycy1zdGRlcnIudHh0VVQJAAMsFB1Z
pg0dWXV4CwABBPUBAAAEFAAAAB3HTQuCMBgA4Hu/YseCXG5rfl21CBKJZnSIDkvfYjj3yhz194ue
28NjlkaxjFhKeFxwWQhOucxIhyPV02SBXuFxNIE2ED7oB+NetII3WJxGcOGWMJYnhZDbXAp5J426
nGsF82zQbf4p0Tnowu/k0LYnYlH35KmNhZ4sh3Kvggc97rxHX+GojVOqXpMoz5hYLb5QSwMEFAAC
AAgAMKOxSgXO5fWRAAAAngAAAE4AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9iYXNpYy9tb2RlLW5vLWNvcnMtd29ya2VyLXN0ZGVyci50eHRVVAkAAywUHVmmDR1Z
dXgLAAEE9QEAAAQUAAAAHcdNC4IwGADge79ix4Jc+3CaXrUIEolmdIgOS99iuA+Zo/5+0XN7GKF5
QkRCc8RIyUTJGSYpR723WE2TAXyFx1FH3EL8+DBq98I1vMH4yYKLt4zSIiu5SAvBxR218nJuJMyz
9m7zT+Wdgz7+jg5dd0LGqwE9lTYwoOVY7WUMoOwuBB9qb5V2UjZrlBRbyleLL1BLAwQKAAAAAAAq
n7FKAAAAAAAAAAAAAAAALwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2NvcnMvVVQJAAOPDR1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAuo7FKV+qzZKwA
AAC0AwAASAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMv
Y29ycy1iYXNpYy5hbnktc3RkZXJyLnR4dFVUCQADKBQdWYUNHVl1eAsAAQT1AQAABBQAAADN0LsK
wjAYQOHdp8ioYGMuTdN29YJgKWIqDuIQ668E26SkQV9fcfYBMp7t4zBCZUJEQiVipGSiZDnmnKDW
9VgPQwf4BNedCbiG8Hb+aewDr+AFnRt6sOGcUSqLkou0IFl6QbU6HioF42icXfxi6ayFNnwbbZtm
jzqnb+iuTQc3NH0uNyp40P3ae+dXrtfGKlXNUVLklM8m7J9O8Jh1UkSsS6N+l2YyZl0ey7sPUEsD
BBQAAgAIAC6jsUrqYJqcrQAAALQDAABPABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvY29ycy9jb3JzLWJhc2ljLmFueS53b3JrZXItc3RkZXJyLnR4dFVUCQADKBQd
WYUNHVl1eAsAAQT1AQAABBQAAADN0LsOgjAYQOHdp+ioidS2XAqsoDGREGMxDsahwq9pgJaURl9f
4+wDdDzbl8MI5QGJA8oRIzmLc5ZizkPUmhHLaRoAX+B+UA7X4N7G9ko/cQkvGMw0gnbXhFKe5WEc
ZSSJbqgW51MlYJ6V0ZtfFEZraN230b5pjmgwskMPqQbo0LIvdsJZkOPWWmNLM0qlhajWKMhSGq4W
7I8uJcxnHUs81mWE+KyjXr8LY090H1BLAwQUAAIACAAwo7FK2plHSZwAAAA8AQAATwAcAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1uby1wcmVmbGln
aHQuYW55LXN0ZGVyci50eHRVVAkAAysUHVmIDR1ZdXgLAAEE9QEAAAQUAAAAzc67CsIwFADQ3a/I
qGBj0ldM11YRLEVMxUEcYnuV0Da3pEF/X3H2AxzPdkLGRcCSgAsSsixMsojTOJakwYHqceyBnuG2
N55W4F/oOmMftIAn9DgOYP0l5VzILEpiydL4Sip1OpYKpsmgXX2Ro7XQ+I/Jrq4PpEfdkrs2PbRk
3uVb5R3oYeMcugIHbaxS5ZIEcs2jxSz8tRP/snsDUEsDBBQAAgAIADCjsUoih/8SmwAAADwBAABW
ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLW5v
LXByZWZsaWdodC5hbnkud29ya2VyLXN0ZGVyci50eHRVVAkAAywUHVmJDR1ZdXgLAAEE9QEAAAQU
AAAAzc67CsIwFADQ3a/IqGBjHn2vrSJYihjFQRxie5XQPEoa9PcVZz/A8WyHEZpFJIlohhgpWVJy
inOeo84ZLMdRAz7DbacCbiG8nB+UfeAanqDdaMCGS0ppVpQ8iQuSxlfUitOhETBNytnVF5WzFrrw
Mdoej3uknezRXSoNPZoP1UYED9KsvXe+dkYqK0SzRFGRU76YsV+7lP3J7g1QSwMEFAACAAgAMKOx
SscxEhtFAgAASQwAAEkAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9jb3JzL2NvcnMtb3JpZ2luLmFueS1zdGRlcnIudHh0VVQJAAMsFB1ZiQ0dWXV4CwABBPUBAAAE
FAAAAO2WX2vbMBTF3/cp9LKywa4tyfobCCOkaTvWNWVu2cMYRZbkxNSxjKOt67efkrJCx2AdpSyl
w36Rbe45/nF0r6bzk3J+PEMfZmU5OZyN0HxoFk2HljH2ozxvgzXtMqzjSCmMUbNGXYjItG248g5V
12hirV+vYRq6OIQWJps3cFMjezH9tfiBj3aJJqfvkDXdplIbjPupRajMcLrIViuvN9/mpm/ywa/D
1yHp5P3g67ZZLGPWX7+N4dJ3YyuUMg47IMJwYI4b0K5mUBmjiNTU1NTsrcz3C7PwY7wXttbGG8mX
xeQlPUj3rXB6spHe2/7fxcrHZXDr8eHsLHtcLP+O+R0tcl/mnDFrmNFQU4mBeZ9wM2VBMVMrbhS2
vPgD81vhG+bkGTG/k/N7M3dFzSh2NpHGibnQCrS1BJzmWDKOueb273L+6MwpJhIwByIRxSPKRwXN
KCXIhlVm+r712SdfvW9iduLjVRgum26R7ftvvg39ynfxsyBpA48KzjQW7As6Kc8/HpdJrgldvl0k
2c7bmNbo6Ozs9IZybZo2mXt1OT0o4+DNajYMYdgPK9N0ZXn8BoFWpHj9e3cM77I7qXfYHZfFjrib
PvWZlkaZlNphqCue9jqRDpSoCBBeOIw1Vpo8cKadzstn0mDvDV2Q1F+trMAZVgDjtoI0yBTwQqYW
a5VV3D8M+tFssp89OS7KcaYIM4CtEImL8KAFTmH0tdSy1oJT+cAwnv/P4l3mlGjvlReA/Ya5MgxU
bQQUtFCVInUl5K4dan8AUEsDBBQAAgAIADGjsUqxPohSpQAAAHgCAABQABwAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLW9yaWdpbi5hbnkud29ya2Vy
LXN0ZGVyci50eHRVVAkAAy0UHVmKDR1ZdXgLAAEE9QEAAAQUAAAAzdC7DoIwGEDh3afoqInUtlBu
K2hMJMRYjINxqPBrGmhLSqOvr3H2ARjP9uUwQpOA8IAmiJGc8TwMMSEMtVZjOY4D4AvcD8rjGvzb
ul6ZJy7hBYMdNRh/jSlNsjzkUUbi6IZqcT5VAqZJWbP5RWGNgdZ/G+2b5ogGKzv0kGqADi37Yie8
A6m3zllXWi2VEaJaoyBLabhasH86ls1Zx5M569K5vPsAUEsDBBQAAgAIADKjsUoll5UJ3AIAAJgS
AABTABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3Jz
LXByZWZsaWdodC1zdGF0dXMuYW55LXN0ZGVyci50eHRVVAkAAy8UHVmLDR1ZdXgLAAEE9QEAAAQU
AAAAzZfPaiQ3EMbveYo++VYe/SlJJYMJy+INgSS74AcwqlJpbTLrGdxjsnn71Byy54AgiL6IbiH0
66r66quPn/94/Pzbw/b7w+Pjh18e7rZPepHn7cOXXzdpr6+ny3Y8tb49Xy7nu8PBh3Lr7PF3RM4d
xnXvoZ1fDm+6n97fRPfD+U3H8eXr8+X2/PfPl9Of+nofk/bUXYDicgTk1IGCExi9qcOcM4508619
f2pf9d7dtOPx9NfTs7aub/v9dxgnOxh+nHvzY/W0X9rlfb+Pzt1uX/59u9ldzqfXXbeXfbsC7O9i
F9vH+/Gnj/8DbYqUMpFAiV0BOwcgbghJnbomOTv2c7R+IVr2zOpLgsDeAUaOwL4iEEpBHTlKbnO0
YaXYDnRKRKC5d0BNbJncMlTyLExD7AfM0caFaEvBXiQ20DQIsCYHLaYEThyWWl2zz3O0uBBt1EFS
NUJIHQFHdMAJCxANKq1yKD7P0aaVaKvD2EKBHILF1soUuGeCIdUxds91NrZ5pUz2GmK1G+NgtrqN
FahmD9QslXsYYkGeoy0L0eYyJFnhQgilASZ0UP3IQANb61GFhpujpYVoazGiltUi6gUQR4CWEkFh
MWOA0XrxlCbjUu6Ckapz1m9jZ+tAqQzrt2Ir0uqRY0fFOdqV3EURwY5sdZvI3AUXB6QhXdtQF6ei
WidjG5bSZNtdawHtVrwmVabJWJulc88VfY89+TnaldwFN+FQxQPrVaVKN9DAA2xayOzNTlpjmqNd
yV1oTVVFyMyT2Ue0eQjMTyVIXkodrlj5hjnaldxFbdVnH9R8sk9GO5I1H1cgMXWvxFrnpoK0lEpJ
HdqcyVLXbJkcWgSSFMBZFgcsEpTjHO1KKuWMaeQgoK2aMHsxn5xdNQ9pk1FSMafMc7QrqZSO0jDV
DDJcNncRGBrZ7Kejpau96G2EOdqVVCp7CoO8t0x25ilKK1Dlily65FF677nP0f5XlfoHUEsDBBQA
AgAIADOjsUpvbZR0mwEAAN4FAABMABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC5hbnktc3RkZXJyLnR4dFVUCQADMRQdWYwNHVl1
eAsAAQT1AQAABBQAAADN1Etr3DAQAOB7f4VOvc1aL+uxEIrZuk0hL7pbeix6jOKlru2uFZr995WT
Sw8LyaGERRchjdB8aDSb25vt7VVLrtvttvncrsknzKEjzd0XEtwwjJn0o4uky3laVxXjekXLYGtj
KK3SElu5aV8dcB4fDgHnajpg6vf3XV5Nxw95/InDRR2tcpgC1FEgSKoNeFZHkIkHGlAYTPr9L/f4
w93jBV2Ra8zdGMnH9qrdtWQ/kyUN1/fjH4zEH0kTykUzbMYhH8YemmUHng/Nq3ebNxBJIUp44hBY
dCCt5+DRCTAxMMatiVTXJ0R333ZnyUHhk7AKQShnQQZjwCQrlplklhYUulOcZre5PEsQT5gMFRGi
4h7KazmwltZAa8s00yomZk6AbtrvZ8nR2imqNYNojCrlphJYQUvNBeUki7G2zv/L+Yq/H3DOpEMX
8UDSHvtIHiGXNXheY691Xj6Fv5HTiJrXgkWwRoRSfaVHeGkcJKvReyOkqumLziV/HDLsjhOepVLK
ZCyXDhjz5bdpQcEUHajEoo8hBW78f2oefwFQSwMEFAACAAgANKOxSuSTOqjGAgAAvxMAAFUAHABp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcmVkaXJl
Y3QtcHJlZmxpZ2h0LmFueS1zdGRlcnIudHh0VVQJAAM0FB1Zjw0dWXV4CwABBPUBAAAEFAAAAO2X
24oTQRBA3/2KeTFvlfS9qxeChGVXBW+4HyDV1dUmGDNrZpbVv7ej6AobgmAe1A0zTA89F4ozdaaq
z1+/unr94qJ7eXF1tXh6cdZdysjLbvHmece02fRjt+6pdMtxvD6bzbSJU9U2fYao1Kzu7p3R9Wq2
laG/2bIMs+ut1PXq/XKcXn958pE+v6P3MleTsf8gm7mOIaHmDJmtBxcjAgatwXpOyLEaY2mylbLa
Co/vhpHGm2FulZ6se6Zx1W/mu0Ae28Vjc9n2n+G0mV1AbepbSG1sQbUj99uhDdNpO/wMsZ3/GuSE
+5vNONfT7q18upFh7JZCRbZdXcm6dJ/h1nK3GrodC1qv+1spXf7SLbi9aoDzfjNu+zUsdlfg2bcn
h+mj82Nj/QFlR/U7y0gpksUEjrwGp1UAjCaACjHpIlES0eTuA/w+1d3setkP459Q/ddoVo2mkvbA
olxDqhRQQAcmavKVSeeij0FT/4c0DypffMtP00RPWJvyTkfIgT2gzja7iMFk2YPTnJS/n6Q+mlhS
U957XcBVblRzVOB8xGqKEZ/dwSQ1J+XvaIbANngfwCSWxjCXVoxyBbFGKnFISuVj0Hx4yqcgxtkM
aCiDy8EBltT+qkFJ1a3Gc8Q9OO1J+ftJqipRwaCgFuHWMYkCdNqCNYFLtKZGdbgu2ZPydzQFVc1a
LLCOLR9dRSDXeiauvnhrYyY0x6D54JSnnDmJ3xV4ieBUK0/EUUCSGJu9BB/THpzxpPz9JCXkVEOo
rcDH1tgjV8glePDaeao5lmDswSSNJ+V/WSZpRDRMIC4FcIIGMiYPEVXO5FRJ1hyD5oNTPpN2ZEsE
sqa1oNISNmUnEGqrTYmTthL34MST8ntWnyoE8ZFBfG0sI3nIzjNwtkarHAz6w2t5PCl/R7PopFE3
kMoUBJeKg+xTBkoqoQtVifAxaP4Fyn8FUEsDBAoAAAAAACyfsUoAAAAAAAAAAAAAAAAuABwAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL1VUCQADkw0dWfkXHVl1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgANKOxSs0PIN+bAAAAxgAAAEgAHABpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvcGFyc2luZy1ub3NuaWZmLXN0ZGVyci50
eHRVVAkAAzQUHVmTDR1ZdXgLAAEE9QEAAAQUAAAANY2xCsIwFAB3v+Jtmdp0LNmkBhGsHergGtNX
EwhJyHu1+PcWsetx3HXDbRyuGno9jsezVnDyE8TEEJKZgGzxmcEwCMeclZQhWRNcIlZt2zRyRrZO
xkTRz7MsSGkpFmkn1ZIzFmsIa0OeBDzRmoVwO8Q93l96DfzJSGAK/t4mhLTiBKvDCOJRdSkyRq7u
m6Xg3xbgCV7+jbE+fAFQSwMEFAACAAgANKOxSr7ETfWvAAAA6gIAAD8AHABpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvc2NyaXB0LXN0ZGVyci50eHRVVAkAAzQU
HVmTDR1ZdXgLAAEE9QEAAAQUAAAA1ZK9DoJAEIR7n2I7KjhLQmKMQWJMRAosbM9j8c5c7gi7CLy9
+PcIFPST+b5MJi3OZXHKIM/KcnfIEtibCpxnsF5WQKo1DYNkCDRzkwhhvZJWe+IkjtdrUSMrLZwn
Z+patEi+axWSeFDUjFseG9wMYgjghkp2hFOz+5fmxzyDd4JAtvhhSmt9jxX0Gh0E1zD1jtFxeJlS
CfwoARiCu3mii1bpjPaLlP5OvmD1+b7yAlBLAwQUAAIACAA0o7FK45uEf60AAAD2AgAAQwAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvbm9zbmlmZi9zdHlsZXNoZWV0LXN0
ZGVyci50eHRVVAkAAzQUHVmTDR1ZdXgLAAEE9QEAAAQUAAAA1c+9CsJAEATg3qeYLpWepQREJAYR
jCnOwvY8N17g2AvZjZq39wdfwcJ+mPmmqA+23peoSmvX2zLHpr2Ak6JzvRBEx0gSiBROkQXVLjcm
Ju9iSKL5YjGfm4bUB8NJuG0a05OkofckxovMujHDmbwbXmWcGIW1qHZVCR07EriePmsuxnSnC+6B
GNlpWiRWYp0eX6kc3+oMreDa3ohnk+Ln7tVbuHz8Od/8+YHf6J9QSwMECgAAAAAAfaOxSgAAAAAA
AAAAAAAAACUAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvVVQJAAO+FB1Z
+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAB9o7FKAAAAAAAAAAAAAAAALgAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9VVAkAA74UHVn5Fx1ZdXgLAAEE
9QEAAAQUAAAAUEsDBAoAAAAAAH2jsUoAAAAAAAAAAAAAAAA/ABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvVVQJAAO+FB1Z+Rcd
WXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAB9o7FKAAAAAAAAAAAAAAAAUQAcAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9icm93c2luZy10aGUtd2ViL2hpc3Rv
cnktdHJhdmVyc2FsL1VUCQADvhQdWfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAgKOxSgAA
AAAAAAAAAAAAAHIAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3Nl
cnMvYnJvd3NpbmctdGhlLXdlYi9oaXN0b3J5LXRyYXZlcnNhbC9wZXJzaXN0ZWQtdXNlci1zdGF0
ZS1yZXN0b3JhdGlvbi9VVAkAA78UHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAH2jsUrE
uJ8awQAAAAwBAACvABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dz
ZXJzL2Jyb3dzaW5nLXRoZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvcGVyc2lzdGVkLXVzZXItc3Rh
dGUtcmVzdG9yYXRpb24vc2Nyb2xsLXJlc3RvcmF0aW9uLWZyYWdtZW50LXNjcm9sbGluZy1jcm9z
cy1vcmlnaW4tYWN0dWFsLnR4dFVUCQADvhQdWb4UHVl1eAsAAQT1AQAABBQAAABVjkFLAzEQhe/5
Fe9owcOiFWShB5FgC6572PVc4u40BrOZOpkUf76RtgeP8+bxfe+5fxv6V4vODsPTi20RQyLcPdyv
W1gRlhYuZxLd03dxMbfIn1zijDwJxwhlHMT5hZKCfo40Kc14bBp8FIVnRWOM2TpJlPMZiJtx19n+
fVzdYqmp84QNUonRmMsHnUtVdnUIZWVxGjhd7eq+CEehieY/M59ILu2Q/L9RIaHmVc4SfD2SOwV/
Zo2VCw1LXcxFjfkFUEsDBBQAAgAIAH2jsUpmcHlJQgEAABEDAACtABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvaGlzdG9yeS10
cmF2ZXJzYWwvcGVyc2lzdGVkLXVzZXItc3RhdGUtcmVzdG9yYXRpb24vc2Nyb2xsLXJlc3RvcmF0
aW9uLWZyYWdtZW50LXNjcm9sbGluZy1jcm9zcy1vcmlnaW4tZGlmZi50eHRVVAkAA74UHVm/FB1Z
dXgLAAEE9QEAAAQUAAAA5ZFNT8MwDIbv+xU+gjqTwYo0TUIaHxUgGJPoYEeUrV4bKW1K7LDx70k3
JnHhxg1Fii3n9ftENiKCenU21MTqRotW2SJXC1o+GPkOV8HYQj2TJc2Epq1cQ2zqYLU4r6z+dEFQ
iAU9cbDCytSt80KF2gxXakNLbKN27Xy9k7GqpLZq6d2GyfM+MU2JUhFGtaoMR+dPFK8/okBb1cYQ
i1RgiC3IooU6WpRpMa5RvPLO2p8lXHtd1tQI7t86QEyY0XlTmgZp29IqWp7IVnpJkvzTMeiVBG13
Q5hMAE/7KSTdNZn08Hr2lM8eM5hmeX55m40hthOcpeloDJn3zo9Bc/yJvNF7NOExcOWCLWDPAnFw
wMNh3DAaDGAZBEonMOglvzDOh+mfMaA7d9rHffHeE47m99Ns9jI/7kPcOOuS4AKaYG3vC1BLAwQU
AAIACAB9o7FKODGLGsAAAAAMAQAAsQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9icm93c2Vycy9icm93c2luZy10aGUtd2ViL2hpc3RvcnktdHJhdmVyc2FsL3BlcnNpc3Rl
ZC11c2VyLXN0YXRlLXJlc3RvcmF0aW9uL3Njcm9sbC1yZXN0b3JhdGlvbi1mcmFnbWVudC1zY3Jv
bGxpbmctY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4dFVUCQADvhQdWb4UHVl1eAsAAQT1AQAABBQA
AABVjjFrwzAQhXf9ijc2kMGUDMGQoRTRFOp6sDsX1b4qIrIuOZ1Cf35Vkgwd793j+95z/z70bxad
HYanF9sihkR43Gy2LawISwuXM4l+0rm4mFvkA5c4I0/CMUIZ3+L8QklBPyealGZsmwZfReFZ0Rhj
9k4S5XwF4mF87Wz/Ma7WWGrqPGGHVGI05vZB51KV3R1CWVmcBk53u7oj4SQ00fxn5gvJrR2S/zcq
JNS8ylmCr0dyl+CvrLFyoWGpi7moMb9QSwMEFAACAAgAgKOxSjF45vsqCAAAbBoAALUAHABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvYnJvd3NpbmctdGhlLXdl
Yi9oaXN0b3J5LXRyYXZlcnNhbC9wZXJzaXN0ZWQtdXNlci1zdGF0ZS1yZXN0b3JhdGlvbi9zY3Jv
bGwtcmVzdG9yYXRpb24tZnJhZ21lbnQtc2Nyb2xsaW5nLWNyb3NzLW9yaWdpbi1wcmV0dHktZGlm
Zi5odG1sVVQJAAO/FB1ZvxQdWXV4CwABBPUBAAAEFAAAAL1ZbXPjthH+7l+Bsad1mzFJyZJdWbbV
ydly00ku16mvzccMSIIiziDBAKAtX5v/3sUbRVKk7E5mkpucSGAB7Muzzy54N7kq2OroJic4hZ+C
KIySHAtJ1O1prbJgcQrDUr0ysjpaMlo+naHlM5VUkRT95wjBf4psVZCShAusKC+XqOQluTZTMRcp
EUHMleLFEk2rLUrhmaTXR78e2e3cJglnXCzRyWR2ZebCB8rIPc0yNx/j5GkjeF2mgRfNFvpP+yB7
guSMpugkTVM7l/FSBRkuKHtdooKXXFY4cQoWWGwoqDwlBZrYoYqDccYOQRhY9EyMQvm0p+lsNhvY
X+JSBpIImrUmJf1KzBntQwNGMrVEk/DCj6dUVgzDJrQEzzgNX2iqclg8mfzB6YfTlJabZqXVzYVG
P3Wj49SlZQ5KqUY8589E9Cy6uLi4HnM2IdYNoY7JD3CWdIszxjGYIegmV93Iaak7MB+DLf4oDq6n
Ckyc9ExWOGYkSAhjHSsDs2/HSy85WBeYGGqovQhc7TR7JImO3ShozOIuZPpwcZj1fgdATaqtPWG9
rSC8sD+YRs5QqH/6Fo6qJ2lK4lf9NzKqfmA8efoHFioEU5cZFVIFSU5ZOupYfdwjrD87tJkgBYT2
7I3z3Bne/RZwQaxFOrC78KgDtCiaYBZgRjeQG4oPmCWIRvp3uEwZ8e5w+2gX6vec2IDu8JzUQurQ
aLX7GYhjiE7tIwZnNsCxyWPUO6RFB+f7cNgI8nrdA2Z48Va8rItRqPibbg4zwYuesx0/6jO013+s
i5gIQBNpo8uOesX3adSh9uqqQ4A+XYZo0GfyfD4fpJt29BuO0Rtd2BSwadAQvsOBg+cQRKy6HTjN
HGG1DDcmDhKOLRKjbjlAUpXQ2anVdA70bOJQ4w3p5CosCmy2minwp3kFOwTBT4EesArRAm9IJzJL
dN44PGZYe1ELJkANoAOo4p5Q3+5dVBbzq1HuzUi2IwANK9ixKY+tbB5YmmZpdykEW46LX5Gr60M1
vdnJsUxbD5cV4+U6Tfc2QClh4yvI1ZvaRN+gx7qquFBQaYVDMji1KEipJPomgvNwrXJu/W2rsW5m
APUKcJr4SJkFRmak/jcyWhkMkDDCns4uPbA13WDG7rwGg9LntpYVeBv0ynsBfYEbOp80dad/NPj9
4DlNZjcp3TlmSM+QV8SWzeCFxE9UBUrotLOesIqj8Fxet8yYO6NPpMKqlh/qGGp4Uw9DnT2D6ugl
inMWY9Gd90dnjJgM3U0U/Gsz2pDTzOax66P0o+8W9PN4SzjGHAdbuR0sMroldh/Hx5OuSSE2PYhN
s/0q/kKBC0QPas2eXwNapmQLJHXAtF0hbKkwZJcjo055WzgWK7WaLmEHSxOcF/Ptm4pe7hSdWhD7
ImTfjLLuualg7rVRuOnMOkfTTODCatjLk24b0cqRuxGm3ffNK/Sa/MXVesKgcYSe+R2F6fLqYQcv
V5NHJo0junNNG5nut8fd5tjtYd23j+HRliD1PGuP+daTgr/qTNqzn32N7N1JLv/iCW1fzQNJ0rrt
yALbXr7NuSUXMHw9wjLOft2CyaHDrR0+rydDIgzHhC1xBhl2trfcjptNTEEuwdRj9F90fH3UFOJW
+e6vZhg6dJ4F6rUig1sdj2rkBHtX3JwwQ5BNM4p1MzpSo04KIqVvPEb9PBSWVnY8GqJ+TymEEgMN
0TPltbxrRqCZ/UrKu1axHKrzvuXol5h2cdFcDqg1SPDc7t4dEh2JzHwNfJc2DhrQ4xClc6JTLlzb
N9L0tetsXENWlW3e8fU9pc/LjCfOh7xWmi/a6Rez2lQSNwV4yUAXqGBTb0i7WJpdoIf5nBN7UuQq
7Qb01zYojhTMxVbaQU2iZ4o1J6uPDhOgbCz4CwQcOoEcw1rXFFEV6iaosWN+6br4phVx754ddCOr
/590i6j/pNPv8Quawi3LGqYDJP3le6CiQB/GJX4G34MHSK+utG96e6UumIYz2zLtPn746j8Qg5P7
+/tWSp8sHu4fLh4G+Qmay2EUr9frIa2XpKiAoTrBd21aTzKER9C0k/nrq8Vk4XgrYQSLn0174K8C
esRcm3ItchO5r243MhG0gpiK5PY4V6qSyyjCX/A23HC+gUUVlRq6ZixiNJbRl19qIl6jaTgPz91L
CK1l+EUer2Bfs98KdXdOeEoCHUPyAnJ/hUjrYN7OF60loJT7UBjz9BV+IB9Abyzl7am/Cejvhfl0
Ff0b4gmcFd1jhaP1T4/RTyT+nir386GmLI3+CXUXSxLQKgeYSFrU0HFzEQFywL2BIsC4cJ2vmZIR
LTSiSRq9zJIIaCQAfClo+gsjJiP9ITPyWWAf9JUP0keTTpRTCTu/6oKjTcMsqrSFEnYMalhio6ZP
U+6aoY3mjLWHAmhINpoiAjunD4AHKQMOoAXWgp6qxixUWwWemnYd1Po+dbo/Y74bjI3r7wnIXpl6
IvoyhbrfoXZyQHKlFzQfInbdzelqClGF+VVHCvimLfPHMpbV9aAgNA6nq7tPPz5++mGNPq4fH7/9
23ppFqPzG7jWrebzxU2kH5ZoLYTGPywE+viZ/AIukpCBOa9ZiqwnNdN55yK48tt2bDGZaDJGG67Q
xKkBGAT7/c+4u4Ap3vaVEzroqANO4O/w6EFHQaVaXcxuIv1rXub2+XfzWYuGTldu2sn+3wCVOdxA
33b6mw4/f4evz8d93bf5tykze4cys99Lmfk7lJmPK/MdFsCy0mIL/enz3z+uP/3r85/PkO8tb1FZ
M/ZbQNP7MWXiJrL/yPQ/UEsDBAoAAAAAAEujsUoAAAAAAAAAAAAAAAApABwAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9VVAkAA14UHVn5Fx1ZdXgLAAEE9QEAAAQUAAAA
UEsDBBQAAgAIAEujsUp1k2oplWwAAHzOBQBHABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWVtYmVkZGVkLWFjdHVhbC50eHRVVAkAA14UHVleFB1Z
dXgLAAEE9QEAAAQUAAAA7Z3NbiNZcu/38xQEvXAX4FMtVX9kd2PgtqZbPVOY6qqBSoWCcfvCYElU
iXcoskxSLPWu5/tj4Qfwapae1TyAFwb8JvY8gF/hUpQoZZ6If8Q/DsliNuBF3+up/MXJk4fxjwhl
noz80XB88vP+aad3ctKfTjuzcad/NetPRr1h58XRk875bPbms/ffnw5m/Yf9q97Fm2H//R/8KG7z
pjc7//zzz//hb4Yl1v97RveMXzx7+vzZk8PO14fPnx/8+PCzznAw6neqTz7+rHN83u8Me6PXl73X
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
ko6GtFA+fuJRyMoloFLM9KNAhjbCKUgxhGpw05ACJprEjm8mI+PKGVePJST/U6pNMJaO/I+pumCL
1ER/TtXjK5IT+mK+qOqhitZKv6nqmQvdsV9V9fAU5KUSmQ+rsqtjqbLo06pSciD9tPTjqnB2tlBw
7rG+rwoRqAk78YQ/sQrtkPu7Wcf/yir+/ZGnmykn+KFVzgq8o+5/ajUjg50d/I+t+mSLRMR/btU1
qFhQvkjPfHHVZbXX6ku/ueray5fs2a+uunyKGihv3jMfXqXXyHxZv+jTq4oEUYOIln58FU/P0Y3R
csL6/ipmsESclhPhT7BiQ6gGv+WE/xVWwxOg49vdP4IfYiXNwHvr7qdYm2CwH4X7MVYXbNO78ezn
WD2+Ijn5kjzxRVYP1V6VL/wmq2cuX5gnv8rq4SnIK2/OEx9mZVfHfH++5NOsUnKon0Q7P84KZ2cL
xeghYXyfFSJQE07fiOgnWqEdcn+/V4T7lVb8+yNPt/tDxD7UylkBp56cnA/m1L6COzSYdFZmRNox
0DYJCU8TKQpbVDQpNYZZRWwY1lSHaVJ+eACpQ8wCnWGDFLZQJIphRav+SpmiJc0d9VpJSWPaqCYi
MSlo5SNYOHZ6UihLKvEUpVhicfhpSiETjxo6sJOVcf2U58cS1sn4lMpWN1yw4/zShugtj7g2tXYG
c0S9nAFecZjs1gxApT0zILV+zAAlGzADa9lxGYCgSTKgUwxXmigDUuma7KyL2SaZsbWkaHVEF0Dr
BEJ0Oc+5yjkOtGD3KM8R6P3xvuO5GfB3v5d4jiWSQ65tdwJHV+s7c/AzOP2TYW9C5ZQ7NNjsamVG
9LsyULVbDuZRxxhsofQ5wXBFk7LlDGaV5jMY1trQYJpsSIMHkK1pMAuaz2CDFLZQGtf4F2/2pyHN
HRkpM7091jXUhHpGaYwpBKJnkoIarm80V1IQ7Ox2iyWFstw73mhJscQO7bdbUsjEo4bvRpsqeXbg
WeL0Te+EivkrMvjg/9bK6i76SdzkY9okb0ppoPssuceC9IiPfljRKOhpSVjQq/bho08+/OSj6tEn
Pwxb0Mvd7dKkaClrsXs8G0ADM5CtZC14HoHPAnAnwP7nnwLw//z7f0TmPIrAkwD839/9W4j+c4D+
r3/9LkL/6V9CM/kuRP8iRP8yRP8qRP86RP8mRP82RP8uRP8+RP8hRP8xRP8lQP815Cdt2t0DZ4k2
+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
cGnQHRhJBTCr/En/cgKhRpWLabh3M9uZjuGR6NDGBlkUR9A3PIyv7UzC6JgkXB0Z/PiY4Afe+Mjw
L48JX/IcHxn/1THxR4iKYxMwOSYB/2D+B6gnnff68s8jUzE9JhXfpJAKiHw5LgfD/jE5cH8lJAx+
L5KqdFwc0yYOt/vaGf9Ri8TPsCnbmYjR0YnY+16tvttC4etfJ4pOW6nawgLbZUP2ClUQI+ZQuKrL
cUPIfrkY7peLz7LJ2i8DowMwcPWbQD4+APLDba/2i/3yANgPuLfaL/irA4A/5MZqv+gnB0D/eXZV
++VhegAeDryb2CsBw/4BCHB/UwwMfq+EXtly/TJrOOBOar/gD1EGfo5t1H5ZGB2KhV/17137+ol4
uMt3/eGWovObJKNYnXFRJ0UoY0/qiAKMj8jK8fOFcBJ9/GSJUn32JBdYnz9hnCxIiqhjTwU4LIL3
wLLIiTQliTqCKqSjT+wtGX86VwdtglgFrGecEliSvjhoseB4gaCnI0hCKOIO5pyBLCp6sRS6cKx+
5hdOhAjNORYeKBwWigjFSq1/zBSfLPpSy2WO9hKpj+mqpdR5AJQG2AijpTsvIqN6Uv/KxJ4UDhjP
7IFieAKw6vxGgtQpwPVgsecfgoe7/DIx3FI571mcXX4oGF7tLs6neFHjok+U3PTMv0f7H1BLAwQK
AAAAAABXn7FKAAAAAAAAAAAAAAAALwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvVVQJAAPlDR1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABXn7FK
AAAAAAAAAAAAAAAANQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZm9ybXMvVVQJAAPlDR1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABXn7FKAAAA
AAAAAAAAAAAAQQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZm9ybXMvY29uc3RyYWludHMvVVQJAAPlDR1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIA
CABdo7FKzT/RuV0CAADKQgAAagAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZm9ybXMvY29uc3RyYWludHMvZm9ybS12YWxpZGF0aW9uLXJlcG9ydFZhbGlk
aXR5LXN0ZGVyci50eHRVVAkAA4EUHVnlDR1ZdXgLAAEE9QEAAAQUAAAA3du9jtQwEADgnqcwD3Bo
PB7/rU5IJypEgxBwBaKwY/uItJesdoOOx8cUdFDOFKN0lhXnk6NxMmMj2HgH/s5Gg3DCcPLxTYRo
Hnv9sB6f++349HPb+vXhcvkWrMV4cp5iJvpuHst1W7enk3k4jv58Ocyxm8u13/p2mPsv77+u/eXd
vh3X/Xzu15OBX3EM712zEQq8Nftm7j+eyzH26/Mc7T/dI0BwbnZ/+bGeuyl/RyjHOm+w3sy6zab9
abbeXr/Cf2oSqyYVUqTJQ1aTWTWVNGmWrEnTuqjGAp9mPl5JSZGmjiyqsaya5q0iTS+KNHYOKaph
jGlzXny1ijR/pkePJgXRCI2MEdoNsAtKaogxChSwJZEiTSqibxohq2YBp0jTvKzGsWp60aQZQ5EG
LclqiFWDWZPGDS+q8awaT5o0IWvSxCGa66TAqimpK9LUpknTUFQTODNQDkYZohrOLIezMDRpkNRo
3AKpiv5JB2TVFBsUaWoUXT2DY9UssusNs6YTKtKMLKshTo2FrkmDfhHVeFYNYdGkGVGRJpCsJrBq
YtakyaBJU6qsJrJq5qVI04KkJgGw5gVyboo0pTlRDWulEBfUpGkpimpYK4VI1BVpfJbV8NbWQtek
SU6RZn4JVFENMe8X0KTpRVbDW1ubMVqRBiEo0jgvq+GsrSFQQkUaN2T/byKrJoieJuLWRC+rSaya
VJMiTQFZTWbVVK9JsyyaNN2KajhPE03NCIo01lqvSOOcaHaQ8zTR1FDSpPFNVoOsmoiaNKlFRZoC
snPjWDXVa9IsRVZDvOek2fZA/QZQSwMEFAACAAgAV5+xSj0+WmKeAAAAzgAAAGQAHABpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2NvbnN0cmFpbnRz
L2Zvcm0tdmFsaWRhdGlvbi12YWxpZGF0ZS1zdGRlcnIudHh0VVQJAAPlDR1Z5Q0dWXV4CwABBPUB
AAAEFAAAAHWNQQrCMBAA775ifUBlkzS0hiIUT+JFRO1BPLSwrYE0CelKfb5F8Oh1GGYkiiJDnYkC
xNbo0uR6I1FDQ93R8oUmPr+8p1THeNeYIxqlSiEFPqBpk7d+MFAz0xgZOEBMNJFnqK6Hm6V5Hzyn
4BwlA/gu+k6T6oUqFO4geKhOruU+pHG5/dM7Ib/6/LSOoP0dWrZLwE5g/YLCsNBpvfoAUEsDBAoA
AAAAAGyjsUoAAAAAAAAAAAAAAAAwABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvVVQJAAOcFB1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABso7FK
zbGhk1ECAAAPDAAARQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2lkbGhhcm5lc3MtYWN0dWFsLnR4dFVUCQADnBQdWZwUHVl1eAsAAQT1AQAABBQAAACt
Vktv00AQvvtXjHIhkRAX4NKoB6CWilRE1VTigDhs7LG9YO+a2XGTUPHfGT9aO8JOYydRLnHme8zM
jnfu0NmCAoR7nWkTw+erG2B07DzPu/2wWsEtUmQpU0ZitGH5pQK8AJsjKdbWQJCioruGpmZx8wUc
iXbI+9iPRRQhrfQfnBfG6dhgCKk18QuMipn0umAEa6gh5IpwXRFGRZr2MGSFY1gj5KQzRbuWEWwE
G21Cu3mTd+JrhpVomVhHOqiTOBQ74LcnvvKiTYKkWQyVNeIdzPrqOxM8J8AJNoHAuxxh/nZxLtUD
fRkSf/eCeKDStDxiI1oute2xXMtbCxFuQFFcZGjY1ZlwQnYD92LIJ7J0rnIMH6qharzvqcZ+2l0n
uNWOsTSgTPikq9GVR6tzJtc/MeDjeZ8AKZpYPI7GGZXh+bOQ52yrIo3NZ6rCKydjZI1jKgK2NGsb
O0K6fcNoo1krISqP2TQKwlCTOFuxIj6NwpdCTCKIkIPkBAOhzZQ2N9b+KvIz0UzORbprTitnwzDZ
gcOgIPxUs8ilcFJnfxdyBZ/E4HI573gGiqog3/1tbh2Gl/Nv1Stz8cNrp22Y+KL7n29YLthHD+RD
qEJr0l1H7+rrl/pahfazN2jLA8hrHSeiLbJlylm+P1+TkJL3KFw7TaNg/w3RZPRYw92RmQIcq9c7
ICNb087FSGBnHCYhn5N1shioVFYVgkt4bBaF1y3L36Un31x0JAx6h6SZgQerw4HledkGHL0sQaa2
5dMG3KblP8h2dC3XZSqeh/eYyrf3D1BLAwQUAAIACABso7FK3S/eTZsBAADpBQAAQwAcAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lkbGhhcm5lc3MtZGlm
Zi50eHRVVAkAA5wUHVmcFB1ZdXgLAAEE9QEAAAQUAAAAzZNBT+MwEIXv/IoRp1at8RZWPXAqFT2h
BUTQcnacSTKSY0f2WCH769dNi4BVA9KqSJyiyM/fezPjEUKA/O1MbDDIa8VKbp4y+YT5DfH+s45k
CvmABlVAQW3tLAZqolHsvDSqd5EFY2DhMUTDQVLTOs9YyO5Cyw5z0SZt6XwzyIJMOhe9RsHUkK0k
FaZWPlGDwOcWdbp6xs98MpvNvlU4pTkqM0RbrUAs54sFzJbzJaxWJ3B/lWVwj36LUlYjkOX0pzRe
gmL2lEdGcPaFv8PnsSyTKhoDBxBNDAw5QuupUb5/RYIroSNbuO6sfaPfI7LkZisqSSsmZ8fE4qPI
By4MacjW6IlTJJfOuIfTCnljkyOG03SLa+Aa98fAfYsw+TH9ArN1/5jgY5aLzyy1MiY1Cf4FTq7v
fu36N03DOpRsZ+gclNiB8lV6nZbDLjDX3nWw5Wy8d/5Lyr5VzWjZ5/9T9hb4Wvb8uA2A4zRApwX3
D/vVeRxWZ/S5XUyPZhuQ35uuh33N6M/oCH5+5v4ygg/Yk2gDVRYLMO5Ic/gLUEsDBBQAAgAIAGyj
sUondjcXhgIAAG8OAABHABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvaWRsaGFybmVzcy1leHBlY3RlZC50eHRVVAkAA5wUHVmcFB1ZdXgLAAEE9QEAAAQU
AAAAzVdNb9NAEL37V4x6IZEqxOelUQ+URipSgaqpxAFx2NhjZ8HeNbPjJqHivzP+aO2AncZOkBrl
EnvnvXkz+3Yn1+hsRj7CjU60ieDD+SUwOnae5129m83gCim0lCgja7Rh+aV8PAGbIinW1oAfo6Lr
CqZEcaMx7BjtkDdjz7IwRJrpXzjKjNORwQBia6JHEBUz6XnGCNZQBcgF4LwADLM4bkFIMscwR0hJ
J4rWNSLYEJbaBHb5PG2sLxFmwmUiHWq/FLFtbUe+LeuLXLRZIGmWhPIa8RqOIuSpEUJ0RxLFC+AF
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
3r4pCwEXUpx4lP31hdr60HcluHnof2nxX1BLAwQKAAAAAAACoLFKAAAAAAAAAAAAAAAAFgAcAGlu
dGVyc2VjdGlvbi1vYnNlcnZlci9VVAkAAzQOHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAI
AHujsUpF9vdP9gAAAB0CAABGABwAaW50ZXJzZWN0aW9uLW9ic2VydmVyL2ludGVyc2VjdGlvbi1v
YnNlcnZlci1lbnRyeS1pbnRlcmZhY2Utc3RkZXJyLnR4dFVUCQADuRQdWTQOHVl1eAsAAQT1AQAA
BBQAAADNkUFLw0AQhe/+ijnaS7a1WlNvtcWLBQMBFcTDJjshYzc7y84msf/eFSII1nuv7/sezGO4
+qjfVlfL2/z9DrZWi0Cxv+/JmmcMQuyABKjzFjt0EQ2Qg4pjC2rjvaVax+SIeq3ZYKa9V1tOmoui
djigZY9BFVbHhkMnioqWHZbU9SnikPmJ/JLL3eNfT8xBlUeJ2Kk9VUGHoyoCDTriQ9AdjhwOojYi
GGXiJYaBapSs+RFOc7icfy4WTX69XK/zGWhnznBZ6kT+f9gpPO1arW7yfD7L4MkhcAOxRYgjw0jW
QoXQC5oMXlqqW0h3fT+7dwYbcim/+AJQSwMECgAAAAAAA6CxSgAAAAAAAAAAAAAAAAcAHABqcXVl
cnkvVVQJAAM1Dh1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAADoLFKP/GSJvQAAAAdAgAA
HAAcAGpxdWVyeS9hdHRyaWJ1dGVzLXN0ZGVyci50eHRVVAkAAzUOHVk1Dh1ZdXgLAAEE9QEAAAQU
AAAAzZHLSsRAEEX3fkUtnU06ESKJu3ngxgEDARXERSddIeV0upquTuL8vREiCI57t/ecC3Upbt7b
1zy7zfK3O9hbLQLVcTeSNU8YhNgBCdDgLQ7oIhogBw3HHtTWe0utjosj6qVlg4n2Xu150VwUdcAJ
LXsMqrI6dhwGUVT17LCmYVwiDolfyQ+5Pjz89sScVH2WiIM6UhN0OKsq0KQj3gc94MzhJGorglFW
XmOYqEVJum/hMofr9CO7Kdscy7LYgHbmHy5bOpH/HnYJr7t0kRZFukng0SFwB7FHiDPDTNZCgzAK
mgSee2p7WO76evboDHbklvzqE1BLAwQKAAAAAAB7o7FKAAAAAAAAAAAAAAAAAwAcAGpzL1VUCQAD
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
ZPDcUdNBuuvr2YMz2JJL+dUnUEsDBBQAAgAIAIejsUrbPdc/9AAAAB0CAAAvABwAbWVkaWEvYXVk
aW8tY29udHJvbHMtZG8tbm90LWZhZGUtb3V0LXN0ZGVyci50eHRVVAkAA80UHVlWDh1ZdXgLAAEE
9QEAAAQUAAAAzZFNS8QwEIbv/oo5upemdkG23vYDLy5YKKggHtJkSsdNMyGTtu6/t0IFwfXu9X2e
F+ZluHk3r7fFuizf7mDvtAhUx91Azj5hFGIPJEB9cNijT2iBPDScOlDbEBwZnWZH1Ithi5kOQe15
1nwSdcARHQeMqnI6tRx7UVR17LGmfpgjjllYyA+5Pjz89sSeVH2WhL06UhN1PKsq0qgT3kfd48Tx
JGorgkkWXmMcyaBk7bdwmcN1/nFT6DXqstysQHv7D5fNncR/D7uEl11FbjabfJXBo0fgFlKHkCaG
iZyDBmEQtBk8d2Q6mO/6evbgLbbk5/zqE1BLAwQUAAIACACHo7FKgLQpb/UAAAAdAgAAOgAcAG1l
ZGlhL2F1ZGlvLWNvbnRyb2xzLXRpbWVsaW5lLWluLW1lZGlhLWRvY3VtZW50LXN0ZGVyci50eHRV
VAkAA84UHVlXDh1ZdXgLAAEE9QEAAAQUAAAAzZFBS8NAEIXv/oo52ku2tVQTb7XFiwUDARXEwyY7
IWM3O8vOJrH/3hUiCNa71/d9D+YxXL83r9dX6yJ/u4Wd1SJQHu4GsuYJgxA7IAHqvcUeXUQD5KDm
2IHaem+p0TE5ol4aNphp79WOk+aiqD2OaNljUKXVseXQi6KyY4cV9UOKOGR+Jj/kav/w2xNzVNVJ
IvbqQHXQ4aTKQKOOeB90jxOHo6itCEaZeYVhpAYla7+F8xwulx+rVX1j1kWRL0A78w+XpU7kv4ed
w/OuTbvJ8+Uig0eHwC3EDiFODBNZCzXCIGgyeO6o6SDd9fXswRlsyaX84hNQSwMEFAACAAgAh6Ox
SkB+thv1AAAAHQIAAB8AHABtZWRpYS9hdWRpby1kYXRhLXVybC1zdGRlcnIudHh0VVQJAAPOFB1Z
WA4dWXV4CwABBPUBAAAEFAAAAM2RTUvEMBCG7/6KObqXphU/ut7WXby4YKGggnhImwkdN82ETNq6
/94KFQTXu9f3eV6Yl+HmvX29vrjMi7db2DotAtX+biBnnjAKsQcSoD447NEnNEAeGk4dqE0Ijlqd
ZkfUS8sGMx2C2vKs+SRqhyM6DhhV5XSyHHtRVHXssaZ+mCOOWVjID7nePfz2xBxUfZSEvdpTE3U8
qirSqBPeR93jxPEgaiOCSRZeYxypRcnst3Caw3n+URT2prXrdbkC7c0/XDZ3Ev897BRedl3Zoizz
VQaPHoEtpA4hTQwTOQcNwiBoMnjuqO1gvuvr2YM3aMnP+dknUEsDBBQAAgAIAImjsUpzu15u9AAA
AB0CAAAeABwAbWVkaWEvYXVkaW8tcmVwYWludC1zdGRlcnIudHh0VVQJAAPRFB1ZWg4dWXV4CwAB
BPUBAAAEFAAAAM2RQUvDQBCF7/6KOdpLNg0qqbfa4sWCgYAK4mGzOyFjNzvLziax/94IEQTr3ev7
vgfzGG7ezetNcZVfv93CzmkRqA53Azn7hFGIPZAA9cFhjz6hBfLQcOpAbUNwZHSaHVEvhi1mOgS1
41nzSdQeR3QcMKrK6dRy7EVR1bHHmvphjjhmYSE/5Hr/8NsTe1T1SRL26kBN1PGkqkijTngfdY8T
x6OorQgmWXiNcSSDkrXfwnkOl/nHulijzTebcgXa23+4bO4k/nvYObzsMm1Rlvkqg0ePwC2kDiFN
DBM5Bw3CIGgzeO7IdDDf9fXswVtsyc/5xSdQSwMEFAACAAgAiaOxSu1fo3T2AAAAHQIAADgAHABt
ZWRpYS9hdXRvLXBsYXktaW4tc2FuZGJveC13aXRoLWFsbG93LXNjcmlwdHMtc3RkZXJyLnR4dFVU
CQAD0RQdWVsOHVl1eAsAAQT1AQAABBQAAADNkU1Lw0AQhu/+ijnaS7atH0291RYvFgwEVBAPm+yE
jN3dWXY2if33RoggWO+9vs/zwrwMVx/12+3yer56v4Ot1SJQ7O87suYZoxB7IAFywaJDn9AAeag4
taA2IViqdRodUa81G8x0CGrLo+aTqB32aDlgVIXVqeHoRFHRsseSXDdGHLMwkV9yuXv864k5qPIo
CZ3aUxV1PKoiUq8TPkTtcOB4ELURwSQTLzH2VKNkzY9wmsPl/HOxzK+qm/U6n4H25gyXjZ3E/w87
haddC7PK8/ksgyePwA2kFiENDANZCxVCJ2gyeGmpbmG86/vZnTfYkB/ziy9QSwMECgAAAAAALaGx
SgAAAAAAAAAAAAAAAA8AHABtZWRpYS9jb250cm9scy9VVAkAA2UQHVn5Fx1ZdXgLAAEE9QEAAAQU
AAAAUEsDBAoAAAAAAC2hsUoAAAAAAAAAAAAAAAAUABwAbWVkaWEvY29udHJvbHMvaXBhZC9VVAkA
A2UQHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAOOksUo5WBGK9wAAAB0CAABZABwAbWVk
aWEvY29udHJvbHMvaXBhZC9jbG9zZS1wYWdlLXdpdGgtcGljdHVyZS1pbi1waWN0dXJlLXZpZGVv
LWFzc2VydGlvbi1mYWlsdXJlLXN0ZGVyci50eHRVVAkAA1oXHVllEB1ZdXgLAAEE9QEAAAQUAAAA
zZFBS8NAEIXv/oo52ks2MVIbb7XFiwUDARXEwyY7IWM3O8vOJrH/3ogVBNu71/d9D+YxXL83r8u8
WKZvt7CxWgTK3d1A1jxhEGIHJEC9t9iji2iAHNQcO1Br7y01Os6OqJeGDSbae7XhWXNR1BZHtOwx
qNLq2HLoRVHZscOK+mGOOCT+SH7J1fbhrydmr6qDROzVjuqgw0GVgUYd8T7oHicOe1FrEYxy5BWG
kRqUpP0RTnO4TD+yq+ssuymK1QK0M/9w2dyJfH7YKfy9K2/zYrVKFwk8OgRuIXYIcWKYyFqoEQZB
k8BzR00H811fzx6cwZbcnF98AlBLAwQUAAIACACKo7FKoAG68/UAAAAdAgAAMAAcAG1lZGlhL2Nv
bnRyb2xzLXJpZ2h0LWNsaWNrLW9uLXRpbWViYXItc3RkZXJyLnR4dFVUCQAD0xQdWVwOHVl1eAsA
AQT1AQAABBQAAADNkUFLw0AQhe/+ijnaSzaGqom32uLFgoGACuJhk52QsZudZWeT2H9vhAiC9d7r
+74H8xiuP5q3m2ydFu93sLVaBMr9/UDWPGMQYgckQL232KOLaIAc1Bw7UBvvLTU6zo6o14YNJtp7
teVZc1HUDke07DGo0urYcuhFUdmxw4r6YY44JH4hv+Rq9/jXE3NQ1VEi9mpPddDhqMpAo474EHSP
E4eDqI0IRll4hWGkBiVpf4TTHC7Tz6vsen1bFEW+Au3MGS6bO5H/H3YKL7uyos7zdJXAk0PgFmKH
ECeGiayFGmEQNAm8dNR0MN/1/ezBGWzJzfnFF1BLAwQUAAIACACKo7FK0GXM9vUAAAAdAgAAIgAc
AG1lZGlhL2V2ZW50LXF1ZXVlLWNyYXNoLXN0ZGVyci50eHRVVAkAA9QUHVldDh1ZdXgLAAEE9QEA
AAQUAAAAzZFBS8NAEIXv/oo52ku2qaKJt9rixYKBgAriYZOdkLGbnWVnk9p/7woRBOu91/d9D+Yx
3Hy0bzer63z1fgcbq0Wg2t2PZM0zBiF2QAI0eIsDuogGyEHDsQe19t5Sq2NyRL22bDDT3qsNJ81F
UVuc0LLHoCqrY8dhEEVVzw5rGsYUccj8TH7J9fbxrydmr+qjRBzUjpqgw1FVgSYd8SHoAQ8c9qLW
Ihhl5jWGiVqUrPsRTnO4XH7muWlu87IsFqCdOcNlqRP5/2Gn8LyrLK+KYrnI4MkhcAexR4gHhgNZ
Cw3CKGgyeOmp7SHd9f3s0RnsyKX84gtQSwMECgAAAAAAiqOxSgAAAAAAAAAAAAAAAAoAHABtZWRp
YS9pb3MvVVQJAAPTFB1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACACKo7FKPXHzHfUAAAAd
AgAAMwAcAG1lZGlhL2lvcy9hdXRvcGxheS1vbmx5LWluLW1haW4tZG9jdW1lbnQtc3RkZXJyLnR4
dFVUCQAD0xQdWdMUHVl1eAsAAQT1AQAABBQAAADNkctKxEAQRfd+RS2dTTrzYEjczQM3DhgIqCAu
OukKKafT1XR1EufvjRBBcNy7vedcqEtx9V6/blfrfPN2BwerRaA47Xuy5gmDEDsgAeq8xQ5dRAPk
oOLYgtp5b6nWcXJEvdRsMNHeqwNPmouijjigZY9BFVbHhkMnioqWHZbU9VPEIfEz+SGXx4ffnpiz
Ki8SsVMnqoIOF1UEGnTE+6A7HDmcRe1EMMrMSwwD1ShJ8y1c53CbfixXqV5u8jxbgHbmHy6bOpH/
HnYNz7uy9TbL0kUCjw6BG4gtQhwZRrIWKoRe0CTw3FLdwnTX17N7Z7AhN+U3n1BLAwQUAAIACACN
o7FKQep23vUAAAAdAgAAJQAcAG1lZGlhL21lZGlhLWNvbnRyb2xzLWNsb25lLXN0ZGVyci50eHRV
VAkAA9kUHVliDh1ZdXgLAAEE9QEAAAQUAAAAzZFNS8QwEIbv/oo5updmK3603tZdvLhgoaCCeEib
KR03zYRM2rr/3ggVBNe71/d5XpiX4ea9fb2+uMyv3m5ha7UIVPu7kax5wiDEDkiABm9xQBfRADlo
OPagNt5banVMjqiXlg1m2nu15aS5KGqHE1r2GFRldew4DKKo6tlhTcOYIg6ZX8gPud49/PbEHFR9
lIiD2lMTdDiqKtCkI94HPeDM4SBqI4JRFl5jmKhFybpv4TSH8/VHnht9U5ZlsQLtzD9cljqR/x52
Ci+7irIpivUqg0eHwB3EHiHODDNZCw3CKGgyeO6p7SHd9fXs0RnsyKX87BNQSwMEFAACAAgAjaOx
ShhSfVr1AAAAHQIAADkAHABtZWRpYS9tZWRpYS1jb250cm9scy1zaGFkb3ctY29uc3RydWN0aW9u
LWNyYXNoLXN0ZGVyci50eHRVVAkAA9oUHVliDh1ZdXgLAAEE9QEAAAQUAAAAzZFBS8NAEIXv/oo5
2ku2kdKm3mqLFwsGAiqIh83uhIzd7Cw7m8T+eyNEEKx3r+/7HsxjuH43r+ubVb55u4W90yJQHu96
cvYJoxB7IAHqgsMOfUIL5KHm1ILaheDI6DQ5ol4MW8x0CGrPk+aTqAMO6DhgVKXTqeHYiaKyZY8V
df0UcczCTH7I1eHhtyf2pKqzJOzUkeqo41mVkQad8D7qDkeOJ1E7EUwy8wrjQAYla76Fyxyulx95
btd6s90WC9De/sNlUyfx38Mu4XnXymyLYrnI4NEjcAOpRUgjw0jOQY3QC9oMnlsyLUx3fT279xYb
8lN+9QlQSwMEFAACAAgAjqOxSsU4PcILAQAAOgQAADYAHABtZWRpYS9tZWRpYS1kb2N1bWVudC1h
dWRpby1jb250cm9scy12aXNpYmxlLXN0ZGVyci50eHRVVAkAA9sUHVljDh1ZdXgLAAEE9QEAAAQU
AAAA5ZJNS8NAEIbv/oo52ku2nyH1Vlu8WDAQUEE8bLITMnazs+xsWvvvjZCCYD15KXqd9xmYl3m4
fKte0ul8sny9gbXVIpBvbzuy5hGDEDsgAWq9xRZdRAPkoOTYgFp5b6nSsWdEPVdsMNHeqzX3mIui
NrhHyx6Dyq2ONYdWFOUNOyyo7foRh8QPyRe42Nx/58TsVHGUiK3aUhl0OKo80F5HvAu6xQOHnaiV
CEYZ8gLDniqUpD4B53O4Hr9Ppot0NlsusxFoZy6wWb8T+edi5+Kh13yxyLLxKIEHh8A1xAYhHhgO
ZC2UCJ2gSeCpoaqB/q7PZ3fOYE2un1/xSY7sP8uR6nLyF+VIMzP7hRwfUEsDBBQAAgAIAI6jsUom
eSoMCwEAADoEAAAqABwAbWVkaWEvbWVkaWEtZG9jdW1lbnQtYXVkaW8tc2l6ZS1zdGRlcnIudHh0
VVQJAAPcFB1ZZA4dWXV4CwABBPUBAAAEFAAAAOWSwUrDQBCG7z7FHO0l26alpN5qixcLBgIqiIdN
dkLGbnaWnU1q394IKQjWkxep1/m/gfmZj8u36mWZLtLZ6w1srBaBfHfbkTWPGITYAQlQ6y226CIa
IAclxwbU2ntLlY4DI+q5YoOJ9l5teMBcFLXFHi17DCq3OtYcWlGUN+ywoLYbRhwSPyZf4GJ7/50T
s1fFUSK2akdl0OGo8kC9jngXdIsHDntRaxGMMuYFhp4qlKQ+AedzuJ6+z9KVrsrVKpuAduYPNht2
Iv9c7Fw89srQZNl0ksCDQ+AaYoMQDwwHshZKhE7QJPDUUNXAcNfnsztnsCY3zK/4JMf0P8sxXyyX
lyjHPM2yX8jxAVBLAwQUAAIACACSo7FKSB/vqfUAAAAdAgAALQAcAG1lZGlhL21lZGlhLWZ1bGxz
Y3JlZW4tbG9vcC1pbmxpbmUtc3RkZXJyLnR4dFVUCQAD5BQdWWwOHVl1eAsAAQT1AQAABBQAAADN
kUFLw0AQhe/+ijnaS7axtaTeaosXCwYCKoiHze6EjN3sLDub1P57I0QQrPde3/c9mMdw/WHeVjfL
xe37HWydFoFyf9+Ts88YhdgDCVAXHHboE1ogDzWnFtQmBEdGp9ER9WrYYqZDUFseNZ9E7XBAxwGj
Kp1ODcdOFJUte6yo68eIYxYm8kuudo9/PbEHVZ0kYaf2VEcdT6qMNOiED1F3eOR4ELURwSQTrzAO
ZFCy5kc4z+F6/pnn1izz9bqYgfb2ApeNncT/DzuHp116tSiK+SyDJ4/ADaQWIR0ZjuQc1Ai9oM3g
pSXTwnjX97N7b7EhP+ZXX1BLAwQUAAIACACTo7FKKMtcovQAAAAdAgAAIQAcAG1lZGlhL21lZGlh
LWxvYWQtZXZlbnQtc3RkZXJyLnR4dFVUCQAD5RQdWWwOHVl1eAsAAQT1AQAABBQAAADNkU1LxDAQ
hu/+ijm6l6aWIl1v+4EXFywUVBAPaTKl46aZkEm77r+3QgXB9e71fZ4X5mW4fTevt0VZ5m93sHNa
BOrDdiRnnzAKsQcSoCE4HNAntEAeWk49qE0IjoxOsyPqxbDFTIegdjxrPona44SOA0ZVO506joMo
qnv22NAwzhHHLCzkh9zsH357Yo+qOUvCQR2ojTqeVR1p0gnvox7wxPEoaiOCSRbeYJzIoGTdt3CZ
w3X+cVNUpWnX62oF2tt/uGzuJP572CW87CrQVlW+yuDRI3AHqUdIJ4YTOQctwihoM3juyfQw3/X1
7NFb7MjP+dUnUEsDBAoAAAAAAC2hsUoAAAAAAAAAAAAAAAAcABwAbWVkaWEvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL1VUCQADZRAdWfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAALaGxSgAAAAAA
AAAAAAAAACgAHABtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGlwLXN1cHBvcnQvVVQJAANl
EB1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAtobFKAAAAAAAAAAAAAAAALQAcAG1lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9waXAtc3VwcG9ydC9pcGFkL1VUCQADZRAdWfkXHVl1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgA46SxSqxJERH1AAAAHQIAAEsAHABtZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvcGlwLXN1cHBvcnQvaXBhZC9waXAtc3VwcG9ydC1lbmFibGVkLXN0ZGVyci50
eHRVVAkAA1kXHVllEB1ZdXgLAAEE9QEAAAQUAAAAzZFNS8NAEIbv/oo52ku2sVhSb/3AiwUDARXE
w2Z3QsZudpadTWL/vREiCNa71/d5XpiX4frdvK5Xm/XN2x3snRaB8rjrydknjELsgQSoCw479Akt
kIeaUwtqG4Ijo9PkiHoxbDHTIag9T5pPog44oOOAUZVOp4ZjJ4rKlj1W1PVTxDELM/khV4eH357Y
k6rOkrBTR6qjjmdVRhp0wvuoOxw5nkRtRTDJzCuMAxmUrPkWLnO4Xn7kOd6aZrMpFqC9/YfLpk7i
v4ddwvOuVZMXxXKRwaNH4AZSi5BGhpGcgxqhF7QZPLdkWpju+np27y025Kf86hNQSwMECgAAAAAA
MKCxSgAAAAAAAAAAAAAAAAwAHABtZWRpYS90cmFjay9VVAkAA4sOHVn5Fx1ZdXgLAAEE9QEAAAQU
AAAAUEsDBBQAAgAIAJCjsUqvmFb29QAAAB0CAAA1ABwAbWVkaWEvdHJhY2svdHJhY2stY3VlLXJl
bmRlcmluZy1ob3Jpem9udGFsLXN0ZGVyci50eHRVVAkAA98UHVluDh1ZdXgLAAEE9QEAAAQUAAAA
zZFBS8NAEIXv/oo52ku2xlZSb7XFiwUDARXEw2Z3QsZudpadTWL/vREiCNa71/d9D+YxXL+b15t8
la/fbmHntAiUh7uenH3CKMQeSIC64LBDn9ACeag5taC2ITgyOk2OqBfDFjMdgtrxpPkkao8DOg4Y
Vel0ajh2oqhs2WNFXT9FHLMwkx9ytX/47Yk9quokCTt1oDrqeFJlpEEnvI+6w5HjUdRWBJPMvMI4
kEHJmm/hPIfL5cdVXq91vtkUC9De/sNlUyfx38PO4XnXtVkVxXKRwaNH4AZSi5BGhpGcgxqhF7QZ
PLdkWpju+np27y025Kf84hNQSwMEFAACAAgAkKOxSqZv/WX0AAAAHQIAAC4AHABtZWRpYS90cmFj
ay90cmFjay1jdWUtcmVuZGVyaW5nLXJ0bC1zdGRlcnIudHh0VVQJAAPgFB1ZcA4dWXV4CwABBPUB
AAAEFAAAAM2RTUvEMBCG7/6KObqXZi2ytN72Ay8uWCioIB7SZErHTTMhk7buv7dCBcH17vV9nhfm
Zbh5N6+b/DYv3+5g77QIVMfdQM4+YRRiDyRAfXDYo09ogTw0nDpQ2xAcGZ1mR9SLYYuZDkHtedZ8
EnXAER0HjKpyOrUce1FUdeyxpn6YI45ZWMgPuT48/PbEnlR9loS9OlITdTyrKtKoE95H3ePE8SRq
K4JJFl5jHMmgZO23cJnD9frjJjd2Y8qyWIH29h8umzuJ/x52CS+7mgKLYr3K4NEjcAupQ0gTw0TO
QYMwCNoMnjsyHcx3fT178BZb8nN+9QlQSwMEFAACAAgAkaOxSoMwL4j1AAAAHQIAADMAHABtZWRp
YS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLXZlcnRpY2FsLXN0ZGVyci50eHRVVAkAA+EUHVlx
Dh1ZdXgLAAEE9QEAAAQUAAAAzZFBS8NAEIXv/oo52ku2jaKJt9rixYKBgAriYZOdkLGbnWVnk9p/
7woRBOu91/d9D+Yx3Hy0bzf59dXq/Q42VotAtbsfyZpnDELsgARo8BYHdBENkIOGYw9q7b2lVsfk
iHpt2WCmvVcbTpqLorY4oWWPQVVWx47DIIqqnh3WNIwp4pD5mfyS6+3jX0/MXtVHiTioHTVBh6Oq
Ak064kPQAx447EWtRTDKzGsME7UoWfcjnOZwufxc5XlZlGVZLEA7c4bLUify/8NO4XnXrW6KYrnI
4MkhcAexR4gHhgNZCw3CKGgyeOmp7SHd9f3s0RnsyKX84gtQSwMEFAACAAgAkaOxStrCVO/3AAAA
HQIAADcAHABtZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLXdpdGgtcGFkZGluZy1zdGRl
cnIudHh0VVQJAAPiFB1Zcg4dWXV4CwABBPUBAAAEFAAAAM2RQUvDQBCF7/6KOdpLNrY2pt5qixcL
BgIqSA+b7ISM3ewsO5vE/nsjVhCsd6/v+x7MY7h6q1+z+fVisb+FjdUiUOzuerLmCYMQOyAB6rzF
Dl1EA+Sg4tiCWntvqdZxckS91Gww0d6rDU+ai6K2OKBlj0EVVseGQyeKipYdltT1U8Qh8SfyQy63
D789MQdVHiVip3ZUBR2Oqgg06Ij3QXc4cjiIWotglBMvMQxUoyTNt3Cew2X6fjXP0mW2WuUz0M78
w2VTJ/Lfw87hr11LvMnzPJ0l8OgQuIHYIsSRYSRroULoBU0Czy3VLUx3fT67dwYbclN+8QFQSwME
FAACAAgAlKOxSpe55hD2AAAAHQIAACsAHABtZWRpYS90cmFjay90cmFjay1jdWVzLWN1ZWNoYW5n
ZS1zdGRlcnIudHh0VVQJAAPoFB1ZeA4dWXV4CwABBPUBAAAEFAAAAM2RTUvDQBCG7/6KOdpLth9q
U2+1xYsFAwEVxMMmOyFjNzvLziax/94VIgjWu9f3eV6Yl+HqvX69WV6t1m+3sLNaBIrDXU/WPGEQ
YgckQJ232KGLaIAcVBxbUFvvLdU6JkfUS80GM+292nHSXBS1xwEtewyqsDo2HDpRVLTssKSuTxGH
zE/kh1zuH357Yo6qPEnETh2oCjqcVBFo0BHvg+5w5HAUtRXBKBMvMQxUo2TNt3Cew+X8Y7FcXK/N
ZpPPQDvzD5elTuS/h53D067Vpsnz+SyDR4fADcQWIY4MI1kLFUIvaDJ4bqluId319ezeGWzIpfzi
E1BLAwQUAAIACACYo7FKvKR6VfUAAAAdAgAAKAAcAG1lZGlhL3RyYWNrL3RyYWNrLWN1ZXMtbWlz
c2VkLXN0ZGVyci50eHRVVAkAA/AUHVmADh1ZdXgLAAEE9QEAAAQUAAAAzZHLSsRAEEX3fkUtnU06
xmFI3M0DNw4YCKggLjrpCimn09V0dRLn740QQXDcu73nXKhLcf3evG6y9Xrzdgd7q0WgPO4GsuYJ
gxA7IAHqvcUeXUQD5KDm2IHaem+p0XF2RL00bDDR3qs9z5qLog44omWPQZVWx5ZDL4rKjh1W1A9z
xCHxC/khV4eH356Yk6rOErFXR6qDDmdVBhp1xPuge5w4nERtRTDKwisMIzUoSfstXOZwnX7cZLeZ
KYoiX4F25h8umzuR/x52CS+70rbO83SVwKND4BZihxAnhomshRphEDQJPHfUdDDf9fXswRlsyc35
1SdQSwMEFAACAAgAnaOxStGf0yL1AAAAHQIAAEkAHABtZWRpYS90cmFjay90cmFjay1pbi1iYW5k
LWR1cGxpY2F0ZS10cmFja3Mtd2hlbi1zb3VyY2UtY2hhbmdlcy1zdGRlcnIudHh0VVQJAAP5FB1Z
iQ4dWXV4CwABBPUBAAAEFAAAAM2RQUvDQBCF7/6KOdpLtsZaUm+1xYsFAwEVxMNmd0LGbnaWnU1i
/70RIgjWu9f3fQ/mMVy/m9d1vrq5fruFndMiUB7uenL2CaMQeyAB6oLDDn1CC+Sh5tSC2obgyOg0
OaJeDFvMdAhqx5Pmk6g9Dug4YFSl06nh2ImismWPFXX9FHHMwkx+yNX+4bcn9qiqkyTs1IHqqONJ
lZEGnfA+6g5HjkdRWxFMMvMK40AGJWu+hfMcLpcfV3mB+XqzKRagvf2Hy6ZO4r+HncPzLrMqimK5
yODRI3ADqUVII8NIzkGN0AvaDJ5bMi1Md309u/cWG/JTfvEJUEsDBBQAAgAIAJ2jsUpLd7bR9QAA
AB0CAAAqABwAbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1zdHlsZS1zdGRlcnIudHh0VVQJAAP6
FB1Ziw4dWXV4CwABBPUBAAAEFAAAAM2RQUvDQBCF7/6KOdpLNhVtU2+1xYsFAwEVxMMmOyFjd3eW
nU1i/70RIgjWu9f3fQ/mMVy/N6+rq+ub4u0WdlaLQHm468maJ4xC7IEEyAWLDn1CA+Sh5tSB2oZg
qdFpckS9NGww0yGoHU+aT6L2OKDlgFGVVqeWoxNFZcceK3L9FHHMwkx+yNX+4bcn5qiqkyR06kB1
1PGkykiDTngftcOR41HUVgSTzLzCOFCDkrXfwnkOl/nHctmucb3ZFAvQ3vzDZVMn8d/DzuF51yrf
FEW+yODRI3ALqUNII8NI1kKN0AuaDJ47ajqY7vp6du8NtuSn/OITUEsDBBQAAgAIAJejsUpMwr+r
CwEAADoEAAAwABwAbWVkaWEvdmlkZW8tY2xpY2stZGJsY2tpY2stc3RhbmRhbG9uZS1zdGRlcnIu
dHh0VVQJAAPtFB1ZdA4dWXV4CwABBPUBAAAEFAAAAOWSwUrDQBCG7z7FHO0l28RSWm+1xYsFAwEV
xMNmd0LGbnaWnU1r394IKQjWkxfR6/zfwPzMx/WreZ4Xs1nxcg1rp0Wg3N705OwDRiH2QALUBYcd
+oQWyEPNqQW1CsGR0WlgRD0ZtpjpENSaB8wnURvco+OAUZVOp4ZjJ4rKlj1W1PXDiGMWxuQTXG3u
vnJid6o6SsJObamOOh5VGWmvE95G3eGB407USgSTjHmFcU8GJWtOwPkcLqdveTGvc7NcLiagvf2F
zYadxN8XOxePvZZXuFhMJxncewRuILUI6cBwIOegRugFbQaPLZkWhrs+nt17iw35YX7BJznyfyxH
bmbTvyhHboriJ3K8A1BLAwQUAAIACACXo7FKDkV8S/UAAAAdAgAAKgAcAG1lZGlhL3ZpZGVvLWNv
bmN1cnJlbnQtcGxheWJhY2stc3RkZXJyLnR4dFVUCQAD7hQdWXUOHVl1eAsAAQT1AQAABBQAAADN
kUFLw0AQhe/+ijnaS7aVWFNvtcWLBQMBFcTDJjshYzc7y84msf/eFSII1rvX930P5jFcvzev66s8
z99uYWe1CJSHu4GsecIgxA5IgHpvsUcX0QA5qDl2oLbeW2p0TI6ol4YNZtp7teOkuShqjyNa9hhU
aXVsOfSiqOzYYUX9kCIOmZ/JD7naP/z2xBxVdZKIvTpQHXQ4qTLQqCPeB93jxOEoaiuCUWZeYRip
Qcnab+E8h8vlx2pl2vX1ZlMsQDvzD5elTuS/h53D8y5T3BTFcpHBo0PgFmKHECeGiayFGmEQNBk8
d9R0kO76evbgDLbkUn7xCVBLAwQUAAIACACZo7FKj9mppfUAAAAdAgAAPAAcAG1lZGlhL3ZpZGVv
LWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1sb2NhbGl6ZWQtc3RkZXJyLnR4dFVUCQAD8RQd
WXgOHVl1eAsAAQT1AQAABBQAAADNkU1Lw0AQhu/+ijnaS7aNRVJv/cCLBQMBFcTDJjtLxm52lp1N
Yv+9ESII1rvX93lemJfh+r15vc3X683bHeydFoHyuOvJmSeMQuyBBKgLDjv0CQ2Qh5pTC2obgqNG
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
w0nUTgSjrLzGMFGLknTfwmUO1+nHTZbrMi3LYgPamX+4bOlE/nvYJbzuKpqsKNJNAo8OgTuIPUKc
GWayFhqEUdAk8NxT28Ny19ezR2ewI7fkV59QSwMEFAACAAgAL6CxSj2Nq2fOAAAAWwEAACwAHABt
ZWRpYS92aWRlby1sb2FkLXByZWxvYWQtbWV0YWRhdGEtYWN0dWFsLnR4dFVUCQADig4dWYoOHVl1
eAsAAQT1AQAABBQAAACNjzsLwkAQhPv7FYtNciDBwtIIPk4QJRFziu3G2zwwJnJZBf+9iSaNNpa7
OzPfrNBUM3CGDDdLRYXGH1yJ0SDjAExeY1xQDfE9ScjmZQoxJZUluBX4jPF88YRQp51aaLUE95Eb
qrwuB3wfnD7KkRBuhDqqQLvtkUx/kT9+S2ieESMTTMAZd9Yv0acQGa+gMuXsDRt9pPtD0DdpSrpS
dtwzlu2CM1vd00wKrSLt9n80PMtk/mJN36ghhPNI7Y+NrhlhNVtvhQqWEK6gTRbiBVBLAwQUAAIA
CAAvoLFKQESJk/UAAADPAQAAKgAcAG1lZGlhL3ZpZGVvLWxvYWQtcHJlbG9hZC1tZXRhZGF0YS1k
aWZmLnR4dFVUCQADig4dWYoOHVl1eAsAAQT1AQAABBQAAADFT0Fug0AMvPMK3wIim+2p6qkiKRup
SgUVUNKrASegLiwCb5X+vgvKA3rrxSOPxuMZIQTI0mjb0yxjZJTqnMszVaeO73CwnW5kRppwJtGN
rRlo7nqrkc0kNf4Yy4JpZjHRbDXPsqemQ/ndNWSENtiIcaIVe2Js3BNBt5FqpmbHN/bCMPyPDFiz
Rb0miCIQT9tHCJcRRR5kH4m/3u5GZ+4HgQeqVEnh1zgsDLeTsdfW0YXKC3+hKqy/csbJtQogPXlC
fb6rl0LFcHeq7OVCk+usabhyC8+wedis0vBv0i2kh1xlpdO5FY771zcXK4khPa4xPPB+AVBLAwQU
AAIACAAvoLFKf7F3ZLwAAABLAQAALgAcAG1lZGlhL3ZpZGVvLWxvYWQtcHJlbG9hZC1tZXRhZGF0
YS1leHBlY3RlZC50eHRVVAkAA4oOHVmKDh1ZdXgLAAEE9QEAAAQUAAAAjY+7DoJAEEX7/YqJDWxD
LCzFRtfGBIysxnZwh0dEIMtgwt8LAhba2M59nDtCU8PAGTLUlooKjb94EKNBxgWYvMG4oAbiNknI
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
a9AatAatQWvQGrQGrUFr0Bq0Bq1Ba9Aa9P9FdH+BsZ6Wltb2XyZZwyb1v3TpLRufja39tyf3XXHR
+pUU9m8P3rPVX+/igbX51+fuqXXOEHH/9tRAr2UatAatQWvQGrQGrUH/fwad9KRfoqW1ynjpWQCa
wdegNWgNWoPWoDVoDVqD/g/6Gsrtdn6AWGCipf457epxvOK3a3/8N1BLAwQUAAIACABOpLFKDIpw
KPUAAAAdAgAAMQAcAHJldHJpZXMvZmFzdC9jc3MvdGFyZ2V0LWZyYWdtZW50LW1hdGNoLXN0ZGVy
ci50eHRVVAkAA0QWHVlEFh1ZdXgLAAEE9QEAAAQUAAAAzZFBS8NAEIXv/oo52ku2Bq2pt9rixYKB
gAriYZOdkLG7O8vOJrH/3ggRBOu91/d9D+YxXH80b6v8Js/f72BrtQiU+/uerHnGKMQeSIBcsOjQ
JzRAHmpOHahNCJYanSZH1GvDBjMdgtrypPkkaocDWg4YVWl1ajk6UVR27LEi108RxyzM5Jdc7R7/
emIOqjpKQqf2VEcdj6qMNOiED1E7HDkeRG1EMMnMK4wDNShZ+yOc5nC5/LzKa317vV4XC9DenOGy
qZP4/2Gn8LyrWK+KYrnI4MkjcAupQ0gjw0jWQo3QC5oMXjpqOpju+n527w225Kf84gtQSwMECgAA
AAAAlqSxSgAAAAAAAAAAAAAAABEAHAByZXRyaWVzL2ltcG9ydGVkL1VUCQADyxYdWfkXHVl1eAsA
AQT1AQAABBQAAABQSwMECgAAAAAAlqSxSgAAAAAAAAAAAAAAABUAHAByZXRyaWVzL2ltcG9ydGVk
L3czYy9VVAkAA8sWHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAJeksUoAAAAAAAAAAAAA
AAAoABwAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1VUCQADzRYdWfkX
HVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAl6SxSgAAAAAAAAAAAAAAAC0AHAByZXRyaWVzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9VVAkAA80WHVn5Fx1ZdXgLAAEE9QEA
AAQUAAAAUEsDBAoAAAAAAJaksUoAAAAAAAAAAAAAAAA2ABwAcmV0cmllcy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvVVQJAAPLFh1Z+RcdWXV4CwABBPUBAAAE
FAAAAFBLAwQKAAAAAACWpLFKAAAAAAAAAAAAAAAARwAcAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvVVQJAAPLFh1Z
+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAACWpLFKAAAAAAAAAAAAAAAAWQAcAHJldHJpZXMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRo
ZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvVVQJAAPLFh1Z+RcdWXV4CwABBPUBAAAEFAAAAFBLAwQK
AAAAAACWpLFKAAAAAAAAAAAAAAAAegAcAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwv
cGVyc2lzdGVkLXVzZXItc3RhdGUtcmVzdG9yYXRpb24vVVQJAAPMFh1Z+RcdWXV4CwABBPUBAAAE
FAAAAFBLAwQUAAIACACWpLFKxLifGsEAAAAMAQAAtwAcAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvaGlzdG9yeS10
cmF2ZXJzYWwvcGVyc2lzdGVkLXVzZXItc3RhdGUtcmVzdG9yYXRpb24vc2Nyb2xsLXJlc3RvcmF0
aW9uLWZyYWdtZW50LXNjcm9sbGluZy1jcm9zcy1vcmlnaW4tYWN0dWFsLnR4dFVUCQADyxYdWcsW
HVl1eAsAAQT1AQAABBQAAABVjkFLAzEQhe/5Fe9owcOiFWShB5FgC6572PVc4u40BrOZOpkUf76R
tgeP8+bxfe+5fxv6V4vODsPTi20RQyLcPdyvW1gRlhYuZxLd03dxMbfIn1zijDwJxwhlHMT5hZKC
fo40Kc14bBp8FIVnRWOM2TpJlPMZiJtx19n+fVzdYqmp84QNUonRmMsHnUtVdnUIZWVxGjhd7eq+
CEehieY/M59ILu2Q/L9RIaHmVc4SfD2SOwV/Zo2VCw1LXcxFjfkFUEsDBBQAAgAIAJaksUp9aoCo
RwEAACEDAAC1ABwAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
YnJvd3NlcnMvYnJvd3NpbmctdGhlLXdlYi9oaXN0b3J5LXRyYXZlcnNhbC9wZXJzaXN0ZWQtdXNl
ci1zdGF0ZS1yZXN0b3JhdGlvbi9zY3JvbGwtcmVzdG9yYXRpb24tZnJhZ21lbnQtc2Nyb2xsaW5n
LWNyb3NzLW9yaWdpbi1kaWZmLnR4dFVUCQADyxYdWcwWHVl1eAsAAQT1AQAABBQAAADlkU1PwzAM
hu/7FT6COpPBijRNQhofFSAYk+hgR5StXhspbUrssPHvSTcmceHGDUWKLef1+0Q2IoJ6dTbUxOpG
i1bZIlcLWj4Y+Q5XwdhCPZMlzYSmrVxDbOpgtTivrP50QVCIBT1xsMLKk3gT/UzdOi9UqM1wpTa0
xDb2rJ2vd3JWldRWLb3bMHneJ6YpUSrCqFaV4Uj4RPH6Iwq0VW0MsUgFhtiCLFqoo0aZFuMaxSvv
rP1ZwrXXZU2N4P6tA8SEGZ03pWmQti2touWJbKWXJMk/H4deSdB2N4zJBPC0n0LSXZNJD69nT/ns
MYNplueXt9kYYjvBWZqOxpB57/wYNMefyBu9RxMeA1cu2AL2LBAHBzwcxg6jwQCWQaB0AoNe8gvj
fJj+GQO6c6d93BvvPeFofj/NZi/z4z7EzbMuCS6gCdb2vgBQSwMEFAACAAgAlqSxSjgxixrAAAAA
DAEAALkAHAByZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93
c2Vycy9icm93c2luZy10aGUtd2ViL2hpc3RvcnktdHJhdmVyc2FsL3BlcnNpc3RlZC11c2VyLXN0
YXRlLXJlc3RvcmF0aW9uL3Njcm9sbC1yZXN0b3JhdGlvbi1mcmFnbWVudC1zY3JvbGxpbmctY3Jv
c3Mtb3JpZ2luLWV4cGVjdGVkLnR4dFVUCQADyxYdWcsWHVl1eAsAAQT1AQAABBQAAABVjjFrwzAQ
hXf9ijc2kMGUDMGQoRTRFOp6sDsX1b4qIrIuOZ1Cf35Vkgwd793j+95z/z70bxadHYanF9sihkR4
3Gy2LawISwuXM4l+0rm4mFvkA5c4I0/CMUIZ3+L8QklBPyealGZsmwZfReFZ0Rhj9k4S5XwF4mF8
7Wz/Ma7WWGrqPGGHVGI05vZB51KV3R1CWVmcBk53u7oj4SQ00fxn5gvJrR2S/zcqJNS8ylmCr0dy
l+CvrLFyoWGpi7moMb9QSwMEFAACAAgAlqSxShXDXOgvCAAAdBoAAL0AHAByZXRyaWVzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9icm93c2luZy10aGUtd2Vi
L2hpc3RvcnktdHJhdmVyc2FsL3BlcnNpc3RlZC11c2VyLXN0YXRlLXJlc3RvcmF0aW9uL3Njcm9s
bC1yZXN0b3JhdGlvbi1mcmFnbWVudC1zY3JvbGxpbmctY3Jvc3Mtb3JpZ2luLXByZXR0eS1kaWZm
Lmh0bWxVVAkAA8wWHVnMFh1ZdXgLAAEE9QEAAAQUAAAAvVltc+O2Ef7uX4Gxp3WbMUnJkl1ZttXJ
2XLTSS7Xqa/NxwxIgiLOIMEAoC1fm//exRtFUqTsTmaSm5xIYAHsy7PPLng3uSrY6ugmJziFn4Io
jJIcC0nU7WmtsmBxCsNSvTKyOloyWj6doeUzlVSRFP3nCMF/imxVkJKEC6woL5eo5CW5NlMxFykR
QcyV4sUSTastSuGZpNdHvx7Z7dwmCWdcLNHJZHZl5sIHysg9zTI3H+PkaSN4XaaBF80W+k/7IHuC
5Iym6CRNUzuX8VIFGS4oe12igpdcVjhxChZYbCioPCUFmtihioNxxg5BGFj0TIxC+bSn6Ww2G9hf
4lIGkgiatSYl/UrMGe1DA0YytUST8MKPp1RWDMMmtATPOA1faKpyWDyZ/MHph9OUlptmpdXNhUY/
daPj1KVlDkqpRjznz0T0LLq4uLgeczYh1g2hjskPcJZ0izPGMZgh6CZX3chpqTswH4Mt/igOrqcK
TJz0TFY4ZiRICGMdKwOzb8dLLzlYF5gYaqi9CFztNHskiY7dKGjM4i5k+nBxmPV+B0BNqq09Yb2t
ILywP5hGzlCof/oWjqonaUriV/03Mqp+YDx5+gcWKgRTlxkVUgVJTlk66lh93COsPzu0mSAFhPbs
jfPcGd79FnBBrEU6sLvwqAO0KJpgFmBGN5Abig+YJYhG+ne4TBnx7nD7aBfq95zYgO7wnNRC6tBo
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
Z14tSQQtWrBGalhPMO/SAS9H095ZP11Oht3Qy233VptUQ9lstrQgO/Tx3S/Di6fPD748TC+Onrxr
v1j7pZfa1MnT/O+LL4EXX8LLu5mXX8KnLXsBJnya8pdgwqda50WY8MnWexkmfLotvhATnkv5SzHh
U23ixZjwSTfzckw8zBa/IBM+VfmT5dWrIdcjxDx3w+/JFCvIfIpsT0O8KVPwI1vPa/F7StoDwoKT
XxWd/WpTp7efEzNXv57bd0uufkPXbj0axtGzbrSZhfeeGTK/Anw8t6ZLFs/takuTCz3/LVi5jblz
8cptZ90CD4QZ3xdjrDE163ErnIv6fK/E2YvOfrWp09uPeZmrX9NhS65+Q9duPdmF524YrSPU4DVv
wtXCXraBk8Z9ayNuFbzS9a8z6kcbcCH7aSfWrv5grSh2lc3ganNT8J61cquwprOVrcLG1sB+xIoj
WdNsbY0TTxYczVs37svj3TrzutrKxAKPiMIrtom4uc6KbWO96CdETrTVRthU7FlnzeinV2vH6LW0
sM1pxh+elq7mBmP9Oqu5xbWMPlflMsSGxWM8tzQecshnZSWSKDn31YZObj4sJa58TfctuPLNXHfk
6aj/Q9e+cb44qd9g4oaKdJi4sfBaTEBKvvgO0fPZ7M2n778/Hcz6D/tXvYs3w/77nGVm9KY3O//s
s8/+4W+GnPluHo5Sc1O7AiC4YqCsSwDC8m4BiBNdAxDIdA9AtlkXAYRpjQIQmyJw3l0AcXmXAW8t
cLcBylJrh3EvcLUfhjyMBFpnSGXWTSKSbD7oa4kWvdYcgqrMo6rsjO4cAgBCC/bnEEaqtJwOHQJK
FKWryGjSAa/Q002kL9No/BMqc664SO5c2XjZ0+CkPDGs+inG8+XGZMVhmY9jMHd2TAqvxyjj/tg6
0wEGNVfHdIrhuUT8q8VSIG0tTaivfV4f6iJlqElHA7Bfe4FX4ZAno+isHAe+a0RoBYHeGozSihnw
TydSK1giOeSKoXDsGd0733tPx7P+p52LwXS6GKRzfXS68JHJMi5PF4Y/74+Gg+ns767HmfVeDfv3
//bwwQ/+P1BLAwQUAAIACACXpLFK+7neAdkJAACfNgAAVQAcAHJldHJpZXMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWVtYmVkZGVkLXByZXR0eS1k
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
ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWRsaGFybmVzcy1hY3R1YWwudHh0VVQJAAPNFh1ZzRYdWXV4
CwABBPUBAAAEFAAAAK1WS2/TQBC++1eMciGREBfg0qgHoJaKVETVVOKAOGzssb1g75rZcZNQ8d8Z
P1o7wk5jJ1EuceZ7zMyOd+7Q2YIChHudaRPD56sbYHTsPM+7/bBawS1SZClTRmK0YfmlArwAmyMp
1tZAkKKiu4amZnHzBRyJdsj72I9FFCGt9B+cF8bp2GAIqTXxC4yKmfS6YARrqCHkinBdEUZFmvYw
ZIVjWCPkpDNFu5YRbAQbbUK7eZN34muGlWiZWEc6qJM4FDvgtye+8qJNgqRZDJU14h3M+uo7Ezwn
wAk2gcC7HGH+dnEu1QN9GRJ/94J4oNK0PGIjWi617bFcy1sLEW5AUVxkaNjVmXBCdgP3YsgnsnSu
cgwfqqFqvO+pxn7aXSe41Y6xNKBM+KSr0ZVHq3Mm1z8x4ON5nwApmlg8jsYZleH5s5DnbKsijc1n
qsIrJ2NkjWMqArY0axs7Qrp9w2ijWSshKo/ZNArCUJM4W7EiPo3Cl0JMIoiQg+QEA6HNlDY31v4q
8jPRTM5FumtOK2fDMNmBw6Ag/FSzyKVwUmd/F3IFn8TgcjnveAaKqiDf/W1uHYaX82/VK3Pxw2un
bZj4ovufb1gu2EcP5EOoQmvSXUfv6uuX+lqF9rM3aMsDyGsdJ6ItsmXKWb4/X5OQkvcoXDtNo2D/
DdFk9FjD3ZGZAhyr1zsgI1vTzsVIYGccJiGfk3WyGKhUVhWCS3hsFoXXLcvfpSffXHQkDHqHpJmB
B6vDgeV52QYcvSxBprbl0wbcpuU/yHZ0LddlKp6H95jKt/cPUEsDBBQAAgAIAJeksUqsd6RMnwEA
APkFAABLABwAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9pZGxoYXJuZXNzLWRpZmYudHh0VVQJAAPNFh1ZzRYdWXV4CwABBPUBAAAEFAAAAM2T
wW7bMAyG730KoqcEiaplHXLYKQua07CtqIv1LNu0TUCWDIqC6z39FCdF1yFugSEFdhIEkd//kxSV
UqB/ehtbDPrGiNG7h0w/YP6V5HhsI9lS36FFE1BR13iHgdpojXjW1gw+ihIMohhDtBI0ozAlHrWd
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
99mjto2JNlOlPeIYvN7uMrlh5GSQ4D1YP/F2R06CtwA+8JmLMrwBG/C8lZi4gQQQ6D29Eh05y+AB
A0mX0+35RarhNva3D4Dt+yC3V2WrB7A67/JHmiffVkfCF+XuXDdoD3HvrN/uVTL54xB8uDbtmVdY
2/fb2gjzzBt0nWprK8kND/8GsCZtKHfjWqJ4BvC9gRPNtqfHHdGM94Mcdm0x5pn3yxLojaAL55a4
b4s+0EW1Xe2BkxyxOrEzHszIakSwfrwT7S7O0C5g7a5fW+bcRHBwuEhTyJhY4sCBN4Idmpul45r4
y+Wnx7cvvz79ea/k+ri8f3x6evn+4+PT+9sXNUvYG+P5DLCd+l/e3z99f/zl8untx/Pl05e3x/df
9UzjWknVQrhZdM+vj1/PsUENneMPPh14aleht264+necpG98ev/x0xX69cfbl8unlx/Pz5++PX27
tLFF+tfJJd0t5m+PTy/yl8D29+959gw/8in+/PT18nrlwKfOGPCJbnNsVfqH//S/Hv/8+P7l7en7
x6cfb8+fnn5+e/y2xqabEVuWxdG1/svjl18vny5//f70dvlKiQY+1A24TZ/Fo7/azoWnl//+9HZ5
ZuT/6fLz6/XPrgxC4sZHkB+uyF1av/2yklXHix58B260eb98IGheQnBcKw364/Gnq5j/9Pjlv395
e/3xAjfQaydin6rWvvL1x/fnpy+PH9dTc9DkHX2ol59sSiCTzTTy/vp2+RmBB6ka7umXlysPPr28
HnLz9POn/aftzFxetm1+RQe5Fxy0yNaumB6/vm6fermidT1wH79dv3Fd4etlJdrHN0mlSvM0OXKc
Nz3z9O3769sH+kIlBVk3U7LB//Xb847R+6+XK/P/qlGLlJmS5jv7xh4/Pt6efvrxcdvbT69ff7tz
b12k2tHfz+2pmy7fvn/8tkvmp6+v39B3Ai/IIULVkLlDMq8fKaxmLpCPvLZBDJ++Pn48IpEiVTLh
ZvPtB+Trnaej8o0ERpC/PH38+unHy+Vlc9B+3ZQa2k7klTO1Y3MI90JZZH4pRcTyv0GcHSvcrce4
3W+Xb69vvzWQ/cdP37dX24/rYXx/+vbjubVa0m71W5HndqtvSXnlmKL45fXl4/Ly8fPT88flNoLv
p+fXL//96fHn6x9dKXq9qN4vL1+vKud//bjSRstysMawzNCTHM/Pr3/59O3y9enxKqJffmxdobRP
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
hOddqwLX63yRwaNH4AZSi5BGhpGcgxqhF7QZPLdkWpju+np27y025Kf86hNQSwMECgAAAAAAd6Gx
SgAAAAAAAAAAAAAAAA4AHAB0aWxlZC1kcmF3aW5nL1VUCQAD8hAdWfkXHVl1eAsAAQT1AQAABBQA
AABQSwMECgAAAAAAd6GxSgAAAAAAAAAAAAAAABIAHAB0aWxlZC1kcmF3aW5nL2lvcy9VVAkAA/IQ
HVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAHehsUoAAAAAAAAAAAAAAAAaABwAdGlsZWQt
ZHJhd2luZy9pb3MvaXBob25lNy9VVAkAA/IQHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAI
ACylsUoZb9AV9AAAAB0CAABCABwAdGlsZWQtZHJhd2luZy9pb3MvaXBob25lNy9jb21wb3NpdGlu
Zy1sYXllcnMtZGVlcC1jb2xvci1zdGRlcnIudHh0VVQJAAPkFx1Z8hAdWXV4CwABBPUBAAAEFAAA
AM2RQUvDQBCF7/6KOdpLNikqqbfa4sWCgYAK4mGzOyFjNzvLziax/94IEQTr3ev7vgfzGG7ezevN
9VVRvN3CzmkRqA53Azn7hFGIPZAA9cFhjz6hBfLQcOpAbUNwZHSaHVEvhi1mOgS141nzSdQeR3Qc
MKrK6dRy7EVR1bHHmvphjjhmYSE/5Hr/8NsTe1T1SRL26kBN1PGkqkijTngfdY8Tx6OorQgmWXiN
cSSDkrXfwnkOl/lHsS6NzTebcgXa23+4bO4k/nvYObzs0u26LPNVBo8egVtIHUKaGCZyDhqEQdBm
8NyR6WC+6+vZg7fYkp/zi09QSwMECgAAAAAAUaCxSgAAAAAAAAAAAAAAAAsAHAB0cmFuc2Zvcm1z
L1VUCQADyg4dWfkXHVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAUaCxSgAAAAAAAAAAAAAAAA4A
HAB0cmFuc2Zvcm1zLzJkL1VUCQADyg4dWfkXHVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAuqOx
StACRce0AAAAvgIAADcAHAB0cmFuc2Zvcm1zLzJkL3ByZXNlcnZlM2Qtbm90LWZpeGVkLWNvbnRh
aW5lci1zdGRlcnIudHh0VVQJAAMwFR1Zyg4dWXV4CwABBPUBAAAEFAAAAL3QSQoCMRCF4b2nqAPY
Uon2iAjiUlcquBAXMVS3gVhp0uXQnl5ceAKHd4Cfj6dR5QmmicpBY6XLKtUjLDLY0XHpZEudrC/M
FOdtu8+UKrEap5NS5ekBpov5Nhru6hDPK9NTrADv2QRfGxdY4AwSsCfDjeMG2hhaitKDDSzE0m2s
8QSOQd6RJLDvwb9SQ7g57+FkrgQcgOqarAz037HRdELRPYy4wF8Tl5+Llf3Xvb/EfnrvE1BLAwQK
AAAAAABRoLFKAAAAAAAAAAAAAAAADgAcAHRyYW5zZm9ybXMvM2QvVVQJAAPKDh1Z+RcdWXV4CwAB
BPUBAAAEFAAAAFBLAwQKAAAAAABRoLFKAAAAAAAAAAAAAAAAFgAcAHRyYW5zZm9ybXMvM2QvZ2Vu
ZXJhbC9VVAkAA8oOHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIALqjsUpsiSO6qwAAAF8B
AAA9ABwAdHJhbnNmb3Jtcy8zZC9nZW5lcmFsL2JhY2tncm91bmQtdmlzaWJpbGl0eS1sYXllcnMt
c3RkZXJyLnR4dFVUCQADMBUdWcoOHVl1eAsAAQT1AQAABBQAAAC1zk0KwjAQQOG9p5gDWJmk1tYg
grjUlQouxEUs0zYQJyUdf+rp1YU7V4LvAI9Po8oTzBKVg0ajpybTo6xA2NNp5WRHnWwuzBQXbXuY
KJXmJs3GhcLxEWbLxS5a7qoQz2vbUzSA90mKr7RGXeAcEigby7XjGtoYWorSQxlYiKXbltYTOAb5
TJLAvgf/Xg3h5ryHxl4JOABVFZUy0F+x6o/YaDuh6B5WXOAfxE9QSwMEFAACAAgAuqOxShIX5uG1
AAAAvgIAADoAHAB0cmFuc2Zvcm1zLzNkL2dlbmVyYWwvdHJhbnNmb3JtLW9yaWdpbi16LWNoYW5n
ZS1zdGRlcnIudHh0VVQJAAMwFR1Zyg4dWXV4CwABBPUBAAAEFAAAAL2QOQ7CMBBFe04xByDIdjZi
ISRECRVEokAUJpoES2YcOcMSTg8pOAHLb3739PSUkHkk0kjmoIRWhU7VpEgV7PC4slxix5sLEYZF
2+4zKeNcx2kylSI5wGy5KIOhrvbhvDY9Bg3inkkxLK4LJeYQQXUy1FhqoA2+xcA9VJ4YibttZRyC
JeA3JPLkenADagw36xyczBWBPGBdY8Uj9XfZYDrGYB+GraevGcefG7/+T3l/Kftp3idQSwMECgAA
AAAAUaCxSgAAAAAAAAAAAAAAABoAHAB0cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL1VUCQADyg4d
WfkXHVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAuqOxSkM14UipAAAAXwEAAEMAHAB0cmFuc2Zv
cm1zLzNkL2hpdC10ZXN0aW5nL2JhY2tmYWNlLW5vLXRyYW5zZm9ybS1oaXQtdGVzdC1zdGRlcnIu
dHh0VVQJAAMwFR1Zyg4dWXV4CwABBPUBAAAEFAAAAL3OTQ6CMBBA4b2nmAOIKcUCNsaEuNSVkrgw
LgoO0KROSRl/8PTqwgu48B3gy5MiziKhojgDKbRcaCVnmVBwwGpjucSBd1ciDEXfH9M4zjOdqPlC
KHWC5boog6Gh8eGyNSMGDeKRJrl4l1RnFCuIoO4MtZZa6IPvMfAItSdG4mFfG4dgCfiLRJ7cCO5D
TeFunYPO3BDIAzYN1jyRf58NZmAM9mnYevrh+AVQSwMEFAACAAgAuqOxSqN96hSsAAAAXwEAADkA
HAB0cmFuc2Zvcm1zLzNkL2hpdC10ZXN0aW5nL2NvcGxhbmFyLXdpdGgtY2FtZXJhLXN0ZGVyci50
eHRVVAkAAzAVHVnKDh1ZdXgLAAEE9QEAAAQUAAAAtc47CsJAEIDh3lPMAYxsNtm8ECFYaqUBC7HY
hEmysM6GzfiIp1cLOyvB/wA/nxRhGggVhClIUci8UHKRxSkcsN4YrnDk3YUIfTkMxyQMs7SIVJwL
pU6wXJeV1zS2zp+3ekJfgLgnIhOvorrWYgUBNL2mzlAHg3cDep6gccRIPO4bbREMAX8mgSM7gX2v
5nAz1kKvrwjkANsWG57Jr9jsj1ivR0ZvHpqNox/ET1BLAwQUAAIACAC7o7FKpv6pF6wAAABfAQAA
QAAcAHRyYW5zZm9ybXMvM2QvaGl0LXRlc3Rpbmcvb3ZlcmxhcHBpbmctbGF5ZXJzLWhpdC10ZXN0
LXN0ZGVyci50eHRVVAkAAzEVHVnKDh1ZdXgLAAEE9QEAAAQUAAAAtc5NCsIwEEDhvaeYA1hJ2qat
QYTiUldacCEuYpm2gTgp6fhTT68u3LkSfAd4fLGQeSRUJHOIhY7nWiUzKRPY42ltucKBtxciDGXf
HzIpi1wnKp0LpY6wWJVVMDQ0Ppw3ZsSgQdwzVYhXicmEWEIEdWeotdRCH3yPgUeoPTESD7vaOARL
wJ9J5MmN4N6rKdysc9CZKwJ5wKbBmifxV2z6R2wwA2OwD8PW0w/iJ1BLAwQUAAIACAC7o7FK/Q7I
t6kAAABfAQAAOAAcAHRyYW5zZm9ybXMvM2QvaGl0LXRlc3RpbmcvcGVyc3BlY3RpdmUtY2xpcHBl
ZC1zdGRlcnIudHh0VVQJAAMxFR1Zyg4dWXV4CwABBPUBAAAEFAAAAL3OSw6CMBCA4b2nmAOIacHy
aIwJcakrJXFhXBQyQJM6JWV84OnVhRdw4X+AL38sZBYJFckMYqHjQqtkIfMCjlhvLVc48v5KhKEc
hlMqZZ7pRC0LodQZVpuyCobG1ofLzkwYNIhHqnLxLqllLtYQQdMb6ix1MAQ/YOAJGk+MxOOhMQ7B
EvAXiTy5CdyHmsPdOge9uSGQB2xbbHgW/302mJEx2Kdh6+mH4xdQSwMECgAAAAAAUaCxSgAAAAAA
AAAAAAAAABwAHAB0cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcvVVQJAAPKDh1Z+RcdWXV4CwAB
BPUBAAAEFAAAAFBLAwQUAAIACAC7o7FKcFN1mNEAAAB8BQAAOQAcAHRyYW5zZm9ybXMvM2QvcG9p
bnQtbWFwcGluZy8zZC1wb2ludC1tYXBwaW5nLTItc3RkZXJyLnR4dFVUCQADMRUdWcoOHVl1eAsA
AQT1AQAABBQAAADN0kFqwzAQheF9TzEHqMNIsmzHhELosl2lgS5KF4oYJwJ1ZORpUvf0pYuewMj0
Ao+Pn6dRtRXaSrWgsdfb3poN2i280ukpyJEmOXwyU96P41ujlGl7Y+tOYf0Ou8f9MTuehpQ/nt1M
uQf8amyHiFrr1uMDVOAvjs+BzzDmNFKWGXxiIZbpxbtIEBjkb6RKHGeIv1P3cAsxwsVdCTgBDQN5
udOrY7ObhHL4dhIS/yexwZXyNlgQWyRvoxaL1Wmt9xbFlslrlh9Cd2vlrQtil+b9AVBLAwQUAAIA
CAC7o7FKJVIO8dQAAAB8BQAAPAAcAHRyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1wb2lu
dC1tYXBwaW5nLWRlZXAtc3RkZXJyLnR4dFVUCQADMRUdWcoOHVl1eAsAAQT1AQAABBQAAAC90rFO
wzAQxvGdp7gHIJV9qW0aVUgVI51KJQbEYKxLa8mcI+cKhKcHBja24NwDfPrpr0OlXaNMox2g6nDT
mXalrYFHermPcqRRDhdmKrtheLJat65rzfpGq/UzbO92x+J57HN53fuJSgfqw6L6PkQ0qG6hgXD2
fIp8gqHkgYpMEDILsYwPwSeCyCC/I03mNEH6mbqG95gSnP0bAWegvqcgV/gn1lbEFj8KlfjpJWb+
N/Fmtlj3dqm8NbFV8jo9/yGcXyhvVWydvDj/IQItlbcmdm7eL1BLAwQUAAIACAC7o7FKE6DKqQQB
AABXDAAAQwAcAHRyYW5zZm9ybXMvM2QvcG9pbnQtbWFwcGluZy8zZC1wb2ludC1tYXBwaW5nLXBy
ZXNlcnZlLTNkLXN0ZGVyci50eHRVVAkAAzEVHVnKDh1ZdXgLAAEE9QEAAAQUAAAA1dTNSsQwFIbh
vVdxLsBKkjZJWwZhcKkrHXAhLjLhdCYQT0oaf+rViwuXrmJCvYGPh3fxCcZ1w2TDNQg2imGU7VWr
ODzi8dalAy7p/pUI436enxTnrR5b2fWcdc+wu9kfoqFlCvHlzqwYR2AfiveMMSGk7dk1NGDPhk6O
TjDHMGNMK9hACSktD9Z4BEeQfkaaQH4F/z11Ce/OezibNwQKgNOENl2I6tholoTRfZrkAv2ZWGSL
NcdaeUtiy+Rts8W9YrXylsRuNa+09v/k/R1bJm+XL8Zq3ysLYsvkVfl3duxq5S2J3WpepU2tvLog
tkzeIV9squUtid1s3qHWOWhWEJub9wtQSwMECgAAAAAAvKOxSgAAAAAAAAAAAAAAAAwAHAB1c2Vy
c2NyaXB0cy9VVAkAAzMVHVn5Fx1ZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIALyjsUqzJwJ79QAA
AB0CAAAxABwAdXNlcnNjcmlwdHMvdXNlci1zY3JpcHQtYXVkaW8tZG9jdW1lbnQtc3RkZXJyLnR4
dFVUCQADMxUdWTMVHVl1eAsAAQT1AQAABBQAAADNkUFLw0AQhe/+ijnaS7aNURJvtcWLBQMBFcTD
JjshYzc7y84msf/eCBEE693r+74H8xiu35vXmzTLN2+3sLNaBMrD3UDWPGEQYgckQL232KOLaIAc
1Bw7UFvvLTU6zo6ol4YNJtp7teNZc1HUHke07DGo0urYcuhFUdmxw4r6YY44JH4hP+Rq//DbE3NU
1Uki9upAddDhpMpAo454H3SPE4ejqK0IRll4hWGkBiVpv4XzHC7XH5u0uE7ToshXoJ35h8vmTuS/
h53Dy66rLMvz9SqBR4fALcQOIU4ME1kLNcIgaBJ47qjpYL7r69mDM9iSm/OLT1BLAwQKAAAAAABS
oLFKAAAAAAAAAAAAAAAACwAcAHdlYmFyY2hpdmUvVVQJAAPMDh1Z+RcdWXV4CwABBPUBAAAEFAAA
AFBLAwQUAAIACAC8o7FK2wjTQjsAAAA/AAAAOgAcAHdlYmFyY2hpdmUvdGVzdC1saW5rLXJlbC1z
dWJyZXNvdXJjZS1iZWZvcmVsb2FkLXN0ZGVyci50eHRVVAkAAzMVHVnMDh1ZdXgLAAEE9QEAAAQU
AAAAcywpSc0tKFEoyVdIzSssTS1NVUhUKM8vylbIBEoolGdk5qQqQMQzixWSUjPz0hUKivKTU4uL
U1P0uABQSwMECgAAAAAAWaCxSgAAAAAAAAAAAAAAAAcAHAB3ZWJydGMvVVQJAAPaDh1Z+RcdWXV4
CwABBPUBAAAEFAAAAFBLAwQUAAIACAC8o7FKyrQJXCIAAAA6AAAAMAAcAHdlYnJ0Yy9hdWRpby1w
ZWVyLWNvbm5lY3Rpb24td2ViYXVkaW8tc3RkZXJyLnR4dFVUCQADNBUdWc4OHVl1eAsAAQT1AQAA
BBQAAACzs7OzU0grSsxNDc6sSnXOSMxLT01RsFUwMbA047LDJwkAUEsDBBQAAgAIAL2jsUokLsiZ
IgAAAHQAAAAlABwAd2VicnRjL2F1ZGlvLXJlcGxhY2UtdHJhY2stc3RkZXJyLnR4dFVUCQADNhUd
WdAOHVl1eAsAAQT1AQAABBQAAACzs7OzU0grSsxNDc6sSnXOSMxLT01RsFUwMbA047KjjSQAUEsD
BBQAAgAIAMSjsUrKtAlcIgAAADoAAAAsABwAd2VicnRjL3BlZXItY29ubmVjdGlvbi1hdWRpby1t
dXRlLXN0ZGVyci50eHRVVAkAAz8VHVnYDh1ZdXgLAAEE9QEAAAQUAAAAs7Ozs1NIK0rMTQ3OrEp1
zkjMS09NUbBVMDGwNOOywycJAFBLAwQUAAIACADEo7FKyrQJXCIAAAA6AAAAMwAcAHdlYnJ0Yy9w
ZWVyLWNvbm5lY3Rpb24tcmVtb3RlLWF1ZGlvLW11dGUtc3RkZXJyLnR4dFVUCQADQBUdWdoOHVl1
eAsAAQT1AQAABBQAAACzs7OzU0grSsxNDc6sSnXOSMxLT01RsFUwMbA047LDJwkAUEsDBBQAAgAI
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
AAAAAAAAAAAcABgAAAAAAAAAEADtQXcEAwBhY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvVVQF
AANgDB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlKKxSjuDkq/1AAAAHQIAADMAGAAAAAAA
AQAAAKSBzQQDAGFjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9hYmJyZXZpYXRpb24tc3RkZXJy
LnR4dFVUBQADBxMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAIiesUoAAAAAAAAAAAAAAAAa
ABgAAAAAAAAAEADtQS8GAwBhY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL1VUBQADYAwdWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAJSisUo8d7GA9gAAAB0CAABWABgAAAAAAAEAAACkgYMGAwBh
Y2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL2NoYXJhY3Rlci1vZmZzZXQtdmlzaWJsZS1wb3NpdGlv
bi1jb252ZXJzaW9uLWhhbmctc3RkZXJyLnR4dFVUBQADBxMdWXV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAJCesUoAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQQkIAwBhbmltYXRpb25zL1VUBQAD
bwwdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAImesUoAAAAAAAAAAAAAAAAOABgAAAAAAAAA
EADtQU4IAwBhbmltYXRpb25zLzNkL1VUBQADYQwdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AJSisUqZsUUigAEAAHwDAAA2ABgAAAAAAAEAAACkgZYIAwBhbmltYXRpb25zLzNkL2NoYW5nZS10
cmFuc2Zvcm0taW4tZW5kLWV2ZW50LXN0ZGVyci50eHRVVAUAAwgTHVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACUorFKhWi56/UAAAAdAgAAMAAYAAAAAAABAAAApIGGCgMAYW5pbWF0aW9ucy9D
U1NLZXlmcmFtZXNSdWxlLW5hbWUtbnVsbC1zdGRlcnIudHh0VVQFAAMHEx1ZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAm6KxSomc/garAAAAXwEAAD0AGAAAAAAAAQAAAKSB5QsDAGFuaW1hdGlv
bnMvY2hhbmdlLXRyYW5zZm9ybS1zdHlsZS1kdXJpbmctYW5pbWF0aW9uLXN0ZGVyci50eHRVVAUA
AxYTHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACJnrFKAAAAAAAAAAAAAAAAGwAYAAAAAAAA
ABAA7UEHDQMAYW5pbWF0aW9ucy9mb250LXZhcmlhdGlvbnMvVVQFAANhDB1ZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAlKKxSrF5kZX0AAAAHQIAADIAGAAAAAAAAQAAAKSBXA0DAGFuaW1hdGlv
bnMvZm9udC12YXJpYXRpb25zL2ZvbnQtc3RyZXRjaC1zdGRlcnIudHh0VVQFAAMIEx1ZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAiZ6xSgAAAAAAAAAAAAAAAAcAGAAAAAAAAAAQAO1BvA4DAGNh
bnZhcy9VVAUAA2EMHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACJnrFKAAAAAAAAAAAAAAAA
DgAYAAAAAAAAABAA7UH9DgMAY2FudmFzL3BoaWxpcC9VVAUAA2EMHVl1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAACJnrFKAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UFFDwMAY2FudmFzL3BoaWxp
cC90ZXN0cy9VVAUAA2EMHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACUorFKJsN2mfQAAAAd
AgAAMgAYAAAAAAABAAAApIGTDwMAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jYW52YXMucmVmZXJl
bmNlLXN0ZGVyci50eHRVVAUAAwgTHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACCobFKvXaK
HiY2AABm7QAAQAAYAAAAAAABAAAApIHzEAMAY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuQ29yZVNp
bXVsYXRvclNlcnZpY2UtNTMxODEtY3Jhc2gtbG9nLnR4dFVUBQADBBEdWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIADWlsUopaWHrlTgAAKUcAQBAABgAAAAAAAEAAACkgZNHAwBjb20uYXBwbGUu
Q29yZVNpbXVsYXRvci5Db3JlU2ltdWxhdG9yU2VydmljZS02NTQxNS1jcmFzaC1sb2cudHh0VVQF
AAP2Fx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAlaKxSgAAAAAAAAAAAAAAAAwAGAAAAAAA
AAAQAO1BooADAGNvbXBvc2l0aW5nL1VUBQADCRMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AJSisUqvV0X88wAAAB0CAAA4ABgAAAAAAAEAAACkgeiAAwBjb21wb3NpdGluZy9hYnNvbHV0ZS1p
bnNpZGUtb3V0LW9mLXZpZXctZml4ZWQtc3RkZXJyLnR4dFVUBQADCBMdWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAIqesUoAAAAAAAAAAAAAAAAWABgAAAAAAAAAEADtQU2CAwBjb21wb3NpdGlu
Zy9hbmltYXRpb24vVVQFAANjDB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlKKxSgjANGX1
AAAAHQIAAEIAGAAAAAAAAQAAAKSBnYIDAGNvbXBvc2l0aW5nL2FuaW1hdGlvbi9hbmltYXRlZC1j
b21wb3NpdGVkLWluc2lkZS1oaWRkZW4tc3RkZXJyLnR4dFVUBQADCBMdWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAJWisUrSdgh1qwAAAF8BAABDABgAAAAAAAEAAACkgQ6EAwBjb21wb3NpdGlu
Zy9hbmltYXRpb24vc3RhdGUtYXQtZW5kLWV2ZW50LXRyYW5zZm9ybS1sYXllci1zdGRlcnIudHh0
VVQFAAMKEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAiZ6xSgAAAAAAAAAAAAAAACAAGAAA
AAAAAAAQAO1BNoUDAGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkvVVQFAANhDB1ZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlKKxSpxu8wehAQAAmQcAAEEAGAAAAAAAAQAAAKSBkIUD
AGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkvYmFja2ZhY2UtdmlzaWJpbGl0eS0zZC1z
dGRlcnIudHh0VVQFAAMIEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlKKxSiFOQnDYAAAA
2wYAAFUAGAAAAAAAAQAAAKSBrIcDAGNvbXBvc2l0aW5nL2JhY2tmYWNlLXZpc2liaWxpdHkvYmFj
a2ZhY2UtdmlzaWJpbGl0eS1oaWVyYXJjaGljYWwtdHJhbnNmb3JtLXN0ZGVyci50eHRVVAUAAwgT
HVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACUorFKmdXkdbUAAAC+AgAARAAYAAAAAAABAAAA
pIETiQMAY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS9iYWNrZmFjZS12aXNpYmlsaXR5
LWltYWdlLXN0ZGVyci50eHRVVAUAAwgTHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACVorFK
LJEgI7kAAAC+AgAARAAYAAAAAAABAAAApIFGigMAY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJp
bGl0eS9iYWNrZmFjZS12aXNpYmlsaXR5LXdlYmdsLXN0ZGVyci50eHRVVAUAAwkTHVl1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAACJnrFKAAAAAAAAAAAAAAAAHQAYAAAAAAAAABAA7UF9iwMAY29t
cG9zaXRpbmcvYmFja2dyb3VuZC1jb2xvci9VVAUAA2EMHVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACJnrFKp19c7fUAAAAdAgAASwAYAAAAAAABAAAApIHUiwMAY29tcG9zaXRpbmcvYmFja2dy
b3VuZC1jb2xvci9iYWNrZ3JvdW5kLWNvbG9yLWFscGhhLXdpdGgtb3BhY2l0eS1zdGRlcnIudHh0
VVQFAANhDB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAlaKxSgAAAAAAAAAAAAAAABgAGAAA
AAAAAAAQAO1BTo0DAGNvbXBvc2l0aW5nL2JhY2tncm91bmRzL1VUBQADCRMdWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAJWisUqHpqN/8wAAAB0CAABBABgAAAAAAAEAAACkgaCNAwBjb21wb3Np
dGluZy9iYWNrZ3JvdW5kcy9maXhlZC1iYWNrZ3JvdW5kLW9uLWRlc2NlbmRhbnQtc3RkZXJyLnR4
dFVUBQADCRMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAImesUoAAAAAAAAAAAAAAAAUABgA
AAAAAAAAEADtQQ6PAwBjb21wb3NpdGluZy9iYWNraW5nL1VUBQADYgwdWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAJWisUruwQJufQEAAHwDAAA3ABgAAAAAAAEAAACkgVyPAwBjb21wb3NpdGlu
Zy9iYWNraW5nL2JhY2tmYWNlLXZpc2liaWxpdHktZmxpcC1zdGRlcnIudHh0VVQFAAMJEx1ZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAiZ6xSgAAAAAAAAAAAAAAABUAGAAAAAAAAAAQAO1BSpED
AGNvbXBvc2l0aW5nL2NsaXBwaW5nL1VUBQADYQwdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AJSisUqTmhdWpwAAAF8BAABDABgAAAAAAAEAAACkgZmRAwBjb21wb3NpdGluZy9jbGlwcGluZy9w
cmVzZXJ2ZTNkLWZsYXR0ZW4tYXNzZXJ0aW9uLW5lc3RlZC1zdGRlcnIudHh0VVQFAAMIEx1ZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAiZ6xSgAAAAAAAAAAAAAAABsAGAAAAAAAAAAQAO1BvZID
AGNvbXBvc2l0aW5nL2NvbnRlbnRzLXNjYWxlL1VUBQADYgwdWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAJWisUoeZ093tAAAAL4CAAAxABgAAAAAAAEAAACkgRKTAwBjb21wb3NpdGluZy9jb250
ZW50cy1zY2FsZS96LXRyYW5zbGF0ZS1zdGRlcnIudHh0VVQFAAMKEx1ZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAip6xSgAAAAAAAAAAAAAAABAAGAAAAAAAAAAQAO1BMZQDAGNvbXBvc2l0aW5n
L2lvcy9VVAUAA2MMHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACVorFKXBNB7KsAAABfAQAA
LgAYAAAAAAABAAAApIF7lAMAY29tcG9zaXRpbmcvaW9zL3Jhc3Rlcml6YXRpb24tc2NhbGUtc3Rk
ZXJyLnR4dFVUBQADChMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAIuesUoAAAAAAAAAAAAA
AAAbABgAAAAAAAAAEADtQY6VAwBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9VVAUAA2UMHVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACWorFKTn+PDqcAAABfAQAARAAYAAAAAAABAAAApIHj
lQMAY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vbm8tY29tcG9zaXRpbmctZm9yLXByZXNlcnZl
LTNkLXN0ZGVyci50eHRVVAUAAwwTHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACXorFKjwnE
nqYAAABfAQAARgAYAAAAAAABAAAApIEIlwMAY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vb3Zl
cmxhcC10cmFuc2Zvcm1lZC1wcmVzZXJ2ZWQtM2Qtc3RkZXJyLnR4dFVUBQADDRMdWXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAIuesUoAAAAAAAAAAAAAAAASABgAAAAAAAAAEADtQS6YAwBjb21w
b3NpdGluZy9tYXNrcy9VVAUAA2UMHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACWorFKe1bP
MKkAAABfAQAAMgAYAAAAAAABAAAApIF6mAMAY29tcG9zaXRpbmcvbWFza3MvbWFzay13aXRoLXBy
ZXNlcnZlLTNkLXN0ZGVyci50eHRVVAUAAwwTHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACb
orFKHplKQKcAAABfAQAANgAYAAAAAAABAAAApIGPmQMAY29tcG9zaXRpbmcvb3ZlcmZsb3ctdHJ1
bXBzLXRyYW5zZm9ybS1zdHlsZS1zdGRlcnIudHh0VVQFAAMVEx1ZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAi56xSgAAAAAAAAAAAAAAAB0AGAAAAAAAAAAQAO1BppoDAGNvbXBvc2l0aW5nL292
ZXJsYXAtYmxlbmRpbmcvVVQFAANlDB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlqKxSgxS
7GmrAAAAXwEAADsAGAAAAAAAAQAAAKSB/ZoDAGNvbXBvc2l0aW5nL292ZXJsYXAtYmxlbmRpbmcv
cHJlc2VydmVzM2Qtb3BhY2l0eS1zdGRlcnIudHh0VVQFAAMMEx1ZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAm6KxSlPVEq+oAAAAXwEAACkAGAAAAAAAAQAAAKSBHZwDAGNvbXBvc2l0aW5nL3By
ZXNlcnZlLTNkLXRvZ2dsZS1zdGRlcnIudHh0VVQFAAMWEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAi56xSgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1BKJ0DAGNvbXBvc2l0aW5nL3JlcGFp
bnQvVVQFAANmDB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAl6KxSgwl2l6mAAAAXwEAADcA
GAAAAAAAAQAAAKSBdp0DAGNvbXBvc2l0aW5nL3JlcGFpbnQvb3BhY2l0eS1iZXR3ZWVuLWFic29s
dXRlLXN0ZGVyci50eHRVVAUAAw0THVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACLnrFKAAAA
AAAAAAAAAAAAEwAYAAAAAAAAABAA7UGNngMAY29tcG9zaXRpbmcvdGlsaW5nL1VUBQADZgwdWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJeisUrj+5QhuQAAAL4CAAA4ABgAAAAAAAEAAACkgdqe
AwBjb21wb3NpdGluZy90aWxpbmcvYmFja2ZhY2UtcHJlc2VydmUtM2QtdGlsZWQtc3RkZXJyLnR4
dFVUBQADDRMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJeisUpr63eTqgAAAF8BAAAuABgA
AAAAAAEAAACkgQWgAwBjb21wb3NpdGluZy90aWxpbmcvcHJlc2VydmUzZC10aWxlZC1zdGRlcnIu
dHh0VVQFAAMNEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAl6KxSsy0v8ymAAAAXwEAAD4A
GAAAAAAAAQAAAKSBF6EDAGNvbXBvc2l0aW5nL3RpbGluZy9yb3RhdGVkLXRpbGVkLXByZXNlcnZl
M2QtY2xhbXBlZC1zdGRlcnIudHh0VVQFAAMOEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
jJ6xSgAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1BNaIDAGNvbXBvc2l0aW5nL3ZpZGVvL1VUBQAD
aAwdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJeisUoaSNik8wAAAB0CAAAjABgAAAAAAAEA
AACkgYGiAwBjb21wb3NpdGluZy92aWRlby9wb3N0ZXItc3RkZXJyLnR4dFVUBQADDhMdWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAJiisUqwcznb9AAAAB0CAAAwABgAAAAAAAEAAACkgdGjAwBj
b21wb3NpdGluZy92aWRlby92aWRlby1ib3JkZXItcmFkaXVzLXN0ZGVyci50eHRVVAUAAxATHVl1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACLnrFKAAAAAAAAAAAAAAAAFwAYAAAAAAAAABAA7UEv
pQMAY29tcG9zaXRpbmcvdmlzaWJpbGl0eS9VVAUAA2YMHVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACXorFKc6AJwKsAAABfAQAAQgAYAAAAAAABAAAApIGApQMAY29tcG9zaXRpbmcvdmlzaWJp
bGl0eS92aXNpYmlsaXR5LWNvbXBvc2l0ZWQtdHJhbnNmb3Jtcy1zdGRlcnIudHh0VVQFAAMOEx1Z
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAi56xSgAAAAAAAAAAAAAAABkAGAAAAAAAAAAQAO1B
p6YDAGNvbXBvc2l0aW5nL3Zpc2libGUtcmVjdC9VVAUAA2YMHVl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACXorFKwsDJAKsAAABfAQAANwAYAAAAAAABAAAApIH6pgMAY29tcG9zaXRpbmcvdmlz
aWJsZS1yZWN0L2ZsaXBwZWQtcHJlc2VydmUtM2Qtc3RkZXJyLnR4dFVUBQADDhMdWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAJeisUqISebM0AAAAHwFAAA0ABgAAAAAAAEAAACkgRaoAwBjb21w
b3NpdGluZy92aXNpYmxlLXJlY3QvbmVzdGVkLXRyYW5zZm9ybS1zdGRlcnIudHh0VVQFAAMOEx1Z
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAjJ6xSgAAAAAAAAAAAAAAABEAGAAAAAAAAAAQAO1B
VKkDAGNvbnRlbnRmaWx0ZXJpbmcvVVQFAANnDB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
l6KxSjYEFbjzAAAAHQIAADAAGAAAAAAAAQAAAKSBn6kDAGNvbnRlbnRmaWx0ZXJpbmcvYWxsb3ct
bWVkaWEtZG9jdW1lbnQtc3RkZXJyLnR4dFVUBQADDhMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAIyesUoAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQfyqAwBjcmVkZW50aWFscy9VVAUAA2cM
HVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACXorFKUUGOEPUAAAAdAgAAIQAYAAAAAAABAAAA
pIFCqwMAY3JlZGVudGlhbHMvaWRsaGFybmVzcy1zdGRlcnIudHh0VVQFAAMOEx1ZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAkZ6xSgAAAAAAAAAAAAAAAAcAGAAAAAAAAAAQAO1BkqwDAGNyeXB0
by9VVAUAA3EMHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACRnrFKAAAAAAAAAAAAAAAADgAY
AAAAAAAAABAA7UHTrAMAY3J5cHRvL3N1YnRsZS9VVAUAA3IMHVl1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAIAAACdorFKJeDTCCwAAAAsAAAAPgAYAAAAAAABAAAApIEbrQMAY3J5cHRvL3N1YnRsZS9y
c2EtZ2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLXN0ZGVyci50eHRVVAUAAxkTHVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACdorFKMDu4sUsAAABoAAAAPAAYAAAAAAABAAAApIG/
rQMAY3J5cHRvL3N1YnRsZS9yc2EtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1zdGRl
cnIudHh0VVQFAAMaEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAkJ6xSgAAAAAAAAAAAAAA
AA8AGAAAAAAAAAAQAO1BgK4DAGNyeXB0by93b3JrZXJzL1VUBQADbwwdWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAJCesUoAAAAAAAAAAAAAAAAWABgAAAAAAAAAEADtQcmuAwBjcnlwdG8vd29y
a2Vycy9zdWJ0bGUvVVQFAANvDB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAm6KxSiXg0wgs
AAAALAAAADEAGAAAAAAAAQAAAKSBGa8DAGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtZ2VuZXJh
dGUta2V5LXN0ZGVyci50eHRVVAUAAxUTHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACMnrFK
AAAAAAAAAAAAAAAABQAYAAAAAAAAABAA7UGwrwMAY3NzMS9VVAUAA2gMHVl1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAACMnrFKAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UHvrwMAY3NzMS9ib3hf
cHJvcGVydGllcy9VVAUAA2gMHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACYorFKAtP5e/YA
AAAdAgAAKAAYAAAAAAABAAAApIE9sAMAY3NzMS9ib3hfcHJvcGVydGllcy9hY2lkX3Rlc3Qtc3Rk
ZXJyLnR4dFVUBQADDxMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJWesUoAAAAAAAAAAAAA
AAAFABgAAAAAAAAAEADtQZWxAwBjc3MzL1VUBQADeQwdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAJWesUoAAAAAAAAAAAAAAAAQABgAAAAAAAAAEADtQdSxAwBjc3MzL3NlbGVjdG9yczMvVVQF
AAN6DB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAlZ6xSgAAAAAAAAAAAAAAABYAGAAAAAAA
AAAQAO1BHrIDAGNzczMvc2VsZWN0b3JzMy94aHRtbC9VVAUAA3kMHVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACiorFK3Gi5vfQAAAAdAgAALgAYAAAAAAABAAAApIFusgMAY3NzMy9zZWxlY3Rv
cnMzL3hodG1sL2NzczMtbW9kc2VsLTEtc3RkZXJyLnR4dFVUBQADIBMdWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAJWesUoAAAAAAAAAAAAAAAAUABgAAAAAAAAAEADtQcqzAwBjc3MzL3NlbGVj
dG9yczMveG1sL1VUBQADegwdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKOisUoQU7yO9AAA
AB0CAAAsABgAAAAAAAEAAACkgRi0AwBjc3MzL3NlbGVjdG9yczMveG1sL2NzczMtbW9kc2VsLTEt
c3RkZXJyLnR4dFVUBQADIRMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKOesUoAAAAAAAAA
AAAAAAAIABgAAAAAAAAAEADtQXK1AwBlZGl0aW5nL1VUBQADkQwdWXV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAK+esUoAAAAAAAAAAAAAAAASABgAAAAAAAAAEADtQbS1AwBlZGl0aW5nL3NlbGVj
dGlvbi9VVAUAA6oMHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACuorFKZ3ZN5vQAAAAdAgAA
NwAYAAAAAAABAAAApIEAtgMAZWRpdGluZy9zZWxlY3Rpb24vY2hhcmFjdGVyLWdyYW51bGFyaXR5
LXJlY3Qtc3RkZXJyLnR4dFVUBQADOBMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK+isUqx
dptU9AAAAB0CAAAyABgAAAAAAAEAAACkgWW3AwBlZGl0aW5nL3NlbGVjdGlvbi9jbGVhci1zZWxl
Y3Rpb24tY3Jhc2gtc3RkZXJyLnR4dFVUBQADORMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ALuisUrVjZqRZQAAAG0AAAAtABgAAAAAAAEAAACkgcW4AwBlZGl0aW5nL3NlbGVjdGlvbi9zZWxl
Y3QtY3Jhc2gtMDAyLXN0ZGVyci50eHRVVAUAA1ETHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAA3pLFKaUHYVxMMAABVXAAADQAYAAAAAAABAAAApIGRuQMAZXJyb3JfbG9nLnR4dFVUBQADGRYd
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMmisUoAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADt
QevFAwBmYXN0L1VUBQADaRMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALOesUoAAAAAAAAA
AAAAAAAMABgAAAAAAAAAEADtQSrGAwBmYXN0L2NhbnZhcy9VVAUAA7IMHVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAC6orFKO1S5II0AAAA0AQAAJgAYAAAAAAABAAAApIFwxgMAZmFzdC9jYW52
YXMvY2FudmFzLWxpbmVEYXNoLXN0ZGVyci50eHRVVAUAA08THVl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADBorFK7OpktvQAAAAdAgAAJwAYAAAAAAABAAAApIFdxwMAZmFzdC9jYW52YXMvcXVh
ZHJhdGljQ3VydmVUby1zdGRlcnIudHh0VVQFAANaEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAA7aKxSgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BssgDAGZhc3QvY3NzL1VUBQADrRMdWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKyesUqRAMB89AAAAB0CAAAuABgAAAAAAAEAAACkgfXI
AwBmYXN0L2Nzcy9hdHRyaWJ1dGUtc2VsZWN0b3ItZHluYW1pYy1zdGRlcnIudHh0VVQFAAOkDB1Z
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvaKxStsI00I7AAAAPwAAACkAGAAAAAAAAQAAAKSB
UcoDAGZhc3QvY3NzL2NvbXBhcmUtY29udGVudC1zdHlsZS1zdGRlcnIudHh0VVQFAANVEx1ZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAArJ6xSgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1B78oD
AGZhc3QvY3NzL2R1bXBBc1RleHQvVVQFAAOkDB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
uKKxSjIoT/70AAAAHQIAAD4AGAAAAAAAAQAAAKSBPcsDAGZhc3QvY3NzL2R1bXBBc1RleHQveG1s
LXN0eWxlc2hlZXQtcGktbm90LWluLXByb2xvZy1zdGRlcnIudHh0VVQFAANLEx1ZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAArZ6xSgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1BqcwDAGZhc3Qv
Y3NzL25hbWVzcGFjZXMvVVQFAAOlDB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuKKxStXw
uOnzAAAAHQIAACIAGAAAAAAAAQAAAKSB98wDAGZhc3QvY3NzL25hbWVzcGFjZXMvMDAxLXN0ZGVy
ci50eHRVVAUAA0wTHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADsorFKYLmAe+MAAADbAQAA
KQAYAAAAAAABAAAApIFGzgMAZmFzdC9jc3MvdGFyZ2V0LWZyYWdtZW50LW1hdGNoLWFjdHVhbC50
eHRVVAUAA6wTHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADsorFKcBwCLhgBAAASAgAAJwAY
AAAAAAABAAAApIGMzwMAZmFzdC9jc3MvdGFyZ2V0LWZyYWdtZW50LW1hdGNoLWRpZmYudHh0VVQF
AAOsEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA7KKxSiMznKrXAAAAygEAACsAGAAAAAAA
AQAAAKSBBdEDAGZhc3QvY3NzL3RhcmdldC1mcmFnbWVudC1tYXRjaC1leHBlY3RlZC50eHRVVAUA
A6wTHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADtorFK7EZVNOgHAAAdGQAALwAYAAAAAAAB
AAAApIFB0gMAZmFzdC9jc3MvdGFyZ2V0LWZyYWdtZW50LW1hdGNoLXByZXR0eS1kaWZmLmh0bWxV
VAUAA60THVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAC8orFKAAAAAAAAAAAAAAAACQAYAAAA
AAAAABAA7UGS2gMAZmFzdC9kb20vVVQFAANUEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
vKKxSgAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1B1doDAGZhc3QvZG9tL0RvY3VtZW50L1VUBQAD
VBMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALyisUrAbtur9QAAAB0CAAAvABgAAAAAAAEA
AACkgSHbAwBmYXN0L2RvbS9Eb2N1bWVudC94bWwtZG9jdW1lbnQtZm9jdXMtc3RkZXJyLnR4dFVU
BQADVBMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALKesUrdvpl49AAAAB0CAAAtABgAAAAA
AAEAAACkgX/cAwBmYXN0L2RvbS9jcmVhdGVFbGVtZW50LXdpdGgtY29sdW1uLXN0ZGVyci50eHRV
VAUAA7AMHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACznrFKAAAAAAAAAAAAAAAAIAAYAAAA
AAAAABAA7UHa3QMAZmFzdC9kb20vZ2V0RWxlbWVudHNCeUNsYXNzTmFtZS9VVAUAA7IMHVl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADBorFKDbbeIPYAAAAdAgAALgAYAAAAAAABAAAApIE03gMA
ZmFzdC9kb20vZ2V0RWxlbWVudHNCeUNsYXNzTmFtZS8wMTAtc3RkZXJyLnR4dFVUBQADWRMdWXV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALSesUoAAAAAAAAAAAAAAAAOABgAAAAAAAAAEADtQZLf
AwBmYXN0L2VuY29kaW5nL1VUBQADswwdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALSesUoA
AAAAAAAAAAAAAAAZABgAAAAAAAAAEADtQdrfAwBmYXN0L2VuY29kaW5nL2R1bXBBc1RleHQvVVQF
AAOzDB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwaKxSoodqLj1AAAAHQIAADEAGAAAAAAA
AQAAAKSBLeADAGZhc3QvZW5jb2RpbmcvZHVtcEFzVGV4dC91dGYtMTYtbm8tYm9tLXN0ZGVyci50
eHRVVAUAA1oTHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADBnrFKAAAAAAAAAAAAAAAACwAY
AAAAAAAAABAA7UGN4QMAZmFzdC9mb3Jtcy9VVAUAA8kMHVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAC6nrFKZOuib6wAAADqAAAAMwAYAAAAAAABAAAApIHS4QMAZmFzdC9mb3Jtcy9mb3JtLWFz
c29jaWF0ZWQtZWxlbWVudC1jcmFzaC1zdGRlcnIudHh0VVQFAAPADB1ZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAzKKxSttcecmhAAAAzgAAADMAGAAAAAAAAQAAAKSB6+IDAGZhc3QvZm9ybXMv
aW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1jYW5jZWwtc3RkZXJyLnR4dFVUBQADcBMdWXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAALuesUoAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQfnjAwBmYXN0
L2ZyYW1lcy9VVAUAA8IMHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADJorFK2wjTQjsAAAA/
AAAALwAYAAAAAAABAAAApIE/5AMAZmFzdC9mcmFtZXMvZnJhbWUtZGlzcGxheS1ub25lLWZvY3Vz
LXN0ZGVyci50eHRVVAUAA2kTHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADBnrFKAAAAAAAA
AAAAAAAADAAYAAAAAAAAABAA7UHj5AMAZmFzdC9pbWFnZXMvVVQFAAPJDB1ZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAzKKxSiGPvTgyAAAAMwAAACwAGAAAAAAAAQAAAKSBKeUDAGZhc3QvaW1h
Z2VzL3BkZi1hcy1pbWFnZS1jcm9wLWJveC1zdGRlcnIudHh0VVQFAANvEx1ZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAyaKxSgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BweUDAGZhc3QvaW52
YWxpZC9VVAUAA2kTHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADJorFKHCC98PQAAAAdAgAA
GwAYAAAAAAABAAAApIEI5gMAZmFzdC9pbnZhbGlkLzAyMC1zdGRlcnIudHh0VVQFAANpEx1ZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAwp6xSgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BUecD
AGZhc3QvbG9hZGVyL1VUBQADywwdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMqisUrbCNNC
OwAAAD8AAABSABgAAAAAAAEAAACkgZfnAwBmYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0
LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1zdGRlcnIudHh0VVQFAANs
Ex1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAy6KxStsI00I7AAAAPwAAAFMAGAAAAAAAAQAA
AKSBXugDAGZhc3QvbG9hZGVyL2ltYWdlcy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1h
bmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1zdGRlcnIudHh0VVQFAANtEx1ZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAwZ6xSgKrLTH0AAAAHQIAACoAGAAAAAAAAQAAAKSBJukDAGZhc3QvbG9hZGVy
L3BsYWluLXRleHQtZG9jdW1lbnQtc3RkZXJyLnR4dFVUBQADyQwdWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAM2isUrbCNNCOwAAAD8AAAAtABgAAAAAAAEAAACkgX7qAwBmYXN0L2xvYWRlci9y
ZWxvYWQtcG9saWN5LWRlbGVnYXRlLXN0ZGVyci50eHRVVAUAA3ITHVl1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAADQorFKAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UEg6wMAZmFzdC9wYXJzZXIv
VVQFAAN4Ex1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA0KKxSo0XurP1AAAAHQIAADAAGAAA
AAAAAQAAAKSBZusDAGZhc3QvcGFyc2VyL2V4dGVybmFsLWVudGl0aWVzLWluLXhzbHQtc3RkZXJy
LnR4dFVUBQADeBMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMeesUrGr2QiZQAAAG0AAAAy
ABgAAAAAAAEAAACkgcXsAwBmYXN0L3BhcnNlci9zdHJpcC1zY3JpcHQtYXR0cnMtb24taW5wdXQt
c3RkZXJyLnR4dFVUBQAD1QwdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANeisUoAAAAAAAAA
AAAAAAAKABgAAAAAAAAAEADtQZbtAwBmYXN0L3RleHQvVVQFAAOGEx1ZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgA16KxSiJGwhz0AAAAHQIAACEAGAAAAAAAAQAAAKSB2u0DAGZhc3QvdGV4dC9i
YWQtZW5jb2Rpbmctc3RkZXJyLnR4dFVUBQADhhMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AM2esUoAAAAAAAAAAAAAAAAYABgAAAAAAAAAEADtQSnvAwBmYXN0L3RleHQvaW50ZXJuYXRpb25h
bC9VVAUAA+EMHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADQnrFKAAAAAAAAAAAAAAAAKAAY
AAAAAAAAABAA7UF77wMAZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvc3lzdGVtLWxhbmd1YWdlL1VU
BQAD5wwdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANiisUrP+1739QAAAB0CAABSABgAAAAA
AAEAAACkgd3vAwBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9zeXN0ZW0tbGFuZ3VhZ2UvYXJhYmlj
LWdseXBoLWNhY2hlLWZpbGwtY29tYmluZS1zdGRlcnIudHh0VVQFAAOIEx1ZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA2aKxSt8yCDD0AAAAHQIAAEcAGAAAAAAAAQAAAKSBXvEDAGZhc3QvdGV4
dC9pbnRlcm5hdGlvbmFsL3N5c3RlbS1sYW5ndWFnZS9kZWNsYXJhdGl2ZS1sYW5ndWFnZS1zdGRl
cnIudHh0VVQFAAOJEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA2aKxSvvYRnH0AAAAHQIA
AD0AGAAAAAAAAQAAAKSB0/IDAGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3N5c3RlbS1sYW5ndWFn
ZS9oYW4tcXVvdGVzLXN0ZGVyci50eHRVVAUAA4oTHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADborFK1y0yH/UAAAAdAgAAUAAYAAAAAAABAAAApIE+9AMAZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvc3lzdGVtLWxhbmd1YWdlL2hpbmRpLXN5c3RlbS1mb250LXB1bmN0dWF0aW9uLXN0ZGVyci50
eHRVVAUAA40THVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADborFKL7Ye4PQAAAAdAgAASgAY
AAAAAAABAAAApIG99QMAZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvc3lzdGVtLWxhbmd1YWdlL3N5
c3RlbS1mb250LXB1bmN0dWF0aW9uLXN0ZGVyci50eHRVVAUAA44THVl1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAAAsobFKAAAAAAAAAAAAAAAAFQAYAAAAAAAAABAA7UE19wMAZmFzdC90ZXh0LWF1
dG9zaXppbmcvVVQFAANkEB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAALKGxSgAAAAAAAAAA
AAAAABkAGAAAAAAAAAAQAO1BhPcDAGZhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9VVAUAA2QQHVl1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAsobFKAAAAAAAAAAAAAAAAHgAYAAAAAAAAABAA7UHX
9wMAZmFzdC90ZXh0LWF1dG9zaXppbmcvaW9zL2lwYWQvVVQFAANkEB1ZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgA46SxSouDTrf2AAAAHQIAAEYAGAAAAAAAAQAAAKSBL/gDAGZhc3QvdGV4dC1h
dXRvc2l6aW5nL2lvcy9pcGFkL3Byb2dyYW1tYXRpYy10ZXh0LXNpemUtYWRqdXN0LXN0ZGVyci50
eHRVVAUAA1kXHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAsobFKAAAAAAAAAAAAAAAADgAY
AAAAAAAAABAA7UGl+QMAZmFzdC92aWV3cG9ydC9VVAUAA2QQHVl1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAAAsobFKAAAAAAAAAAAAAAAAEgAYAAAAAAAAABAA7UHt+QMAZmFzdC92aWV3cG9ydC9p
b3MvVVQFAANkEB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAALKGxSgAAAAAAAAAAAAAAABcA
GAAAAAAAAAAQAO1BOfoDAGZhc3Qvdmlld3BvcnQvaW9zL2lwYWQvVVQFAANkEB1ZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA46SxShCxWen1AAAAHQIAADcAGAAAAAAAAQAAAKSBivoDAGZhc3Qv
dmlld3BvcnQvaW9zL2lwYWQvd2lkdGgtaXMtZGV2aWNlLXdpZHRoLXN0ZGVyci50eHRVVAUAA1kX
HVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADQnrFKAAAAAAAAAAAAAAAAEgAYAAAAAAAAABAA
7UHw+wMAZmFzdC93cml0aW5nLW1vZGUvVVQFAAPoDB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgA3KKxSpqtQbj1AAAAHQIAADsAGAAAAAAAAQAAAKSBPPwDAGZhc3Qvd3JpdGluZy1tb2RlL2F1
dG8tbWFyZ2lucy1hY3Jvc3MtYm91bmRhcmllcy1zdGRlcnIudHh0VVQFAAOPEx1ZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAA0p6xSgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1Bpv0DAGZhc3Qv
eHNsL1VUBQAD7AwdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAN2isUpO+yD4iAAAAOcAAAAl
ABgAAAAAAAEAAACkgen9AwBmYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIudHh0VVQF
AAOSEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA3aKxSv2iLmSPAAAA7gAAACcAGAAAAAAA
AQAAAKSB0P4DAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4dFVUBQADkhMd
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAN2isUqyu8ZnhwAAADQBAAAkABgAAAAAAAEAAACk
gcD/AwBmYXN0L3hzbC94c2x0LWNvbnRlbnRUeXBlLXN0ZGVyci50eHRVVAUAA5ITHVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADgorFKwuv1xowAAABgAQAANAAYAAAAAAABAAAApIGlAAQAZmFz
dC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVUBQADkxMd
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADalsUrnDx07+gEAAN8DAAARABgAAAAAAAEAAACk
gZ8BBABmdWxsX3Jlc3VsdHMuanNvblVUBQAD9xcdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
ANWesUoAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQeQDBABodHRwL1VUBQAD8gwdWXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAPOisUoAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQSMEBABodHRw
L3Rlc3RzL1VUBQADuRMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANaesUoAAAAAAAAAAAAA
AAATABgAAAAAAAAAEADtQWgEBABodHRwL3Rlc3RzL2Nvb2tpZXMvVVQFAAPzDB1ZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA46KxSmrDS67OAQAAYCsAADkAGAAAAAAAAQAAAKSBtQQEAGh0dHAv
dGVzdHMvY29va2llcy90aGlyZC1wYXJ0eS1jb29raWUtcmVsYXhpbmctc3RkZXJyLnR4dFVUBQAD
mRMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANaesUoAAAAAAAAAAAAAAAAUABgAAAAAAAAA
EADtQfYGBABodHRwL3Rlc3RzL2Rvd25sb2FkL1VUBQAD8wwdWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIANaesUpNVXi79QAAAB0CAAAqABgAAAAAAAEAAACkgUQHBABodHRwL3Rlc3RzL2Rvd25s
b2FkL2Jhc2ljLWFzY2lpLXN0ZGVyci50eHRVVAUAA/MMHVl1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAADZnrFKAAAAAAAAAAAAAAAAEgAYAAAAAAAAABAA7UGdCAQAaHR0cC90ZXN0cy9pbWFnZXMv
VVQFAAP6DB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA56KxSoVAyCl0AAAA2gAAAC4AGAAA
AAAAAQAAAKSB6QgEAGh0dHAvdGVzdHMvaW1hZ2VzL2hpZHBpLXNyY3NldC1jb3B5LXN0ZGVyci50
eHRVVAUAA6ETHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADZnrFKAAAAAAAAAAAAAAAAFwAY
AAAAAAAAABAA7UHFCQQAaHR0cC90ZXN0cy9pbmNyZW1lbnRhbC9VVAUAA/kMHVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADZnrFKc206dPUAAAAdAgAAOQAYAAAAAAABAAAApIEWCgQAaHR0cC90
ZXN0cy9pbmNyZW1lbnRhbC9mcmFtZS1mb2N1cy1iZWZvcmUtbG9hZC1zdGRlcnIudHh0VVQFAAP5
DB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA8Z6xSgAAAAAAAAAAAAAAABAAGAAAAAAAAAAQ
AO1BfgsEAGh0dHAvdGVzdHMvbWlzYy9VVAUAAyYNHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAD9orFKFTU1knoAAAC8AAAAKgAYAAAAAAABAAAApIHICwQAaHR0cC90ZXN0cy9taXNjL3hzbHQt
YmFkLWltcG9ydC1zdGRlcnIudHh0VVQFAAPNEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
3J6xSgAAAAAAAAAAAAAAABUAGAAAAAAAAAAQAO1BpgwEAGh0dHAvdGVzdHMvbXVsdGlwYXJ0L1VU
BQADAA0dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOqisUqII791fQAAAI0AAAAzABgAAAAA
AAEAAACkgfUMBABodHRwL3Rlc3RzL211bHRpcGFydC9wb2xpY3ktaWdub3JlLWNyYXNoLXN0ZGVy
ci50eHRVVAUAA6cTHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADcnrFKAAAAAAAAAAAAAAAA
FgAYAAAAAAAAABAA7UHfDQQAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL1VUBQADAA0dWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAOqisUrbCNNCOwAAAD8AAAA3ABgAAAAAAAEAAACkgS8OBABodHRw
L3Rlc3RzL25hdmlnYXRpb24vZmFsbGJhY2stYW5jaG9yLXJlbG9hZC1zdGRlcnIudHh0VVQFAAOn
Ex1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA6KKxSgAAAAAAAAAAAAAAABUAGAAAAAAAAAAQ
AO1B2w4EAGh0dHAvdGVzdHMvcXVpY2tsb29rL1VUBQADoxMdWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAOiisUqZL/Oj9QAAAB0CAAAyABgAAAAAAAEAAACkgSoPBABodHRwL3Rlc3RzL3F1aWNr
bG9vay9jc3AtaGVhZGVyLWlnbm9yZWQtc3RkZXJyLnR4dFVUBQADoxMdWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAPSesUoAAAAAAAAAAAAAAAAUABgAAAAAAAAAEADtQYsQBABodHRwL3Rlc3Rz
L3NlY3VyaXR5L1VUBQADKw0dWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPKesUoAAAAAAAAA
AAAAAAAqABgAAAAAAAAAEADtQdkQBABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9VVAUAAycNHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADrorFKbd14vXIAAAB1
AAAAXgAYAAAAAAABAAAApIE9EQQAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvY29ubmVjdC1zcmMtc3Rhci1zZWN1cmUtd2Vic29ja2V0LWFsbG93ZWQtc3RkZXJyLnR4
dFVUBQADqhMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOuisUpBwZ8vcgAAAHUAAABeABgA
AAAAAAEAAACkgUcSBABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9k
ZWZhdWx0LXNyYy1zdGFyLXNlY3VyZS13ZWJzb2NrZXQtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAOq
Ex1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA5J6xSgAAAAAAAAAAAAAAAEQAGAAAAAAAAAAQ
AO1BURMEAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUt
aW5zZWN1cmUtcmVxdWVzdHMvVVQFAAMMDR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8KKx
SjzQ7nCRAAAAngAAAH4AGAAAAAAAAQAAAKSBzxMEAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFkZS1yZWRpcmVj
dC1odHRwcy10by1odHRwLXNjcmlwdC1pbi1pZnJhbWUtc3RkZXJyLnR4dFVUBQADsxMdWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAOWesUoAAAAAAAAAAAAAAAA9ABgAAAAAAAAAEADtQRgVBABo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91c2VyQWdlbnRTaGFkb3dE
T00vVVQFAAMODR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8KKxSn5PgEz1AAAAHQIAAGsA
GAAAAAAAAQAAAKSBjxUEAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3VzZXJBZ2VudFNoYWRvd0RPTS9kZWZhdWx0LXNyYy1vYmplY3QtZGF0YS11cmwtYWxsb3dlZC1z
dGRlcnIudHh0VVQFAAO0Ex1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8aKxSpBWCmzzAAAA
HQIAAGsAGAAAAAAAAQAAAKSBKRcEAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9kZWZhdWx0LXNyYy1vYmplY3QtZGF0YS11cmwtYmxv
Y2tlZC1zdGRlcnIudHh0VVQFAAO2Ex1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8aKxSvN4
9w72AAAAHQIAAGwAGAAAAAAAAQAAAKSBwRgEAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9kZWZhdWx0LXNyYy1vYmplY3QtZGF0YS11
cmwtYmxvY2tlZDMtc3RkZXJyLnR4dFVUBQADtRMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
APyisUpjqqxsggAAAKgAAABAABgAAAAAAAEAAACkgV0aBABodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS94c2wtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAPLEx1ZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA/KKxSmOqrGyCAAAAqAAAAFIAGAAAAAAAAQAAAKSBWRsEAGh0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5
LXN0eWxlLXNyYy0yLXN0ZGVyci50eHRVVAUAA8wTHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AADmnrFKAAAAAAAAAAAAAAAAIQAYAAAAAAAAABAA7UFnHAQAaHR0cC90ZXN0cy9zZWN1cml0eS9t
aXhlZENvbnRlbnQvVVQFAAMPDR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA5p6xSvKbUp/2
AAAAHQIAAD4AGAAAAAAAAQAAAKSBwhwEAGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50
L2Jsb2ItdXJsLWluLWlmcmFtZS1zdGRlcnIudHh0VVQFAAMPDR1ZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgA+qKxSmBLZhCRAAAA+wEAAEUAGAAAAAAAAQAAAKSBMB4EAGh0dHAvdGVzdHMvc2Vj
dXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVU
BQADyBMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPGisUoAAAAAAAAAAAAAAAAPABgAAAAA
AAAAEADtQUAfBABodHRwL3Rlc3RzL3NzbC9VVAUAA7YTHVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADxorFKGkgYdPQAAAAdAgAALgAYAAAAAAABAAAApIGJHwQAaHR0cC90ZXN0cy9zc2wvaWZy
YW1lLXVwZ3JhZGUuaHR0cHMtc3RkZXJyLnR4dFVUBQADthMdWXV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAPOisUoAAAAAAAAAAAAAAAAVABgAAAAAAAAAEADtQeUgBABodHRwL3Rlc3RzL3dlYnNv
Y2tldC9VVAUAA7kTHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADzorFKAAAAAAAAAAAAAAAA
GwAYAAAAAAAAABAA7UE0IQQAaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvVVQFAAO5Ex1ZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA86KxSgAAAAAAAAAAAAAAACAAGAAAAAAAAAAQAO1BiSEE
AGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvVVQFAAO5Ex1ZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgA86KxStavzZP1AAAAHQIAAEkAGAAAAAAAAQAAAKSB4yEEAGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tbmF2aWdhdGUtbmV3LWxvY2F0aW9uLXN0ZGVy
ci50eHRVVAUAA7kTHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADunrFKAAAAAAAAAAAAAAAA
GgAYAAAAAAAAABAA7UFbIwQAaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9VVAUAAx8NHVl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAD5orFKds6ekjUBAABsBQAATgAYAAAAAAABAAAApIGvIwQA
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtY3JlZGVu
dGlhbC1hc3luYy1zdGRlcnIudHh0VVQFAAPGEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
+aKxSn0416FMAQAA2AoAAE0AGAAAAAAAAQAAAKSBbCUEAGh0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWNyZWRlbnRpYWwtc3luYy1zdGRlcnIudHh0VVQF
AAPGEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+aKxSmtfQTc0AQAAbAUAAEsAGAAAAAAA
AQAAAKSBPycEAGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxp
Z2h0LWhlYWRlcnMtYXN5bmMtc3RkZXJyLnR4dFVUBQADxhMdWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAACjsUq3L4h5IQEAALYCAABAABgAAAAAAAEAAACkgfgoBABodHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L2Nyb3NzLW9yaWdpbi1jb29raWUtc3RvcmFnZS1zdGRlcnIudHh0VVQFAAPPEx1Z
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAKOxShHA3i0cAQAAtgIAAEYAGAAAAAAAAQAAAKSB
kyoEAGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLW5vLWNyZWRlbnRpYWwt
cHJvbXB0LXN0ZGVyci50eHRVVAUAA88THVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADpnrFK
AAAAAAAAAAAAAAAAFQAYAAAAAAAAABAA7UEvLAQAaHR0cC90ZXN0cy94bWx2aWV3ZXIvVVQFAAMW
DR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA6Z6xSgAAAAAAAAAAAAAAACAAGAAAAAAAAAAQ
AO1BfiwEAGh0dHAvdGVzdHMveG1sdmlld2VyL2R1bXBBc1RleHQvVVQFAAMWDR1ZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA6Z6xSoTt/jP0AAAAHQIAADkAGAAAAAAAAQAAAKSB2CwEAGh0dHAv
dGVzdHMveG1sdmlld2VyL2R1bXBBc1RleHQvY3NzLXN0eWxlc2hlZXQtc3RkZXJyLnR4dFVUBQAD
Fg0dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJGisUpbBFgOogUAAE0QAAAKABgAAAAAAAEA
AACkgT8uBABodHRwZC5jb25mVVQFAAMBEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAD5+x
SgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BJTQEAGltcG9ydGVkL1VUBQADXg0dWXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAPuesUoAAAAAAAAAAAAAAAAPABgAAAAAAAAAEADtQWg0BABpbXBv
cnRlZC9ibGluay9VVAUAAzoNHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADunrFKAAAAAAAA
AAAAAAAAGwAYAAAAAAAAABAA7UGxNAQAaW1wb3J0ZWQvYmxpbmsvY29tcG9zaXRpbmcvVVQFAAMf
DR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+KKxSmEjhc21AAAAvgIAAGAAGAAAAAAAAQAA
AKSBBjUEAGltcG9ydGVkL2JsaW5rL2NvbXBvc2l0aW5nL2FuY2hvci1wb2ludC1zaG91bGQtbm90
LWFmZmVjdC1wZXJzcGVjdGl2ZS1vdmVyZmxvdy1oaWRkZW4tc3RkZXJyLnR4dFVUBQADwxMdWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPiisUoVoRtGrQAAAF8BAABUABgAAAAAAAEAAACkgVU2
BABpbXBvcnRlZC9ibGluay9jb21wb3NpdGluZy9pbnZpc2libGUtc3VidHJlZS1jb21wb3NpdGlu
Zy1hbmQtcHJlc2VydmVzLTNkLXN0ZGVyci50eHRVVAUAA8QTHVl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAD5orFK5QBetqgAAABfAQAAOgAYAAAAAAABAAAApIGQNwQAaW1wb3J0ZWQvYmxpbmsv
Y29tcG9zaXRpbmcvcmVvcmRlci16LXdpdGgtc3R5bGUtc3RkZXJyLnR4dFVUBQADxRMdWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAPuesUoAAAAAAAAAAAAAAAAaABgAAAAAAAAAEADtQaw4BABp
bXBvcnRlZC9ibGluay90cmFuc2Zvcm1zL1VUBQADOg0dWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAPuesUoAAAAAAAAAAAAAAAAdABgAAAAAAAAAEADtQQA5BABpbXBvcnRlZC9ibGluay90cmFu
c2Zvcm1zLzNkL1VUBQADOg0dWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPuesUoAAAAAAAAA
AAAAAAApABgAAAAAAAAAEADtQVc5BABpbXBvcnRlZC9ibGluay90cmFuc2Zvcm1zLzNkL2hpdC10
ZXN0aW5nL1VUBQADOg0dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAejsUouFsR+qwAAAF8B
AABGABgAAAAAAAEAAACkgbo5BABpbXBvcnRlZC9ibGluay90cmFuc2Zvcm1zLzNkL2hpdC10ZXN0
aW5nL2hpdC1wcmVzZXJ2ZXMtM2QtMi1zdGRlcnIudHh0VVQFAAPeEx1ZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAD5+xSgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1B5ToEAGltcG9ydGVkL3cz
Yy9VVAUAA14NHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABso7FKAAAAAAAAAAAAAAAAIAAY
AAAAAAAAABAA7UEsOwQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9VVAUAA5wUHVl1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAPn7FKAAAAAAAAAAAAAAAALQAYAAAAAAAAABAA7UGG
OwQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvVVQFAANeDR1Z
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAG5+xSgAAAAAAAAAAAAAAADkAGAAAAAAAAAAQAO1B
7TsEAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRl
S2V5L1VUBQADdg0dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABijsUqPNBpwRAAAAKAJAABc
ABgAAAAAAAEAAACkgWA8BABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0
b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0EtT0FFUC53b3JrZXItc3RkZXJyLnR4dFVUBQAD
ABQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABmjsUpUAsmyNgAAAMACAABlABgAAAAAAAEA
AACkgTo9BABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5l
cmF0ZUtleS9mYWlsdXJlc19SU0FTU0EtUEtDUzEtdjFfNS53b3JrZXItc3RkZXJyLnR4dFVUBQAD
AhQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACajsUqPNBpwRAAAAKAJAABaABgAAAAAAAEA
AACkgQ8+BABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5l
cmF0ZUtleS90ZXN0X2ZhaWx1cmVzX1JTQS1PQUVQLXN0ZGVyci50eHRVVAUAAxgUHVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAno7FKVALJsjYAAADAAgAAYwAYAAAAAAABAAAApIHnPgQAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVz
dF9mYWlsdXJlc19SU0FTU0EtUEtDUzEtdjFfNS1zdGRlcnIudHh0VVQFAAMaFB1ZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAI5+xSgAAAAAAAAAAAAAAACQAGAAAAAAAAAAQAO1Buj8EAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL1VUBQADgg0dWXV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAACujsUoAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQRhABABpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9VVAUAAyIUHVl1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAAAjn7FKAAAAAAAAAAAAAAAAPwAYAAAAAAAAABAA7UF8QAQAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY29udGVudFR5cGUvVVQFAAOCDR1Z
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAI5+xSgAAAAAAAAAAAAAAAEsAGAAAAAAAAAAQAO1B
9UAEAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNv
bnRlbnRUeXBlL2NvbnRlbnRUeXBlL1VUBQADgg0dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ACOfsUpytazk9AAAAB0CAABlABgAAAAAAAEAAACkgXpBBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9jb250
ZW50dHlwZV90eHQtc3RkZXJyLnR4dFVUBQADgg0dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ACujsUraU7MB9AAAAB0CAABLABgAAAAAAAEAAACkgQ1DBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50LXN0ZGVyci50eHRVVAUA
AyIUHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAsn7FKAAAAAAAAAAAAAAAAJgAYAAAAAAAA
ABAA7UGGRAQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9VVAUAA5MNHVl1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAA1n7FKAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UHm
RAQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvVVQFAAOmDR1ZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAANZ+xSgAAAAAAAAAAAAAAADAAGAAAAAAAAAAQAO1BSkUE
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL1VUBQADpg0d
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADCjsUrfIQo+kQAAAJ4AAABHABgAAAAAAAEAAACk
gbRFBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9tb2Rl
LW5vLWNvcnMtc3RkZXJyLnR4dFVUBQADLBQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADCj
sUoFzuX1kQAAAJ4AAABOABgAAAAAAAEAAACkgcZGBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9tb2RlLW5vLWNvcnMtd29ya2VyLXN0ZGVyci50eHRVVAUA
AywUHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAqn7FKAAAAAAAAAAAAAAAALwAYAAAAAAAA
ABAA7UHfRwQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9V
VAUAA48NHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAuo7FKV+qzZKwAAAC0AwAASAAYAAAA
AAABAAAApIFISAQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29y
cy9jb3JzLWJhc2ljLmFueS1zdGRlcnIudHh0VVQFAAMoFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgALqOxSupgmpytAAAAtAMAAE8AGAAAAAAAAQAAAKSBdkkEAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1iYXNpYy5hbnkud29ya2VyLXN0ZGVy
ci50eHRVVAUAAygUHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAwo7FK2plHSZwAAAA8AQAA
TwAYAAAAAAABAAAApIGsSgQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvY29ycy9jb3JzLW5vLXByZWZsaWdodC5hbnktc3RkZXJyLnR4dFVUBQADKxQdWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIADCjsUoih/8SmwAAADwBAABWABgAAAAAAAEAAACkgdFLBABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtbm8tcHJlZmxp
Z2h0LmFueS53b3JrZXItc3RkZXJyLnR4dFVUBQADLBQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIADCjsUrHMRIbRQIAAEkMAABJABgAAAAAAAEAAACkgfxMBABpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtb3JpZ2luLmFueS1zdGRlcnIudHh0VVQF
AAMsFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAMaOxSrE+iFKlAAAAeAIAAFAAGAAAAAAA
AQAAAKSBxE8EAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMv
Y29ycy1vcmlnaW4uYW55Lndvcmtlci1zdGRlcnIudHh0VVQFAAMtFB1ZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAMqOxSiWXlQncAgAAmBIAAFMAGAAAAAAAAQAAAKSB81AEAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtc3RhdHVz
LmFueS1zdGRlcnIudHh0VVQFAAMvFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAM6OxSm9t
lHSbAQAA3gUAAEwAGAAAAAAAAQAAAKSBXFQEAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQuYW55LXN0ZGVyci50eHRVVAUAAzEUHVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA0o7FK5JM6qMYCAAC/EwAAVQAYAAAAAAABAAAApIF9
VgQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXJl
ZGlyZWN0LXByZWZsaWdodC5hbnktc3RkZXJyLnR4dFVUBQADNBQdWXV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAACyfsUoAAAAAAAAAAAAAAAAuABgAAAAAAAAAEADtQdJZBABpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvVVQFAAOTDR1ZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgANKOxSs0PIN+bAAAAxgAAAEgAGAAAAAAAAQAAAKSBOloEAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvbm9zbmlmZi9wYXJzaW5nLW5vc25pZmYtc3RkZXJy
LnR4dFVUBQADNBQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADSjsUq+xE31rwAAAOoCAAA/
ABgAAAAAAAEAAACkgVdbBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25v
c25pZmYvc2NyaXB0LXN0ZGVyci50eHRVVAUAAzQUHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAA0o7FK45uEf60AAAD2AgAAQwAYAAAAAAABAAAApIF/XAQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL3N0eWxlc2hlZXQtc3RkZXJyLnR4dFVUBQADNBQdWXV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAH2jsUoAAAAAAAAAAAAAAAAlABgAAAAAAAAAEADtQald
BABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvVVQFAAO+FB1ZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAfaOxSgAAAAAAAAAAAAAAAC4AGAAAAAAAAAAQAO1BCF4EAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9VVAUAA74UHVl1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAAB9o7FKAAAAAAAAAAAAAAAAPwAYAAAAAAAAABAA7UFwXgQAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13
ZWIvVVQFAAO+FB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAfaOxSgAAAAAAAAAAAAAAAFEA
GAAAAAAAAAAQAO1B6V4EAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93
c2Vycy9icm93c2luZy10aGUtd2ViL2hpc3RvcnktdHJhdmVyc2FsL1VUBQADvhQdWXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAICjsUoAAAAAAAAAAAAAAAByABgAAAAAAAAAEADtQXRfBABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvYnJvd3NpbmctdGhlLXdl
Yi9oaXN0b3J5LXRyYXZlcnNhbC9wZXJzaXN0ZWQtdXNlci1zdGF0ZS1yZXN0b3JhdGlvbi9VVAUA
A78UHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB9o7FKxLifGsEAAAAMAQAArwAYAAAAAAAB
AAAApIEgYAQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jy
b3dzaW5nLXRoZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvcGVyc2lzdGVkLXVzZXItc3RhdGUtcmVz
dG9yYXRpb24vc2Nyb2xsLXJlc3RvcmF0aW9uLWZyYWdtZW50LXNjcm9sbGluZy1jcm9zcy1vcmln
aW4tYWN0dWFsLnR4dFVUBQADvhQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAH2jsUpmcHlJ
QgEAABEDAACtABgAAAAAAAEAAACkgcphBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvYnJvd3NlcnMvYnJvd3NpbmctdGhlLXdlYi9oaXN0b3J5LXRyYXZlcnNhbC9wZXJzaXN0
ZWQtdXNlci1zdGF0ZS1yZXN0b3JhdGlvbi9zY3JvbGwtcmVzdG9yYXRpb24tZnJhZ21lbnQtc2Ny
b2xsaW5nLWNyb3NzLW9yaWdpbi1kaWZmLnR4dFVUBQADvhQdWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAH2jsUo4MYsawAAAAAwBAACxABgAAAAAAAEAAACkgfNjBABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvYnJvd3NpbmctdGhlLXdlYi9oaXN0b3J5LXRy
YXZlcnNhbC9wZXJzaXN0ZWQtdXNlci1zdGF0ZS1yZXN0b3JhdGlvbi9zY3JvbGwtcmVzdG9yYXRp
b24tZnJhZ21lbnQtc2Nyb2xsaW5nLWNyb3NzLW9yaWdpbi1leHBlY3RlZC50eHRVVAUAA74UHVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACAo7FKMXjm+yoIAABsGgAAtQAYAAAAAAABAAAApIGe
ZQQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5n
LXRoZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvcGVyc2lzdGVkLXVzZXItc3RhdGUtcmVzdG9yYXRp
b24vc2Nyb2xsLXJlc3RvcmF0aW9uLWZyYWdtZW50LXNjcm9sbGluZy1jcm9zcy1vcmlnaW4tcHJl
dHR5LWRpZmYuaHRtbFVUBQADvxQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAEujsUoAAAAA
AAAAAAAAAAApABgAAAAAAAAAEADtQbduBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvZG9tL1VUBQADXhQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEujsUp1k2oplWwA
AHzOBQBHABgAAAAAAAEAAACkgRpvBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvZG9tL3JlZmxlY3Rpb24tZW1iZWRkZWQtYWN0dWFsLnR4dFVUBQADXhQdWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAEujsUrxB0sOTAIAAN0MAABFABgAAAAAAAEAAACkgTDcBABpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZW1iZWRkZWQtZGlm
Zi50eHRVVAUAA14UHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABLo7FK4oN945RsAAB8zgUA
SQAYAAAAAAABAAAApIH73gQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Rv
bS9yZWZsZWN0aW9uLWVtYmVkZGVkLWV4cGVjdGVkLnR4dFVUBQADXhQdWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAEujsUr/fYwP0wkAAJc2AABNABgAAAAAAAEAAACkgRJMBQBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZW1iZWRkZWQtcHJldHR5
LWRpZmYuaHRtbFVUBQADXhQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFefsUoAAAAAAAAA
AAAAAAAvABgAAAAAAAAAEADtQWxWBQBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL1VUBQAD5Q0dWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFefsUoAAAAA
AAAAAAAAAAA1ABgAAAAAAAAAEADtQdVWBQBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2Zvcm1zL1VUBQAD5Q0dWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AFefsUoAAAAAAAAAAAAAAABBABgAAAAAAAAAEADtQURXBQBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2NvbnN0cmFpbnRzL1VUBQAD5Q0dWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAF2jsUrNP9G5XQIAAMpCAABqABgAAAAAAAEAAACkgb9XBQBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2NvbnN0
cmFpbnRzL2Zvcm0tdmFsaWRhdGlvbi1yZXBvcnRWYWxpZGl0eS1zdGRlcnIudHh0VVQFAAOBFB1Z
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAV5+xSj0+WmKeAAAAzgAAAGQAGAAAAAAAAQAAAKSB
wFoFAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMv
Y29uc3RyYWludHMvZm9ybS12YWxpZGF0aW9uLXZhbGlkYXRlLXN0ZGVyci50eHRVVAUAA+UNHVl1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABso7FKAAAAAAAAAAAAAAAAMAAYAAAAAAAAABAA7UH8
WwUAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVVQFAAOc
FB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbKOxSs2xoZNRAgAADwwAAEUAGAAAAAAAAQAA
AKSBZlwFAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lk
bGhhcm5lc3MtYWN0dWFsLnR4dFVUBQADnBQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGyj
sUrdL95NmwEAAOkFAABDABgAAAAAAAEAAACkgTZfBQBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZGxoYXJuZXNzLWRpZmYudHh0VVQFAAOcFB1ZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAbKOxSid2NxeGAgAAbw4AAEcAGAAAAAAAAQAAAKSBTmEFAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lkbGhhcm5lc3Mt
ZXhwZWN0ZWQudHh0VVQFAAOcFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbKOxSmExnsaf
CAAAcSEAAEsAGAAAAAAAAQAAAKSBVWQFAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2lkbGhhcm5lc3MtcHJldHR5LWRpZmYuaHRtbFVUBQADnBQdWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAAKgsUoAAAAAAAAAAAAAAAAWABgAAAAAAAAAEADtQXltBQBp
bnRlcnNlY3Rpb24tb2JzZXJ2ZXIvVVQFAAM0Dh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
e6OxSkX290/2AAAAHQIAAEYAGAAAAAAAAQAAAKSByW0FAGludGVyc2VjdGlvbi1vYnNlcnZlci9p
bnRlcnNlY3Rpb24tb2JzZXJ2ZXItZW50cnktaW50ZXJmYWNlLXN0ZGVyci50eHRVVAUAA7kUHVl1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAADoLFKAAAAAAAAAAAAAAAABwAYAAAAAAAAABAA7UE/
bwUAanF1ZXJ5L1VUBQADNQ4dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAOgsUo/8ZIm9AAA
AB0CAAAcABgAAAAAAAEAAACkgYBvBQBqcXVlcnkvYXR0cmlidXRlcy1zdGRlcnIudHh0VVQFAAM1
Dh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAe6OxSgAAAAAAAAAAAAAAAAMAGAAAAAAAAAAQ
AO1BynAFAGpzL1VUBQADuRQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHujsUqhONJ49AAA
AB0CAAAbABgAAAAAAAEAAACkgQdxBQBqcy9BcnJheS1pc0FycmF5LXN0ZGVyci50eHRVVAUAA7kU
HVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAANoLFKAAAAAAAAAAAAAAAABwAYAAAAAAAAABAA
7UFQcgUAanMvZG9tL1VUBQADSg4dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIWjsUo/5kEW
9AAAAB0CAAAgABgAAAAAAAEAAACkgZFyBQBqcy9kb20vcmVncmVzcy0xNTcyNDYtc3RkZXJyLnR4
dFVUBQADyhQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIajsUrMWKIk9QAAAB0CAAAoABgA
AAAAAAEAAACkgd9zBQBqcy9kb20vcmVtb3ZpbmctQ2YtY2hhcmFjdGVycy1zdGRlcnIudHh0VVQF
AAPLFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAiqOxSgAAAAAAAAAAAAAAAAYAGAAAAAAA
AAAQAO1BNnUFAG1lZGlhL1VUBQAD0xQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIWjsUrN
KLee9wAAAB0CAAAhABgAAAAAAAEAAACkgXZ1BQBtZWRpYS9hZG9wdC1ub2RlLWNyYXNoLXN0ZGVy
ci50eHRVVAUAA8oUHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACGo7FKsbg2rvUAAAAdAgAA
KwAYAAAAAAABAAAApIHIdgUAbWVkaWEvYXVkaW8tY29uY3VycmVudC1zdXBwb3J0ZWQtc3RkZXJy
LnR4dFVUBQADzBQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIejsUrbPdc/9AAAAB0CAAAv
ABgAAAAAAAEAAACkgSJ4BQBtZWRpYS9hdWRpby1jb250cm9scy1kby1ub3QtZmFkZS1vdXQtc3Rk
ZXJyLnR4dFVUBQADzRQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIejsUqAtClv9QAAAB0C
AAA6ABgAAAAAAAEAAACkgX95BQBtZWRpYS9hdWRpby1jb250cm9scy10aW1lbGluZS1pbi1tZWRp
YS1kb2N1bWVudC1zdGRlcnIudHh0VVQFAAPOFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
h6OxSkB+thv1AAAAHQIAAB8AGAAAAAAAAQAAAKSB6HoFAG1lZGlhL2F1ZGlvLWRhdGEtdXJsLXN0
ZGVyci50eHRVVAUAA84UHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACJo7FKc7tebvQAAAAd
AgAAHgAYAAAAAAABAAAApIE2fAUAbWVkaWEvYXVkaW8tcmVwYWludC1zdGRlcnIudHh0VVQFAAPR
FB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAiaOxSu1fo3T2AAAAHQIAADgAGAAAAAAAAQAA
AKSBgn0FAG1lZGlhL2F1dG8tcGxheS1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1zdGRl
cnIudHh0VVQFAAPRFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAALaGxSgAAAAAAAAAAAAAA
AA8AGAAAAAAAAAAQAO1B6n4FAG1lZGlhL2NvbnRyb2xzL1VUBQADZRAdWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAC2hsUoAAAAAAAAAAAAAAAAUABgAAAAAAAAAEADtQTN/BQBtZWRpYS9jb250
cm9scy9pcGFkL1VUBQADZRAdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOOksUo5WBGK9wAA
AB0CAABZABgAAAAAAAEAAACkgYF/BQBtZWRpYS9jb250cm9scy9pcGFkL2Nsb3NlLXBhZ2Utd2l0
aC1waWN0dXJlLWluLXBpY3R1cmUtdmlkZW8tYXNzZXJ0aW9uLWZhaWx1cmUtc3RkZXJyLnR4dFVU
BQADWhcdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIqjsUqgAbrz9QAAAB0CAAAwABgAAAAA
AAEAAACkgQuBBQBtZWRpYS9jb250cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFyLXN0ZGVyci50
eHRVVAUAA9MUHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACKo7FK0GXM9vUAAAAdAgAAIgAY
AAAAAAABAAAApIFqggUAbWVkaWEvZXZlbnQtcXVldWUtY3Jhc2gtc3RkZXJyLnR4dFVUBQAD1BQd
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAIqjsUoAAAAAAAAAAAAAAAAKABgAAAAAAAAAEADt
QbuDBQBtZWRpYS9pb3MvVVQFAAPTFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAiqOxSj1x
8x31AAAAHQIAADMAGAAAAAAAAQAAAKSB/4MFAG1lZGlhL2lvcy9hdXRvcGxheS1vbmx5LWluLW1h
aW4tZG9jdW1lbnQtc3RkZXJyLnR4dFVUBQAD0xQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AI2jsUpB6nbe9QAAAB0CAAAlABgAAAAAAAEAAACkgWGFBQBtZWRpYS9tZWRpYS1jb250cm9scy1j
bG9uZS1zdGRlcnIudHh0VVQFAAPZFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAjaOxShhS
fVr1AAAAHQIAADkAGAAAAAAAAQAAAKSBtYYFAG1lZGlhL21lZGlhLWNvbnRyb2xzLXNoYWRvdy1j
b25zdHJ1Y3Rpb24tY3Jhc2gtc3RkZXJyLnR4dFVUBQAD2hQdWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAI6jsUrFOD3CCwEAADoEAAA2ABgAAAAAAAEAAACkgR2IBQBtZWRpYS9tZWRpYS1kb2N1
bWVudC1hdWRpby1jb250cm9scy12aXNpYmxlLXN0ZGVyci50eHRVVAUAA9sUHVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACOo7FKJnkqDAsBAAA6BAAAKgAYAAAAAAABAAAApIGYiQUAbWVkaWEv
bWVkaWEtZG9jdW1lbnQtYXVkaW8tc2l6ZS1zdGRlcnIudHh0VVQFAAPcFB1ZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAkqOxSkgf76n1AAAAHQIAAC0AGAAAAAAAAQAAAKSBB4sFAG1lZGlhL21l
ZGlhLWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUtc3RkZXJyLnR4dFVUBQAD5BQdWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAJOjsUooy1yi9AAAAB0CAAAhABgAAAAAAAEAAACkgWOMBQBtZWRpYS9t
ZWRpYS1sb2FkLWV2ZW50LXN0ZGVyci50eHRVVAUAA+UUHVl1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAAtobFKAAAAAAAAAAAAAAAAHAAYAAAAAAAAABAA7UGyjQUAbWVkaWEvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL1VUBQADZRAdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAC2hsUoAAAAAAAAA
AAAAAAAoABgAAAAAAAAAEADtQQiOBQBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGlwLXN1
cHBvcnQvVVQFAANlEB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAALaGxSgAAAAAAAAAAAAAA
AC0AGAAAAAAAAAAQAO1Bao4FAG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9waXAtc3VwcG9y
dC9pcGFkL1VUBQADZRAdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOOksUqsSRER9QAAAB0C
AABLABgAAAAAAAEAAACkgdGOBQBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGlwLXN1cHBv
cnQvaXBhZC9waXAtc3VwcG9ydC1lbmFibGVkLXN0ZGVyci50eHRVVAUAA1kXHVl1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAAAwoLFKAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UFLkAUAbWVkaWEv
dHJhY2svVVQFAAOLDh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkKOxSq+YVvb1AAAAHQIA
ADUAGAAAAAAAAQAAAKSBkZAFAG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctaG9yaXpv
bnRhbC1zdGRlcnIudHh0VVQFAAPfFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkKOxSqZv
/WX0AAAAHQIAAC4AGAAAAAAAAQAAAKSB9ZEFAG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJp
bmctcnRsLXN0ZGVyci50eHRVVAUAA+AUHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACRo7FK
gzAviPUAAAAdAgAAMwAYAAAAAAABAAAApIFRkwUAbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRl
cmluZy12ZXJ0aWNhbC1zdGRlcnIudHh0VVQFAAPhFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAkaOxStrCVO/3AAAAHQIAADcAGAAAAAAAAQAAAKSBs5QFAG1lZGlhL3RyYWNrL3RyYWNrLWN1
ZS1yZW5kZXJpbmctd2l0aC1wYWRkaW5nLXN0ZGVyci50eHRVVAUAA+IUHVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACUo7FKl7nmEPYAAAAdAgAAKwAYAAAAAAABAAAApIEblgUAbWVkaWEvdHJh
Y2svdHJhY2stY3Vlcy1jdWVjaGFuZ2Utc3RkZXJyLnR4dFVUBQAD6BQdWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAJijsUq8pHpV9QAAAB0CAAAoABgAAAAAAAEAAACkgXaXBQBtZWRpYS90cmFj
ay90cmFjay1jdWVzLW1pc3NlZC1zdGRlcnIudHh0VVQFAAPwFB1ZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAnaOxStGf0yL1AAAAHQIAAEkAGAAAAAAAAQAAAKSBzZgFAG1lZGlhL3RyYWNrL3Ry
YWNrLWluLWJhbmQtZHVwbGljYXRlLXRyYWNrcy13aGVuLXNvdXJjZS1jaGFuZ2VzLXN0ZGVyci50
eHRVVAUAA/kUHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACdo7FKS3e20fUAAAAdAgAAKgAY
AAAAAAABAAAApIFFmgUAbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1zdHlsZS1zdGRlcnIudHh0
VVQFAAP6FB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAl6OxSkzCv6sLAQAAOgQAADAAGAAA
AAAAAQAAAKSBnpsFAG1lZGlhL3ZpZGVvLWNsaWNrLWRibGNraWNrLXN0YW5kYWxvbmUtc3RkZXJy
LnR4dFVUBQAD7RQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJejsUoORXxL9QAAAB0CAAAq
ABgAAAAAAAEAAACkgROdBQBtZWRpYS92aWRlby1jb25jdXJyZW50LXBsYXliYWNrLXN0ZGVyci50
eHRVVAUAA+4UHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACZo7FKj9mppfUAAAAdAgAAPAAY
AAAAAAABAAAApIFsngUAbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LWxv
Y2FsaXplZC1zdGRlcnIudHh0VVQFAAPxFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAmqOx
Sv8mnSj1AAAAHQIAADoAGAAAAAAAAQAAAKSB158FAG1lZGlhL3ZpZGVvLWNvbnRyb2xzLXRvLW5v
dC1zY3JvbGwtcGFnZS1vbi1sb2FkLXN0ZGVyci50eHRVVAUAA/MUHVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACdo7FKEIvsK/YAAAAdAgAAJQAYAAAAAAABAAAApIFAoQUAbWVkaWEvdmlkZW8t
ZGlzcGxheS10b2dnbGUtc3RkZXJyLnR4dFVUBQAD+RQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAJ2jsUqvpNolDAEAADoEAAAlABgAAAAAAAEAAACkgZWiBQBtZWRpYS92aWRlby1kb2N1bWVu
dC10eXBlcy1zdGRlcnIudHh0VVQFAAP6FB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAoaOx
SjkWvib0AAAAHQIAACMAGAAAAAAAAQAAAKSBAKQFAG1lZGlhL3ZpZGVvLWVtcHR5LXNvdXJjZS1z
dGRlcnIudHh0VVQFAAP9FB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAoqOxSn2iBEf0AAAA
HQIAADQAGAAAAAAAAQAAAKSBUaUFAG1lZGlhL3ZpZGVvLWVuZGVkLWV2ZW50LW5lZ2F0aXZlLXBs
YXliYWNrLXN0ZGVyci50eHRVVAUAA/8UHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAvoLFK
PY2rZ84AAABbAQAALAAYAAAAAAABAAAApIGzpgUAbWVkaWEvdmlkZW8tbG9hZC1wcmVsb2FkLW1l
dGFkYXRhLWFjdHVhbC50eHRVVAUAA4oOHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAvoLFK
QESJk/UAAADPAQAAKgAYAAAAAAABAAAApIHnpwUAbWVkaWEvdmlkZW8tbG9hZC1wcmVsb2FkLW1l
dGFkYXRhLWRpZmYudHh0VVQFAAOKDh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAL6CxSn+x
d2S8AAAASwEAAC4AGAAAAAAAAQAAAKSBQKkFAG1lZGlhL3ZpZGVvLWxvYWQtcHJlbG9hZC1tZXRh
ZGF0YS1leHBlY3RlZC50eHRVVAUAA4oOHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAwoLFK
cnJL7xIIAABQGwAAMgAYAAAAAAABAAAApIFkqgUAbWVkaWEvdmlkZW8tbG9hZC1wcmVsb2FkLW1l
dGFkYXRhLXByZXR0eS1kaWZmLmh0bWxVVAUAA4sOHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACno7FKXavl3PYAAAAdAgAAHwAYAAAAAAABAAAApIHisgUAbWVkaWEvdmlkZW8tbm8tYXVkaW8t
c3RkZXJyLnR4dFVUBQADCRUdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKijsUpfz4ED9QAA
AB0CAAAiABgAAAAAAAEAAACkgTG0BQBtZWRpYS92aWRlby1uby1hdXRvcGxheS1zdGRlcnIudHh0
VVQFAAMLFR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuaOxSiEfIjv2AAAAHQIAACQAGAAA
AAAAAQAAAKSBgrUFAG1lZGlhL3ZpZGVvLXZvbHVtZS1zbGlkZXItc3RkZXJyLnR4dFVUBQADLRUd
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALmjsUqZO/2l9QAAAB0CAAAjABgAAAAAAAEAAACk
gda2BQBtZWRpYS92aWRlby13aWR0aC1oZWlnaHQtc3RkZXJyLnR4dFVUBQADLhUdWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIALqjsUoi/aW19gAAAB0CAAAkABgAAAAAAAEAAACkgSi4BQBtZWRp
YS92aWRlby16b29tLWNvbnRyb2xzLXN0ZGVyci50eHRVVAUAAy8VHVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAC7o7FK0eTmN/YAAAAdAgAAGwAYAAAAAAABAAAApIF8uQUAbWVkaWEvdmlkZW8t
em9vbS1zdGRlcnIudHh0VVQFAAMxFR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAJaCxSgAA
AAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1Bx7oFAHBsYXRmb3JtL1VUBQADdQ4dWXV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAACWgsUoAAAAAAAAAAAAAAAANABgAAAAAAAAAEADtQQq7BQBwbGF0Zm9y
bS9pb3MvVVQFAAN1Dh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAJaCxSgAAAAAAAAAAAAAA
ABMAGAAAAAAAAAAQAO1BUbsFAHBsYXRmb3JtL2lvcy9tZWRpYS9VVAUAA3UOHVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACPo7FKtT3D6fYAAAAdAgAAZAAYAAAAAAABAAAApIGeuwUAcGxhdGZv
cm0vaW9zL21lZGlhL3ZpZGVvLXBsYXktZ2x5cGgtY29tcG9zaXRlZC1vdXRzaWRlLW92ZXJmbG93
LXNjcm9sbGluZy10b3VjaC1jb250YWluZXItc3RkZXJyLnR4dFVUBQAD3hQdWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAPqisUqrxKP1kQIAANgkAAAaABgAAAAAAAEAAACkgTK9BQBweXdlYnNv
Y2tldC53cy5sb2ctZXJyLnR4dFVUBQADxxMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPai
sUpvseZfCgEAAI8CAAAaABgAAAAAAAEAAACkgRfABQBweXdlYnNvY2tldC53cy5sb2ctb3V0LnR4
dFVUBQADvxMdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJKisUoAAAAAAAAAAAAAAAAbABgA
AAAAAAAAAACkgXXBBQBweXdlYnNvY2tldC53c3MubG9nLWVyci50eHRVVAUAAwQTHVl1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAACSorFKAAAAAAAAAAAAAAAAGwAYAAAAAAAAAAAApIHKwQUAcHl3
ZWJzb2NrZXQud3NzLmxvZy1vdXQudHh0VVQFAAMDEx1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAJ6CxSgAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQAO1BH8IFAHF1aWNrbG9vay9VVAUAA3kOHVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACQo7FKr2vxbIwAAAAMBgAAHAAYAAAAAAABAAAApIFj
wgUAcXVpY2tsb29rL2tleW5vdGUtc3RkZXJyLnR4dFVUBQAD3xQdWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAJGjsUoCKGeziQAAAAgEAAAcABgAAAAAAAEAAACkgUXDBQBxdWlja2xvb2svbnVt
YmVycy1zdGRlcnIudHh0VVQFAAPhFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkaOxSuuz
YviJAAAACAQAABoAGAAAAAAAAQAAAKSBJMQFAHF1aWNrbG9vay9wYWdlcy1zdGRlcnIudHh0VVQF
AAPiFB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgANqWxSkUmHTnRJwAAy6oAAAwAGAAAAAAA
AQAAAKSBAcUFAHJlc3VsdHMuaHRtbFVUBQAD9xcdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AJaksUoAAAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQRjtBQByZXRyaWVzL1VUBQADyxYdWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAE6ksUoAAAAAAAAAAAAAAAANABgAAAAAAAAAEADtQVrtBQBy
ZXRyaWVzL2Zhc3QvVVQFAANEFh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAATqSxSgAAAAAA
AAAAAAAAABEAGAAAAAAAAAAQAO1Boe0FAHJldHJpZXMvZmFzdC9jc3MvVVQFAANEFh1ZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgATqSxSiahmDdzPAAAvMkAADEAGAAAAAAAAAAAAKSB7O0FAHJl
dHJpZXMvZmFzdC9jc3MvdGFyZ2V0LWZyYWdtZW50LW1hdGNoLWFjdHVhbC5wbmdVVAUAA0QWHVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABOpLFKDIpwKPUAAAAdAgAAMQAYAAAAAAABAAAApIHK
KgYAcmV0cmllcy9mYXN0L2Nzcy90YXJnZXQtZnJhZ21lbnQtbWF0Y2gtc3RkZXJyLnR4dFVUBQAD
RBYdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJaksUoAAAAAAAAAAAAAAAARABgAAAAAAAAA
EADtQSosBgByZXRyaWVzL2ltcG9ydGVkL1VUBQADyxYdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAJaksUoAAAAAAAAAAAAAAAAVABgAAAAAAAAAEADtQXUsBgByZXRyaWVzL2ltcG9ydGVkL3cz
Yy9VVAUAA8sWHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACXpLFKAAAAAAAAAAAAAAAAKAAY
AAAAAAAAABAA7UHELAYAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1VU
BQADzRYdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJeksUoAAAAAAAAAAAAAAAAtABgAAAAA
AAAAEADtQSYtBgByZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9V
VAUAA80WHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACWpLFKAAAAAAAAAAAAAAAANgAYAAAA
AAAAABAA7UGNLQYAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
YnJvd3NlcnMvVVQFAAPLFh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAlqSxSgAAAAAAAAAA
AAAAAEcAGAAAAAAAAAAQAO1B/S0GAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvVVQFAAPLFh1ZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAlqSxSgAAAAAAAAAAAAAAAFkAGAAAAAAAAAAQAO1Bfi4GAHJldHJpZXMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRo
ZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvVVQFAAPLFh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAlqSxSgAAAAAAAAAAAAAAAHoAGAAAAAAAAAAQAO1BES8GAHJldHJpZXMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvaGlzdG9y
eS10cmF2ZXJzYWwvcGVyc2lzdGVkLXVzZXItc3RhdGUtcmVzdG9yYXRpb24vVVQFAAPMFh1ZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlqSxSsS4nxrBAAAADAEAALcAGAAAAAAAAQAAAKSBxS8G
AHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jy
b3dzaW5nLXRoZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvcGVyc2lzdGVkLXVzZXItc3RhdGUtcmVz
dG9yYXRpb24vc2Nyb2xsLXJlc3RvcmF0aW9uLWZyYWdtZW50LXNjcm9sbGluZy1jcm9zcy1vcmln
aW4tYWN0dWFsLnR4dFVUBQADyxYdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJaksUp9aoCo
RwEAACEDAAC1ABgAAAAAAAEAAACkgXcxBgByZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9icm93c2Vycy9icm93c2luZy10aGUtd2ViL2hpc3RvcnktdHJhdmVyc2Fs
L3BlcnNpc3RlZC11c2VyLXN0YXRlLXJlc3RvcmF0aW9uL3Njcm9sbC1yZXN0b3JhdGlvbi1mcmFn
bWVudC1zY3JvbGxpbmctY3Jvc3Mtb3JpZ2luLWRpZmYudHh0VVQFAAPLFh1ZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAlqSxSjgxixrAAAAADAEAALkAGAAAAAAAAQAAAKSBrTMGAHJldHJpZXMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRo
ZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvcGVyc2lzdGVkLXVzZXItc3RhdGUtcmVzdG9yYXRpb24v
c2Nyb2xsLXJlc3RvcmF0aW9uLWZyYWdtZW50LXNjcm9sbGluZy1jcm9zcy1vcmlnaW4tZXhwZWN0
ZWQudHh0VVQFAAPLFh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlqSxShXDXOgvCAAAdBoA
AL0AGAAAAAAAAQAAAKSBYDUGAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvcGVyc2lz
dGVkLXVzZXItc3RhdGUtcmVzdG9yYXRpb24vc2Nyb2xsLXJlc3RvcmF0aW9uLWZyYWdtZW50LXNj
cm9sbGluZy1jcm9zcy1vcmlnaW4tcHJldHR5LWRpZmYuaHRtbFVUBQADzBYdWXV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAJeksUoAAAAAAAAAAAAAAAAxABgAAAAAAAAAEADtQYY+BgByZXRyaWVz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vVVQFAAPNFh1ZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAl6SxSnWTaimVbAAAfM4FAE8AGAAAAAAAAQAAAKSB8T4GAHJl
dHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9u
LWVtYmVkZGVkLWFjdHVhbC50eHRVVAUAA80WHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACX
pLFKBu0Nm1ACAADtDAAATQAYAAAAAAABAAAApIEPrAYAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZW1iZWRkZWQtZGlmZi50eHRVVAUA
A80WHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACXpLFK4oN945RsAAB8zgUAUQAYAAAAAAAB
AAAApIHmrgYAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9t
L3JlZmxlY3Rpb24tZW1iZWRkZWQtZXhwZWN0ZWQudHh0VVQFAAPNFh1ZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAl6SxSvu53gHZCQAAnzYAAFUAGAAAAAAAAQAAAKSBBRwHAHJldHJpZXMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWVtYmVkZGVk
LXByZXR0eS1kaWZmLmh0bWxVVAUAA80WHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACXpLFK
AAAAAAAAAAAAAAAAOAAYAAAAAAAAABAA7UFtJgcAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9VVAUAA80WHVl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACXpLFKzbGhk1ECAAAPDAAATQAYAAAAAAABAAAApIHfJgcAcmV0cmllcy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZGxoYXJuZXNzLWFjdHVh
bC50eHRVVAUAA80WHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACXpLFKrHekTJ8BAAD5BQAA
SwAYAAAAAAABAAAApIG3KQcAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9pZGxoYXJuZXNzLWRpZmYudHh0VVQFAAPNFh1ZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAl6SxSid2NxeGAgAAbw4AAE8AGAAAAAAAAQAAAKSB2ysHAHJldHJpZXMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWRsaGFybmVz
cy1leHBlY3RlZC50eHRVVAUAA80WHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACXpLFKwmX2
OqMIAAB5IQAAUwAYAAAAAAABAAAApIHqLgcAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZGxoYXJuZXNzLXByZXR0eS1kaWZmLmh0bWxVVAUA
A80WHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADioLFKAAAAAAAAAAAAAAAADgAYAAAAAAAA
ABAA7UEaOAcAcmV0cmllcy9tZWRpYS9VVAUAA9cPHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADioLFKqI2ypfUAAAAdAgAANAAYAAAAAAABAAAApIFiOAcAcmV0cmllcy9tZWRpYS92aWRlby1s
b2FkLXByZWxvYWQtbWV0YWRhdGEtc3RkZXJyLnR4dFVUBQAD1w8dWXV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAJCjsUoAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQcU5BwBzY3JvbGxiYXJzL1VU
BQAD3xQdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJCjsUrXimgy9AAAAB0CAAAlABgAAAAA
AAEAAACkgQo6BwBzY3JvbGxiYXJzL2Jhc2ljLXNjcm9sbGJhci1zdGRlcnIudHh0VVQFAAPfFB1Z
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAJaCxSgAAAAAAAAAAAAAAAA8AGAAAAAAAAAAQAO1B
XTsHAHNjcm9sbGJhcnMvcnRsL1VUBQADdQ4dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACWg
sUokuFYQ8wAAAB0CAAAmABgAAAAAAAEAAACkgaY7BwBzY3JvbGxiYXJzL3J0bC9kaXYtYWJzb2x1
dGUtc3RkZXJyLnR4dFVUBQADdQ4dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADalsUqiVKO5
vc4HAO/pKQAKABgAAAAAAAEAAACkgfk8BwBzdGF0cy5qc29uVVQFAAP3Fx1ZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAsaOxSgAAAAAAAAAAAAAAAAQAGAAAAAAAAAAQAO1B+gsPAHN2Zy9VVAUA
Ax4VHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABGoLFKAAAAAAAAAAAAAAAADQAYAAAAAAAA
ABAA7UE4DA8Ac3ZnL2FzLWltYWdlL1VUBQADsw4dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AK+jsUrbCNNCOwAAAD8AAAA/ABgAAAAAAAEAAACkgX8MDwBzdmcvYXMtaW1hZ2Uvc3ZnLWltYWdl
LXdpdGgtZGF0YS11cmktaW1hZ2VzLWRpc2FibGVkLXN0ZGVyci50eHRVVAUAAxkVHVl1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAABIoLFKAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UEzDQ8Ac3Zn
L2N1c3RvbS9VVAUAA7gOHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABIoLFKH70tIfUAAAAd
AgAAKQAYAAAAAAABAAAApIF4DQ8Ac3ZnL2N1c3RvbS9pbmxpbmUtc3ZnLWluLXhodG1sLXN0ZGVy
ci50eHRVVAUAA7gOHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACxo7FKAAAAAAAAAAAAAAAA
CgAYAAAAAAAAABAA7UHQDg8Ac3ZnL2hpeGllL1VUBQADHhUdWXV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAALGjsUoAAAAAAAAAAAAAAAASABgAAAAAAAAAEADtQRQPDwBzdmcvaGl4aWUvY2FzY2Fk
ZS9VVAUAAx4VHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACxo7FKfNNyhfYAAAAdAgAAJwAY
AAAAAAABAAAApIFgDw8Ac3ZnL2hpeGllL2Nhc2NhZGUvMDAxLWJyb2tlbi1zdGRlcnIudHh0VVQF
AAMeFR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAATaCxSgAAAAAAAAAAAAAAAAkAGAAAAAAA
AAAQAO1BtxAPAHN2Zy90ZXh0L1VUBQADwg4dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAE2g
sUrKtHb79QAAAB0CAAAzABgAAAAAAAEAAACkgfoQDwBzdmcvdGV4dC9mb3JlaWduT2JqZWN0LXRl
eHQtY2xpcHBpbmctYnVnLXN0ZGVyci50eHRVVAUAA8IOHVl1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAB3obFKAAAAAAAAAAAAAAAADgAYAAAAAAAAABAA7UFcEg8AdGlsZWQtZHJhd2luZy9VVAUA
A/IQHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB3obFKAAAAAAAAAAAAAAAAEgAYAAAAAAAA
ABAA7UGkEg8AdGlsZWQtZHJhd2luZy9pb3MvVVQFAAPyEB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAd6GxSgAAAAAAAAAAAAAAABoAGAAAAAAAAAAQAO1B8BIPAHRpbGVkLWRyYXdpbmcvaW9z
L2lwaG9uZTcvVVQFAAPyEB1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALKWxShlv0BX0AAAA
HQIAAEIAGAAAAAAAAQAAAKSBRBMPAHRpbGVkLWRyYXdpbmcvaW9zL2lwaG9uZTcvY29tcG9zaXRp
bmctbGF5ZXJzLWRlZXAtY29sb3Itc3RkZXJyLnR4dFVUBQAD5BcdWXV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAFGgsUoAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQbQUDwB0cmFuc2Zvcm1zL1VU
BQADyg4dWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFGgsUoAAAAAAAAAAAAAAAAOABgAAAAA
AAAAEADtQfkUDwB0cmFuc2Zvcm1zLzJkL1VUBQADyg4dWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALqjsUrQAkXHtAAAAL4CAAA3ABgAAAAAAAEAAACkgUEVDwB0cmFuc2Zvcm1zLzJkL3ByZXNl
cnZlM2Qtbm90LWZpeGVkLWNvbnRhaW5lci1zdGRlcnIudHh0VVQFAAMwFR1ZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAUaCxSgAAAAAAAAAAAAAAAA4AGAAAAAAAAAAQAO1BZhYPAHRyYW5zZm9y
bXMvM2QvVVQFAAPKDh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAUaCxSgAAAAAAAAAAAAAA
ABYAGAAAAAAAAAAQAO1BrhYPAHRyYW5zZm9ybXMvM2QvZ2VuZXJhbC9VVAUAA8oOHVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAC6o7FKbIkjuqsAAABfAQAAPQAYAAAAAAABAAAApIH+Fg8AdHJh
bnNmb3Jtcy8zZC9nZW5lcmFsL2JhY2tncm91bmQtdmlzaWJpbGl0eS1sYXllcnMtc3RkZXJyLnR4
dFVUBQADMBUdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALqjsUoSF+bhtQAAAL4CAAA6ABgA
AAAAAAEAAACkgSAYDwB0cmFuc2Zvcm1zLzNkL2dlbmVyYWwvdHJhbnNmb3JtLW9yaWdpbi16LWNo
YW5nZS1zdGRlcnIudHh0VVQFAAMwFR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAUaCxSgAA
AAAAAAAAAAAAABoAGAAAAAAAAAAQAO1BSRkPAHRyYW5zZm9ybXMvM2QvaGl0LXRlc3RpbmcvVVQF
AAPKDh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuqOxSkM14UipAAAAXwEAAEMAGAAAAAAA
AQAAAKSBnRkPAHRyYW5zZm9ybXMvM2QvaGl0LXRlc3RpbmcvYmFja2ZhY2Utbm8tdHJhbnNmb3Jt
LWhpdC10ZXN0LXN0ZGVyci50eHRVVAUAAzAVHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC6
o7FKo33qFKwAAABfAQAAOQAYAAAAAAABAAAApIHDGg8AdHJhbnNmb3Jtcy8zZC9oaXQtdGVzdGlu
Zy9jb3BsYW5hci13aXRoLWNhbWVyYS1zdGRlcnIudHh0VVQFAAMwFR1ZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAu6OxSqb+qResAAAAXwEAAEAAGAAAAAAAAQAAAKSB4hsPAHRyYW5zZm9ybXMv
M2QvaGl0LXRlc3Rpbmcvb3ZlcmxhcHBpbmctbGF5ZXJzLWhpdC10ZXN0LXN0ZGVyci50eHRVVAUA
AzEVHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC7o7FK/Q7It6kAAABfAQAAOAAYAAAAAAAB
AAAApIEIHQ8AdHJhbnNmb3Jtcy8zZC9oaXQtdGVzdGluZy9wZXJzcGVjdGl2ZS1jbGlwcGVkLXN0
ZGVyci50eHRVVAUAAzEVHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABRoLFKAAAAAAAAAAAA
AAAAHAAYAAAAAAAAABAA7UEjHg8AdHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nL1VUBQADyg4d
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALujsUpwU3WY0QAAAHwFAAA5ABgAAAAAAAEAAACk
gXkeDwB0cmFuc2Zvcm1zLzNkL3BvaW50LW1hcHBpbmcvM2QtcG9pbnQtbWFwcGluZy0yLXN0ZGVy
ci50eHRVVAUAAzEVHVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC7o7FKJVIO8dQAAAB8BQAA
PAAYAAAAAAABAAAApIG9Hw8AdHJhbnNmb3Jtcy8zZC9wb2ludC1tYXBwaW5nLzNkLXBvaW50LW1h
cHBpbmctZGVlcC1zdGRlcnIudHh0VVQFAAMxFR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
u6OxShOgyqkEAQAAVwwAAEMAGAAAAAAAAQAAAKSBByEPAHRyYW5zZm9ybXMvM2QvcG9pbnQtbWFw
cGluZy8zZC1wb2ludC1tYXBwaW5nLXByZXNlcnZlLTNkLXN0ZGVyci50eHRVVAUAAzEVHVl1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAAC8o7FKAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UGIIg8A
dXNlcnNjcmlwdHMvVVQFAAMzFR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvKOxSrMnAnv1
AAAAHQIAADEAGAAAAAAAAQAAAKSBziIPAHVzZXJzY3JpcHRzL3VzZXItc2NyaXB0LWF1ZGlvLWRv
Y3VtZW50LXN0ZGVyci50eHRVVAUAAzMVHVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABSoLFK
AAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UEuJA8Ad2ViYXJjaGl2ZS9VVAUAA8wOHVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAC8o7FK2wjTQjsAAAA/AAAAOgAYAAAAAAABAAAApIFzJA8Ad2Vi
YXJjaGl2ZS90ZXN0LWxpbmstcmVsLXN1YnJlc291cmNlLWJlZm9yZWxvYWQtc3RkZXJyLnR4dFVU
BQADMxUdWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFmgsUoAAAAAAAAAAAAAAAAHABgAAAAA
AAAAEADtQSIlDwB3ZWJydGMvVVQFAAPaDh1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvKOx
Ssq0CVwiAAAAOgAAADAAGAAAAAAAAQAAAKSBYyUPAHdlYnJ0Yy9hdWRpby1wZWVyLWNvbm5lY3Rp
b24td2ViYXVkaW8tc3RkZXJyLnR4dFVUBQADNBUdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AL2jsUokLsiZIgAAAHQAAAAlABgAAAAAAAEAAACkge8lDwB3ZWJydGMvYXVkaW8tcmVwbGFjZS10
cmFjay1zdGRlcnIudHh0VVQFAAM2FR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxKOxSsq0
CVwiAAAAOgAAACwAGAAAAAAAAQAAAKSBcCYPAHdlYnJ0Yy9wZWVyLWNvbm5lY3Rpb24tYXVkaW8t
bXV0ZS1zdGRlcnIudHh0VVQFAAM/FR1ZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxKOxSsq0
CVwiAAAAOgAAADMAGAAAAAAAAQAAAKSB+CYPAHdlYnJ0Yy9wZWVyLWNvbm5lY3Rpb24tcmVtb3Rl
LWF1ZGlvLW11dGUtc3RkZXJyLnR4dFVUBQADQBUdWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AJeksUpXxX4BmwQAAE4zAAAZABgAAAAAAAEAAACkgYcnDwB3cHR3a19wcm9jZXNzX2xvZy5vdXQu
dHh0VVQFAAPNFh1ZdXgLAAEE9QEAAAQUAAAAUEsFBgAAAACyAbIBRcQAAHUsDwAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310486</attachid>
            <date>2017-05-17 21:33:39 -0700</date>
            <delta_ts>2017-05-18 10:08:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172247-20170517213336.patch</filename>
            <type>text/plain</type>
            <size>1045780</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MDA0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDczNmViY2Y3YzY1NTZmYzEwNzVl
NTBhM2QxNGVhZTYzOTQzODdlZi4uMzJjZjk1MDk0MTEyNzQ2OGFhY2QwNTA4OGFkZGQzYzM5MTA4
ZGVlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBACiAyMDE3LTA1LTE3ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cyB0b29s
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMjQ3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvaW50
ZXJmYWNlcy1leHBlY3RlZC50eHQ6CisKKzIwMTctMDUtMTcgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKwogICAgICAgICBTZXR0aW5nIFVSTC5zZWFyY2ggdG8gJycgcmVzdWx0cyBp
biBhIHN0cmluZ2lmaWVkIFVSTCBlbmRpbmcgaW4gJz8nCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjIzNDUKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMxODAwNDQxPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMGEzMjY2M2RlNDRj
MzBmZmE2Y2Q3ODU2YWVmNzIxNGFlZjkwM2VhNi4uOWViNDljM2IyOTI0MGExNTM5MWE1YTg0MTky
MTI4NDlmZTE4ZTY5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MTY3MyBAQAogMjAxNy0wNS0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCisg
ICAgICAgIFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMgdG9vbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjI0NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlYmFzZWxpbmUgdGVzdHMgbm93IHRoYXQg
V1BUIHRvb2xzIHdlcmUgdXBkYXRlZC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9G
aWxlQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9GaWxlQVBJL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS91cmwvbXVsdGktZ2xvYmFsLW9yaWdpbi1zZXJpYWxp
emF0aW9uLnN1Yi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2Rlcml2ZV9iaXRzX2tleXMvdGVzdF9l
Y2RoX2JpdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9XZWJD
cnlwdG9BUEkvZGVyaXZlX2JpdHNfa2V5cy90ZXN0X2VjZGhfa2V5cy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2lkbGhh
cm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
WE1MSHR0cFJlcXVlc3QvZm9ybWRhdGEtZm9yZWFjaC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9yZXNwb25zZXR5
cGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVx
dWVzdC90aW1lb3V0LXN5bmMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9iYWNrZ3JvdW5kLWZldGNoL2ludGVyZmFjZXMud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9vcmlnaW4tZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQt
cmVnaXN0cnkvZGVmaW5lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItZmFsbHNiYWNrLXRvLXVua25vd24tZWxl
bWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pbnRl
cmZhY2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25v
ZGVzL0RvY3VtZW50LWNvbnRlbnRUeXBlL2NvbnRlbnRUeXBlL2NvbnRlbnR0eXBlX2RhdGF1cmlf
MDEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMv
RG9jdW1lbnQtY29udGVudFR5cGUvY29udGVudFR5cGUvY29udGVudHR5cGVfZGF0YXVyaV8wMi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2VuY29kaW5nL2lkbGhh
cm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvYmFzaWMvaW50ZWdyaXR5LXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9oZWFkZXJzL2hlYWRlcnMtaWRsLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVx
dWVzdC1pZGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtaWRsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHItdGltZS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9i
amVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmlnaW4tb2JqZWN0cy9j
cm9zcy1vcmlnaW4tb2JqZWN0cy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2RvbS9yZWZsZWN0aW9uLWVtYmVkZGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEt
ZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2Fs
bG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0xLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEt
ZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2Fs
bG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEt
ZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL21v
dmluZy1kb2N1bWVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdt
YS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvbm90LWluLXNoYWRvdy10
cmVlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL0hUTUxFbGVt
ZW50L0hUTUxUcmFja0VsZW1lbnQvc3JjbGFuZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxl
bWVudHMvaW50ZXJmYWNlcy9UZXh0VHJhY2svbGFuZ3VhZ2UtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21l
ZGlhLWVsZW1lbnRzL3JlYWR5LXN0YXRlcy9hdXRvcGxheS13aXRoLXNsb3ctdGV4dC10cmFja3Mt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFw
aXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1wYXJzZS1lcnJv
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBw
YXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2RlbC0yL3dpbmRvdy1vbmVycm9yLXJ1bnRpbWUt
ZXJyb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dl
YmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1ydW50
aW1lLWVycm9yLXRocm93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvbm90aWZpY2F0aW9ucy9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcnQtaW5pdGlhdG9y
VHlwZS1vdGhlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy9pZGxoYXJuZXNzLmpzOgorICAgICAgICAoc2V0IGV4cG9zZWQpOgorICAgICAgICAo
SWRsQXJyYXkucHJvdG90eXBlLnRlc3QpOgorICAgICAgICAoSWRsQXJyYXkucHJvdG90eXBlLmFz
c2VydF90eXBlX2lzKToKKyAgICAgICAgKElkbEludGVyZmFjZS5wcm90b3R5cGUudGVzdF9zZWxm
KToKKyAgICAgICAgKElkbEludGVyZmFjZS5wcm90b3R5cGUuYWRkX2l0ZXJhYmxlX21lbWJlcnMp
OgorICAgICAgICAoSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X21lbWJlcl9pdGVyYWJsZSk6
CisgICAgICAgIChJZGxJbnRlcmZhY2UucHJvdG90eXBlLnRlc3RfbWVtYmVycyk6CisgICAgICAg
IChJZGxJbnRlcmZhY2UucHJvdG90eXBlLnRlc3RfcHJpbWFyeV9pbnRlcmZhY2Vfb2YpOgorICAg
ICAgICAoSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X2ludGVyZmFjZV9vZik6CisgICAgICAg
IChJZGxJbnRlcmZhY2UucHJvdG90eXBlLmRvX2ludGVyZmFjZV9hdHRyaWJ1dGVfYXNzZXJ0cyk6
CisgICAgICAgIChJZGxUeXBlZGVmKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzOgorICAgICAgICAoV2luZG93VGVzdEVudmlyb25tZW50KToK
KyAgICAgICAgKFdpbmRvd1Rlc3RFbnZpcm9ubWVudC5wcm90b3R5cGUuX2Rpc3BhdGNoKToKKyAg
ICAgICAgKFdpbmRvd1Rlc3RFbnZpcm9ubWVudC5wcm90b3R5cGUuX2ZvckVhY2hfd2luZG93cyk6
CisgICAgICAgIChTZXJ2aWNlV29ya2VyVGVzdEVudmlyb25tZW50KToKKyAgICAgICAgKHByb21p
c2VfdGVzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20vRG9jdW1l
bnQtcHJvdG90eXBlLWN1cnJlbnRTY3JpcHQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL2J5dGUtbGVuZ3RoLXF1ZXVpbmctc3RyYXRlZ3kuc2hhcmVk
d29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFt
cy9jb3VudC1xdWV1aW5nLXN0cmF0ZWd5LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Nsb3NlLXByb3BhZ2F0aW9u
LWJhY2t3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Nsb3NlLXByb3BhZ2F0aW9uLWZvcndhcmQuc2hhcmVk
d29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFt
cy9waXBpbmcvZXJyb3ItcHJvcGFnYXRpb24tYmFja3dhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZXJyb3It
cHJvcGFnYXRpb24tZm9yd2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9mbG93LWNvbnRyb2wuc2hhcmVkd29y
a2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9w
aXBpbmcvZ2VuZXJhbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3N0cmVhbXMvcGlwaW5nL2dlbmVyYWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvbXVsdGlwbGUtcHJvcGFnYXRp
b24uc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc3RyZWFtcy9waXBpbmcvcGlwZS10aHJvdWdoLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL3RyYW5zZm9ybS1z
dHJlYW1zLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtYnl0ZS1zdHJlYW1zL2dlbmVyYWwuc2hhcmVkd29ya2Vy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFk
YWJsZS1zdHJlYW1zL2JhZC1zdHJhdGVnaWVzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9iYWQt
dW5kZXJseWluZy1zb3VyY2VzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9icmFuZC1jaGVja3Mu
c2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2NhbmNlbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMv
Y291bnQtcXVldWluZy1zdHJhdGVneS1pbnRlZ3JhdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVh
bXMvZGVmYXVsdC1yZWFkZXIuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBvaW50
LXRvdGFsLXF1ZXVlLXNpemUuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2dhcmJhZ2UtY29sbGVj
dGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZ2VuZXJhbC5zaGFyZWR3b3JrZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0
cmVhbXMvcGlwZS10aHJvdWdoLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9yZWFkYWJsZS1zdHJl
YW0tcmVhZGVyLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy90ZWUuc2hhcmVkd29ya2VyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1z
dHJlYW1zL3RlbXBsYXRlZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMvX19pbml0X18ucHk6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMvYnJvd3Nlci5w
eTogQWRkZWQuCisgICAgICAgIChwYXRoKToKKyAgICAgICAgKEJyb3dzZXIpOgorICAgICAgICAo
QnJvd3Nlci5pbnN0YWxsKToKKyAgICAgICAgKEJyb3dzZXIuaW5zdGFsbF93ZWJkcml2ZXIpOgor
ICAgICAgICAoQnJvd3Nlci52ZXJzaW9uKToKKyAgICAgICAgKEJyb3dzZXIucmVxdWlyZW1lbnRz
KToKKyAgICAgICAgKEJyb3dzZXIucHJlcGFyZV9lbnZpcm9ubWVudCk6CisgICAgICAgIChGaXJl
Zm94KToKKyAgICAgICAgKEZpcmVmb3gucGxhdGZvcm1fc3RyaW5nKToKKyAgICAgICAgKEZpcmVm
b3gucGxhdGZvcm1fc3RyaW5nX2dlY2tvZHJpdmVyKToKKyAgICAgICAgKEZpcmVmb3gubGF0ZXN0
X25pZ2h0bHlfbGlzdGluZyk6CisgICAgICAgIChGaXJlZm94LmdldF9mcm9tX25pZ2h0bHkpOgor
ICAgICAgICAoRmlyZWZveC5pbnN0YWxsKToKKyAgICAgICAgKEZpcmVmb3guZmluZF9iaW5hcnkp
OgorICAgICAgICAoRmlyZWZveC5maW5kX2NlcnR1dGlsKToKKyAgICAgICAgKEZpcmVmb3guZmlu
ZF93ZWJkcml2ZXIpOgorICAgICAgICAoRmlyZWZveC5pbnN0YWxsX2NlcnR1dGlsKToKKyAgICAg
ICAgKEZpcmVmb3guaW5zdGFsbF9wcmVmcyk6CisgICAgICAgIChGaXJlZm94Ll9sYXRlc3RfZ2Vj
a29kcml2ZXJfdmVyc2lvbik6CisgICAgICAgIChGaXJlZm94Lmluc3RhbGxfd2ViZHJpdmVyKToK
KyAgICAgICAgKEZpcmVmb3gudmVyc2lvbik6CisgICAgICAgIChDaHJvbWUpOgorICAgICAgICAo
Q2hyb21lLnBsYXRmb3JtX3N0cmluZyk6CisgICAgICAgIChDaHJvbWUuaW5zdGFsbCk6CisgICAg
ICAgIChDaHJvbWUuZmluZF93ZWJkcml2ZXIpOgorICAgICAgICAoQ2hyb21lLmluc3RhbGxfd2Vi
ZHJpdmVyKToKKyAgICAgICAgKENocm9tZS52ZXJzaW9uKToKKyAgICAgICAgKENocm9tZS5wcmVw
YXJlX2Vudmlyb25tZW50KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvYnJv
d3NlcnV0aWxzL3V0aWxzLnB5OiBBZGRlZC4KKyAgICAgICAgKEt3YXJncyk6CisgICAgICAgIChL
d2FyZ3Muc2V0X2lmX25vbmUpOgorICAgICAgICAoY2FsbCk6CisgICAgICAgIChnZXRfZ2l0X2Nt
ZCk6CisgICAgICAgIChnZXRfZ2l0X2NtZC5naXQpOgorICAgICAgICAoc2Vla2FibGUpOgorICAg
ICAgICAodW50YXIpOgorICAgICAgICAodW56aXApOgorICAgICAgICAocHdkKToKKyAgICAgICAg
KHB3ZC5fX2luaXRfXyk6CisgICAgICAgIChwd2QuX19lbnRlcl9fKToKKyAgICAgICAgKHB3ZC5f
X2V4aXRfXyk6CisgICAgICAgIChnZXQpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9icm93c2VydXRpbHMvdmlydHVhbGVudi5weTogQWRkZWQuCisgICAgICAgIChWaXJ0dWFs
ZW52KToKKyAgICAgICAgKFZpcnR1YWxlbnYuX19pbml0X18pOgorICAgICAgICAoVmlydHVhbGVu
di5leGlzdHMpOgorICAgICAgICAoVmlydHVhbGVudi5jcmVhdGUpOgorICAgICAgICAoVmlydHVh
bGVudi5iaW5fcGF0aCk6CisgICAgICAgIChWaXJ0dWFsZW52LnBpcF9wYXRoKToKKyAgICAgICAg
KFZpcnR1YWxlbnYuYWN0aXZhdGUpOgorICAgICAgICAoVmlydHVhbGVudi5zdGFydCk6CisgICAg
ICAgIChWaXJ0dWFsZW52Lmluc3RhbGxfcmVxdWlyZW1lbnRzKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL3czYy1pbXBvcnQubG9nOiBDb3BpZWQgZnJv
bSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL2h0bWw1bGliL3Rlc3RzL3BlcmZvcm1hbmNlL3czYy1pbXBvcnQubG9nLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jb25mdGVzdC5weToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL3Rlc3RzL3czYy1pbXBvcnQubG9nOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy93M2MtaW1wb3J0
LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVs
aWIvZmlsdGVycy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvc2VyaWFsaXplci93M2MtaW1wb3J0LmxvZzoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvcGVy
Zm9ybWFuY2UvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL2VuY29kaW5nL2NoYXJkZXQvdzNj
LWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL2VuY29kaW5nL3czYy1pbXBvcnQubG9nOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0
ZGF0YS9zYW5pdGl6ZXIvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3NlcmlhbGl6ZXIvdzNj
LWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3NuaWZmZXIvdzNjLWltcG9ydC5sb2c6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rk
YXRhL3Rva2VuaXplci93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdHJlZS1jb25zdHJ1Y3Rp
b24vc2NyaXB0ZWQvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3RyZWUtY29uc3RydWN0aW9u
L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS92YWxpZGF0b3IvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3Rz
L3Rlc3RkYXRhL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWFkYXB0ZXJzL3cz
Yy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxp
Yi9odG1sNWxpYi90cmVlYnVpbGRlcnMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWV3YWxrZXJzL3czYy1pbXBv
cnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90cmllL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvdXRpbHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3czYy1pbXBvcnQubG9nOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L2xpbnQucHk6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRj
aC9zdXBwb3J0L3Rvb2xzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvc3VwcG9ydC93M2Mt
aW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0
cy9kdW1teS9jc3MtdW5pcXVlL21hdGNoL3Rvb2xzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0
Y2gvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xp
bnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0Y2gvc3VwcG9ydC93M2MtaW1wb3J0Lmxv
ZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9j
c3MtdW5pcXVlL25vdC1tYXRjaC90b29scy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL25vdC1tYXRj
aC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGlu
dC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3NlbGVjdG9ycy93M2MtaW1wb3J0LmxvZzoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVl
L3N1cHBvcnQvdG9vbHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9zdXBwb3J0L3czYy1pbXBvcnQu
bG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15
L2Nzcy11bmlxdWUvdG9vbHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS93M2MtaW1wb3J0LmxvZzoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3Mv
d29yay1pbi1wcm9ncmVzcy9mb28vc3VwcG9ydC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9yZWYvdzNjLWltcG9ydC5s
b2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkv
dzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQv
dGVzdHMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2xpbnQvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2xvY2FscGF0aHMucHk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlm
ZXN0L2NhdGFsb2cvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL21hbmlmZXN0L3Rlc3RzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0LmluaToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvX2NvZGUvdzNjLWltcG9ydC5sb2c6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L2Fzc2VydGlvbi93M2Mt
aW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19w
eXRlc3QvdmVuZG9yZWRfcGFja2FnZXMvcGx1Z2d5LTAuMy4xLmRpc3QtaW5mby93M2MtaW1wb3J0
LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3Qv
dmVuZG9yZWRfcGFja2FnZXMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvYmVuY2gvdzNjLWltcG9ydC5sb2c6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RlbXBsYXRlcy93
M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0
L2RvYy9lbi9fdGhlbWVzL2ZsYXNrL3N0YXRpYy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9fdGhlbWVzL2ZsYXNrL3czYy1p
bXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9j
L2VuL190aGVtZXMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5dGVzdC9kb2MvZW4vYW5ub3VuY2UvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9hc3NlcnRpb24v
Z2xvYmFsX3Rlc3Rtb2R1bGVfY29uZmlnL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvYXNzZXJ0aW9uL3czYy1p
bXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9j
L2VuL2V4YW1wbGUvY29zdGx5c2V0dXAvc3ViMS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVw
L3N1YjIvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlzZXR1cC93M2MtaW1wb3J0LmxvZzoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2xheW91
dDEvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
dGVzdC9kb2MvZW4vZXhhbXBsZS9ub25weXRob24vdzNjLWltcG9ydC5sb2c6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9weTJweTMvdzNj
LWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9k
b2MvZW4vZXhhbXBsZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9pbWcvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vdGVzdC9wbHVnaW4vdzNjLWltcG9y
dC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4v
dGVzdC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L2RvYy9lbi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl0ZXN0L2V4dHJhL3NldHVwLXB5LnRlc3QvdzNjLWltcG9ydC5sb2c6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9leHRyYS93M2MtaW1wb3J0Lmxv
ZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvY29k
ZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3Rlc3RzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy9jeF9mcmVlemUvdzNjLWltcG9y
dC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5n
L3B5dGhvbi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHl0ZXN0L3Rlc3RpbmcvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL2V4YW1wbGUvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9tb2RfcHl3
ZWJzb2NrZXQvaGFuZHNoYWtlL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvbW9kX3B5d2Vic29ja2V0L3czYy1pbXBvcnQu
bG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMv
dGVzdC9jZXJ0L3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIvdzNjLWltcG9y
dC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3Ny
Yy90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS93M2MtaW1w
b3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQv
c3JjL3Rlc3QvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5d2Vic29ja2V0L3NyYy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcnVubmVyL2Nzcy93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL2ZvbnRzL3czYy1pbXBvcnQubG9nOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9ydW5uZXIvdzNjLWltcG9ydC5sb2c6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NjcmlwdHMvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NlcnZlL3czYy1pbXBvcnQubG9nOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zaXgvZG9jdW1lbnRhdGlvbi93M2Mt
aW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4L3czYy1p
bXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zc2x1dGlscy93
M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdG94Lmlu
aToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci9SRUFETUUubWQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93M2MtaW1wb3J0Lmxv
ZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZl
ci9jbGllbnQucHk6CisgICAgICAgIChFbGVtZW50LnNlbmRfa2V5cyk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93ZWJkcml2ZXIvdzNjLWltcG9ydC5sb2c6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bi5weTogQWRkZWQuCisg
ICAgICAgIChXcHRydW5uZXJIZWxwQWN0aW9uKToKKyAgICAgICAgKFdwdHJ1bm5lckhlbHBBY3Rp
b24uX19pbml0X18pOgorICAgICAgICAoV3B0cnVubmVySGVscEFjdGlvbi5fX2NhbGxfXyk6Cisg
ICAgICAgIChjcmVhdGVfcGFyc2VyKToKKyAgICAgICAgKGV4aXQpOgorICAgICAgICAoYXJnc19n
ZW5lcmFsKToKKyAgICAgICAgKGNoZWNrX2Vudmlyb24pOgorICAgICAgICAocHJvbXB0X2luc3Rh
bGwpOgorICAgICAgICAoYXJnc19maXJlZm94KToKKyAgICAgICAgKHNldHVwX2ZpcmVmb3gpOgor
ICAgICAgICAoYXJnc19jaHJvbWUpOgorICAgICAgICAoc2V0dXBfY2hyb21lKToKKyAgICAgICAg
KHNldHVwX2VkZ2UpOgorICAgICAgICAoc2V0dXBfc2F1Y2UpOgorICAgICAgICAoc2V0dXBfc2Vy
dm8pOgorICAgICAgICAoc2V0dXBfd3B0cnVubmVyKToKKyAgICAgICAgKG1haW4pOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvTElDRU5TRTogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvTElD
RU5TRS4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL01BTklG
RVNULmluOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL1JFQURNRS5yc3Q6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvZG9jcy9NYWtlZmlsZTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL2FyY2hpdGVjdHVyZS5zdmc6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9jb25mLnB5OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3Mv
ZGVzaWduLnJzdDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9kb2NzL2V4cGVjdGF0aW9uLnJzdDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL2luZGV4LnJzdDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL21ha2UuYmF0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvdXNh
Z2UucnN0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL2RvY3MvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfY2hyb21lLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9y
ZXF1aXJlbWVudHNfZmlyZWZveC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX3NhdWNlLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfc2Vy
dm8udHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3NldHVwLnB5OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2FuZF9mYWlsLmh0bWwuaW5p
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWwuaHRtbC5pbmk6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0
YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC5odG1sLmluaTogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9taXNtYXRjaF9mYWlsLmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X3JlZl90aW1lb3V0Lmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3RpbWVvdXQu
aHRtbC5pbmk6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVz
dGhhcm5lc3MvZmlyZWZveC9fX2Rpcl9fLmluaTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVm
b3gvc3ViZGlyL3Rlc3RfcHJlZl9yZXNldC5odG1sLmluaTogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNz
L2ZpcmVmb3gvc3ViZGlyL3czYy1pbXBvcnQubG9nOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2RvYy9pbWcvdzNjLWltcG9y
dC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdGVzdF9wcmVmX3NldC5odG1sLmluaTogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21l
dGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdzNjLWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdub3Jl
L3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvX19kaXJfXy5pbmk6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRh
ZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdGVzdGhhcm5lc3NfMS5odG1sLmluaTogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRh
L3Rlc3RoYXJuZXNzL3N1YmRpci93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi90ZXN0cy90ZXN0ZGF0YS9lbmNvZGluZy9jaGFyZGV0L3czYy1pbXBvcnQubG9nLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0
aGFybmVzcy90ZXN0aGFybmVzc18wLmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdGVz
dGhhcm5lc3NfZXJyb3IuaHRtbC5pbmk6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVz
c190aW1lb3V0Lmh0bWwuaW5pOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdzNjLWltcG9ydC5sb2c6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvZ2l0aWdub3JlL3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0LmNmZy5leGFtcGxlOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdC5weTogQWRk
ZWQuCisgICAgICAgIChzZXR1cF93cHRydW5uZXJfbG9nZ2luZyk6CisgICAgICAgIChSZXN1bHRI
YW5kbGVyKToKKyAgICAgICAgKFJlc3VsdEhhbmRsZXIuX19pbml0X18pOgorICAgICAgICAoUmVz
dWx0SGFuZGxlci5zZXRfcHJvZHVjdCk6CisgICAgICAgIChSZXN1bHRIYW5kbGVyLl9fY2FsbF9f
KToKKyAgICAgICAgKHRlc3Rfc2V0dGluZ3MpOgorICAgICAgICAocmVhZF9jb25maWcpOgorICAg
ICAgICAocnVuX3Rlc3RzKToKKyAgICAgICAgKHNldHRpbmdzX3RvX2FyZ3YpOgorICAgICAgICAo
c2V0X2Zyb21fYXJncyk6CisgICAgICAgIChydW4pOgorICAgICAgICAoZ2V0X3BhcnNlcik6Cisg
ICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
cmVmdGVzdC9ncmVlbi1yZWYtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4t
cmVmLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0Lmh0dHBzLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9hbmRfZmFpbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X2FuZF9mYWlsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWxfMC1yZWYt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVz
dF9jeWNsZV8wLXJlZi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5
Y2xlXzAtcmVmLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMS1yZWYtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV8xLXJlZi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWwtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfY3ljbGVfZmFpbF8wLXJlZi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X2N5Y2xlX2ZhaWxfMC1yZWYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9t
YXRjaC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoX2ZhaWwuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9taXNtYXRjaC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X21pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9vcl8wLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS9yZWZ0ZXN0L3JlZnRlc3Rfb3JfMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3Jl
Zl90aW1lb3V0LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfcmVmX3Rp
bWVvdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF90aW1lb3V0LWV4cGVjdGVkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X3dhaXRfMC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0
ZXN0X3dhaXRfMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC93M2MtaW1wb3J0LmxvZzogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3Rlc3RfcHJlZl9pbmhlcml0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90
ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfcmVzZXQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3czYy1pbXBvcnQubG9nOiBDb3Bp
ZWQgZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3BlcmZvcm1hbmNlL3czYy1pbXBvcnQubG9nLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90
ZXN0aGFybmVzcy9maXJlZm94L3Rlc3RfcHJlZl9kaXIuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJu
ZXNzL2ZpcmVmb3gvdGVzdF9wcmVmX3NldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmly
ZWZveC93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvdzNjLWltcG9ydC5sb2cuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rl
c3RoYXJuZXNzL3N1YmRpci90ZXN0aGFybmVzc18xLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVz
cy9zdWJkaXIvdzNjLWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2ltZy93M2MtaW1wb3J0LmxvZy4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3MuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJu
ZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNz
X2Vycm9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc19sb25nX3RpbWVv
dXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVvdXQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdzNjLWltcG9ydC5sb2c6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvc2FuaXRpemVyL3czYy1pbXBvcnQu
bG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdG94Lmlu
aTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIuZGVmYXVsdC5pbmk6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL19faW5pdF9fLnB5OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci9icm93c2Vycy9fX2luaXRfXy5weTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYjJnX3NldHVwL2NlcnR0ZXN0
X2FwcC56aXA6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2IyZ19zZXR1cC93M2MtaW1wb3J0LmxvZzogQ29waWVk
IGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eS9kb2MvaW1nL3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2Jhc2UucHk6IEFkZGVkLgorICAgICAg
ICAoY21kX2FyZyk6CisgICAgICAgIChnZXRfZnJlZV9wb3J0KToKKyAgICAgICAgKGJyb3dzZXJf
Y29tbWFuZCk6CisgICAgICAgIChCcm93c2VyRXJyb3IpOgorICAgICAgICAoQnJvd3Nlcik6Cisg
ICAgICAgIChCcm93c2VyLl9faW5pdF9fKToKKyAgICAgICAgKEJyb3dzZXIuX19pbml0X18uc2Vy
dmluZyk6CisgICAgICAgIChCcm93c2VyLl9faW5pdF9fLmFsc28pOgorICAgICAgICAoQnJvd3Nl
ci5fX2VudGVyX18pOgorICAgICAgICAoQnJvd3Nlci5fX2V4aXRfXyk6CisgICAgICAgIChCcm93
c2VyLnNldHVwKToKKyAgICAgICAgKEJyb3dzZXIuc3RhcnQpOgorICAgICAgICAoQnJvd3Nlci5z
dG9wKToKKyAgICAgICAgKEJyb3dzZXIucGlkKToKKyAgICAgICAgKEJyb3dzZXIuaXNfYWxpdmUp
OgorICAgICAgICAoQnJvd3Nlci5zZXR1cF9zc2wpOgorICAgICAgICAoQnJvd3Nlci5jbGVhbnVw
KToKKyAgICAgICAgKEJyb3dzZXIuZXhlY3V0b3JfYnJvd3Nlcik6CisgICAgICAgIChCcm93c2Vy
LmV4ZWN1dG9yX2Jyb3dzZXIuZm9yKToKKyAgICAgICAgKEJyb3dzZXIubG9nX2NyYXNoKToKKyAg
ICAgICAgKE51bGxCcm93c2VyKToKKyAgICAgICAgKE51bGxCcm93c2VyLl9faW5pdF9fKToKKyAg
ICAgICAgKE51bGxCcm93c2VyLnN0YXJ0KToKKyAgICAgICAgKE51bGxCcm93c2VyLnN0b3ApOgor
ICAgICAgICAoTnVsbEJyb3dzZXIucGlkKToKKyAgICAgICAgKE51bGxCcm93c2VyLmlzX2FsaXZl
KToKKyAgICAgICAgKE51bGxCcm93c2VyLm9uX291dHB1dCk6CisgICAgICAgIChFeGVjdXRvckJy
b3dzZXIpOgorICAgICAgICAoRXhlY3V0b3JCcm93c2VyLl9faW5pdF9fKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9jaHJv
bWUucHk6IEFkZGVkLgorICAgICAgICAoY2hlY2tfYXJncyk6CisgICAgICAgIChicm93c2VyX2t3
YXJncyk6CisgICAgICAgIChleGVjdXRvcl9rd2FyZ3MpOgorICAgICAgICAoZW52X2V4dHJhcyk6
CisgICAgICAgIChlbnZfb3B0aW9ucyk6CisgICAgICAgIChDaHJvbWVCcm93c2VyKToKKyAgICAg
ICAgKENocm9tZUJyb3dzZXIuX19pbml0X18pOgorICAgICAgICAoQ2hyb21lQnJvd3Nlci5zdGFy
dCk6CisgICAgICAgIChDaHJvbWVCcm93c2VyLnN0b3ApOgorICAgICAgICAoQ2hyb21lQnJvd3Nl
ci5waWQpOgorICAgICAgICAoQ2hyb21lQnJvd3Nlci5pc19hbGl2ZSk6CisgICAgICAgIChDaHJv
bWVCcm93c2VyLmNsZWFudXApOgorICAgICAgICAoQ2hyb21lQnJvd3Nlci5leGVjdXRvcl9icm93
c2VyKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9icm93c2Vycy9lZGdlLnB5OiBBZGRlZC4KKyAgICAgICAgKGNoZWNrX2FyZ3MpOgorICAg
ICAgICAoYnJvd3Nlcl9rd2FyZ3MpOgorICAgICAgICAoZXhlY3V0b3Jfa3dhcmdzKToKKyAgICAg
ICAgKGVudl9leHRyYXMpOgorICAgICAgICAoZW52X29wdGlvbnMpOgorICAgICAgICAoRWRnZUJy
b3dzZXIpOgorICAgICAgICAoRWRnZUJyb3dzZXIuX19pbml0X18pOgorICAgICAgICAoRWRnZUJy
b3dzZXIuc3RhcnQpOgorICAgICAgICAoRWRnZUJyb3dzZXIuc3RvcCk6CisgICAgICAgIChFZGdl
QnJvd3Nlci5waWQpOgorICAgICAgICAoRWRnZUJyb3dzZXIuaXNfYWxpdmUpOgorICAgICAgICAo
RWRnZUJyb3dzZXIuY2xlYW51cCk6CisgICAgICAgIChFZGdlQnJvd3Nlci5leGVjdXRvcl9icm93
c2VyKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9icm93c2Vycy9maXJlZm94LnB5OiBBZGRlZC4KKyAgICAgICAgKGNoZWNrX2FyZ3MpOgor
ICAgICAgICAoYnJvd3Nlcl9rd2FyZ3MpOgorICAgICAgICAoZXhlY3V0b3Jfa3dhcmdzKToKKyAg
ICAgICAgKGVudl9leHRyYXMpOgorICAgICAgICAoZW52X29wdGlvbnMpOgorICAgICAgICAocnVu
X2luZm9fZXh0cmFzKToKKyAgICAgICAgKHVwZGF0ZV9wcm9wZXJ0aWVzKToKKyAgICAgICAgKEZp
cmVmb3hCcm93c2VyKToKKyAgICAgICAgKEZpcmVmb3hCcm93c2VyLl9faW5pdF9fKToKKyAgICAg
ICAgKEZpcmVmb3hCcm93c2VyLnN0YXJ0KToKKyAgICAgICAgKEZpcmVmb3hCcm93c2VyLmxvYWRf
cHJlZnMpOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIuc3RvcCk6CisgICAgICAgIChGaXJlZm94
QnJvd3Nlci5waWQpOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIub25fb3V0cHV0KToKKyAgICAg
ICAgKEZpcmVmb3hCcm93c2VyLmlzX2FsaXZlKToKKyAgICAgICAgKEZpcmVmb3hCcm93c2VyLmNs
ZWFudXApOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIuZXhlY3V0b3JfYnJvd3Nlcik6CisgICAg
ICAgIChGaXJlZm94QnJvd3Nlci5sb2dfY3Jhc2gpOgorICAgICAgICAoRmlyZWZveEJyb3dzZXIu
c2V0dXBfc3NsKToKKyAgICAgICAgKEZpcmVmb3hCcm93c2VyLnNldHVwX3NzbC5jZXJ0dXRpbCk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
YnJvd3NlcnMvc2F1Y2UucHk6IEFkZGVkLgorICAgICAgICAoZ2V0X2NhcGFiaWxpdGllcyk6Cisg
ICAgICAgIChnZXRfc2F1Y2VfY29uZmlnKToKKyAgICAgICAgKGNoZWNrX2FyZ3MpOgorICAgICAg
ICAoYnJvd3Nlcl9rd2FyZ3MpOgorICAgICAgICAoZXhlY3V0b3Jfa3dhcmdzKToKKyAgICAgICAg
KGVudl9leHRyYXMpOgorICAgICAgICAoZW52X29wdGlvbnMpOgorICAgICAgICAoZ2V0X3Rhcik6
CisgICAgICAgIChTYXVjZUNvbm5lY3QpOgorICAgICAgICAoU2F1Y2VDb25uZWN0Ll9faW5pdF9f
KToKKyAgICAgICAgKFNhdWNlQ29ubmVjdC5fX2VudGVyX18pOgorICAgICAgICAoU2F1Y2VDb25u
ZWN0Ll9fZXhpdF9fKToKKyAgICAgICAgKFNhdWNlQ29ubmVjdC51cGxvYWRfcHJlcnVuX2V4ZWMp
OgorICAgICAgICAoU2F1Y2VFeGNlcHRpb24pOgorICAgICAgICAoU2F1Y2VCcm93c2VyKToKKyAg
ICAgICAgKFNhdWNlQnJvd3Nlci5fX2luaXRfXyk6CisgICAgICAgIChTYXVjZUJyb3dzZXIuc3Rh
cnQpOgorICAgICAgICAoU2F1Y2VCcm93c2VyLnN0b3ApOgorICAgICAgICAoU2F1Y2VCcm93c2Vy
LnBpZCk6CisgICAgICAgIChTYXVjZUJyb3dzZXIuaXNfYWxpdmUpOgorICAgICAgICAoU2F1Y2VC
cm93c2VyLmNsZWFudXApOgorICAgICAgICAoU2F1Y2VCcm93c2VyLmV4ZWN1dG9yX2Jyb3dzZXIp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2Jyb3dzZXJzL3NhdWNlX3NldHVwL2VkZ2UtcHJlcnVuLmJhdDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1
Y2Vfc2V0dXAvc2FmYXJpLXByZXJ1bi5zaDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0dXAvdzNj
LWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL3Rlc3RzL3czYy1pbXBvcnQubG9nLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJz
L3NlcnZlci1sb2NhdGlvbnMudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zZXJ2by5weTogQWRkZWQuCisg
ICAgICAgIChjaGVja19hcmdzKToKKyAgICAgICAgKGJyb3dzZXJfa3dhcmdzKToKKyAgICAgICAg
KGV4ZWN1dG9yX2t3YXJncyk6CisgICAgICAgIChlbnZfZXh0cmFzKToKKyAgICAgICAgKGVudl9v
cHRpb25zKToKKyAgICAgICAgKHVwZGF0ZV9wcm9wZXJ0aWVzKToKKyAgICAgICAgKFNlcnZvQnJv
d3Nlcik6CisgICAgICAgIChTZXJ2b0Jyb3dzZXIuX19pbml0X18pOgorICAgICAgICAoU2Vydm9C
cm93c2VyLmV4ZWN1dG9yX2Jyb3dzZXIpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NlcnZvZHJpdmVyLnB5OiBBZGRlZC4K
KyAgICAgICAgKGNoZWNrX2FyZ3MpOgorICAgICAgICAoYnJvd3Nlcl9rd2FyZ3MpOgorICAgICAg
ICAoZXhlY3V0b3Jfa3dhcmdzKToKKyAgICAgICAgKGVudl9leHRyYXMpOgorICAgICAgICAoZW52
X29wdGlvbnMpOgorICAgICAgICAodXBkYXRlX3Byb3BlcnRpZXMpOgorICAgICAgICAobWFrZV9o
b3N0c19maWxlKToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyQnJvd3Nlcik6CisgICAgICAgIChT
ZXJ2b1dlYkRyaXZlckJyb3dzZXIuX19pbml0X18pOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJC
cm93c2VyLnN0YXJ0KToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyQnJvd3Nlci5zdG9wKToKKyAg
ICAgICAgKFNlcnZvV2ViRHJpdmVyQnJvd3Nlci5waWQpOgorICAgICAgICAoU2Vydm9XZWJEcml2
ZXJCcm93c2VyLm9uX291dHB1dCk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlckJyb3dzZXIuaXNf
YWxpdmUpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJCcm93c2VyLmNsZWFudXApOgorICAgICAg
ICAoU2Vydm9XZWJEcml2ZXJCcm93c2VyLmV4ZWN1dG9yX2Jyb3dzZXIpOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3czYy1p
bXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9jb25maWcuanNvbjogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvY29uZmlnLnB5OiBBZGRlZC4KKyAg
ICAgICAgKENvbmZpZ0RpY3QpOgorICAgICAgICAoQ29uZmlnRGljdC5fX2luaXRfXyk6CisgICAg
ICAgIChDb25maWdEaWN0LmdldF9wYXRoKToKKyAgICAgICAgKHJlYWQpOgorICAgICAgICAocGF0
aCk6CisgICAgICAgIChsb2FkKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9lbnZpcm9ubWVudC5weTogQWRkZWQuCisgICAgICAgIChkb19k
ZWxheWVkX2ltcG9ydHMpOgorICAgICAgICAoc2VydmVfcGF0aCk6CisgICAgICAgIChnZXRfc3Ns
X2t3YXJncyk6CisgICAgICAgIChzc2xfZW52KToKKyAgICAgICAgKFRlc3RFbnZpcm9ubWVudEVy
cm9yKToKKyAgICAgICAgKFRlc3RFbnZpcm9ubWVudCk6CisgICAgICAgIChUZXN0RW52aXJvbm1l
bnQuX19pbml0X18pOgorICAgICAgICAoVGVzdEVudmlyb25tZW50Ll9fZW50ZXJfXyk6CisgICAg
ICAgIChUZXN0RW52aXJvbm1lbnQuX19leGl0X18pOgorICAgICAgICAoVGVzdEVudmlyb25tZW50
Lmlnbm9yZV9pbnRlcnJ1cHRzKToKKyAgICAgICAgKFRlc3RFbnZpcm9ubWVudC5wcm9jZXNzX2lu
dGVycnVwdHMpOgorICAgICAgICAoVGVzdEVudmlyb25tZW50LmxvYWRfY29uZmlnKToKKyAgICAg
ICAgKFRlc3RFbnZpcm9ubWVudC5zZXR1cF9zZXJ2ZXJfbG9nZ2luZyk6CisgICAgICAgIChUZXN0
RW52aXJvbm1lbnQuZ2V0X3JvdXRlcyk6CisgICAgICAgIChUZXN0RW52aXJvbm1lbnQuZW5zdXJl
X3N0YXJ0ZWQpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2V4ZWN1dG9ycy9fX2luaXRfXy5weTogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2Jhc2UucHk6
IEFkZGVkLgorICAgICAgICAoZXhlY3V0b3Jfa3dhcmdzKToKKyAgICAgICAgKHN0cmlwX3NlcnZl
cik6CisgICAgICAgIChUZXN0aGFybmVzc1Jlc3VsdENvbnZlcnRlcik6CisgICAgICAgIChUZXN0
aGFybmVzc1Jlc3VsdENvbnZlcnRlci5fX2NhbGxfXyk6CisgICAgICAgIChyZWZ0ZXN0X3Jlc3Vs
dF9jb252ZXJ0ZXIpOgorICAgICAgICAocHl0ZXN0X3Jlc3VsdF9jb252ZXJ0ZXIpOgorICAgICAg
ICAoRXhlY3V0b3JFeGNlcHRpb24pOgorICAgICAgICAoRXhlY3V0b3JFeGNlcHRpb24uX19pbml0
X18pOgorICAgICAgICAoVGVzdEV4ZWN1dG9yKToKKyAgICAgICAgKFRlc3RFeGVjdXRvci5fX2lu
aXRfXyk6CisgICAgICAgIChUZXN0RXhlY3V0b3IuX19pbml0X18uZm9yKToKKyAgICAgICAgKFRl
c3RFeGVjdXRvci5sb2dnZXIpOgorICAgICAgICAoVGVzdEV4ZWN1dG9yLnNldHVwKToKKyAgICAg
ICAgKFRlc3RFeGVjdXRvci50ZWFyZG93bik6CisgICAgICAgIChUZXN0RXhlY3V0b3IucnVuX3Rl
c3QpOgorICAgICAgICAoVGVzdEV4ZWN1dG9yLnNlcnZlcl91cmwpOgorICAgICAgICAoVGVzdEV4
ZWN1dG9yLnRlc3RfdXJsKToKKyAgICAgICAgKFRlc3RFeGVjdXRvci5kb190ZXN0KToKKyAgICAg
ICAgKFRlc3RFeGVjdXRvci5vbl9lbnZpcm9ubWVudF9jaGFuZ2UpOgorICAgICAgICAoVGVzdEV4
ZWN1dG9yLnJlc3VsdF9mcm9tX2V4Y2VwdGlvbik6CisgICAgICAgIChUZXN0aGFybmVzc0V4ZWN1
dG9yKToKKyAgICAgICAgKFJlZlRlc3RFeGVjdXRvcik6CisgICAgICAgIChSZWZUZXN0RXhlY3V0
b3IuX19pbml0X18pOgorICAgICAgICAoUmVmVGVzdEltcGxlbWVudGF0aW9uKToKKyAgICAgICAg
KFJlZlRlc3RJbXBsZW1lbnRhdGlvbi5fX2luaXRfXyk6CisgICAgICAgIChSZWZUZXN0SW1wbGVt
ZW50YXRpb24ubG9nZ2VyKToKKyAgICAgICAgKFJlZlRlc3RJbXBsZW1lbnRhdGlvbi5nZXRfaGFz
aCk6CisgICAgICAgIChSZWZUZXN0SW1wbGVtZW50YXRpb24uaXNfcGFzcyk6CisgICAgICAgIChS
ZWZUZXN0SW1wbGVtZW50YXRpb24ucnVuX3Rlc3QpOgorICAgICAgICAoUmVmVGVzdEltcGxlbWVu
dGF0aW9uLnJldGFrZV9zY3JlZW5zaG90KToKKyAgICAgICAgKFdkc3BlY0V4ZWN1dG9yKToKKyAg
ICAgICAgKFByb3RvY29sKToKKyAgICAgICAgKFByb3RvY29sLl9faW5pdF9fKToKKyAgICAgICAg
KFByb3RvY29sLmxvZ2dlcik6CisgICAgICAgIChQcm90b2NvbC5zZXR1cCk6CisgICAgICAgIChQ
cm90b2NvbC50ZWFyZG93bik6CisgICAgICAgIChQcm90b2NvbC53YWl0KToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhl
Y3V0b3JtYXJpb25ldHRlLnB5OiBBZGRlZC4KKyAgICAgICAgKGRvX2RlbGF5ZWRfaW1wb3J0cyk6
CisgICAgICAgIChNYXJpb25ldHRlUHJvdG9jb2wpOgorICAgICAgICAoTWFyaW9uZXR0ZVByb3Rv
Y29sLl9faW5pdF9fKToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC5zZXR1cCk6CisgICAg
ICAgIChNYXJpb25ldHRlUHJvdG9jb2wudGVhcmRvd24pOgorICAgICAgICAoTWFyaW9uZXR0ZVBy
b3RvY29sLmlzX2FsaXZlKToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC5hZnRlcl9jb25u
ZWN0KToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC5zZXRfdGltZW91dCk6CisgICAgICAg
IChNYXJpb25ldHRlUHJvdG9jb2wubG9hZF9ydW5uZXIpOgorICAgICAgICAoTWFyaW9uZXR0ZVBy
b3RvY29sLmNsb3NlX29sZF93aW5kb3dzKToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC53
YWl0KToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC5vbl9lbnZpcm9ubWVudF9jaGFuZ2Up
OgorICAgICAgICAoTWFyaW9uZXR0ZVByb3RvY29sLnNldF9wcmVmKToKKyAgICAgICAgKE1hcmlv
bmV0dGVQcm90b2NvbC5jbGVhcl91c2VyX3ByZWYpOgorICAgICAgICAoTWFyaW9uZXR0ZVByb3Rv
Y29sLmdldF9wcmVmKToKKyAgICAgICAgKE1hcmlvbmV0dGVQcm90b2NvbC5jbGVhcl9vcmlnaW4p
OgorICAgICAgICAoUmVtb3RlTWFyaW9uZXR0ZVByb3RvY29sKToKKyAgICAgICAgKFJlbW90ZU1h
cmlvbmV0dGVQcm90b2NvbC5fX2luaXRfXyk6CisgICAgICAgIChSZW1vdGVNYXJpb25ldHRlUHJv
dG9jb2wuc2V0dXApOgorICAgICAgICAoUmVtb3RlTWFyaW9uZXR0ZVByb3RvY29sLnRlYXJkb3du
KToKKyAgICAgICAgKFJlbW90ZU1hcmlvbmV0dGVQcm90b2NvbC5pc19hbGl2ZSk6CisgICAgICAg
IChFeGVjdXRlQXN5bmNTY3JpcHRSdW4pOgorICAgICAgICAoRXhlY3V0ZUFzeW5jU2NyaXB0UnVu
Ll9faW5pdF9fKToKKyAgICAgICAgKEV4ZWN1dGVBc3luY1NjcmlwdFJ1bi5ydW4pOgorICAgICAg
ICAoRXhlY3V0ZUFzeW5jU2NyaXB0UnVuLl9ydW4pOgorICAgICAgICAoTWFyaW9uZXR0ZVRlc3Ro
YXJuZXNzRXhlY3V0b3IpOgorICAgICAgICAoTWFyaW9uZXR0ZVRlc3RoYXJuZXNzRXhlY3V0b3Iu
X19pbml0X18pOgorICAgICAgICAoTWFyaW9uZXR0ZVRlc3RoYXJuZXNzRXhlY3V0b3IuaXNfYWxp
dmUpOgorICAgICAgICAoTWFyaW9uZXR0ZVRlc3RoYXJuZXNzRXhlY3V0b3Iub25fZW52aXJvbm1l
bnRfY2hhbmdlKToKKyAgICAgICAgKE1hcmlvbmV0dGVUZXN0aGFybmVzc0V4ZWN1dG9yLmRvX3Rl
c3QpOgorICAgICAgICAoTWFyaW9uZXR0ZVRlc3RoYXJuZXNzRXhlY3V0b3IuZG9fdGVzdGhhcm5l
c3MpOgorICAgICAgICAoTWFyaW9uZXR0ZVJlZlRlc3RFeGVjdXRvcik6CisgICAgICAgIChNYXJp
b25ldHRlUmVmVGVzdEV4ZWN1dG9yLl9faW5pdF9fKToKKyAgICAgICAgKE1hcmlvbmV0dGVSZWZU
ZXN0RXhlY3V0b3IuaXNfYWxpdmUpOgorICAgICAgICAoTWFyaW9uZXR0ZVJlZlRlc3RFeGVjdXRv
ci5vbl9lbnZpcm9ubWVudF9jaGFuZ2UpOgorICAgICAgICAoTWFyaW9uZXR0ZVJlZlRlc3RFeGVj
dXRvci5kb190ZXN0KToKKyAgICAgICAgKE1hcmlvbmV0dGVSZWZUZXN0RXhlY3V0b3Iuc2NyZWVu
c2hvdCk6CisgICAgICAgIChNYXJpb25ldHRlUmVmVGVzdEV4ZWN1dG9yLl9zY3JlZW5zaG90KToK
KyAgICAgICAgKFdkc3BlY1J1bik6CisgICAgICAgIChXZHNwZWNSdW4uX19pbml0X18pOgorICAg
ICAgICAoV2RzcGVjUnVuLnJ1bik6CisgICAgICAgIChXZHNwZWNSdW4uX3J1bik6CisgICAgICAg
IChNYXJpb25ldHRlV2RzcGVjRXhlY3V0b3IpOgorICAgICAgICAoTWFyaW9uZXR0ZVdkc3BlY0V4
ZWN1dG9yLl9faW5pdF9fKToKKyAgICAgICAgKE1hcmlvbmV0dGVXZHNwZWNFeGVjdXRvci5pc19h
bGl2ZSk6CisgICAgICAgIChNYXJpb25ldHRlV2RzcGVjRXhlY3V0b3Iub25fZW52aXJvbm1lbnRf
Y2hhbmdlKToKKyAgICAgICAgKE1hcmlvbmV0dGVXZHNwZWNFeGVjdXRvci5kb190ZXN0KToKKyAg
ICAgICAgKE1hcmlvbmV0dGVXZHNwZWNFeGVjdXRvci5kb193ZHNwZWMpOgorICAgICAgICAoTWFy
aW9uZXR0ZVdkc3BlY0V4ZWN1dG9yLmRvX2RlbGF5ZWRfaW1wb3J0cyk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1
dG9yc2VsZW5pdW0ucHk6IEFkZGVkLgorICAgICAgICAoZG9fZGVsYXllZF9pbXBvcnRzKToKKyAg
ICAgICAgKFNlbGVuaXVtUHJvdG9jb2wpOgorICAgICAgICAoU2VsZW5pdW1Qcm90b2NvbC5fX2lu
aXRfXyk6CisgICAgICAgIChTZWxlbml1bVByb3RvY29sLnNldHVwKToKKyAgICAgICAgKFNlbGVu
aXVtUHJvdG9jb2wudGVhcmRvd24pOgorICAgICAgICAoU2VsZW5pdW1Qcm90b2NvbC5pc19hbGl2
ZSk6CisgICAgICAgIChTZWxlbml1bVByb3RvY29sLmFmdGVyX2Nvbm5lY3QpOgorICAgICAgICAo
U2VsZW5pdW1Qcm90b2NvbC5sb2FkX3J1bm5lcik6CisgICAgICAgIChTZWxlbml1bVByb3RvY29s
LndhaXQpOgorICAgICAgICAoU2VsZW5pdW1SdW4pOgorICAgICAgICAoU2VsZW5pdW1SdW4uX19p
bml0X18pOgorICAgICAgICAoU2VsZW5pdW1SdW4ucnVuKToKKyAgICAgICAgKFNlbGVuaXVtUnVu
Ll9ydW4pOgorICAgICAgICAoU2VsZW5pdW1UZXN0aGFybmVzc0V4ZWN1dG9yKToKKyAgICAgICAg
KFNlbGVuaXVtVGVzdGhhcm5lc3NFeGVjdXRvci5fX2luaXRfXyk6CisgICAgICAgIChTZWxlbml1
bVRlc3RoYXJuZXNzRXhlY3V0b3IuaXNfYWxpdmUpOgorICAgICAgICAoU2VsZW5pdW1UZXN0aGFy
bmVzc0V4ZWN1dG9yLm9uX2Vudmlyb25tZW50X2NoYW5nZSk6CisgICAgICAgIChTZWxlbml1bVRl
c3RoYXJuZXNzRXhlY3V0b3IuZG9fdGVzdCk6CisgICAgICAgIChTZWxlbml1bVRlc3RoYXJuZXNz
RXhlY3V0b3IuZG9fdGVzdGhhcm5lc3MpOgorICAgICAgICAoU2VsZW5pdW1SZWZUZXN0RXhlY3V0
b3IpOgorICAgICAgICAoU2VsZW5pdW1SZWZUZXN0RXhlY3V0b3IuX19pbml0X18pOgorICAgICAg
ICAoU2VsZW5pdW1SZWZUZXN0RXhlY3V0b3IuaXNfYWxpdmUpOgorICAgICAgICAoU2VsZW5pdW1S
ZWZUZXN0RXhlY3V0b3IuZG9fdGVzdCk6CisgICAgICAgIChTZWxlbml1bVJlZlRlc3RFeGVjdXRv
ci5zY3JlZW5zaG90KToKKyAgICAgICAgKFNlbGVuaXVtUmVmVGVzdEV4ZWN1dG9yLl9zY3JlZW5z
aG90KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZXJ2by5weTogQWRkZWQuCisgICAgICAgIChtYWtlX2hv
c3RzX2ZpbGUpOgorICAgICAgICAoU2Vydm9UZXN0aGFybmVzc0V4ZWN1dG9yKToKKyAgICAgICAg
KFNlcnZvVGVzdGhhcm5lc3NFeGVjdXRvci5fX2luaXRfXyk6CisgICAgICAgIChTZXJ2b1Rlc3Ro
YXJuZXNzRXhlY3V0b3IudGVhcmRvd24pOgorICAgICAgICAoU2Vydm9UZXN0aGFybmVzc0V4ZWN1
dG9yLmRvX3Rlc3QpOgorICAgICAgICAoU2Vydm9UZXN0aGFybmVzc0V4ZWN1dG9yLm9uX291dHB1
dCk6CisgICAgICAgIChTZXJ2b1Rlc3RoYXJuZXNzRXhlY3V0b3Iub25fZmluaXNoKToKKyAgICAg
ICAgKFRlbXBGaWxlbmFtZSk6CisgICAgICAgIChUZW1wRmlsZW5hbWUuX19pbml0X18pOgorICAg
ICAgICAoVGVtcEZpbGVuYW1lLl9fZW50ZXJfXyk6CisgICAgICAgIChUZW1wRmlsZW5hbWUuX19l
eGl0X18pOgorICAgICAgICAoU2Vydm9SZWZUZXN0RXhlY3V0b3IpOgorICAgICAgICAoU2Vydm9S
ZWZUZXN0RXhlY3V0b3IuX19pbml0X18pOgorICAgICAgICAoU2Vydm9SZWZUZXN0RXhlY3V0b3Iu
dGVhcmRvd24pOgorICAgICAgICAoU2Vydm9SZWZUZXN0RXhlY3V0b3Iuc2NyZWVuc2hvdCk6Cisg
ICAgICAgIChTZXJ2b1JlZlRlc3RFeGVjdXRvci5kb190ZXN0KToKKyAgICAgICAgKFNlcnZvUmVm
VGVzdEV4ZWN1dG9yLm9uX291dHB1dCk6CisgICAgICAgIChTZXJ2b1dkc3BlY1Byb3RvY29sKToK
KyAgICAgICAgKFNlcnZvV2RzcGVjUHJvdG9jb2wuX19pbml0X18pOgorICAgICAgICAoU2Vydm9X
ZHNwZWNQcm90b2NvbC5zZXR1cCk6CisgICAgICAgIChTZXJ2b1dkc3BlY1Byb3RvY29sLnRlYXJk
b3duKToKKyAgICAgICAgKFNlcnZvV2RzcGVjUHJvdG9jb2wuaXNfYWxpdmUpOgorICAgICAgICAo
U2Vydm9XZHNwZWNQcm90b2NvbC5kb19kZWxheWVkX2ltcG9ydHMpOgorICAgICAgICAoU2Vydm9X
ZHNwZWNFeGVjdXRvcik6CisgICAgICAgIChTZXJ2b1dkc3BlY0V4ZWN1dG9yLl9faW5pdF9fKToK
KyAgICAgICAgKFNlcnZvV2RzcGVjRXhlY3V0b3IuaXNfYWxpdmUpOgorICAgICAgICAoU2Vydm9X
ZHNwZWNFeGVjdXRvci5vbl9lbnZpcm9ubWVudF9jaGFuZ2UpOgorICAgICAgICAoU2Vydm9XZHNw
ZWNFeGVjdXRvci5kb190ZXN0KToKKyAgICAgICAgKFNlcnZvV2RzcGVjRXhlY3V0b3IuZG9fd2Rz
cGVjKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZXJ2b2RyaXZlci5weTogQWRkZWQuCisgICAgICAgIChk
b19kZWxheWVkX2ltcG9ydHMpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJQcm90b2NvbCk6Cisg
ICAgICAgIChTZXJ2b1dlYkRyaXZlclByb3RvY29sLl9faW5pdF9fKToKKyAgICAgICAgKFNlcnZv
V2ViRHJpdmVyUHJvdG9jb2wuc2V0dXApOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJQcm90b2Nv
bC50ZWFyZG93bik6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclByb3RvY29sLmlzX2FsaXZlKToK
KyAgICAgICAgKFNlcnZvV2ViRHJpdmVyUHJvdG9jb2wuYWZ0ZXJfY29ubmVjdCk6CisgICAgICAg
IChTZXJ2b1dlYkRyaXZlclByb3RvY29sLndhaXQpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJQ
cm90b2NvbC5vbl9lbnZpcm9ubWVudF9jaGFuZ2UpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJS
dW4pOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJSdW4uX19pbml0X18pOgorICAgICAgICAoU2Vy
dm9XZWJEcml2ZXJSdW4ucnVuKToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyUnVuLl9ydW4pOgor
ICAgICAgICAodGltZW91dF9mdW5jKToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyVGVzdGhhcm5l
c3NFeGVjdXRvcik6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3Iu
X19pbml0X18pOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJUZXN0aGFybmVzc0V4ZWN1dG9yLm9u
X3Byb3RvY29sX2NoYW5nZSk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclRlc3RoYXJuZXNzRXhl
Y3V0b3IuaXNfYWxpdmUpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJUZXN0aGFybmVzc0V4ZWN1
dG9yLmRvX3Rlc3QpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJUZXN0aGFybmVzc0V4ZWN1dG9y
LmRvX3Rlc3RoYXJuZXNzKToKKyAgICAgICAgKFRpbWVvdXRFcnJvcik6CisgICAgICAgIChTZXJ2
b1dlYkRyaXZlclJlZlRlc3RFeGVjdXRvcik6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclJlZlRl
c3RFeGVjdXRvci5fX2luaXRfXyk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclJlZlRlc3RFeGVj
dXRvci5pc19hbGl2ZSk6CisgICAgICAgIChTZXJ2b1dlYkRyaXZlclJlZlRlc3RFeGVjdXRvci5k
b190ZXN0KToKKyAgICAgICAgKFNlcnZvV2ViRHJpdmVyUmVmVGVzdEV4ZWN1dG9yLnNjcmVlbnNo
b3QpOgorICAgICAgICAoU2Vydm9XZWJEcml2ZXJSZWZUZXN0RXhlY3V0b3IuX3NjcmVlbnNob3Qp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy9wcm9jZXNzLnB5OiBBZGRlZC4KKyAgICAgICAgKFByb2Nlc3NUZXN0RXhlY3V0
b3IpOgorICAgICAgICAoUHJvY2Vzc1Rlc3RFeGVjdXRvci5fX2luaXRfXyk6CisgICAgICAgIChQ
cm9jZXNzVGVzdEV4ZWN1dG9yLnNldHVwKToKKyAgICAgICAgKFByb2Nlc3NUZXN0RXhlY3V0b3Iu
aXNfYWxpdmUpOgorICAgICAgICAoUHJvY2Vzc1Rlc3RFeGVjdXRvci5kb190ZXN0KToKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRv
cnMvcHl0ZXN0cnVubmVyL19faW5pdF9fLnB5OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVy
L3J1bm5lci5weTogQWRkZWQuCisgICAgICAgIChkb19kZWxheWVkX2ltcG9ydHMpOgorICAgICAg
ICAocnVuKToKKyAgICAgICAgKFN1YnRlc3RSZXN1bHRSZWNvcmRlcik6CisgICAgICAgIChTdWJ0
ZXN0UmVzdWx0UmVjb3JkZXIuX19pbml0X18pOgorICAgICAgICAoU3VidGVzdFJlc3VsdFJlY29y
ZGVyLnB5dGVzdF9ydW50ZXN0X2xvZ3JlcG9ydCk6CisgICAgICAgIChTdWJ0ZXN0UmVzdWx0UmVj
b3JkZXIucmVjb3JkX3Bhc3MpOgorICAgICAgICAoU3VidGVzdFJlc3VsdFJlY29yZGVyLnJlY29y
ZF9mYWlsKToKKyAgICAgICAgKFN1YnRlc3RSZXN1bHRSZWNvcmRlci5yZWNvcmRfZXJyb3IpOgor
ICAgICAgICAoU3VidGVzdFJlc3VsdFJlY29yZGVyLnJlY29yZF9za2lwKToKKyAgICAgICAgKFN1
YnRlc3RSZXN1bHRSZWNvcmRlci5yZWNvcmQpOgorICAgICAgICAoVGVtcG9yYXJ5RGlyZWN0b3J5
KToKKyAgICAgICAgKFRlbXBvcmFyeURpcmVjdG9yeS5fX2VudGVyX18pOgorICAgICAgICAoVGVt
cG9yYXJ5RGlyZWN0b3J5Ll9fZXhpdF9fKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVyL3czYy1pbXBv
cnQubG9nOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2dpdGlnbm9yZS93M2MtaW1wb3J0LmxvZy4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13
YWl0LmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXRfc2Vy
dm9kcml2ZXIuanM6IEFkZGVkLgorICAgICAgICAoY2hlY2tfZG9uZSk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3JlZnRl
c3Qtd2FpdF93ZWJkcml2ZXIuanM6IEFkZGVkLgorICAgICAgICAodGVzdCk6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Jl
ZnRlc3QuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy90ZXN0aGFybmVzc19tYXJpb25ldHRlLmpzOiBBZGRl
ZC4KKyAgICAgICAgKGxpc3RlbmVyKToKKyAgICAgICAgKHRpbWVvdXQucy50aW1lci5zZXRUaW1l
b3V0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3Nfc2Vydm9kcml2ZXIuanM6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9y
cy90ZXN0aGFybmVzc193ZWJkcml2ZXIuanM6IEFkZGVkLgorICAgICAgICAoZik6CisgICAgICAg
ICh0aW1lci5zZXRUaW1lb3V0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4cGVj
dGVkLnB5OiBBZGRlZC4KKyAgICAgICAgKGV4cGVjdGVkX3BhdGgpOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2hvc3RzLnB5OiBBZGRlZC4K
KyAgICAgICAgKEhvc3RzTGluZSk6CisgICAgICAgIChIb3N0c0xpbmUuX19pbml0X18pOgorICAg
ICAgICAoSG9zdHNMaW5lLmZyb21fc3RyaW5nKToKKyAgICAgICAgKEhvc3RzRmlsZSk6CisgICAg
ICAgIChIb3N0c0ZpbGUuX19pbml0X18pOgorICAgICAgICAoSG9zdHNGaWxlLnNldF9ob3N0KToK
KyAgICAgICAgKEhvc3RzRmlsZS5mcm9tX2ZpbGUpOgorICAgICAgICAoSG9zdHNGaWxlLnRvX3N0
cmluZyk6CisgICAgICAgIChIb3N0c0ZpbGUudG9fZmlsZSk6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3RleHBlY3RlZC5weTog
QWRkZWQuCisgICAgICAgIChkYXRhX2Nsc19nZXR0ZXIpOgorICAgICAgICAoYm9vbF9wcm9wKToK
KyAgICAgICAgKHRhZ3MpOgorICAgICAgICAocHJlZnMpOgorICAgICAgICAocHJlZnMudmFsdWUp
OgorICAgICAgICAoRXhwZWN0ZWRNYW5pZmVzdCk6CisgICAgICAgIChFeHBlY3RlZE1hbmlmZXN0
Ll9faW5pdF9fKToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QuYXBwZW5kKToKKyAgICAgICAg
KEV4cGVjdGVkTWFuaWZlc3QuX3JlbW92ZV9jaGlsZCk6CisgICAgICAgIChFeHBlY3RlZE1hbmlm
ZXN0LmdldF90ZXN0KToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QudXJsKToKKyAgICAgICAg
KEV4cGVjdGVkTWFuaWZlc3QuZGlzYWJsZWQpOgorICAgICAgICAoRXhwZWN0ZWRNYW5pZmVzdC5y
ZXN0YXJ0X2FmdGVyKToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QudGFncyk6CisgICAgICAg
IChFeHBlY3RlZE1hbmlmZXN0LnByZWZzKToKKyAgICAgICAgKERpcmVjdG9yeU1hbmlmZXN0KToK
KyAgICAgICAgKERpcmVjdG9yeU1hbmlmZXN0LmRpc2FibGVkKToKKyAgICAgICAgKERpcmVjdG9y
eU1hbmlmZXN0LnJlc3RhcnRfYWZ0ZXIpOgorICAgICAgICAoRGlyZWN0b3J5TWFuaWZlc3QudGFn
cyk6CisgICAgICAgIChEaXJlY3RvcnlNYW5pZmVzdC5wcmVmcyk6CisgICAgICAgIChUZXN0Tm9k
ZSk6CisgICAgICAgIChUZXN0Tm9kZS5fX2luaXRfXyk6CisgICAgICAgIChUZXN0Tm9kZS5pc19l
bXB0eSk6CisgICAgICAgIChUZXN0Tm9kZS50ZXN0X3R5cGUpOgorICAgICAgICAoVGVzdE5vZGUu
aWQpOgorICAgICAgICAoVGVzdE5vZGUuZGlzYWJsZWQpOgorICAgICAgICAoVGVzdE5vZGUucmVz
dGFydF9hZnRlcik6CisgICAgICAgIChUZXN0Tm9kZS50YWdzKToKKyAgICAgICAgKFRlc3ROb2Rl
LnByZWZzKToKKyAgICAgICAgKFRlc3ROb2RlLmFwcGVuZCk6CisgICAgICAgIChUZXN0Tm9kZS5n
ZXRfc3VidGVzdCk6CisgICAgICAgIChTdWJ0ZXN0Tm9kZSk6CisgICAgICAgIChTdWJ0ZXN0Tm9k
ZS5fX2luaXRfXyk6CisgICAgICAgIChTdWJ0ZXN0Tm9kZS5pc19lbXB0eSk6CisgICAgICAgIChn
ZXRfbWFuaWZlc3QpOgorICAgICAgICAoZ2V0X2Rpcl9tYW5pZmVzdCk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3RpbmNsdWRl
LnB5OiBBZGRlZC4KKyAgICAgICAgKEluY2x1ZGVNYW5pZmVzdCk6CisgICAgICAgIChJbmNsdWRl
TWFuaWZlc3QuX19pbml0X18pOgorICAgICAgICAoSW5jbHVkZU1hbmlmZXN0LmNyZWF0ZSk6Cisg
ICAgICAgIChJbmNsdWRlTWFuaWZlc3QuYXBwZW5kKToKKyAgICAgICAgKEluY2x1ZGVNYW5pZmVz
dC5pbmNsdWRlKToKKyAgICAgICAgKEluY2x1ZGVNYW5pZmVzdC5faW5jbHVkZSk6CisgICAgICAg
IChJbmNsdWRlTWFuaWZlc3QuX2dldF9jb21wb25lbnRzKToKKyAgICAgICAgKEluY2x1ZGVNYW5p
ZmVzdC5fYWRkX3J1bGUpOgorICAgICAgICAoSW5jbHVkZU1hbmlmZXN0LmFkZF9pbmNsdWRlKToK
KyAgICAgICAgKEluY2x1ZGVNYW5pZmVzdC5hZGRfZXhjbHVkZSk6CisgICAgICAgIChnZXRfbWFu
aWZlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL21hbmlmZXN0dXBkYXRlLnB5OiBBZGRlZC4KKyAgICAgICAgKENvbmRpdGlvbkVycm9y
KToKKyAgICAgICAgKGRhdGFfY2xzX2dldHRlcik6CisgICAgICAgIChFeHBlY3RlZE1hbmlmZXN0
KToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QuX19pbml0X18pOgorICAgICAgICAoRXhwZWN0
ZWRNYW5pZmVzdC5hcHBlbmQpOgorICAgICAgICAoRXhwZWN0ZWRNYW5pZmVzdC5fcmVtb3ZlX2No
aWxkKToKKyAgICAgICAgKEV4cGVjdGVkTWFuaWZlc3QuZ2V0X3Rlc3QpOgorICAgICAgICAoRXhw
ZWN0ZWRNYW5pZmVzdC5oYXNfdGVzdCk6CisgICAgICAgIChFeHBlY3RlZE1hbmlmZXN0LnVybCk6
CisgICAgICAgIChUZXN0Tm9kZSk6CisgICAgICAgIChUZXN0Tm9kZS5fX2luaXRfXyk6CisgICAg
ICAgIChUZXN0Tm9kZS5jcmVhdGUpOgorICAgICAgICAoVGVzdE5vZGUuaXNfZW1wdHkpOgorICAg
ICAgICAoVGVzdE5vZGUudGVzdF90eXBlKToKKyAgICAgICAgKFRlc3ROb2RlLmlkKToKKyAgICAg
ICAgKFRlc3ROb2RlLmRpc2FibGVkKToKKyAgICAgICAgKFRlc3ROb2RlLnNldF9yZXN1bHQpOgor
ICAgICAgICAoVGVzdE5vZGUuY29hbGVzY2VfZXhwZWN0ZWQpOgorICAgICAgICAoVGVzdE5vZGUu
X2FkZF9rZXlfdmFsdWUpOgorICAgICAgICAoVGVzdE5vZGUuY2xlYXJfZXhwZWN0ZWQpOgorICAg
ICAgICAoVGVzdE5vZGUuYXBwZW5kKToKKyAgICAgICAgKFRlc3ROb2RlLmdldF9zdWJ0ZXN0KToK
KyAgICAgICAgKFN1YnRlc3ROb2RlKToKKyAgICAgICAgKFN1YnRlc3ROb2RlLl9faW5pdF9fKToK
KyAgICAgICAgKFN1YnRlc3ROb2RlLmNyZWF0ZSk6CisgICAgICAgIChTdWJ0ZXN0Tm9kZS5pc19l
bXB0eSk6CisgICAgICAgIChncm91cF9jb25kaXRpb25hbHMpOgorICAgICAgICAobWFrZV9leHBy
KToKKyAgICAgICAgKGdldF9tYW5pZmVzdCk6CisgICAgICAgIChjb21waWxlKToKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tZXRhZGF0YS5w
eTogQWRkZWQuCisgICAgICAgIChsb2FkX3Rlc3RfbWFuaWZlc3RzKToKKyAgICAgICAgKHVwZGF0
ZV9leHBlY3RlZCk6CisgICAgICAgIChkb19kZWxheWVkX2ltcG9ydHMpOgorICAgICAgICAoZmls
ZXNfaW5fcmVwbyk6CisgICAgICAgIChyZXZfcmFuZ2UpOgorICAgICAgICAocGF0aHNfY2hhbmdl
ZCk6CisgICAgICAgIChsb2FkX2NoYW5nZV9kYXRhKToKKyAgICAgICAgKHVuZXhwZWN0ZWRfY2hh
bmdlcyk6CisgICAgICAgICh1cGRhdGVfZnJvbV9sb2dzKToKKyAgICAgICAgKGRpcmVjdG9yeV9t
YW5pZmVzdHMpOgorICAgICAgICAod3JpdGVfY2hhbmdlcyk6CisgICAgICAgICh3cml0ZV9uZXdf
ZXhwZWN0ZWQpOgorICAgICAgICAoRXhwZWN0ZWRVcGRhdGVyKToKKyAgICAgICAgKEV4cGVjdGVk
VXBkYXRlci5fX2luaXRfXyk6CisgICAgICAgIChFeHBlY3RlZFVwZGF0ZXIudXBkYXRlX2Zyb21f
bG9nKToKKyAgICAgICAgKEV4cGVjdGVkVXBkYXRlci5zdWl0ZV9zdGFydCk6CisgICAgICAgIChF
eHBlY3RlZFVwZGF0ZXIudGVzdF9pZCk6CisgICAgICAgIChFeHBlY3RlZFVwZGF0ZXIudGVzdF9z
dGFydCk6CisgICAgICAgIChFeHBlY3RlZFVwZGF0ZXIudGVzdF9zdGF0dXMpOgorICAgICAgICAo
RXhwZWN0ZWRVcGRhdGVyLnRlc3RfZW5kKToKKyAgICAgICAgKGNyZWF0ZV90ZXN0X3RyZWUpOgor
ICAgICAgICAoY3JlYXRlX2V4cGVjdGVkKToKKyAgICAgICAgKGxvYWRfZXhwZWN0ZWQpOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Byb2R1
Y3RzLnB5OiBBZGRlZC4KKyAgICAgICAgKHByb2R1Y3RzX2VuYWJsZWQpOgorICAgICAgICAocHJv
ZHVjdF9tb2R1bGUpOgorICAgICAgICAobG9hZF9wcm9kdWN0KToKKyAgICAgICAgKGxvYWRfcHJv
ZHVjdF91cGRhdGUpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3JlZHVjZS5weTogQWRkZWQuCisgICAgICAgIChzZXR1cF9sb2dnaW5nKToK
KyAgICAgICAgKGdyb3VwKToKKyAgICAgICAgKG5leHRfcG93ZXJfb2ZfdHdvKToKKyAgICAgICAg
KFJlZHVjZXIpOgorICAgICAgICAoUmVkdWNlci5fX2luaXRfXyk6CisgICAgICAgIChSZWR1Y2Vy
LnJ1bik6CisgICAgICAgIChSZWR1Y2VyLnVuc3RhYmxlKToKKyAgICAgICAgKFJlZHVjZXIubG9n
X2lzX3Vuc3RhYmxlKToKKyAgICAgICAgKFJlZHVjZXIubG9nX2lzX3Vuc3RhYmxlLmhhbmRsZV9z
dGF0dXMpOgorICAgICAgICAoUmVkdWNlci5sb2dfaXNfdW5zdGFibGUuaGFuZGxlX2VuZCk6Cisg
ICAgICAgIChSZWR1Y2VyLmdldF9pbml0aWFsX3Rlc3RzKToKKyAgICAgICAgKGRvX3JlZHVjZSk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
dGVzdGhhcm5lc3NfcnVubmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVwb3J0LXNlcnZvLmpz
OiBBZGRlZC4KKyAgICAgICAgKGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFybmVzc3Jl
cG9ydC1zZXJ2b2RyaXZlci5qczogQWRkZWQuCisgICAgICAgIChhZGRfY29tcGxldGlvbl9jYWxs
YmFjay4pOgorICAgICAgICAoYWRkX2NvbXBsZXRpb25fY2FsbGJhY2spOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci90ZXN0bG9hZGVyLnB5OiBBZGRlZC4KKyAgICAgICAgKGRvX2RlbGF5ZWRf
aW1wb3J0cyk6CisgICAgICAgIChUZXN0Q2h1bmtlcik6CisgICAgICAgIChUZXN0Q2h1bmtlci5f
X2luaXRfXyk6CisgICAgICAgIChUZXN0Q2h1bmtlci5fX2NhbGxfXyk6CisgICAgICAgIChVbmNo
dW5rZWQpOgorICAgICAgICAoVW5jaHVua2VkLl9faW5pdF9fKToKKyAgICAgICAgKFVuY2h1bmtl
ZC5fX2NhbGxfXyk6CisgICAgICAgIChIYXNoQ2h1bmtlcik6CisgICAgICAgIChIYXNoQ2h1bmtl
ci5fX2NhbGxfXyk6CisgICAgICAgIChEaXJlY3RvcnlIYXNoQ2h1bmtlcik6CisgICAgICAgIChE
aXJlY3RvcnlIYXNoQ2h1bmtlci5fX2NhbGxfXyk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2Vy
KToKKyAgICAgICAgKEVxdWFsVGltZUNodW5rZXIuX2dyb3VwX2J5X2RpcmVjdG9yeSk6CisgICAg
ICAgIChFcXVhbFRpbWVDaHVua2VyLl9ncm91cF9ieV9kaXJlY3RvcnkuUGF0aERhdGEpOgorICAg
ICAgICAoRXF1YWxUaW1lQ2h1bmtlci5fZ3JvdXBfYnlfZGlyZWN0b3J5LlBhdGhEYXRhLl9faW5p
dF9fKToKKyAgICAgICAgKEVxdWFsVGltZUNodW5rZXIuX21heWJlX3JlbW92ZSk6CisgICAgICAg
IChFcXVhbFRpbWVDaHVua2VyLl9tYXliZV9hZGQpOgorICAgICAgICAoRXF1YWxUaW1lQ2h1bmtl
ci5fbWF5YmVfbW92ZSk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9iYWRuZXNzKToKKyAg
ICAgICAgKEVxdWFsVGltZUNodW5rZXIuX2dldF9jaHVuayk6CisgICAgICAgIChFcXVhbFRpbWVD
aHVua2VyLl9hbGxfdGVzdHMpOgorICAgICAgICAoRXF1YWxUaW1lQ2h1bmtlci5fY2h1bmtlZF90
ZXN0cyk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9jcmVhdGVfaW5pdGlhbF9jaHVua3Mp
OgorICAgICAgICAoRXF1YWxUaW1lQ2h1bmtlci5fY3JlYXRlX2luaXRpYWxfY2h1bmtzLkNodW5r
KToKKyAgICAgICAgKEVxdWFsVGltZUNodW5rZXIuX2NyZWF0ZV9pbml0aWFsX2NodW5rcy5DaHVu
ay5fX2luaXRfXyk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9jcmVhdGVfaW5pdGlhbF9j
aHVua3MuQ2h1bmsuYXBwZW5kbGVmdCk6CisgICAgICAgIChFcXVhbFRpbWVDaHVua2VyLl9jcmVh
dGVfaW5pdGlhbF9jaHVua3MuQ2h1bmsuYXBwZW5kKToKKyAgICAgICAgKEVxdWFsVGltZUNodW5r
ZXIuX2NyZWF0ZV9pbml0aWFsX2NodW5rcy5DaHVuay5wb3ApOgorICAgICAgICAoRXF1YWxUaW1l
Q2h1bmtlci5fY3JlYXRlX2luaXRpYWxfY2h1bmtzLkNodW5rLnBvcGxlZnQpOgorICAgICAgICAo
RXF1YWxUaW1lQ2h1bmtlci5fY3JlYXRlX2luaXRpYWxfY2h1bmtzLkNodW5rLmJhZG5lc3MpOgor
ICAgICAgICAoRXF1YWxUaW1lQ2h1bmtlci5fdXBkYXRlX2NodW5rcyk6CisgICAgICAgIChFcXVh
bFRpbWVDaHVua2VyLl9nZXRfdGVzdHMpOgorICAgICAgICAoRXF1YWxUaW1lQ2h1bmtlci5fX2Nh
bGxfXyk6CisgICAgICAgIChUZXN0RmlsdGVyKToKKyAgICAgICAgKFRlc3RGaWx0ZXIuX19pbml0
X18pOgorICAgICAgICAoVGVzdEZpbHRlci5fX2NhbGxfXyk6CisgICAgICAgIChUYWdGaWx0ZXIp
OgorICAgICAgICAoVGFnRmlsdGVyLl9faW5pdF9fKToKKyAgICAgICAgKFRhZ0ZpbHRlci5fX2Nh
bGxfXyk6CisgICAgICAgIChNYW5pZmVzdExvYWRlcik6CisgICAgICAgIChNYW5pZmVzdExvYWRl
ci5fX2luaXRfXyk6CisgICAgICAgIChNYW5pZmVzdExvYWRlci5sb2FkKToKKyAgICAgICAgKE1h
bmlmZXN0TG9hZGVyLmNyZWF0ZV9tYW5pZmVzdCk6CisgICAgICAgIChNYW5pZmVzdExvYWRlci51
cGRhdGVfbWFuaWZlc3QpOgorICAgICAgICAoTWFuaWZlc3RMb2FkZXIubG9hZF9tYW5pZmVzdCk6
CisgICAgICAgIChpdGVyZmlsdGVyKToKKyAgICAgICAgKFRlc3RMb2FkZXIpOgorICAgICAgICAo
VGVzdExvYWRlci5fX2luaXRfXyk6CisgICAgICAgIChUZXN0TG9hZGVyLnRlc3RfaWRzKToKKyAg
ICAgICAgKFRlc3RMb2FkZXIuZ2V0X3Rlc3QpOgorICAgICAgICAoVGVzdExvYWRlci5sb2FkX2Rp
cl9tZXRhZGF0YSk6CisgICAgICAgIChUZXN0TG9hZGVyLmxvYWRfbWV0YWRhdGEpOgorICAgICAg
ICAoVGVzdExvYWRlci5pdGVyX3Rlc3RzKToKKyAgICAgICAgKFRlc3RMb2FkZXIuaXRlcl93cHR0
ZXN0KToKKyAgICAgICAgKFRlc3RMb2FkZXIuX2xvYWRfdGVzdHMpOgorICAgICAgICAoVGVzdExv
YWRlci5ncm91cHMpOgorICAgICAgICAoVGVzdFNvdXJjZSk6CisgICAgICAgIChUZXN0U291cmNl
LnF1ZXVlX3Rlc3RzKToKKyAgICAgICAgKFRlc3RTb3VyY2UucmVxdWV1ZV90ZXN0KToKKyAgICAg
ICAgKFRlc3RTb3VyY2UuX19lbnRlcl9fKToKKyAgICAgICAgKFRlc3RTb3VyY2UuX19leGl0X18p
OgorICAgICAgICAoU2luZ2xlVGVzdFNvdXJjZSk6CisgICAgICAgIChTaW5nbGVUZXN0U291cmNl
Ll9faW5pdF9fKToKKyAgICAgICAgKFNpbmdsZVRlc3RTb3VyY2UucXVldWVfdGVzdHMpOgorICAg
ICAgICAoU2luZ2xlVGVzdFNvdXJjZS5nZXRfcXVldWUpOgorICAgICAgICAoU2luZ2xlVGVzdFNv
dXJjZS5yZXF1ZXVlX3Rlc3QpOgorICAgICAgICAoUGF0aEdyb3VwZWRTb3VyY2UpOgorICAgICAg
ICAoUGF0aEdyb3VwZWRTb3VyY2UuX19pbml0X18pOgorICAgICAgICAoUGF0aEdyb3VwZWRTb3Vy
Y2UucXVldWVfdGVzdHMpOgorICAgICAgICAoUGF0aEdyb3VwZWRTb3VyY2UuZ2V0X3F1ZXVlKToK
KyAgICAgICAgKFBhdGhHcm91cGVkU291cmNlLnJlcXVldWVfdGVzdCk6CisgICAgICAgIChQYXRo
R3JvdXBlZFNvdXJjZS5fX2V4aXRfXyk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHJ1bm5lci5weTogQWRkZWQuCisgICAgICAgIChN
ZXNzYWdlTG9nZ2VyKToKKyAgICAgICAgKE1lc3NhZ2VMb2dnZXIuX19pbml0X18pOgorICAgICAg
ICAoTWVzc2FnZUxvZ2dlci5fbG9nX2RhdGEpOgorICAgICAgICAoTWVzc2FnZUxvZ2dlci5wcm9j
ZXNzX291dHB1dCk6CisgICAgICAgIChfbG9nX2Z1bmMpOgorICAgICAgICAoX2xvZ19mdW5jLmxv
Zyk6CisgICAgICAgIChUZXN0UnVubmVyKToKKyAgICAgICAgKFRlc3RSdW5uZXIuX19pbml0X18p
OgorICAgICAgICAoVGVzdFJ1bm5lci5fX2luaXRfXy5kZWxlZ2F0ZXMpOgorICAgICAgICAoVGVz
dFJ1bm5lci5fX2VudGVyX18pOgorICAgICAgICAoVGVzdFJ1bm5lci5fX2V4aXRfXyk6CisgICAg
ICAgIChUZXN0UnVubmVyLnNldHVwKToKKyAgICAgICAgKFRlc3RSdW5uZXIudGVhcmRvd24pOgor
ICAgICAgICAoVGVzdFJ1bm5lci5ydW4pOgorICAgICAgICAoVGVzdFJ1bm5lci5zdG9wKToKKyAg
ICAgICAgKFRlc3RSdW5uZXIucnVuX3Rlc3QpOgorICAgICAgICAoVGVzdFJ1bm5lci53YWl0KToK
KyAgICAgICAgKFRlc3RSdW5uZXIuc2VuZF9tZXNzYWdlKToKKyAgICAgICAgKHN0YXJ0X3J1bm5l
cik6CisgICAgICAgIChuZXh0X21hbmFnZXJfbnVtYmVyKToKKyAgICAgICAgKEJyb3dzZXJNYW5h
Z2VyKToKKyAgICAgICAgKEJyb3dzZXJNYW5hZ2VyLl9faW5pdF9fKToKKyAgICAgICAgKEJyb3dz
ZXJNYW5hZ2VyLmluaXQpOgorICAgICAgICAoQnJvd3Nlck1hbmFnZXIuc2VuZF9tZXNzYWdlKToK
KyAgICAgICAgKEJyb3dzZXJNYW5hZ2VyLmluaXRfdGltZW91dCk6CisgICAgICAgIChCcm93c2Vy
TWFuYWdlci5hZnRlcl9pbml0KToKKyAgICAgICAgKEJyb3dzZXJNYW5hZ2VyLnN0b3ApOgorICAg
ICAgICAoQnJvd3Nlck1hbmFnZXIuY2xlYW51cCk6CisgICAgICAgIChCcm93c2VyTWFuYWdlci5s
b2dfY3Jhc2gpOgorICAgICAgICAoQnJvd3Nlck1hbmFnZXIuaXNfYWxpdmUpOgorICAgICAgICAo
X1J1bm5lck1hbmFnZXJTdGF0ZSk6CisgICAgICAgIChUZXN0UnVubmVyTWFuYWdlcik6CisgICAg
ICAgIChUZXN0UnVubmVyTWFuYWdlci5fX2luaXRfXyk6CisgICAgICAgIChUZXN0UnVubmVyTWFu
YWdlci5ydW4pOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIud2FpdF9ldmVudCk6CisgICAg
ICAgIChUZXN0UnVubmVyTWFuYWdlci5zaG91bGRfc3RvcCk6CisgICAgICAgIChUZXN0UnVubmVy
TWFuYWdlci5zdGFydF9pbml0KToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLmluaXQpOgor
ICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIuc3RhcnRfdGVzdF9ydW5uZXIpOgorICAgICAgICAo
VGVzdFJ1bm5lck1hbmFnZXIuaW5pdF9zdWNjZWVkZWQpOgorICAgICAgICAoVGVzdFJ1bm5lck1h
bmFnZXIuaW5pdF9mYWlsZWQpOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIuZ2V0X25leHRf
dGVzdCk6CisgICAgICAgIChUZXN0UnVubmVyTWFuYWdlci5ydW5fdGVzdCk6CisgICAgICAgIChU
ZXN0UnVubmVyTWFuYWdlci50ZXN0X2VuZGVkKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2Vy
LndhaXRfZmluaXNoZWQpOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIuYWZ0ZXJfdGVzdF9l
bmQpOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIucmVzdGFydF9ydW5uZXIpOgorICAgICAg
ICAoVGVzdFJ1bm5lck1hbmFnZXIubG9nKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLmVy
cm9yKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLnN0b3BfcnVubmVyKToKKyAgICAgICAg
KFRlc3RSdW5uZXJNYW5hZ2VyLnRlYXJkb3duKToKKyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2Vy
LmVuc3VyZV9ydW5uZXJfc3RvcHBlZCk6CisgICAgICAgIChUZXN0UnVubmVyTWFuYWdlci5ydW5u
ZXJfdGVhcmRvd24pOgorICAgICAgICAoVGVzdFJ1bm5lck1hbmFnZXIuc2VuZF9tZXNzYWdlKToK
KyAgICAgICAgKFRlc3RSdW5uZXJNYW5hZ2VyLmNsZWFudXApOgorICAgICAgICAoVGVzdFF1ZXVl
KToKKyAgICAgICAgKFRlc3RRdWV1ZS5fX2luaXRfXyk6CisgICAgICAgIChUZXN0UXVldWUuX19l
bnRlcl9fKToKKyAgICAgICAgKFRlc3RRdWV1ZS5fX2V4aXRfXyk6CisgICAgICAgIChNYW5hZ2Vy
R3JvdXApOgorICAgICAgICAoTWFuYWdlckdyb3VwLl9faW5pdF9fKToKKyAgICAgICAgKE1hbmFn
ZXJHcm91cC5fX2VudGVyX18pOgorICAgICAgICAoTWFuYWdlckdyb3VwLl9fZXhpdF9fKToKKyAg
ICAgICAgKE1hbmFnZXJHcm91cC5ydW4pOgorICAgICAgICAoTWFuYWdlckdyb3VwLmlzX2FsaXZl
KToKKyAgICAgICAgKE1hbmFnZXJHcm91cC53YWl0KToKKyAgICAgICAgKE1hbmFnZXJHcm91cC5z
dG9wKToKKyAgICAgICAgKE1hbmFnZXJHcm91cC51bmV4cGVjdGVkX2NvdW50KToKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy9fX2lu
aXRfXy5weTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF9jaHVua2VyLnB5OiBBZGRlZC4KKyAgICAgICAgKE1v
Y2tUZXN0KToKKyAgICAgICAgKE1vY2tUZXN0Ll9faW5pdF9fKToKKyAgICAgICAgKG1ha2VfbW9j
a19tYW5pZmVzdCk6CisgICAgICAgIChUZXN0RXF1YWxUaW1lQ2h1bmtlcik6CisgICAgICAgIChU
ZXN0RXF1YWxUaW1lQ2h1bmtlci50ZXN0X2luY2x1ZGVfYWxsKToKKyAgICAgICAgKFRlc3RFcXVh
bFRpbWVDaHVua2VyLnRlc3RfaW5jbHVkZV9hbGxfMSk6CisgICAgICAgIChUZXN0RXF1YWxUaW1l
Q2h1bmtlci50ZXN0X2xvbmcpOgorICAgICAgICAoVGVzdEVxdWFsVGltZUNodW5rZXIudGVzdF9s
b25nXzEpOgorICAgICAgICAoVGVzdEVxdWFsVGltZUNodW5rZXIudGVzdF90b29fZmV3X2RpcnMp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3Rlc3RzL3Rlc3RfaG9zdHMucHk6IEFkZGVkLgorICAgICAgICAoSG9zdHNUZXN0KToKKyAgICAg
ICAgKEhvc3RzVGVzdC5kb190ZXN0KToKKyAgICAgICAgKEhvc3RzVGVzdC50ZXN0X3NpbXBsZSk6
CisgICAgICAgICh0ZXN0X2JsYW5rX2xpbmVzKToKKyAgICAgICAgKHRlc3Rfd2hpdGVzcGFjZSk6
CisgICAgICAgICh0ZXN0X2FsaWdubWVudCk6CisgICAgICAgICh0ZXN0X211bHRpcGxlX3NhbWVf
bmFtZSk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvdGVzdHMvdGVzdF90ZXN0bG9hZGVyLnB5OiBBZGRlZC4KKyAgICAgICAgKHRlc3RfZmls
dGVyX3VuaWNvZGUpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfdXBkYXRlLnB5OiBBZGRlZC4KKyAgICAgICAgKFRlc3RF
eHBlY3RlZFVwZGF0ZXIpOgorICAgICAgICAoVGVzdEV4cGVjdGVkVXBkYXRlci5jcmVhdGVfbWFu
aWZlc3QpOgorICAgICAgICAoVGVzdEV4cGVjdGVkVXBkYXRlci5jcmVhdGVfdXBkYXRlcik6Cisg
ICAgICAgIChUZXN0RXhwZWN0ZWRVcGRhdGVyLmNyZWF0ZV9sb2cpOgorICAgICAgICAoVGVzdEV4
cGVjdGVkVXBkYXRlci5jb2FsZXNjZV9yZXN1bHRzKToKKyAgICAgICAgKFRlc3RFeHBlY3RlZFVw
ZGF0ZXIudGVzdF91cGRhdGVfMCk6CisgICAgICAgIChUZXN0RXhwZWN0ZWRVcGRhdGVyLnRlc3Rf
dXBkYXRlXzEpOgorICAgICAgICAoVGVzdEV4cGVjdGVkVXBkYXRlci50ZXN0X25ld19zdWJ0ZXN0
KToKKyAgICAgICAgKFRlc3RFeHBlY3RlZFVwZGF0ZXIudGVzdF91cGRhdGVfbXVsdGlwbGVfMCk6
CisgICAgICAgIChUZXN0RXhwZWN0ZWRVcGRhdGVyLnRlc3RfdXBkYXRlX211bHRpcGxlXzEpOgor
ICAgICAgICAoVGVzdEV4cGVjdGVkVXBkYXRlci50ZXN0X3VwZGF0ZV9tdWx0aXBsZV8yKToKKyAg
ICAgICAgKFRlc3RFeHBlY3RlZFVwZGF0ZXIudGVzdF91cGRhdGVfbXVsdGlwbGVfMyk6CisgICAg
ICAgIChUZXN0RXhwZWN0ZWRVcGRhdGVyLnRlc3RfdXBkYXRlX2lnbm9yZV9leGlzdGluZyk6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVz
dHMvdzNjLWltcG9ydC5sb2c6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvcGVyZm9ybWFu
Y2UvdzNjLWltcG9ydC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL19faW5pdF9fLnB5OiBBZGRlZC4KKyAgICAgICAgKHJl
bW92ZV9sb2dnaW5nX2FyZ3MpOgorICAgICAgICAoc2V0dXBfbG9nZ2luZyk6CisgICAgICAgIChy
dW5fdXBkYXRlKToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9iYXNlLnB5OiBBZGRlZC4KKyAgICAg
ICAgKFN0ZXApOgorICAgICAgICAoU3RlcC5fX2luaXRfXyk6CisgICAgICAgIChTdGVwLnJ1bik6
CisgICAgICAgIChTdGVwLnJ1bi5mb3IpOgorICAgICAgICAoU3RlcC5jcmVhdGUpOgorICAgICAg
ICAoU3RlcC5yZXN0b3JlKToKKyAgICAgICAgKFN0ZXBSdW5uZXIpOgorICAgICAgICAoU3RlcFJ1
bm5lci5fX2luaXRfXyk6CisgICAgICAgIChTdGVwUnVubmVyLnJ1bik6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL21ldGFkYXRh
LnB5OiBBZGRlZC4KKyAgICAgICAgKEdldFVwZGF0ZVByb3BlcnR5TGlzdCk6CisgICAgICAgIChH
ZXRVcGRhdGVQcm9wZXJ0eUxpc3QuY3JlYXRlKToKKyAgICAgICAgKFVwZGF0ZUV4cGVjdGVkKToK
KyAgICAgICAgKFVwZGF0ZUV4cGVjdGVkLmNyZWF0ZSk6CisgICAgICAgIChDcmVhdGVNZXRhZGF0
YVBhdGNoKToKKyAgICAgICAgKENyZWF0ZU1ldGFkYXRhUGF0Y2guY3JlYXRlKToKKyAgICAgICAg
KE1ldGFkYXRhVXBkYXRlUnVubmVyKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvc3RhdGUucHk6IEFkZGVkLgorICAgICAgICAo
U3RhdGUpOgorICAgICAgICAoU3RhdGUuX19uZXdfXyk6CisgICAgICAgIChTdGF0ZS5fX2luaXRf
Xyk6CisgICAgICAgIChTdGF0ZS5fX2dldHN0YXRlX18pOgorICAgICAgICAoU3RhdGUubG9hZCk6
CisgICAgICAgIChTdGF0ZS5wdXNoKToKKyAgICAgICAgKFN0YXRlLnNhdmUpOgorICAgICAgICAo
U3RhdGUuaXNfZW1wdHkpOgorICAgICAgICAoU3RhdGUuY2xlYXIpOgorICAgICAgICAoU3RhdGUu
X19zZXRhdHRyX18pOgorICAgICAgICAoU3RhdGUuX19nZXRhdHRyX18pOgorICAgICAgICAoU3Rh
dGUuX19jb250YWluc19fKToKKyAgICAgICAgKFN0YXRlLnVwZGF0ZSk6CisgICAgICAgIChTdGF0
ZS5rZXlzKToKKyAgICAgICAgKFN0YXRlQ29udGV4dCk6CisgICAgICAgIChTdGF0ZUNvbnRleHQu
X19pbml0X18pOgorICAgICAgICAoU3RhdGVDb250ZXh0Ll9fZW50ZXJfXyk6CisgICAgICAgIChT
dGF0ZUNvbnRleHQuX19leGl0X18pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zeW5jLnB5OiBBZGRlZC4KKyAgICAgICAgKGNv
cHlfd3B0X3RyZWUpOgorICAgICAgICAoYWRkX2xpY2Vuc2UpOgorICAgICAgICAoVXBkYXRlQ2hl
Y2tvdXQpOgorICAgICAgICAoVXBkYXRlQ2hlY2tvdXQuY3JlYXRlKToKKyAgICAgICAgKFVwZGF0
ZUNoZWNrb3V0LnJlc3RvcmUpOgorICAgICAgICAoR2V0U3luY1RhcmdldENvbW1pdCk6CisgICAg
ICAgIChHZXRTeW5jVGFyZ2V0Q29tbWl0LmNyZWF0ZSk6CisgICAgICAgIChMb2FkTWFuaWZlc3Qp
OgorICAgICAgICAoTG9hZE1hbmlmZXN0LmNyZWF0ZSk6CisgICAgICAgIChVcGRhdGVNYW5pZmVz
dCk6CisgICAgICAgIChVcGRhdGVNYW5pZmVzdC5jcmVhdGUpOgorICAgICAgICAoQ29weVdvcmtU
cmVlKToKKyAgICAgICAgKENvcHlXb3JrVHJlZS5jcmVhdGUpOgorICAgICAgICAoQ3JlYXRlU3lu
Y1BhdGNoKToKKyAgICAgICAgKENyZWF0ZVN5bmNQYXRjaC5jcmVhdGUpOgorICAgICAgICAoU3lu
Y0Zyb21VcHN0cmVhbVJ1bm5lcik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3RyZWUucHk6IEFkZGVkLgorICAgICAgICAoZ2V0
X3VuaXF1ZV9uYW1lKToKKyAgICAgICAgKE5vVkNTVHJlZSk6CisgICAgICAgIChOb1ZDU1RyZWUu
X19pbml0X18pOgorICAgICAgICAoTm9WQ1NUcmVlLmlzX3R5cGUpOgorICAgICAgICAoTm9WQ1NU
cmVlLmlzX2NsZWFuKToKKyAgICAgICAgKE5vVkNTVHJlZS5hZGRfbmV3KToKKyAgICAgICAgKE5v
VkNTVHJlZS5jcmVhdGVfcGF0Y2gpOgorICAgICAgICAoTm9WQ1NUcmVlLnVwZGF0ZV9wYXRjaCk6
CisgICAgICAgIChOb1ZDU1RyZWUuY29tbWl0X3BhdGNoKToKKyAgICAgICAgKEhnVHJlZSk6Cisg
ICAgICAgIChIZ1RyZWUuX19pbml0X18pOgorICAgICAgICAoSGdUcmVlLl9fZ2V0c3RhdGVfXyk6
CisgICAgICAgIChIZ1RyZWUuX19zZXRzdGF0ZV9fKToKKyAgICAgICAgKEhnVHJlZS5pc190eXBl
KToKKyAgICAgICAgKEhnVHJlZS5pc19jbGVhbik6CisgICAgICAgIChIZ1RyZWUuYWRkX25ldyk6
CisgICAgICAgIChIZ1RyZWUuY3JlYXRlX3BhdGNoKToKKyAgICAgICAgKEhnVHJlZS51cGRhdGVf
cGF0Y2gpOgorICAgICAgICAoSGdUcmVlLmNvbW1pdF9wYXRjaCk6CisgICAgICAgIChIZ1RyZWUu
Y29udGFpbnNfY29tbWl0KToKKyAgICAgICAgKEdpdFRyZWUpOgorICAgICAgICAoR2l0VHJlZS5f
X2luaXRfXyk6CisgICAgICAgIChHaXRUcmVlLl9fZ2V0c3RhdGVfXyk6CisgICAgICAgIChHaXRU
cmVlLl9fc2V0c3RhdGVfXyk6CisgICAgICAgIChHaXRUcmVlLmlzX3R5cGUpOgorICAgICAgICAo
R2l0VHJlZS5yZXYpOgorICAgICAgICAoR2l0VHJlZS5pc19jbGVhbik6CisgICAgICAgIChHaXRU
cmVlLmFkZF9uZXcpOgorICAgICAgICAoR2l0VHJlZS5saXN0X3JlZnMpOgorICAgICAgICAoR2l0
VHJlZS5saXN0X3JlbW90ZSk6CisgICAgICAgIChHaXRUcmVlLmdldF9yZW1vdGVfc2hhMSk6Cisg
ICAgICAgIChHaXRUcmVlLmNyZWF0ZV9wYXRjaCk6CisgICAgICAgIChHaXRUcmVlLnVwZGF0ZV9w
YXRjaCk6CisgICAgICAgIChHaXRUcmVlLmNvbW1pdF9wYXRjaCk6CisgICAgICAgIChHaXRUcmVl
LmluaXQpOgorICAgICAgICAoR2l0VHJlZS5jaGVja291dCk6CisgICAgICAgIChHaXRUcmVlLnVw
ZGF0ZSk6CisgICAgICAgIChHaXRUcmVlLmNsZWFuKToKKyAgICAgICAgKEdpdFRyZWUucGF0aHMp
OgorICAgICAgICAoR2l0VHJlZS5zdWJtb2R1bGVzKToKKyAgICAgICAgKEdpdFRyZWUuY29udGFp
bnNfY29tbWl0KToKKyAgICAgICAgKENvbW1pdE1lc3NhZ2UpOgorICAgICAgICAoQ29tbWl0TWVz
c2FnZS5fX2luaXRfXyk6CisgICAgICAgIChDb21taXRNZXNzYWdlLl9fc3RyX18pOgorICAgICAg
ICAoQ29tbWl0TWVzc2FnZS5fcGFyc2VfbWVzc2FnZSk6CisgICAgICAgIChDb21taXQpOgorICAg
ICAgICAoQ29tbWl0Ll9faW5pdF9fKToKKyAgICAgICAgKENvbW1pdC5fX2dldHN0YXRlX18pOgor
ICAgICAgICAoQ29tbWl0Ll9fc2V0c3RhdGVfXyk6CisgICAgICAgIChDb21taXQuX2dldF9tZXRh
KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci91cGRhdGUvdXBkYXRlLnB5OiBBZGRlZC4KKyAgICAgICAgKHNldHVwX3BhdGhzKToKKyAgICAg
ICAgKExvYWRDb25maWcpOgorICAgICAgICAoTG9hZENvbmZpZy5jcmVhdGUpOgorICAgICAgICAo
TG9hZFRyZWVzKToKKyAgICAgICAgKExvYWRUcmVlcy5jcmVhdGUpOgorICAgICAgICAoU3luY0Zy
b21VcHN0cmVhbSk6CisgICAgICAgIChTeW5jRnJvbVVwc3RyZWFtLmNyZWF0ZSk6CisgICAgICAg
IChVcGRhdGVNZXRhZGF0YSk6CisgICAgICAgIChVcGRhdGVNZXRhZGF0YS5jcmVhdGUpOgorICAg
ICAgICAoVXBkYXRlUnVubmVyKToKKyAgICAgICAgKFdQVFVwZGF0ZSk6CisgICAgICAgIChXUFRV
cGRhdGUuX19pbml0X18pOgorICAgICAgICAoV1BUVXBkYXRlLl9faW5pdF9fLmhvbGRpbmcpOgor
ICAgICAgICAoV1BUVXBkYXRlLnJ1bik6CisgICAgICAgIChXUFRVcGRhdGUuYWJvcnQpOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0
ZS93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdmNzLnB5OiBBZGRlZC4KKyAgICAgICAgKHZjcyk6Cisg
ICAgICAgICh2Y3MuaW5uZXIpOgorICAgICAgICAoYmluZF90b19yZXBvKToKKyAgICAgICAgKGlz
X2dpdF9yb290KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd2ViZHJpdmVyX3NlcnZlci5weTogQWRk
ZWQuCisgICAgICAgIChXZWJEcml2ZXJTZXJ2ZXIpOgorICAgICAgICAoV2ViRHJpdmVyU2VydmVy
Ll9faW5pdF9fKToKKyAgICAgICAgKFdlYkRyaXZlclNlcnZlci5tYWtlX2NvbW1hbmQpOgorICAg
ICAgICAoV2ViRHJpdmVyU2VydmVyLnN0YXJ0KToKKyAgICAgICAgKFdlYkRyaXZlclNlcnZlci5f
cnVuKToKKyAgICAgICAgKFdlYkRyaXZlclNlcnZlci5zdG9wKToKKyAgICAgICAgKFdlYkRyaXZl
clNlcnZlci5pc19hbGl2ZSk6CisgICAgICAgIChXZWJEcml2ZXJTZXJ2ZXIub25fb3V0cHV0KToK
KyAgICAgICAgKFdlYkRyaXZlclNlcnZlci5waWQpOgorICAgICAgICAoV2ViRHJpdmVyU2VydmVy
LnVybCk6CisgICAgICAgIChXZWJEcml2ZXJTZXJ2ZXIucG9ydCk6CisgICAgICAgIChXZWJEcml2
ZXJTZXJ2ZXIuX2ZpbmRfbmV4dF9mcmVlX3BvcnQpOgorICAgICAgICAoU2VsZW5pdW1TZXJ2ZXIp
OgorICAgICAgICAoU2VsZW5pdW1TZXJ2ZXIubWFrZV9jb21tYW5kKToKKyAgICAgICAgKENocm9t
ZURyaXZlclNlcnZlcik6CisgICAgICAgIChDaHJvbWVEcml2ZXJTZXJ2ZXIuX19pbml0X18pOgor
ICAgICAgICAoQ2hyb21lRHJpdmVyU2VydmVyLm1ha2VfY29tbWFuZCk6CisgICAgICAgIChFZGdl
RHJpdmVyU2VydmVyKToKKyAgICAgICAgKEVkZ2VEcml2ZXJTZXJ2ZXIuX19pbml0X18pOgorICAg
ICAgICAoRWRnZURyaXZlclNlcnZlci5tYWtlX2NvbW1hbmQpOgorICAgICAgICAoR2Vja29Ecml2
ZXJTZXJ2ZXIpOgorICAgICAgICAoR2Vja29Ecml2ZXJTZXJ2ZXIuX19pbml0X18pOgorICAgICAg
ICAoR2Vja29Ecml2ZXJTZXJ2ZXIubWFrZV9jb21tYW5kKToKKyAgICAgICAgKFNlcnZvRHJpdmVy
U2VydmVyKToKKyAgICAgICAgKFNlcnZvRHJpdmVyU2VydmVyLl9faW5pdF9fKToKKyAgICAgICAg
KFNlcnZvRHJpdmVyU2VydmVyLm1ha2VfY29tbWFuZCk6CisgICAgICAgIChjbWRfYXJnKToKKyAg
ICAgICAgKGdldF9mcmVlX3BvcnQpOgorICAgICAgICAod2FpdF9mb3Jfc2VydmljZSk6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0Y29t
bWFuZGxpbmUucHk6IEFkZGVkLgorICAgICAgICAoYWJzX3BhdGgpOgorICAgICAgICAodXJsX29y
X3BhdGgpOgorICAgICAgICAocmVxdWlyZV9hcmcpOgorICAgICAgICAoY3JlYXRlX3BhcnNlcik6
CisgICAgICAgIChzZXRfZnJvbV9jb25maWcpOgorICAgICAgICAoZ2V0X3Rlc3RfcGF0aHMpOgor
ICAgICAgICAoZXhlX3BhdGgpOgorICAgICAgICAoY2hlY2tfYXJncyk6CisgICAgICAgIChjaGVj
a19hcmdzX3VwZGF0ZSk6CisgICAgICAgIChjcmVhdGVfcGFyc2VyX3VwZGF0ZSk6CisgICAgICAg
IChjcmVhdGVfcGFyc2VyX3JlZHVjZSk6CisgICAgICAgIChwYXJzZV9hcmdzKToKKyAgICAgICAg
KHBhcnNlX2FyZ3NfdXBkYXRlKToKKyAgICAgICAgKHBhcnNlX2FyZ3NfcmVkdWNlKToKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRsb2dn
aW5nLnB5OiBBZGRlZC4KKyAgICAgICAgKHNldHVwKToKKyAgICAgICAgKHNldHVwX3N0ZGxpYl9s
b2dnZXIpOgorICAgICAgICAoTG9nTGV2ZWxSZXdyaXRlcik6CisgICAgICAgIChMb2dMZXZlbFJl
d3JpdGVyLl9faW5pdF9fKToKKyAgICAgICAgKExvZ0xldmVsUmV3cml0ZXIuX19jYWxsX18pOgor
ICAgICAgICAoTG9nVGhyZWFkKToKKyAgICAgICAgKExvZ1RocmVhZC5fX2luaXRfXyk6CisgICAg
ICAgIChMb2dUaHJlYWQucnVuKToKKyAgICAgICAgKExvZ2dpbmdXcmFwcGVyKToKKyAgICAgICAg
KExvZ2dpbmdXcmFwcGVyLl9faW5pdF9fKToKKyAgICAgICAgKExvZ2dpbmdXcmFwcGVyLndyaXRl
KToKKyAgICAgICAgKExvZ2dpbmdXcmFwcGVyLmZsdXNoKToKKyAgICAgICAgKENhcHR1cmVJTyk6
CisgICAgICAgIChDYXB0dXJlSU8uX19pbml0X18pOgorICAgICAgICAoQ2FwdHVyZUlPLl9fZW50
ZXJfXyk6CisgICAgICAgIChDYXB0dXJlSU8uX19leGl0X18pOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L19faW5pdF9f
LnB5OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9fX2luaXRfXy5weTogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFu
aWZlc3QvYmFja2VuZHMvY29uZGl0aW9uYWwucHk6IEFkZGVkLgorICAgICAgICAoQ29uZGl0aW9u
YWxWYWx1ZSk6CisgICAgICAgIChDb25kaXRpb25hbFZhbHVlLl9faW5pdF9fKToKKyAgICAgICAg
KENvbmRpdGlvbmFsVmFsdWUudmFsdWUpOgorICAgICAgICAoQ29uZGl0aW9uYWxWYWx1ZS5fX2Nh
bGxfXyk6CisgICAgICAgIChDb25kaXRpb25hbFZhbHVlLnNldF92YWx1ZSk6CisgICAgICAgIChD
b25kaXRpb25hbFZhbHVlLnJlbW92ZSk6CisgICAgICAgIChDb21waWxlcik6CisgICAgICAgIChD
b21waWxlci5jb21waWxlKToKKyAgICAgICAgKENvbXBpbGVyLmNvbXBpbGUub2YpOgorICAgICAg
ICAoQ29tcGlsZXIuY29tcGlsZV9jb25kaXRpb24pOgorICAgICAgICAoQ29tcGlsZXIuX2luaXRp
YWxfb3V0cHV0X25vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfRGF0YU5vZGUpOgorICAg
ICAgICAoQ29tcGlsZXIudmlzaXRfS2V5VmFsdWVOb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZp
c2l0X0xpc3ROb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X1ZhbHVlTm9kZSk6CisgICAg
ICAgIChDb21waWxlci52aXNpdF9BdG9tTm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9D
b25kaXRpb25hbE5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfU3RyaW5nTm9kZSk6Cisg
ICAgICAgIChDb21waWxlci52aXNpdF9TdHJpbmdOb2RlLnZhbHVlKToKKyAgICAgICAgKENvbXBp
bGVyLnZpc2l0X051bWJlck5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfVmFyaWFibGVO
b2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X1ZhcmlhYmxlTm9kZS52YWx1ZSk6CisgICAg
ICAgIChDb21waWxlci52aXNpdF9JbmRleE5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRf
VW5hcnlFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9CaW5hcnlFeHBy
ZXNzaW9uTm9kZSk6CisgICAgICAgIChDb21waWxlci52aXNpdF9VbmFyeU9wZXJhdG9yTm9kZSk6
CisgICAgICAgIChDb21waWxlci52aXNpdF9CaW5hcnlPcGVyYXRvck5vZGUpOgorICAgICAgICAo
TWFuaWZlc3RJdGVtKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5fX2luaXRfXyk6CisgICAgICAg
IChNYW5pZmVzdEl0ZW0uX19yZXByX18pOgorICAgICAgICAoTWFuaWZlc3RJdGVtLl9fc3RyX18p
OgorICAgICAgICAoTWFuaWZlc3RJdGVtLl9fY29udGFpbnNfXyk6CisgICAgICAgIChNYW5pZmVz
dEl0ZW0uaXNfZW1wdHkpOgorICAgICAgICAoTWFuaWZlc3RJdGVtLnJvb3QpOgorICAgICAgICAo
TWFuaWZlc3RJdGVtLm5hbWUpOgorICAgICAgICAoTWFuaWZlc3RJdGVtLmhhc19rZXkpOgorICAg
ICAgICAoTWFuaWZlc3RJdGVtLmdldCk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uc2V0KToKKyAg
ICAgICAgKE1hbmlmZXN0SXRlbS5fYWRkX2tleV92YWx1ZSk6CisgICAgICAgIChNYW5pZmVzdEl0
ZW0uYXBwZW5kKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5yZW1vdmUpOgorICAgICAgICAoTWFu
aWZlc3RJdGVtLl9yZW1vdmVfY2hpbGQpOgorICAgICAgICAoTWFuaWZlc3RJdGVtLml0ZXJjaGls
ZHJlbik6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uX2ZsYXR0ZW4pOgorICAgICAgICAoTWFuaWZl
c3RJdGVtLml0ZXJpdGVtcyk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uaXRlcmtleXMpOgorICAg
ICAgICAoTWFuaWZlc3RJdGVtLnJlbW92ZV92YWx1ZSk6CisgICAgICAgIChjb21waWxlX2FzdCk6
CisgICAgICAgIChjb21waWxlKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9zdGF0aWMucHk6IEFkZGVk
LgorICAgICAgICAoQ29tcGlsZXIpOgorICAgICAgICAoQ29tcGlsZXIuY29tcGlsZSk6CisgICAg
ICAgIChDb21waWxlci5jb21waWxlLm9mKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X0RhdGFO
b2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X0tleVZhbHVlTm9kZSk6CisgICAgICAgIChD
b21waWxlci52aXNpdF9WYWx1ZU5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfQXRvbU5v
ZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfTGlzdE5vZGUpOgorICAgICAgICAoQ29tcGls
ZXIudmlzaXRfQ29uZGl0aW9uYWxOb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X1N0cmlu
Z05vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfTnVtYmVyTm9kZSk6CisgICAgICAgIChD
b21waWxlci52aXNpdF9WYXJpYWJsZU5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlzaXRfSW5k
ZXhOb2RlKToKKyAgICAgICAgKENvbXBpbGVyLnZpc2l0X1VuYXJ5RXhwcmVzc2lvbk5vZGUpOgor
ICAgICAgICAoQ29tcGlsZXIudmlzaXRfQmluYXJ5RXhwcmVzc2lvbk5vZGUpOgorICAgICAgICAo
Q29tcGlsZXIudmlzaXRfVW5hcnlPcGVyYXRvck5vZGUpOgorICAgICAgICAoQ29tcGlsZXIudmlz
aXRfQmluYXJ5T3BlcmF0b3JOb2RlKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbSk6CisgICAgICAg
IChNYW5pZmVzdEl0ZW0uX19pbml0X18pOgorICAgICAgICAoTWFuaWZlc3RJdGVtLl9fcmVwcl9f
KToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5fX3N0cl9fKToKKyAgICAgICAgKE1hbmlmZXN0SXRl
bS5pc19lbXB0eSk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0ucm9vdCk6CisgICAgICAgIChNYW5p
ZmVzdEl0ZW0uaGFzX2tleSk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uZ2V0KToKKyAgICAgICAg
KE1hbmlmZXN0SXRlbS5zZXQpOgorICAgICAgICAoTWFuaWZlc3RJdGVtLnJlbW92ZSk6CisgICAg
ICAgIChNYW5pZmVzdEl0ZW0uX3JlbW92ZV9jaGlsZCk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0u
aXRlcmNoaWxkcmVuKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5fZmxhdHRlbik6CisgICAgICAg
IChNYW5pZmVzdEl0ZW0uaXRlcml0ZW1zKToKKyAgICAgICAgKE1hbmlmZXN0SXRlbS5pdGVya2V5
cyk6CisgICAgICAgIChNYW5pZmVzdEl0ZW0uaXRlcnZhbHVlcyk6CisgICAgICAgIChNYW5pZmVz
dEl0ZW0uYXBwZW5kKToKKyAgICAgICAgKGNvbXBpbGVfYXN0KToKKyAgICAgICAgKGNvbXBpbGUp
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3dwdG1hbmlmZXN0L2JhY2tlbmRzL3czYy1pbXBvcnQubG9nOiBDb3BpZWQgZnJvbSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1
bGliL3Rlc3RzL3BlcmZvcm1hbmNlL3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L25vZGUucHk6
IEFkZGVkLgorICAgICAgICAoTm9kZVZpc2l0b3IpOgorICAgICAgICAoTm9kZVZpc2l0b3Iudmlz
aXQpOgorICAgICAgICAoTm9kZVZpc2l0b3IudmlzaXQuYm9keSk6CisgICAgICAgIChOb2RlKToK
KyAgICAgICAgKE5vZGUuX19pbml0X18pOgorICAgICAgICAoTm9kZS5hcHBlbmQpOgorICAgICAg
ICAoTm9kZS5yZW1vdmUpOgorICAgICAgICAoTm9kZS5fX3JlcHJfXyk6CisgICAgICAgIChOb2Rl
Ll9fc3RyX18pOgorICAgICAgICAoTm9kZS5fX2VxX18pOgorICAgICAgICAoTm9kZS5jb3B5KToK
KyAgICAgICAgKERhdGFOb2RlKToKKyAgICAgICAgKERhdGFOb2RlLmFwcGVuZCk6CisgICAgICAg
IChLZXlWYWx1ZU5vZGUpOgorICAgICAgICAoS2V5VmFsdWVOb2RlLmFwcGVuZCk6CisgICAgICAg
IChMaXN0Tm9kZSk6CisgICAgICAgIChMaXN0Tm9kZS5hcHBlbmQpOgorICAgICAgICAoVmFsdWVO
b2RlKToKKyAgICAgICAgKFZhbHVlTm9kZS5hcHBlbmQpOgorICAgICAgICAoQXRvbU5vZGUpOgor
ICAgICAgICAoQ29uZGl0aW9uYWxOb2RlKToKKyAgICAgICAgKFVuYXJ5RXhwcmVzc2lvbk5vZGUp
OgorICAgICAgICAoVW5hcnlFeHByZXNzaW9uTm9kZS5fX2luaXRfXyk6CisgICAgICAgIChVbmFy
eUV4cHJlc3Npb25Ob2RlLmFwcGVuZCk6CisgICAgICAgIChVbmFyeUV4cHJlc3Npb25Ob2RlLmNv
cHkpOgorICAgICAgICAoQmluYXJ5RXhwcmVzc2lvbk5vZGUpOgorICAgICAgICAoQmluYXJ5RXhw
cmVzc2lvbk5vZGUuX19pbml0X18pOgorICAgICAgICAoQmluYXJ5RXhwcmVzc2lvbk5vZGUuYXBw
ZW5kKToKKyAgICAgICAgKEJpbmFyeUV4cHJlc3Npb25Ob2RlLmNvcHkpOgorICAgICAgICAoVW5h
cnlPcGVyYXRvck5vZGUpOgorICAgICAgICAoVW5hcnlPcGVyYXRvck5vZGUuYXBwZW5kKToKKyAg
ICAgICAgKEJpbmFyeU9wZXJhdG9yTm9kZSk6CisgICAgICAgIChCaW5hcnlPcGVyYXRvck5vZGUu
YXBwZW5kKToKKyAgICAgICAgKEluZGV4Tm9kZSk6CisgICAgICAgIChWYXJpYWJsZU5vZGUpOgor
ICAgICAgICAoU3RyaW5nTm9kZSk6CisgICAgICAgIChOdW1iZXJOb2RlKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9w
YXJzZXIucHk6IEFkZGVkLgorICAgICAgICAoUGFyc2VFcnJvcik6CisgICAgICAgIChQYXJzZUVy
cm9yLl9faW5pdF9fKToKKyAgICAgICAgKGRlY29kZSk6CisgICAgICAgIChwcmVjZWRlbmNlKToK
KyAgICAgICAgKFRva2VuVHlwZXMpOgorICAgICAgICAoVG9rZW5UeXBlcy5fX2luaXRfXyk6Cisg
ICAgICAgIChUb2tlbml6ZXIpOgorICAgICAgICAoVG9rZW5pemVyLl9faW5pdF9fKToKKyAgICAg
ICAgKFRva2VuaXplci5yZXNldCk6CisgICAgICAgIChUb2tlbml6ZXIudG9rZW5pemUpOgorICAg
ICAgICAoVG9rZW5pemVyLmNoYXIpOgorICAgICAgICAoVG9rZW5pemVyLmNvbnN1bWUpOgorICAg
ICAgICAoVG9rZW5pemVyLnBlZWspOgorICAgICAgICAoVG9rZW5pemVyLnNraXBfd2hpdGVzcGFj
ZSk6CisgICAgICAgIChUb2tlbml6ZXIuZW9sX3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5s
aW5lX3N0YXJ0X3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5kYXRhX2xpbmVfc3RhdGUpOgor
ICAgICAgICAoVG9rZW5pemVyLmhlYWRpbmdfc3RhdGUpOgorICAgICAgICAoVG9rZW5pemVyLmtl
eV9zdGF0ZSk6CisgICAgICAgIChUb2tlbml6ZXIuYWZ0ZXJfa2V5X3N0YXRlKToKKyAgICAgICAg
KFRva2VuaXplci5saXN0X3N0YXJ0X3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5saXN0X3Zh
bHVlX3N0YXJ0X3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5saXN0X3ZhbHVlX3N0YXRlKToK
KyAgICAgICAgKFRva2VuaXplci5saXN0X3ZhbHVlX2F0b21fc3RhdGUpOgorICAgICAgICAoVG9r
ZW5pemVyLmxpc3RfZW5kX3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci52YWx1ZV9zdGF0ZSk6
CisgICAgICAgIChUb2tlbml6ZXIudmFsdWVfaW5uZXJfc3RhdGUpOgorICAgICAgICAoVG9rZW5p
emVyLmNvbW1lbnRfc3RhdGUpOgorICAgICAgICAoVG9rZW5pemVyLmxpbmVfZW5kX3N0YXRlKToK
KyAgICAgICAgKFRva2VuaXplci5jb25zdW1lX3N0cmluZyk6CisgICAgICAgIChUb2tlbml6ZXIu
ZXhwcl9vcl92YWx1ZV9zdGF0ZSk6CisgICAgICAgIChUb2tlbml6ZXIuZXhwcl9zdGF0ZSk6Cisg
ICAgICAgIChUb2tlbml6ZXIub3BlcmF0b3Jfc3RhdGUpOgorICAgICAgICAoVG9rZW5pemVyLmRp
Z2l0X3N0YXRlKToKKyAgICAgICAgKFRva2VuaXplci5pZGVudF9zdGF0ZSk6CisgICAgICAgIChU
b2tlbml6ZXIuY29uc3VtZV9lc2NhcGUpOgorICAgICAgICAoVG9rZW5pemVyLmRlY29kZV9lc2Nh
cGUpOgorICAgICAgICAoVG9rZW5pemVyLmVzY2FwZV92YWx1ZSk6CisgICAgICAgIChQYXJzZXIp
OgorICAgICAgICAoUGFyc2VyLl9faW5pdF9fKToKKyAgICAgICAgKFBhcnNlci5yZXNldCk6Cisg
ICAgICAgIChQYXJzZXIucGFyc2UpOgorICAgICAgICAoUGFyc2VyLmNvbnN1bWUpOgorICAgICAg
ICAoUGFyc2VyLmV4cGVjdCk6CisgICAgICAgIChQYXJzZXIubWFuaWZlc3QpOgorICAgICAgICAo
UGFyc2VyLmRhdGFfYmxvY2spOgorICAgICAgICAoUGFyc2VyLmVvZl9vcl9lbmRfZ3JvdXApOgor
ICAgICAgICAoUGFyc2VyLnZhbHVlX2Jsb2NrKToKKyAgICAgICAgKFBhcnNlci5saXN0X3ZhbHVl
KToKKyAgICAgICAgKFBhcnNlci5leHByZXNzaW9uX3ZhbHVlcyk6CisgICAgICAgIChQYXJzZXIu
dmFsdWUpOgorICAgICAgICAoUGFyc2VyLmF0b20pOgorICAgICAgICAoUGFyc2VyLmV4cHJfc3Rh
cnQpOgorICAgICAgICAoUGFyc2VyLmV4cHIpOgorICAgICAgICAoUGFyc2VyLmV4cHJfb3BlcmFu
ZCk6CisgICAgICAgIChQYXJzZXIuZXhwcl91bmFyeV9vcCk6CisgICAgICAgIChQYXJzZXIuZXhw
cl9iaW5fb3ApOgorICAgICAgICAoUGFyc2VyLmV4cHJfdmFsdWUpOgorICAgICAgICAoUGFyc2Vy
LmV4cHJfbnVtYmVyKToKKyAgICAgICAgKFRyZWVidWlsZGVyKToKKyAgICAgICAgKFRyZWVidWls
ZGVyLl9faW5pdF9fKToKKyAgICAgICAgKFRyZWVidWlsZGVyLmFwcGVuZCk6CisgICAgICAgIChU
cmVlYnVpbGRlci5wb3ApOgorICAgICAgICAoRXhwcmVzc2lvbkJ1aWxkZXIpOgorICAgICAgICAo
RXhwcmVzc2lvbkJ1aWxkZXIuX19pbml0X18pOgorICAgICAgICAoRXhwcmVzc2lvbkJ1aWxkZXIu
ZmluaXNoKToKKyAgICAgICAgKEV4cHJlc3Npb25CdWlsZGVyLmxlZnRfcGFyZW4pOgorICAgICAg
ICAoRXhwcmVzc2lvbkJ1aWxkZXIucmlnaHRfcGFyZW4pOgorICAgICAgICAoRXhwcmVzc2lvbkJ1
aWxkZXIucHVzaF9vcGVyYXRvcik6CisgICAgICAgIChFeHByZXNzaW9uQnVpbGRlci5wb3Bfb3Bl
cmF0b3IpOgorICAgICAgICAoRXhwcmVzc2lvbkJ1aWxkZXIucHVzaF9vcGVyYW5kKToKKyAgICAg
ICAgKEV4cHJlc3Npb25CdWlsZGVyLnBvcF9vcGVyYW5kKToKKyAgICAgICAgKEV4cHJlc3Npb25C
dWlsZGVyLmlzX2VtcHR5KToKKyAgICAgICAgKEV4cHJlc3Npb25CdWlsZGVyLnByZWNlZGVuY2Up
OgorICAgICAgICAocGFyc2UpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3NlcmlhbGl6ZXIucHk6IEFkZGVkLgorICAg
ICAgICAoZXNjYXBlKToKKyAgICAgICAgKE1hbmlmZXN0U2VyaWFsaXplcik6CisgICAgICAgIChN
YW5pZmVzdFNlcmlhbGl6ZXIuX19pbml0X18pOgorICAgICAgICAoTWFuaWZlc3RTZXJpYWxpemVy
LnNlcmlhbGl6ZSk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfRGF0YU5vZGUp
OgorICAgICAgICAoTWFuaWZlc3RTZXJpYWxpemVyLnZpc2l0X0tleVZhbHVlTm9kZSk6CisgICAg
ICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfTGlzdE5vZGUpOgorICAgICAgICAoTWFuaWZl
c3RTZXJpYWxpemVyLnZpc2l0X1ZhbHVlTm9kZSk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6
ZXIudmlzaXRfQXRvbU5vZGUpOgorICAgICAgICAoTWFuaWZlc3RTZXJpYWxpemVyLnZpc2l0X0Nv
bmRpdGlvbmFsTm9kZSk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfU3RyaW5n
Tm9kZSk6CisgICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfTnVtYmVyTm9kZSk6Cisg
ICAgICAgIChNYW5pZmVzdFNlcmlhbGl6ZXIudmlzaXRfVmFyaWFibGVOb2RlKToKKyAgICAgICAg
KE1hbmlmZXN0U2VyaWFsaXplci52aXNpdF9JbmRleE5vZGUpOgorICAgICAgICAoTWFuaWZlc3RT
ZXJpYWxpemVyLnZpc2l0X1VuYXJ5RXhwcmVzc2lvbk5vZGUpOgorICAgICAgICAoTWFuaWZlc3RT
ZXJpYWxpemVyLnZpc2l0X0JpbmFyeUV4cHJlc3Npb25Ob2RlKToKKyAgICAgICAgKE1hbmlmZXN0
U2VyaWFsaXplci52aXNpdF9VbmFyeU9wZXJhdG9yTm9kZSk6CisgICAgICAgIChNYW5pZmVzdFNl
cmlhbGl6ZXIudmlzaXRfQmluYXJ5T3BlcmF0b3JOb2RlKToKKyAgICAgICAgKHNlcmlhbGl6ZSk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
d3B0bWFuaWZlc3QvdGVzdHMvX19pbml0X18ucHk6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rl
c3RfY29uZGl0aW9uYWwucHk6IEFkZGVkLgorICAgICAgICAoVGVzdENvbmRpdGlvbmFsKToKKyAg
ICAgICAgKFRlc3RDb25kaXRpb25hbC5jb21waWxlKToKKyAgICAgICAgKFRlc3RDb25kaXRpb25h
bC50ZXN0X2dldF8wKToKKyAgICAgICAgKHRlc3RfZ2V0XzEpOgorICAgICAgICAodGVzdF9nZXRf
Mik6CisgICAgICAgICh0ZXN0X2dldF8zKToKKyAgICAgICAgKHRlc3Rfc2V0XzApOgorICAgICAg
ICAodGVzdF9zZXRfMSk6CisgICAgICAgICh0ZXN0X3NldF8yKToKKyAgICAgICAgKHRlc3RfYXBp
XzApOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3RfcGFyc2VyLnB5OiBBZGRlZC4KKyAgICAgICAgKFRl
c3RFeHByZXNzaW9uKToKKyAgICAgICAgKFRlc3RFeHByZXNzaW9uLnNldFVwKToKKyAgICAgICAg
KFRlc3RFeHByZXNzaW9uLnBhcnNlKToKKyAgICAgICAgKFRlc3RFeHByZXNzaW9uLmNvbXBhcmUp
OgorICAgICAgICAoVGVzdEV4cHJlc3Npb24ubWF0Y2gpOgorICAgICAgICAoVGVzdEV4cHJlc3Np
b24udGVzdF9leHByXzApOgorICAgICAgICAodGVzdF9leHByXzEpOgorICAgICAgICAodGVzdF9h
dG9tXzApOgorICAgICAgICAodGVzdF9hdG9tXzEpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3Rfc2Vy
aWFsaXplci5weTogQWRkZWQuCisgICAgICAgIChUb2tlbml6ZXJUZXN0KToKKyAgICAgICAgKFRv
a2VuaXplclRlc3Quc2V0VXApOgorICAgICAgICAoVG9rZW5pemVyVGVzdC5zZXJpYWxpemUpOgor
ICAgICAgICAoVG9rZW5pemVyVGVzdC5jb21wYXJlKToKKyAgICAgICAgKFRva2VuaXplclRlc3Qu
dGVzdF8wKToKKyAgICAgICAgKHRlc3RfMSk6CisgICAgICAgICh0ZXN0XzIpOgorICAgICAgICAo
dGVzdF8zKToKKyAgICAgICAgKHRlc3RfNCk6CisgICAgICAgICh0ZXN0XzUpOgorICAgICAgICAo
dGVzdF82KToKKyAgICAgICAgKHRlc3RfNyk6CisgICAgICAgICh0ZXN0XzgpOgorICAgICAgICAo
dGVzdF85KToKKyAgICAgICAgKHRlc3RfMTApOgorICAgICAgICAodGVzdF8xMSk6CisgICAgICAg
ICh0ZXN0XzEyKToKKyAgICAgICAgKHRlc3RfMTMpOgorICAgICAgICAodGVzdF8xNCk6CisgICAg
ICAgICh0ZXN0XzE1KToKKyAgICAgICAgKHRlc3RfMTYpOgorICAgICAgICAodGVzdF8xNyk6Cisg
ICAgICAgICh0ZXN0XzE4KToKKyAgICAgICAgKHRlc3RfZXNjYXBlXzApOgorICAgICAgICAodGVz
dF9lc2NhcGVfMSk6CisgICAgICAgICh0ZXN0X2VzY2FwZV8yKToKKyAgICAgICAgKHRlc3RfZXNj
YXBlXzMpOgorICAgICAgICAodGVzdF9lc2NhcGVfNCk6CisgICAgICAgICh0ZXN0X2VzY2FwZV81
KToKKyAgICAgICAgKHRlc3RfZXNjYXBlXzYpOgorICAgICAgICAodGVzdF9lc2NhcGVfNyk6Cisg
ICAgICAgICh0ZXN0X2VzY2FwZV84KToKKyAgICAgICAgKHRlc3RfZXNjYXBlXzkpOgorICAgICAg
ICAodGVzdF9lc2NhcGVfMTApOgorICAgICAgICAodGVzdF9lc2NhcGVfMTEpOgorICAgICAgICAo
dGVzdF9hdG9tXzEpOgorICAgICAgICAodGVzdF9hdG9tXzIpOgorICAgICAgICAodGVzdF9hdG9t
XzMpOgorICAgICAgICAodGVzdF9hdG9tXzQpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3Rfc3RhdGlj
LnB5OiBBZGRlZC4KKyAgICAgICAgKFRlc3RTdGF0aWMpOgorICAgICAgICAoVGVzdFN0YXRpYy5j
b21waWxlKToKKyAgICAgICAgKFRlc3RTdGF0aWMudGVzdF9nZXRfMCk6CisgICAgICAgICh0ZXN0
X2dldF8xKToKKyAgICAgICAgKHRlc3RfZ2V0XzMpOgorICAgICAgICAodGVzdF9nZXRfNCk6Cisg
ICAgICAgICh0ZXN0X2FwaSk6CisgICAgICAgICh0ZXN0X2lzX2VtcHR5XzEpOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0
L3Rlc3RzL3Rlc3RfdG9rZW5pemVyLnB5OiBBZGRlZC4KKyAgICAgICAgKFRva2VuaXplclRlc3Qp
OgorICAgICAgICAoVG9rZW5pemVyVGVzdC5zZXRVcCk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0
LnRva2VuaXplKToKKyAgICAgICAgKFRva2VuaXplclRlc3QuY29tcGFyZSk6CisgICAgICAgIChU
b2tlbml6ZXJUZXN0LnRlc3RfaGVhZGluZ18wKToKKyAgICAgICAgKFRva2VuaXplclRlc3QudGVz
dF9oZWFkaW5nXzEpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2hlYWRpbmdfMik6Cisg
ICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3RfaGVhZGluZ18zKToKKyAgICAgICAgKFRva2VuaXpl
clRlc3QudGVzdF9oZWFkaW5nXzQpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2hlYWRp
bmdfNSk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3RfaGVhZGluZ182KToKKyAgICAgICAg
KFRva2VuaXplclRlc3QudGVzdF9rZXlfMCk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3Rf
a2V5XzEpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2tleV8yKToKKyAgICAgICAgKFRv
a2VuaXplclRlc3QudGVzdF9rZXlfMyk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3Rfa2V5
XzQpOgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2tleV81KToKKyAgICAgICAgKFRva2Vu
aXplclRlc3QudGVzdF9rZXlfNik6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3Rfa2V5Xzcp
OgorICAgICAgICAoVG9rZW5pemVyVGVzdC50ZXN0X2tleV84KToKKyAgICAgICAgKFRva2VuaXpl
clRlc3QudGVzdF9rZXlfOSk6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3Rfa2V5XzEwKToK
KyAgICAgICAgKFRva2VuaXplclRlc3QudGVzdF9rZXlfMTEpOgorICAgICAgICAoVG9rZW5pemVy
VGVzdC50ZXN0X2tleV8xMik6CisgICAgICAgIChUb2tlbml6ZXJUZXN0LnRlc3Rfa2V5XzEzKToK
KyAgICAgICAgKFRva2VuaXplclRlc3QudGVzdF9rZXlfMTQpOgorICAgICAgICAoVG9rZW5pemVy
VGVzdC50ZXN0X2xpc3RfMCk6CisgICAgICAgICh0ZXN0X2xpc3RfMSk6CisgICAgICAgICh0ZXN0
X2xpc3RfMik6CisgICAgICAgICh0ZXN0X2xpc3RfMyk6CisgICAgICAgICh0ZXN0X2xpc3RfNCk6
CisgICAgICAgICh0ZXN0X2xpc3RfNSk6CisgICAgICAgICh0ZXN0X2xpc3RfNik6CisgICAgICAg
ICh0ZXN0X2V4cHJfMCk6CisgICAgICAgICh0ZXN0X2V4cHJfMSk6CisgICAgICAgICh0ZXN0X2V4
cHJfMik6CisgICAgICAgICh0ZXN0X2V4cHJfMyk6CisgICAgICAgICh0ZXN0X2V4cHJfNCk6Cisg
ICAgICAgICh0ZXN0X2V4cHJfNSk6CisgICAgICAgICh0ZXN0X2V4cHJfNik6CisgICAgICAgICh0
ZXN0X2V4cHJfNyk6CisgICAgICAgICh0ZXN0X2V4cHJfOCk6CisgICAgICAgICh0ZXN0X2V4cHJf
OSk6CisgICAgICAgICh0ZXN0X2V4cHJfMTApOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3czYy1pbXBvcnQu
bG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93cHRtYW5pZmVzdC93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvdzNj
LWltcG9ydC5sb2cuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0cnVubmVyLnB5OiBBZGRlZC4KKyAgICAgICAgKHNldHVwX2xvZ2dpbmcp
OgorICAgICAgICAoZ2V0X2xvYWRlcik6CisgICAgICAgIChsaXN0X3Rlc3RfZ3JvdXBzKToKKyAg
ICAgICAgKGxpc3RfZGlzYWJsZWQpOgorICAgICAgICAoZ2V0X3BhdXNlX2FmdGVyX3Rlc3QpOgor
ICAgICAgICAocnVuX3Rlc3RzKToKKyAgICAgICAgKHN0YXJ0KToKKyAgICAgICAgKG1haW4pOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dw
dHRlc3QucHk6IEFkZGVkLgorICAgICAgICAoUmVzdWx0KToKKyAgICAgICAgKFJlc3VsdC5fX2lu
aXRfXyk6CisgICAgICAgIChSZXN1bHQuX19yZXByX18pOgorICAgICAgICAoU3VidGVzdFJlc3Vs
dCk6CisgICAgICAgIChTdWJ0ZXN0UmVzdWx0Ll9faW5pdF9fKToKKyAgICAgICAgKFN1YnRlc3RS
ZXN1bHQuX19yZXByX18pOgorICAgICAgICAoVGVzdGhhcm5lc3NSZXN1bHQpOgorICAgICAgICAo
VGVzdGhhcm5lc3NTdWJ0ZXN0UmVzdWx0KToKKyAgICAgICAgKFJlZnRlc3RSZXN1bHQpOgorICAg
ICAgICAoV2RzcGVjUmVzdWx0KToKKyAgICAgICAgKFdkc3BlY1N1YnRlc3RSZXN1bHQpOgorICAg
ICAgICAoZ2V0X3J1bl9pbmZvKToKKyAgICAgICAgKFJ1bkluZm8pOgorICAgICAgICAoUnVuSW5m
by5fX2luaXRfXyk6CisgICAgICAgIChSdW5JbmZvLl91cGRhdGVfbW96aW5mbyk6CisgICAgICAg
IChUZXN0KToKKyAgICAgICAgKFRlc3QuX19pbml0X18pOgorICAgICAgICAoVGVzdC5fX2VxX18p
OgorICAgICAgICAoVGVzdC5mcm9tX21hbmlmZXN0KToKKyAgICAgICAgKFRlc3QuaWQpOgorICAg
ICAgICAoVGVzdC5rZXlzKToKKyAgICAgICAgKFRlc3QuYWJzX3BhdGgpOgorICAgICAgICAoVGVz
dC5fZ2V0X21ldGFkYXRhKToKKyAgICAgICAgKFRlc3QuaXRlcm1ldGEpOgorICAgICAgICAoVGVz
dC5kaXNhYmxlZCk6CisgICAgICAgIChUZXN0LnJlc3RhcnRfYWZ0ZXIpOgorICAgICAgICAoVGVz
dC50YWdzKToKKyAgICAgICAgKFRlc3QucHJlZnMpOgorICAgICAgICAoVGVzdC5leHBlY3RlZCk6
CisgICAgICAgIChUZXN0Ll9fcmVwcl9fKToKKyAgICAgICAgKFRlc3RoYXJuZXNzVGVzdCk6Cisg
ICAgICAgIChUZXN0aGFybmVzc1Rlc3QuaWQpOgorICAgICAgICAoTWFudWFsVGVzdCk6CisgICAg
ICAgIChNYW51YWxUZXN0LmlkKToKKyAgICAgICAgKFJlZnRlc3RUZXN0KToKKyAgICAgICAgKFJl
ZnRlc3RUZXN0Ll9faW5pdF9fKToKKyAgICAgICAgKFJlZnRlc3RUZXN0LmZyb21fbWFuaWZlc3Qp
OgorICAgICAgICAoUmVmdGVzdFRlc3QuaWQpOgorICAgICAgICAoUmVmdGVzdFRlc3Qua2V5cyk6
CisgICAgICAgIChXZHNwZWNUZXN0KToKKyAgICAgICAgKGZyb21fbWFuaWZlc3QpOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS9kb2NzL3czYy1pbXBvcnQubG9n
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5j
dGlvbmFsL2RvY3Jvb3Qvc3ViZGlyL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5jdGlvbmFsL2RvY3Jvb3QvdzNjLWlt
cG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rl
c3RzL2Z1bmN0aW9uYWwvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHNlcnZlL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdXJsL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0OgorCisyMDE3
LTA1LTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgU2V0dGlu
ZyBVUkwuc2VhcmNoIHRvICcnIHJlc3VsdHMgaW4gYSBzdHJpbmdpZmllZCBVUkwgZW5kaW5nIGlu
ICc/JwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYy
MzQ1CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTgwMDQ0MT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9pZGxoYXJuZXNz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvRmlsZUFQSS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCA1YTZjN2I4MjNmYjE3OGM3
YjdmNTBkYWJkNTg0OWM3MGE3YTY1OWZmLi42Yjg4MzdkZTY0MWE5NWM3ZjIxYmNiYzExM2FjZDhh
MGRlNTViZGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0ZpbGVBUEkvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2lkbGhhcm5lc3MtZXhw
ZWN0ZWQudHh0CkBAIC0xMiw4ICsxMiw2IEBAIFBBU1MgQmxvYiBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjCiBQQVNT
IEJsb2IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2l6ZSAKIFBBU1MgQmxvYiBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSB0eXBlIAogUEFTUyBCbG9iIGludGVyZmFjZTogb3BlcmF0aW9uIHNsaWNlKGxvbmcg
bG9uZyxsb25nIGxvbmcsRE9NU3RyaW5nKSAKLVBBU1MgQmxvYiBtdXN0IGJlIHByaW1hcnkgaW50
ZXJmYWNlIG9mIG5ldyBCbG9iKFsiVEVTVCJdKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5l
dyBCbG9iKFsiVEVTVCJdKSAKIFBBU1MgQmxvYiBpbnRlcmZhY2U6IG5ldyBCbG9iKFsiVEVTVCJd
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNpemUiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAK
IFBBU1MgQmxvYiBpbnRlcmZhY2U6IG5ldyBCbG9iKFsiVEVTVCJdKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgInR5cGUiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgQmxvYiBpbnRlcmZh
Y2U6IG5ldyBCbG9iKFsiVEVTVCJdKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNsaWNlIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC0yNSw4ICsyMyw2IEBAIFBBU1MgRmlsZSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dAogUEFTUyBGaWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgRmls
ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAogUEFTUyBGaWxlIGludGVyZmFjZTogYXR0cmli
dXRlIGxhc3RNb2RpZmllZCAKLVBBU1MgRmlsZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9m
IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIAotUEFTUyBTdHJpbmdpZmlj
YXRpb24gb2YgbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgCiBQQVNTIEZp
bGUgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm5hbWUiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1Mg
RmlsZSBpbnRlcmZhY2U6IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFzdE1vZGlmaWVkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MSkgCiBQQVNTIEJsb2IgaW50ZXJmYWNlOiBuZXcgRmlsZShbIm15RmlsZUJpdHMiXSwgIm15Rmls
ZU5hbWUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNpemUiIHdpdGggdGhlIHByb3BlciB0eXBl
ICgwKSAKQEAgLTQwLDggKzM2LDYgQEAgUEFTUyBGaWxlTGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAogUEFTUyBGaWxl
TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIEZpbGVMaXN0IGlu
dGVyZmFjZTogb3BlcmF0aW9uIGl0ZW0odW5zaWduZWQgbG9uZykgCiBQQVNTIEZpbGVMaXN0IGlu
dGVyZmFjZTogYXR0cmlidXRlIGxlbmd0aCAKLVBBU1MgRmlsZUxpc3QgbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBmaWxlX2lucHV0LmZpbGVzIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2Yg
ZmlsZV9pbnB1dC5maWxlcyAKIFBBU1MgRmlsZUxpc3QgaW50ZXJmYWNlOiBmaWxlX2lucHV0LmZp
bGVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaXRlbSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDAp
IAogUEFTUyBGaWxlTGlzdCBpbnRlcmZhY2U6IGNhbGxpbmcgaXRlbSh1bnNpZ25lZCBsb25nKSBv
biBmaWxlX2lucHV0LmZpbGVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCiBQQVNTIEZpbGVMaXN0IGludGVyZmFjZTogZmlsZV9pbnB1dC5maWxlcyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImxlbmd0aCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIApAQCAtNzAs
OCArNjQsNiBAQCBQQVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25sb2FkCiBQ
QVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9ydCAKIFBBU1MgRmlsZVJl
YWRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVycm9yIAogUEFTUyBGaWxlUmVhZGVyIGludGVy
ZmFjZTogYXR0cmlidXRlIG9ubG9hZGVuZCAKLVBBU1MgRmlsZVJlYWRlciBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIG5ldyBGaWxlUmVhZGVyKCkgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBv
ZiBuZXcgRmlsZVJlYWRlcigpIAogUEFTUyBGaWxlUmVhZGVyIGludGVyZmFjZTogbmV3IEZpbGVS
ZWFkZXIoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlYWRBc0FycmF5QnVmZmVyIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBjYWxsaW5nIHJl
YWRBc0FycmF5QnVmZmVyKEJsb2IpIG9uIG5ldyBGaWxlUmVhZGVyKCkgd2l0aCB0b28gZmV3IGFy
Z3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRmlsZVJlYWRlciBpbnRlcmZhY2U6
IG5ldyBGaWxlUmVhZGVyKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZWFkQXNCaW5hcnlTdHJp
bmciIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9pZGxoYXJuZXNzLndvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0ZpbGVBUEkvaWRsaGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDRiOTdkMzc3M2Y2
Mjg4NDgxOGYxNDZmNWVlY2JlYjE1Y2VlMzViMWIuLmJlNDQyNjI0ZGI4NGI1NDU3YTE0NTdjOGEz
YjllMmM0NjEyYzY3ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9pZGxoYXJuZXNzLndvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2lk
bGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMTQsOCArMTQsNiBAQCBQQVNTIEJsb2Ig
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiYwogUEFTUyBCbG9iIGludGVyZmFjZTogYXR0cmlidXRlIHNpemUgCiBQQVNT
IEJsb2IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdHlwZSAKIFBBU1MgQmxvYiBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBzbGljZShsb25nIGxvbmcsbG9uZyBsb25nLERPTVN0cmluZykgCi1QQVNTIEJsb2Ig
bXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgQmxvYihbIlRFU1QiXSkgCi1QQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiBuZXcgQmxvYihbIlRFU1QiXSkgCiBQQVNTIEJsb2IgaW50ZXJmYWNl
OiBuZXcgQmxvYihbIlRFU1QiXSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzaXplIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIEJsb2IgaW50ZXJmYWNlOiBuZXcgQmxvYihbIlRFU1Qi
XSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0eXBlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkg
CiBQQVNTIEJsb2IgaW50ZXJmYWNlOiBuZXcgQmxvYihbIlRFU1QiXSkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJzbGljZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtMjcsOCArMjUsNiBA
QCBGQUlMIEZpbGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZQogRkFJTCBGaWxlIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVj
dG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJGaWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZSIgbWlzc2luZwogRkFJTCBG
aWxlIGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGUi
IG1pc3NpbmcKIEZBSUwgRmlsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYXN0TW9kaWZpZWQgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZSIg
ZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGUiIG1pc3NpbmcKLUZBSUwgRmlsZSBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIGFz
c2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3Qg
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IEZpbGUiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgRmlsZShbIm15Rmls
ZUJpdHMiXSwgIm15RmlsZU5hbWUiKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlv
biB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBGaWxlIgogRkFJTCBGaWxlIGludGVy
ZmFjZTogbmV3IEZpbGUoWyJteUZpbGVCaXRzIl0sICJteUZpbGVOYW1lIikgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJuYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgYXNzZXJ0X2VxdWFsczog
VW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxs
IGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmls
ZSIKIEZBSUwgRmlsZSBpbnRlcmZhY2U6IG5ldyBGaWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxl
TmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFzdE1vZGlmaWVkIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMSkgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFs
dWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSIKIEZBSUwgQmxvYiBpbnRlcmZhY2U6IG5ldyBG
aWxlKFsibXlGaWxlQml0cyJdLCAibXlGaWxlTmFtZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
c2l6ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQg
ZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9i
amVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEZpbGUiCkBAIC02Nyw4
ICs2Myw2IEBAIFBBU1MgRmlsZVJlYWRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmxvYWQKIFBB
U1MgRmlsZVJlYWRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFib3J0IAogUEFTUyBGaWxlUmVh
ZGVyIGludGVyZmFjZTogYXR0cmlidXRlIG9uZXJyb3IgCiBQQVNTIEZpbGVSZWFkZXIgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25sb2FkZW5kIAotUEFTUyBGaWxlUmVhZGVyIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgbmV3IEZpbGVSZWFkZXIoKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9m
IG5ldyBGaWxlUmVhZGVyKCkgCiBQQVNTIEZpbGVSZWFkZXIgaW50ZXJmYWNlOiBuZXcgRmlsZVJl
YWRlcigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVhZEFzQXJyYXlCdWZmZXIiIHdpdGggdGhl
IHByb3BlciB0eXBlICgwKSAKIFBBU1MgRmlsZVJlYWRlciBpbnRlcmZhY2U6IGNhbGxpbmcgcmVh
ZEFzQXJyYXlCdWZmZXIoQmxvYikgb24gbmV3IEZpbGVSZWFkZXIoKSB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBGaWxlUmVhZGVyIGludGVyZmFjZTog
bmV3IEZpbGVSZWFkZXIoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlYWRBc0JpbmFyeVN0cmlu
ZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIApAQCAtOTksOCArOTMsNiBAQCBQQVNTIEZpbGVS
ZWFkZXJTeW5jIGludGVyZmFjZTogb3BlcmF0aW9uIHJlYWRBc0FycmF5QnVmZmVyKEJsb2IpCiBQ
QVNTIEZpbGVSZWFkZXJTeW5jIGludGVyZmFjZTogb3BlcmF0aW9uIHJlYWRBc0JpbmFyeVN0cmlu
ZyhCbG9iKSAKIFBBU1MgRmlsZVJlYWRlclN5bmMgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVhZEFz
VGV4dChCbG9iLERPTVN0cmluZykgCiBQQVNTIEZpbGVSZWFkZXJTeW5jIGludGVyZmFjZTogb3Bl
cmF0aW9uIHJlYWRBc0RhdGFVUkwoQmxvYikgCi1QQVNTIEZpbGVSZWFkZXJTeW5jIG11c3QgYmUg
cHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZpbGVSZWFkZXJTeW5jKCkgCi1QQVNTIFN0cmluZ2lm
aWNhdGlvbiBvZiBuZXcgRmlsZVJlYWRlclN5bmMoKSAKIFBBU1MgRmlsZVJlYWRlclN5bmMgaW50
ZXJmYWNlOiBuZXcgRmlsZVJlYWRlclN5bmMoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlYWRB
c0FycmF5QnVmZmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIEZpbGVSZWFkZXJT
eW5jIGludGVyZmFjZTogY2FsbGluZyByZWFkQXNBcnJheUJ1ZmZlcihCbG9iKSBvbiBuZXcgRmls
ZVJlYWRlclN5bmMoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IAogUEFTUyBGaWxlUmVhZGVyU3luYyBpbnRlcmZhY2U6IG5ldyBGaWxlUmVhZGVyU3luYygpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVhZEFzQmluYXJ5U3RyaW5nIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAoMSkgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0ZpbGVBUEkvdXJsL211bHRpLWdsb2JhbC1vcmlnaW4tc2VyaWFsaXphdGlvbi5z
dWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9GaWxlQVBJL3VybC9tdWx0aS1nbG9iYWwtb3JpZ2luLXNlcmlhbGl6YXRpb24uc3ViLWV4
cGVjdGVkLnR4dAppbmRleCA0ZmQwNWYzM2IyZWFmNmE3MGU5ZTFjYmEzYzY2NDRhNjk0MTBhNWJj
Li4wNjc3ODYyY2YyNTRkYjNmMGQzNTMyYTk5Mzc3YjEyODMzY2VhZGNiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvdXJsL211
bHRpLWdsb2JhbC1vcmlnaW4tc2VyaWFsaXphdGlvbi5zdWItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS91cmwvbXVs
dGktZ2xvYmFsLW9yaWdpbi1zZXJpYWxpemF0aW9uLnN1Yi1leHBlY3RlZC50eHQKQEAgLTIsNiAr
Miw1IEBAIEJsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwOi8vd3d3LmxvY2FsaG9z
dDo4ODAwL0ZpbGVBUEkvc3VwcG9ydC9pbmN1bWJlCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTk6
IFR5cGVFcnJvcjogZnJhbWVzWzBdLmNyZWF0ZUJsb2JVUkwgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnZnJhbWVzWzBdLmNyZWF0ZUJsb2JVUkwoKScsICdmcmFtZXNbMF0uY3JlYXRlQmxvYlVSTCcg
aXMgdW5kZWZpbmVkKQogCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVy
cm9yOiBmcmFtZXNbMF0uY3JlYXRlQmxvYlVSTCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdmcmFt
ZXNbMF0uY3JlYXRlQmxvYlVSTCgpJywgJ2ZyYW1lc1swXS5jcmVhdGVCbG9iVVJMJyBpcyB1bmRl
ZmluZWQpCi0KK0ZBSUwgQmxvYiBVUkwgc2VyaWFsaXphdGlvbiAoc3BlY2lmaWNhbGx5IHRoZSBv
cmlnaW4pIGluIG11bHRpLWdsb2JhbCBzaXR1YXRpb25zIFR5cGVFcnJvcjogZnJhbWVzWzBdLmNy
ZWF0ZUJsb2JVUkwgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZnJhbWVzWzBdLmNyZWF0ZUJsb2JV
UkwoKScsICdmcmFtZXNbMF0uY3JlYXRlQmxvYlVSTCcgaXMgdW5kZWZpbmVkKQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4IGVh
MTQ0MzdkNGRmYzUxYWMxMmI0N2U0N2VkOTU2ZDdlOGViMGNmMTIuLmVmNzI0MzNmZTFmNTAzYmEy
NTM4YWY3YzRlN2YzMDg5NDQ5OTE0YTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0yOSw4ICsyOSw2IEBAIFBBU1MgSURCVmVy
c2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90CiBQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbGRWZXJzaW9uIAogUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgbmV3VmVyc2lvbiAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IElEQlZlcnNpb25DaGFuZ2VFdmVudCgnZm9v
JykgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgSURCVmVyc2lvbkNoYW5nZUV2ZW50KCdm
b28nKSAKIFBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogbmV3IElEQlZlcnNp
b25DaGFuZ2VFdmVudCgnZm9vJykgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbGRWZXJzaW9uIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRl
cmZhY2U6IG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQoJ2ZvbycpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAibmV3VmVyc2lvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBJREJGYWN0
b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCkBAIC00MSw4ICszOSw2IEBAIFBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjCiBQQVNTIElEQkZh
Y3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbihET01TdHJpbmcsdW5zaWduZWQgbG9uZyBs
b25nKSAKIFBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVEYXRhYmFz
ZShET01TdHJpbmcpIAogUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogb3BlcmF0aW9uIGNtcChh
bnksYW55KSAKLVBBU1MgSURCRmFjdG9yeSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHdp
bmRvdy5pbmRleGVkREIgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiB3aW5kb3cuaW5kZXhlZERC
IAogUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogd2luZG93LmluZGV4ZWREQiBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9wZW4iIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgSURCRmFj
dG9yeSBpbnRlcmZhY2U6IGNhbGxpbmcgb3BlbihET01TdHJpbmcsdW5zaWduZWQgbG9uZyBsb25n
KSBvbiB3aW5kb3cuaW5kZXhlZERCIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgCiBQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiB3aW5kb3cuaW5kZXhlZERCIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVsZXRlRGF0YWJhc2UiIHdpdGggdGhlIHByb3BlciB0eXBl
ICgxKSAKQEAgLTEyMCw4ICsxMTYsNiBAQCBQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3Bl
cmF0aW9uIGxvd2VyQm91bmQoYW55LGJvb2xlYW4pCiBQQVNTIElEQktleVJhbmdlIGludGVyZmFj
ZTogb3BlcmF0aW9uIHVwcGVyQm91bmQoYW55LGJvb2xlYW4pIAogUEFTUyBJREJLZXlSYW5nZSBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBib3VuZChhbnksYW55LGJvb2xlYW4sYm9vbGVhbikgCiBQQVNT
IElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIGluY2x1ZGVzKGFueSkgCi1QQVNTIElE
QktleVJhbmdlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgSURCS2V5UmFuZ2Uub25seSgw
KSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIElEQktleVJhbmdlLm9ubHkoMCkgCiBQQVNTIElE
QktleVJhbmdlIGludGVyZmFjZTogSURCS2V5UmFuZ2Uub25seSgwKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImxvd2VyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIElEQktleVJhbmdl
IGludGVyZmFjZTogSURCS2V5UmFuZ2Uub25seSgwKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVw
cGVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIElEQktleVJhbmdlIGludGVyZmFj
ZTogSURCS2V5UmFuZ2Uub25seSgwKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvd2VyT3BlbiIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy53b3JrZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaW50ZXJmYWNlcy53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGM2NGYwZjA2MDNj
NmQyYTNkMjgyOGY3MGJhNDA0MWViZDE1MmUwMTIuLjQ1NmRlMDY3YmJjYTExNjMwZDliMTY0MTQz
YzFhMGRjYTIwMTVkMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMud29ya2VyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pbnRlcmZhY2VzLndvcmtlci1leHBlY3RlZC50eHQKQEAgLTI3LDggKzI3LDYgQEAgUEFTUyBJ
REJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3QKIFBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
ImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9sZFZlcnNpb24gCiBQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBuZXdWZXJzaW9uIAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZl
bnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgSURCVmVyc2lvbkNoYW5nZUV2ZW50
KCdmb28nKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZl
bnQoJ2ZvbycpIAogUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBuZXcgSURC
VmVyc2lvbkNoYW5nZUV2ZW50KCdmb28nKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9sZFZlcnNp
b24iIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50
IGludGVyZmFjZTogbmV3IElEQlZlcnNpb25DaGFuZ2VFdmVudCgnZm9vJykgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJuZXdWZXJzaW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIElE
QkZhY3RvcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdCAKQEAgLTM5LDggKzM3LDYgQEAgUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWMKIFBBU1Mg
SURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuKERPTVN0cmluZyx1bnNpZ25lZCBs
b25nIGxvbmcpIAogUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZURh
dGFiYXNlKERPTVN0cmluZykgCiBQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24g
Y21wKGFueSxhbnkpIAotUEFTUyBJREJGYWN0b3J5IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ug
b2Ygc2VsZi5pbmRleGVkREIgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBzZWxmLmluZGV4ZWRE
QiAKIFBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IHNlbGYuaW5kZXhlZERCIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib3BlbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBJREJGYWN0
b3J5IGludGVyZmFjZTogY2FsbGluZyBvcGVuKERPTVN0cmluZyx1bnNpZ25lZCBsb25nIGxvbmcp
IG9uIHNlbGYuaW5kZXhlZERCIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCiBQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBzZWxmLmluZGV4ZWREQiBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImRlbGV0ZURhdGFiYXNlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkg
CkBAIC0xMTgsOCArMTE0LDYgQEAgUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlv
biBsb3dlckJvdW5kKGFueSxib29sZWFuKQogUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiB1cHBlckJvdW5kKGFueSxib29sZWFuKSAKIFBBU1MgSURCS2V5UmFuZ2UgaW50ZXJm
YWNlOiBvcGVyYXRpb24gYm91bmQoYW55LGFueSxib29sZWFuLGJvb2xlYW4pIAogUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpbmNsdWRlcyhhbnkpIAotUEFTUyBJREJLZXlS
YW5nZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIElEQktleVJhbmdlLm9ubHkoMCkgCi1Q
QVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBJREJLZXlSYW5nZS5vbmx5KDApIAogUEFTUyBJREJLZXlS
YW5nZSBpbnRlcmZhY2U6IElEQktleVJhbmdlLm9ubHkoMCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJsb3dlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBJREJLZXlSYW5nZSBpbnRl
cmZhY2U6IElEQktleVJhbmdlLm9ubHkoMCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cHBlciIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IElE
QktleVJhbmdlLm9ubHkoMCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dlck9wZW4iIHdpdGgg
dGhlIHByb3BlciB0eXBlICgyKSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2Rlcml2ZV9iaXRzX2tleXMvdGVzdF9l
Y2RoX2JpdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZGVyaXZlX2JpdHNfa2V5cy90ZXN0X2VjZGhfYml0cy1l
eHBlY3RlZC50eHQKaW5kZXggODI3YWQ0NTY1NWMyODYxYWEwNDM4ZmNlNjgxY2RmNmE5ZjI4MDc3
MS4uOWY0NWViYjNlYTI0MWVhZjhiNTZhMGZjYzJlYWIzYjIwODgyNDIyYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkv
ZGVyaXZlX2JpdHNfa2V5cy90ZXN0X2VjZGhfYml0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZGVyaXZl
X2JpdHNfa2V5cy90ZXN0X2VjZGhfYml0cy1leHBlY3RlZC50eHQKQEAgLTIsNiArMiw1IEBAIENP
TlNPTEUgTUVTU0FHRTogbGluZSAxOTg6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogRGF0
YUVycm9yIChET00gRXhjZXB0aW9uCiBkZXJpdmVCaXRzIFRlc3RzIGZvciBFQ0RICiAKIAotSGFy
bmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlv
biBkb2VzIG5vdCBtZWV0IHJlcXVpcmVtZW50cwotCitGQUlMIFdlYkNyeXB0b0FQSTogZGVyaXZl
Qml0cygpIFVzaW5nIEVDREggRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24gZG9lcyBub3Qg
bWVldCByZXF1aXJlbWVudHMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZGVyaXZlX2JpdHNfa2V5cy90ZXN0X2Vj
ZGhfa2V5cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9kZXJpdmVfYml0c19rZXlzL3Rlc3RfZWNkaF9rZXlzLWV4
cGVjdGVkLnR4dAppbmRleCA5YmIyMWMxMzcxZWNjZDczZDcxOTViYTIyZTMxZjg4ZTIxMjNjOTQ5
Li4wZTM3ZDQ2MWEzYzA4Y2Q0ZTJmMTMxNjFiYTc1MDM5OTdiY2FkYTQ0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9k
ZXJpdmVfYml0c19rZXlzL3Rlc3RfZWNkaF9rZXlzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9kZXJpdmVf
Yml0c19rZXlzL3Rlc3RfZWNkaF9rZXlzLWV4cGVjdGVkLnR4dApAQCAtMiw2ICsyLDUgQEAgQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE2NzogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBEYXRh
RXJyb3IgKERPTSBFeGNlcHRpb24KIGRlcml2ZUtleSBUZXN0cyBmb3IgRUNESAogCiAKLUhhcm5l
c3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gRGF0YSBwcm92aWRlZCB0byBhbiBvcGVyYXRpb24g
ZG9lcyBub3QgbWVldCByZXF1aXJlbWVudHMKLQorRkFJTCBXZWJDcnlwdG9BUEk6ZGVyaXZlS2V5
KCkgVXNpbmcgRUNESCBEYXRhIHByb3ZpZGVkIHRvIGFuIG9wZXJhdGlvbiBkb2VzIG5vdCBtZWV0
IHJlcXVpcmVtZW50cwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2lk
bGhhcm5lc3MtZXhwZWN0ZWQudHh0CmluZGV4IDk3MjVhNTM5NWRjNzlmODMzMzQ2ZDFjNTVhMThi
ZTY2NGE4NjBlNmYuLjQyNTU2YjA1NjRjMGNhMDAzZWUzNGFjMzgyNzdmZDVjZGQ3NDYwOWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2Vi
Q3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3MtZXhwZWN0
ZWQudHh0CkBAIC0xMCw4ICsxMCw2IEBAIFBBU1MgQ3J5cHRvIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CiBQQVNTIENyeXB0
byBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIENyeXB0byBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBzdWJ0bGUgCiBQQVNTIENyeXB0byBpbnRlcmZhY2U6IG9wZXJhdGlvbiBn
ZXRSYW5kb21WYWx1ZXMoQXJyYXlCdWZmZXJWaWV3KSAKLVBBU1MgQ3J5cHRvIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgY3J5cHRvIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgY3J5cHRv
IAogUEFTUyBDcnlwdG8gaW50ZXJmYWNlOiBjcnlwdG8gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJz
dWJ0bGUiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgQ3J5cHRvIGludGVyZmFjZTog
Y3J5cHRvIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZ2V0UmFuZG9tVmFsdWVzIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMSkgCiBQQVNTIENyeXB0byBpbnRlcmZhY2U6IGNhbGxpbmcgZ2V0UmFuZG9t
VmFsdWVzKEFycmF5QnVmZmVyVmlldykgb24gY3J5cHRvIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgCkBAIC00MSw4ICszOSw2IEBAIFBBU1MgU3VidGxlQ3J5cHRv
IGludGVyZmFjZTogb3BlcmF0aW9uIGltcG9ydEtleShLZXlGb3JtYXQsW29iamVjdCBPYmplY3Rd
LFtvYmplCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IG9wZXJhdGlvbiBleHBvcnRLZXko
S2V5Rm9ybWF0LENyeXB0b0tleSkgCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IG9wZXJh
dGlvbiB3cmFwS2V5KEtleUZvcm1hdCxDcnlwdG9LZXksQ3J5cHRvS2V5LEFsZ29yaXRobUlkZW50
aWZpZXIpIAogUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBvcGVyYXRpb24gdW53cmFwS2V5
KEtleUZvcm1hdCxCdWZmZXJTb3VyY2UsQ3J5cHRvS2V5LEFsZ29yaXRobUlkZW50aWZpZXIsQWxn
b3JpdGhtSWRlbnRpZmllcixib29sZWFuLFtvYmplY3QgT2JqZWN0XSkgCi1QQVNTIFN1YnRsZUNy
eXB0byBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGNyeXB0by5zdWJ0bGUgCi1QQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiBjcnlwdG8uc3VidGxlIAogUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJm
YWNlOiBjcnlwdG8uc3VidGxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZW5jcnlwdCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBTdWJ0bGVDcnlwdG8gaW50ZXJmYWNlOiBjYWxsaW5n
IGVuY3J5cHQoQWxnb3JpdGhtSWRlbnRpZmllcixDcnlwdG9LZXksQnVmZmVyU291cmNlKSBvbiBj
cnlwdG8uc3VidGxlIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJkZWNyeXB0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQ
SS9pZGxoYXJuZXNzLndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9pZGxoYXJuZXNzLndvcmtlci1leHBl
Y3RlZC50eHQKaW5kZXggMTE4M2QzYjRkZThmZWE4OWUwM2I0YmI0YzIxMzI1MDA3ZGU1NGEzYS4u
OGM4M2FhZmMwZWI3MzkxMjkwYzhhOTQ0MTY0MmVlOGQ3ODhjODAxMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvaWRs
aGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtOSw4ICs5LDYgQEAgUEFTUyBDcnlwdG8gaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKIFBBU1MgQ3J5cHRv
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgQ3J5cHRvIGludGVyZmFj
ZTogYXR0cmlidXRlIHN1YnRsZSAKIFBBU1MgQ3J5cHRvIGludGVyZmFjZTogb3BlcmF0aW9uIGdl
dFJhbmRvbVZhbHVlcyhBcnJheUJ1ZmZlclZpZXcpIAotUEFTUyBDcnlwdG8gbXVzdCBiZSBwcmlt
YXJ5IGludGVyZmFjZSBvZiBjcnlwdG8gCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBjcnlwdG8g
CiBQQVNTIENyeXB0byBpbnRlcmZhY2U6IGNyeXB0byBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN1
YnRsZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBDcnlwdG8gaW50ZXJmYWNlOiBj
cnlwdG8gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJnZXRSYW5kb21WYWx1ZXMiIHdpdGggdGhlIHBy
b3BlciB0eXBlICgxKSAKIFBBU1MgQ3J5cHRvIGludGVyZmFjZTogY2FsbGluZyBnZXRSYW5kb21W
YWx1ZXMoQXJyYXlCdWZmZXJWaWV3KSBvbiBjcnlwdG8gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBt
dXN0IHRocm93IFR5cGVFcnJvciAKQEAgLTQwLDggKzM4LDYgQEAgUEFTUyBTdWJ0bGVDcnlwdG8g
aW50ZXJmYWNlOiBvcGVyYXRpb24gaW1wb3J0S2V5KEtleUZvcm1hdCxbb2JqZWN0IE9iamVjdF0s
W29iamUKIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogb3BlcmF0aW9uIGV4cG9ydEtleShL
ZXlGb3JtYXQsQ3J5cHRvS2V5KSAKIFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogb3BlcmF0
aW9uIHdyYXBLZXkoS2V5Rm9ybWF0LENyeXB0b0tleSxDcnlwdG9LZXksQWxnb3JpdGhtSWRlbnRp
ZmllcikgCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1bndyYXBLZXko
S2V5Rm9ybWF0LEJ1ZmZlclNvdXJjZSxDcnlwdG9LZXksQWxnb3JpdGhtSWRlbnRpZmllcixBbGdv
cml0aG1JZGVudGlmaWVyLGJvb2xlYW4sW29iamVjdCBPYmplY3RdKSAKLVBBU1MgU3VidGxlQ3J5
cHRvIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgY3J5cHRvLnN1YnRsZSAKLVBBU1MgU3Ry
aW5naWZpY2F0aW9uIG9mIGNyeXB0by5zdWJ0bGUgCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZh
Y2U6IGNyeXB0by5zdWJ0bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJlbmNyeXB0IiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIFN1YnRsZUNyeXB0byBpbnRlcmZhY2U6IGNhbGxpbmcg
ZW5jcnlwdChBbGdvcml0aG1JZGVudGlmaWVyLENyeXB0b0tleSxCdWZmZXJTb3VyY2UpIG9uIGNy
eXB0by5zdWJ0bGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAK
IFBBU1MgU3VidGxlQ3J5cHRvIGludGVyZmFjZTogY3J5cHRvLnN1YnRsZSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImRlY3J5cHQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVl
c3QvZm9ybWRhdGEtZm9yZWFjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L2Zvcm1kYXRhLWZvcmVhY2gtZXhw
ZWN0ZWQudHh0CmluZGV4IGYzZjhmOGE5NDk4YTE0OGM3OTc0YjVlZGMzZjU1ZDE0ZTVlNTBkZTku
LjJkNmVhZDNjYzZjNDFiZWJhZWU1NjM5ZDk0NDViNmI3YzUyMzAwMDAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3Qv
Zm9ybWRhdGEtZm9yZWFjaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9mb3JtZGF0YS1mb3JlYWNoLWV4
cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogVHlw
ZUVycm9yOiBmZC5kZWxldGUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZmQuZGVsZXRlKCduMicp
JywgJ2ZkLmRlbGV0ZScgaXMgdW5kZWZpbmVkKQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVz
c2FnZSA9IFR5cGVFcnJvcjogZmQuZGVsZXRlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2ZkLmRl
bGV0ZSgnbjInKScsICdmZC5kZWxldGUnIGlzIHVuZGVmaW5lZCkKLQorRkFJTCBGb3JtRGF0YTog
Zm9yZWFjaCBUeXBlRXJyb3I6IGZkLmRlbGV0ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdmZC5k
ZWxldGUoJ24yJyknLCAnZmQuZGVsZXRlJyBpcyB1bmRlZmluZWQpCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3Qv
aW50ZXJmYWNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4
IDYxNzdmZWJhOGI0NDc2ZjEyNDc0OWU3NDZjMjg0ODhkNjAxM2Q4ODYuLjU1NGVlMTQwNTU0NmZi
NGRhMTJmMGUyNmNmZWYyN2MwNmM0NWQ5ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3QvaW50ZXJmYWNlcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9YTUxIdHRwUmVxdWVzdC9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dApAQCAtMTksOCArMTksNiBA
QCBQQVNTIFhNTEh0dHBSZXF1ZXN0VXBsb2FkIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCiBQQVNT
IFhNTEh0dHBSZXF1ZXN0VXBsb2FkIGludGVyZmFjZSBvYmplY3QgbmFtZSAKIFBBU1MgWE1MSHR0
cFJlcXVlc3RVcGxvYWQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCiBQQVNTIFhNTEh0dHBSZXF1ZXN0VXBsb2FkIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgWE1MSHR0cFJlcXVlc3RVcGxvYWQg
bXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVwbG9h
ZCAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2Fk
IAogUEFTUyBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0IGludGVyZmFjZTogKG5ldyBYTUxIdHRw
UmVxdWVzdCgpKS51cGxvYWQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmxvYWRzdGFydCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0IGlu
dGVyZmFjZTogKG5ldyBYTUxIdHRwUmVxdWVzdCgpKS51cGxvYWQgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbnByb2dyZXNzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIFhNTEh0dHBS
ZXF1ZXN0RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVwbG9h
ZCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uYWJvcnQiIHdpdGggdGhlIHByb3BlciB0eXBlICgy
KSAKQEAgLTI4LDEyICsyNiw2IEBAIFBBU1MgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCBpbnRl
cmZhY2U6IChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2FkIG11c3QgaW5oCiBQQVNTIFhNTEh0
dHBSZXF1ZXN0RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVw
bG9hZCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubG9hZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDQpIAogUEFTUyBYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0IGludGVyZmFjZTogKG5ldyBYTUxI
dHRwUmVxdWVzdCgpKS51cGxvYWQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRpbWVvdXQiIHdp
dGggdGhlIHByb3BlciB0eXBlICg1KSAKIFBBU1MgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCBp
bnRlcmZhY2U6IChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2FkIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25sb2FkZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoNikgCi1QQVNTIEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogKG5ldyBYTUxIdHRwUmVxdWVzdCgpKS51cGxvYWQgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCi1Q
QVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBhZGRFdmVudExpc3RlbmVyKERPTVN0
cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4pIG9uIChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBs
b2FkIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2
ZW50VGFyZ2V0IGludGVyZmFjZTogKG5ldyBYTUxIdHRwUmVxdWVzdCgpKS51cGxvYWQgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJyZW1vdmVFdmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMSkgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExp
c3RlbmVyKERPTVN0cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4pIG9uIChuZXcgWE1MSHR0cFJl
cXVlc3QoKSkudXBsb2FkIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogKG5ldyBYTUxIdHRwUmVxdWVzdCgpKS51
cGxvYWQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaXNwYXRjaEV2ZW50IiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMikgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBkaXNwYXRj
aEV2ZW50KEV2ZW50KSBvbiAobmV3IFhNTEh0dHBSZXF1ZXN0KCkpLnVwbG9hZCB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBYTUxIdHRwUmVxdWVzdCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAog
UEFTUyBYTUxIdHRwUmVxdWVzdCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgWE1MSHR0
cFJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBuYW1lIApAQCAtNjksOCArNjEsNiBAQCBQQVNTIFhN
TEh0dHBSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIHJlc3BvbnNlVHlwZQogUEFTUyBYTUxI
dHRwUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZXNwb25zZSAKIFBBU1MgWE1MSHR0cFJl
cXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVzcG9uc2VUZXh0IAogUEFTUyBYTUxIdHRwUmVx
dWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZXNwb25zZVhNTCAKLVBBU1MgWE1MSHR0cFJlcXVl
c3QgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgWE1MSHR0cFJlcXVlc3QoKSAKLVBB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBYTUxIdHRwUmVxdWVzdCgpIAogUEFTUyBYTUxIdHRw
UmVxdWVzdCBpbnRlcmZhY2U6IG5ldyBYTUxIdHRwUmVxdWVzdCgpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25yZWFkeXN0YXRlY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNT
IFhNTEh0dHBSZXF1ZXN0IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJVTlNFTlQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgWE1M
SHR0cFJlcXVlc3QgaW50ZXJmYWNlOiBuZXcgWE1MSHR0cFJlcXVlc3QoKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIk9QRU5FRCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtMTA5LDEyICs5
OSw2IEBAIFBBU1MgWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBYTUxI
dHRwUmVxdWVzdCgpIG11c3QgaW5oZXJpdCBwcm9wCiBQQVNTIFhNTEh0dHBSZXF1ZXN0RXZlbnRU
YXJnZXQgaW50ZXJmYWNlOiBuZXcgWE1MSHR0cFJlcXVlc3QoKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ubG9hZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDQpIAogUEFTUyBYTUxIdHRwUmVxdWVz
dEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbnRpbWVvdXQiIHdpdGggdGhlIHByb3BlciB0eXBlICg1KSAKIFBBU1MgWE1M
SHR0cFJlcXVlc3RFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBYTUxIdHRwUmVxdWVzdCgpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25sb2FkZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoNikg
Ci1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MCkgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBhZGRFdmVudExpc3RlbmVy
KERPTVN0cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4pIG9uIG5ldyBYTUxIdHRwUmVxdWVzdCgp
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2ZW50
VGFyZ2V0IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJyZW1vdmVFdmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCi1QQVNT
IEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0
cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4pIG9uIG5ldyBYTUxIdHRwUmVxdWVzdCgpIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogbmV3IFhNTEh0dHBSZXF1ZXN0KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJk
aXNwYXRjaEV2ZW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCi1QQVNTIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogY2FsbGluZyBkaXNwYXRjaEV2ZW50KEV2ZW50KSBvbiBuZXcgWE1MSHR0cFJl
cXVlc3QoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFT
UyBGb3JtRGF0YSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAogUEFTUyBGb3JtRGF0YSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1Mg
Rm9ybURhdGEgaW50ZXJmYWNlIG9iamVjdCBuYW1lIApAQCAtMTI4LDggKzExMiw2IEBAIEZBSUwg
Rm9ybURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QWxsKFVTVlN0cmluZykgYXNzZXJ0X293
bl9wcm9wZXJ0eTogaW50ZXJmCiBGQUlMIEZvcm1EYXRhIGludGVyZmFjZTogb3BlcmF0aW9uIGhh
cyhVU1ZTdHJpbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgImhhcyIg
bWlzc2luZwogRkFJTCBGb3JtRGF0YSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXQoVVNWU3RyaW5n
LEJsb2IsVVNWU3RyaW5nKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJz
ZXQiIG1pc3NpbmcKIEZBSUwgRm9ybURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0KFVTVlN0
cmluZyxVU1ZTdHJpbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgInNl
dCIgbWlzc2luZwotUEFTUyBGb3JtRGF0YSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5l
dyBGb3JtRGF0YSgpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEZvcm1EYXRhKCkgCiBQ
QVNTIEZvcm1EYXRhIGludGVyZmFjZTogbmV3IEZvcm1EYXRhKCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJhcHBlbmQiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgRm9ybURhdGEgaW50
ZXJmYWNlOiBjYWxsaW5nIGFwcGVuZChVU1ZTdHJpbmcsQmxvYixVU1ZTdHJpbmcpIG9uIG5ldyBG
b3JtRGF0YSgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQ
QVNTIEZvcm1EYXRhIGludGVyZmFjZTogbmV3IEZvcm1EYXRhKCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJhcHBlbmQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKQEAgLTE0Niw4ICsxMjgsNiBA
QCBGQUlMIEZvcm1EYXRhIGludGVyZmFjZTogbmV3IEZvcm1EYXRhKCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJzZXQiIHdpdGggdGhlIHBybwogRkFJTCBGb3JtRGF0YSBpbnRlcmZhY2U6IGNhbGxp
bmcgc2V0KFVTVlN0cmluZyxCbG9iLFVTVlN0cmluZykgb24gbmV3IEZvcm1EYXRhKCkgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJzZXQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgRm9ybURhdGEg
aW50ZXJmYWNlOiBuZXcgRm9ybURhdGEoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNldCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDcpIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInNldCIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgogRkFJTCBGb3JtRGF0YSBpbnRlcmZhY2U6IGNhbGxp
bmcgc2V0KFVTVlN0cmluZyxVU1ZTdHJpbmcpIG9uIG5ldyBGb3JtRGF0YSgpIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0
eSAic2V0IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1QQVNTIEZvcm1EYXRhIG11c3Qg
YmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEZvcm1EYXRhKGZvcm0pIAotUEFTUyBTdHJpbmdp
ZmljYXRpb24gb2YgbmV3IEZvcm1EYXRhKGZvcm0pIAogUEFTUyBGb3JtRGF0YSBpbnRlcmZhY2U6
IG5ldyBGb3JtRGF0YShmb3JtKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFwcGVuZCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBGb3JtRGF0YSBpbnRlcmZhY2U6IGNhbGxpbmcgYXBw
ZW5kKFVTVlN0cmluZyxCbG9iLFVTVlN0cmluZykgb24gbmV3IEZvcm1EYXRhKGZvcm0pIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIEZvcm1EYXRhIGlu
dGVyZmFjZTogbmV3IEZvcm1EYXRhKGZvcm0pIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXBwZW5k
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNldHlwZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1hNTEh0dHBSZXF1ZXN0L3Jlc3BvbnNldHlwZS1leHBlY3RlZC50eHQKaW5kZXggOTJmNjhiOTA0
MWEzNGUxYjQ5ZDMxNWMwZmEwNzE4Mjk0NzEwM2ExZS4uNWMzZjQzODlhOTk1ZjQ3ODQ5YzBhN2Iz
YzFiYzZhMDZiMjczMTU2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9yZXNwb25zZXR5cGUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0
cFJlcXVlc3QvcmVzcG9uc2V0eXBlLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMTc0OiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90
IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRo
ZSB3aW5kb3cgY29udGV4dC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTc0OiBYTUxIdHRwUmVx
dWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAo
UykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxMTc0OiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5n
ZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cg
Y29udGV4dC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTc0OiBYTUxIdHRwUmVxdWVzdC5yZXNw
b25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVz
dHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
MTc0OiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5
bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4K
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMTc0OiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUg
Y2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBm
cm9tIHRoZSB3aW5kb3cgY29udGV4dC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTczOiBYTUxI
dHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3Vz
IEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxMTczOiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJl
IGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3
aW5kb3cgY29udGV4dC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTczOiBYTUxIdHRwUmVxdWVz
dC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykg
cmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMTczOiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQg
Zm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29u
dGV4dC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTczOiBYTUxIdHRwUmVxdWVzdC5yZXNwb25z
ZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNocm9ub3VzIEhUVFAoUykgcmVxdWVzdHMg
bWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMTcz
OiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVR5cGUgY2Fubm90IGJlIGNoYW5nZWQgZm9yIHN5bmNo
cm9ub3VzIEhUVFAoUykgcmVxdWVzdHMgbWFkZSBmcm9tIHRoZSB3aW5kb3cgY29udGV4dC4KIAog
UEFTUyBJbml0aWFsIHZhbHVlIG9mIHJlc3BvbnNlVHlwZSAKIFBBU1MgU2V0IHJlc3BvbnNlVHlw
ZSB0byAiIiB3aGVuIHJlYWR5U3RhdGUgaXMgVU5TRU5ULiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3QvdGltZW91
dC1zeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvWE1MSHR0cFJlcXVlc3QvdGltZW91dC1zeW5jLWV4cGVjdGVkLnR4dAppbmRleCAz
N2RkMDVmYTk2MjMyNzBhYzA4MTI4NDVkNzI3YTFjMWYwOTVmM2M5Li5kMzhjN2RjZTgzMTgwYzhm
ZmM3M2FlNDMxZDZjZjE4OGYyNmYxOWFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3RpbWVvdXQtc3luYy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9YTUxIdHRwUmVxdWVzdC90aW1lb3V0LXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBA
QAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExNzQ6IFhNTEh0dHBSZXF1ZXN0LnRpbWVvdXQgY2Fu
bm90IGJlIHNldCBmb3Igc3luY2hyb25vdXMgSFRUUChTKSByZXF1ZXN0cyBtYWRlIGZyb20gdGhl
IHdpbmRvdyBjb250ZXh0LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExNzM6IFhNTEh0dHBSZXF1
ZXN0LnRpbWVvdXQgY2Fubm90IGJlIHNldCBmb3Igc3luY2hyb25vdXMgSFRUUChTKSByZXF1ZXN0
cyBtYWRlIGZyb20gdGhlIHdpbmRvdyBjb250ZXh0LgogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIx
OiBTeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdHMgbXVzdCBub3QgaGF2ZSBhIHRpbWVvdXQgdmFs
dWUgc2V0LgogCiBQQVNTIHNldHRpbmcgdGltZW91dCBhdHRyaWJ1dGUgb24gc3luYyByZXF1ZXN0
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9iYWNrZ3JvdW5kLWZldGNoL2ludGVyZmFjZXMud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmFja2dyb3VuZC1mZXRjaC9p
bnRlcmZhY2VzLndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggY2QzZmY5OWIzYmM2MDlmNGU1YjUx
NDhhNjFiYmJmYzhkOGFjN2MxMS4uNWNlZTA3YTdiMTI4NTQ4OTQ5ZjliZWE0MDgxZDUxZjFmNDc5
NzBjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9iYWNrZ3JvdW5kLWZldGNoL2ludGVyZmFjZXMud29ya2VyLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JhY2tncm91bmQt
ZmV0Y2gvaW50ZXJmYWNlcy53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0zLDEwICszLDcgQEAgSGFy
bmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAKIFBBU1MgRXhwb3NlZCBpbnRl
cmZhY2VzIGluIGEgU2VydmljZSBXb3JrZXIuIAogUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCi1GQUlMIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bmJhY2tncm91bmRmZXRjaGVkIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSIgbWlzc2luZwotRkFJTCBTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25iYWNrZ3JvdW5kZmV0Y2hmYWlsIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZSIgZXhwZWN0ZWQgcHJvcGVydHkgIlNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZSIgbWlzc2luZwotRkFJTCBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25iYWNrZ3JvdW5kZmV0Y2hhYm9ydCBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUi
IGV4cGVjdGVkIHByb3BlcnR5ICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUiIG1pc3NpbmcKLUZB
SUwgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogYXR0cmlidXRlIG9uYmFja2dy
b3VuZGZldGNoY2xpY2sgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIiBleHBlY3RlZCBwcm9wZXJ0eSAi
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlIiBtaXNzaW5nCitQQVNTIFNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAogRkFJTCBCYWNrZ3JvdW5kRmV0Y2hNYW5hZ2VyIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoTWFuYWdlciIg
ZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaE1hbmFnZXIiIG1pc3NpbmcKIEZBSUwg
QmFja2dyb3VuZEZldGNoTWFuYWdlciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0
Y2hNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoTWFuYWdlciIgbWlz
c2luZwogRkFJTCBCYWNrZ3JvdW5kRmV0Y2hNYW5hZ2VyIGludGVyZmFjZSBvYmplY3QgbmFtZSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNr
Z3JvdW5kRmV0Y2hNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoTWFu
YWdlciIgbWlzc2luZwpAQCAtMzgsMzUgKzM1LDkgQEAgRkFJTCBCYWNrZ3JvdW5kRmV0Y2hBY3Rp
dmVGZXRjaGVzIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWwK
IEZBSUwgQmFja2dyb3VuZEZldGNoQWN0aXZlRmV0Y2hlcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hB
Y3RpdmVGZXRjaGVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQWN0aXZlRmV0
Y2hlcyIgbWlzc2luZwogRkFJTCBCYWNrZ3JvdW5kRmV0Y2hBY3RpdmVGZXRjaGVzIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hBY3RpdmVGZXRjaGVzIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQWN0aXZlRmV0Y2hlcyIgbWlzc2luZwogRkFJ
TCBCYWNrZ3JvdW5kRmV0Y2hBY3RpdmVGZXRjaGVzIGludGVyZmFjZTogYXR0cmlidXRlIHJlc3Bv
bnNlUmVhZHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiQmFja2dyb3VuZEZldGNoQWN0aXZlRmV0Y2hlcyIgZXhwZWN0ZWQgcHJvcGVydHkgIkJh
Y2tncm91bmRGZXRjaEFjdGl2ZUZldGNoZXMiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNo
RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJCYWNrZ3JvdW5kRmV0Y2hFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRj
aEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaEV2ZW50IGludGVyZmFjZSBvYmpl
Y3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkJhY2tncm91bmRGZXRjaEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3Vu
ZEZldGNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRXZlbnQgaW50ZXJmYWNl
IG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dy
b3VuZEZldGNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRXZlbnQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
QmFja2dyb3VuZEZldGNoRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hF
dmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hFdmVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJC
YWNrZ3JvdW5kRmV0Y2hFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hFdmVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSB0YWcgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRXZlbnQiIGV4cGVjdGVkIHByb3Bl
cnR5ICJCYWNrZ3JvdW5kRmV0Y2hFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hF
bmRFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIkJhY2tncm91bmRGZXRjaEVuZEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3Vu
ZEZldGNoRW5kRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRW5kRXZlbnQgaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRW5kRXZlbnQiIGV4cGVjdGVkIHByb3Bl
cnR5ICJCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0
Y2hFbmRFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRW5kRXZlbnQiIGV4
cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCIgbWlzc2luZwotRkFJTCBC
YWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCIgZXhw
ZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEVuZEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJh
Y2tncm91bmRGZXRjaEVuZEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNr
Z3JvdW5kRmV0Y2hFbmRFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEVu
ZEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaEVuZEV2ZW50IGludGVyZmFjZTog
YXR0cmlidXRlIGNvbXBsZXRlRmV0Y2hlcyBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hFbmRFdmVudCIgZXhwZWN0ZWQg
cHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEVuZEV2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91
bmRGZXRjaEVuZEV2ZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHVwZGF0ZVVJKERPTVN0cmluZykg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFj
a2dyb3VuZEZldGNoRW5kRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hF
bmRFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91
bmRGZXRjaFNldHRsZWRGZXRjaGVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNo
U2V0dGxlZEZldGNoZXMiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoU2V0dGxlZEZldGNo
ZXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoU2V0dGxlZEZldGNoZXMiIGV4
cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyIgbWlzc2luZwot
RkFJTCBCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFj
a2dyb3VuZEZldGNoU2V0dGxlZEZldGNoZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5k
RmV0Y2hTZXR0bGVkRmV0Y2hlcyIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVk
RmV0Y2hlcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyIgZXhwZWN0ZWQgcHJv
cGVydHkgIkJhY2tncm91bmRGZXRjaFNldHRsZWRGZXRjaGVzIiBtaXNzaW5nCi1GQUlMIEJhY2tn
cm91bmRGZXRjaFNldHRsZWRGZXRjaGVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJC
YWNrZ3JvdW5kRmV0Y2hTZXR0bGVkRmV0Y2hlcyIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91
bmRGZXRjaFNldHRsZWRGZXRjaGVzIiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaFNldHRs
ZWRGZXRjaGVzIGludGVyZmFjZTogYXR0cmlidXRlIHJlc3BvbnNlIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaFNldHRs
ZWRGZXRjaGVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoU2V0dGxlZEZldGNo
ZXMiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRmFpbEV2ZW50IGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRmFp
bEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoRmFpbEV2ZW50IiBtaXNz
aW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaEZhaWxFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJC
YWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0
Y2hGYWlsRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoRmFpbEV2ZW50IGludGVy
ZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5
ICJCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNo
RmFpbEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEZhaWxFdmVudCIgZXhwZWN0ZWQgcHJvcGVy
dHkgIkJhY2tncm91bmRGZXRjaEZhaWxFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0
Y2hGYWlsRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRGZXRj
aEZhaWxFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaEZhaWxFdmVudCIg
bWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgZmFpbGVkRmV0Y2hlcyBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5
ICJCYWNrZ3JvdW5kRmV0Y2hGYWlsRXZlbnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNo
Q2xpY2tFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkJhY2tncm91bmRGZXRjaENsaWNrRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNr
Z3JvdW5kRmV0Y2hDbGlja0V2ZW50IiBtaXNzaW5nCi1GQUlMIEJhY2tncm91bmRGZXRjaENsaWNr
RXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQ2xpY2tFdmVudCIgZXhw
ZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaENsaWNrRXZlbnQiIG1pc3NpbmcKLUZBSUwg
QmFja2dyb3VuZEZldGNoQ2xpY2tFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQmFja2dyb3VuZEZl
dGNoQ2xpY2tFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIkJhY2tncm91bmRGZXRjaENsaWNrRXZl
bnQiIG1pc3NpbmcKLUZBSUwgQmFja2dyb3VuZEZldGNoQ2xpY2tFdmVudCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3Jv
dW5kRmV0Y2hDbGlja0V2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQ2xp
Y2tFdmVudCIgbWlzc2luZwotRkFJTCBCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2ZW50IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2ZW50IiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiQmFja2dyb3VuZEZldGNoQ2xpY2tFdmVudCIgbWlzc2luZwotRkFJTCBCYWNr
Z3JvdW5kRmV0Y2hDbGlja0V2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkJhY2tncm91bmRG
ZXRjaENsaWNrRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2
ZW50IiBtaXNzaW5nCitQQVNTIEJhY2tncm91bmRGZXRjaEV2ZW50IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIEJhY2tncm91bmRG
ZXRjaEVuZEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCitQQVNTIEJhY2tncm91bmRGZXRjaFNldHRsZWRGZXRjaGVzIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIEJh
Y2tncm91bmRGZXRjaEZhaWxFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBCYWNrZ3JvdW5kRmV0Y2hDbGlja0V2ZW50IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29ycy9vcmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL29yaWdpbi1leHBlY3RlZC50eHQKaW5kZXggOThhZWRmMmViOTI0
OTBhYzVjMjkyZWM2ZTUzZDE1NTI5ZDc0MDZjMC4uM2UxNDk1NDYzZjkxMTg1NDMxNDcyZWQxYTRh
ZmNhOWVmYTg0OGIwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL29yaWdpbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL29yaWdpbi1leHBlY3RlZC50eHQK
QEAgLTU5LDYgKzU5LDggQEAgQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHA6Ly93
d3cxLmxvY2FsaG9zdDo4ODAwL2NvcnMvL3Jlc291cmNlcy9jb3JzLW0KIEFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbiBoYW5kbGluZwogCiAKK0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdl
ID0gMSBkdXBsaWNhdGUgdGVzdCBuYW1lOiAiRGlzYWxsb3cgb3JpZ2luOiBsb2NhbGhvc3Q6ODgw
MCIKKwogRkFJTCBBbGxvdyBvcmlnaW46ICogVGhlIG9wZXJhdGlvbiB3YXMgYWJvcnRlZC4KIEZB
SUwgQWxsb3cgb3JpZ2luOiBfKl9fIFRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQuCiBGQUlMIEFs
bG93IG9yaWdpbjogW3RhYl0qIFRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9jdXN0b20tZWxlbWVudC1yZWdpc3RyeS9kZWZpbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3Vz
dG9tLWVsZW1lbnQtcmVnaXN0cnkvZGVmaW5lLWV4cGVjdGVkLnR4dAppbmRleCA2YjdkNDcwMDZl
MmEzYzFhYTc0NDY3MTRkZDYzYzk2ZTNjMTg3ZTU1Li4wZTY1Y2ZmNDk5YjAyYTFiYWUzODRlYjc1
NGMwYjExMjRkMjFlZTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWdpc3RyeS9k
ZWZpbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlZ2lzdHJ5L2RlZmlu
ZS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6
IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2lmcmFt
ZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXcnKQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwg
bWVzc2FnZSA9IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ2lmcmFtZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXcnKQotCitGQUlMIEN1c3RvbSBF
bGVtZW50czogRWxlbWVudCBkZWZpbml0aW9uIFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ2lmcmFtZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXcn
KQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLWZhbGxzYmFjay10by11bmtub3duLWVs
ZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci1mYWxsc2JhY2stdG8tdW5rbm93
bi1lbGVtZW50LWV4cGVjdGVkLnR4dAppbmRleCA2ZjZkYzg3MTdjZmVlYjE0ODhhZDlkOTU3YmVh
YzVjODQyYWM0YmFlLi42ZmI1MzgwOWEzMjIxNThhYTdhODdmMTcxNGMzMWIzOGQ5NDMyNTIzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLWZhbGxzYmFjay10by11bmtub3duLWVsZW1lbnQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3BhcnNlci9wYXJzZXItZmFsbHNiYWNrLXRvLXVua25vd24t
ZWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTIsOSArMiw3IEBAIENPTlNPTEUgTUVTU0FHRTogVHlw
ZUVycm9yOiBUaGUgcmVzdWx0IG9mIGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50IG11c3Qg
YmUKIENPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiBUaGUgcmVzdWx0IG9mIGNvbnN0cnVjdGlu
ZyBhIGN1c3RvbSBlbGVtZW50IG11c3QgYmUgYSBIVE1MRWxlbWVudAogQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDM1OiBSZWZlcmVuY2VFcnJvcjogQ2Fubm90IGFjY2VzcyB1bmluaXRpYWxpemVkIHZh
cmlhYmxlLgogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBCYWQKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMzIxOiBFcnJvcjogVHJpZWQgdG8gY3JlYXRlIGEgdGVzdCB3aXRoIGZpbGVfaXNfdGVz
dAogCi1QQVNTIEhUTUwgcGFyc2VyIG11c3QgY3JlYXRlIGEgZmFsbGJhY2sgSFRNTFVua25vd25F
bGVtZW50IHdoZW4gYSBjdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvciByZXR1cm5zIGEgVGV4dCBu
b2RlIAotUEFTUyBIVE1MIHBhcnNlciBtdXN0IGNyZWF0ZSBhIGZhbGxiYWNrIEhUTUxVbmtub3du
RWxlbWVudCB3aGVuIGEgY3VzdG9tIGVsZW1lbnQgY29uc3RydWN0b3IgcmV0dXJucyBub24tRWxl
bWVudCBvYmplY3QgCi1QQVNTIEhUTUwgcGFyc2VyIG11c3QgY3JlYXRlIGEgZmFsbGJhY2sgSFRN
TFVua25vd25FbGVtZW50IHdoZW4gYSBjdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvciBkb2VzIG5v
dCBjYWxsIHN1cGVyKCkgCi1QQVNTIEhUTUwgcGFyc2VyIG11c3QgY3JlYXRlIGEgZmFsbGJhY2sg
SFRNTFVua25vd25FbGVtZW50IHdoZW4gYSBjdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvciB0aHJv
d3MgYW4gZXhjZXB0aW9uIAorUEFTUyBDdXN0b20gRWxlbWVudHM6IENoYW5nZXMgdG8gdGhlIEhU
TUwgcGFyc2VyIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0
CmluZGV4IGU5ZDBlYWM5ZGM5ZjkwODE3YmU3NTUzNzFhNjUwN2U4MTk5MDRhOWYuLmYxYzE5ODBh
NjI4OGIwN2IxMWZjNzVlOTJiNTc1OGI4ODhhYzg1MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFjZXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0yNyw4ICsyNyw2IEBAIFBBU1MgRXZlbnQgaW50
ZXJmYWNlOiBvcGVyYXRpb24gcHJldmVudERlZmF1bHQoKQogUEFTUyBFdmVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBkZWZhdWx0UHJldmVudGVkIAogUEFTUyBFdmVudCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSB0aW1lU3RhbXAgCiBQQVNTIEV2ZW50IGludGVyZmFjZTogb3BlcmF0aW9uIGluaXRFdmVu
dChET01TdHJpbmcsYm9vbGVhbixib29sZWFuKSAKLVBBU1MgRXZlbnQgbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBkb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSAKLVBBU1MgU3RyaW5n
aWZpY2F0aW9uIG9mIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpIAogUEFTUyBFdmVudCBp
bnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAidHlwZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBFdmVudCBpbnRlcmZh
Y2U6IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
dGFyZ2V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIEV2ZW50IGludGVyZmFjZTog
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjdXJy
ZW50VGFyZ2V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC00Nyw4ICs0NSw2IEBAIFBB
U1MgRXZlbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSBtdXN0IGhh
dmUgb3duIHByb3BlcnR5ICJpc1RyCiBQQVNTIEV2ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoIkV2ZW50IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0aW1lU3RhbXAiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgxNSkgCiBQQVNTIEV2ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoIkV2ZW50IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbml0RXZlbnQiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgxNikgCiBQQVNTIEV2ZW50IGludGVyZmFjZTogY2FsbGluZyBpbml0
RXZlbnQoRE9NU3RyaW5nLGJvb2xlYW4sYm9vbGVhbikgb24gZG9jdW1lbnQuY3JlYXRlRXZlbnQo
IkV2ZW50Iikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBB
U1MgRXZlbnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgRXZlbnQoImZvbyIpIAot
UEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEV2ZW50KCJmb28iKSAKIFBBU1MgRXZlbnQgaW50
ZXJmYWNlOiBuZXcgRXZlbnQoImZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidHlwZSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBFdmVudCBpbnRlcmZhY2U6IG5ldyBFdmVudCgi
Zm9vIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0YXJnZXQiIHdpdGggdGhlIHByb3BlciB0eXBl
ICgxKSAKIFBBU1MgRXZlbnQgaW50ZXJmYWNlOiBuZXcgRXZlbnQoImZvbyIpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiY3VycmVudFRhcmdldCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAt
NzQsOCArNzAsNiBAQCBQQVNTIEN1c3RvbUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZQogUEFTUyBDdXN0b21FdmVudCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIEN1c3RvbUV2ZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIGRldGFpbCAKIFBBU1MgQ3VzdG9tRXZlbnQgaW50ZXJmYWNlOiBvcGVy
YXRpb24gaW5pdEN1c3RvbUV2ZW50KERPTVN0cmluZyxib29sZWFuLGJvb2xlYW4sYW55KSAKLVBB
U1MgQ3VzdG9tRXZlbnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgQ3VzdG9tRXZl
bnQoImZvbyIpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IEN1c3RvbUV2ZW50KCJmb28i
KSAKIFBBU1MgQ3VzdG9tRXZlbnQgaW50ZXJmYWNlOiBuZXcgQ3VzdG9tRXZlbnQoImZvbyIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGV0YWlsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQ
QVNTIEN1c3RvbUV2ZW50IGludGVyZmFjZTogbmV3IEN1c3RvbUV2ZW50KCJmb28iKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImluaXRDdXN0b21FdmVudCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEp
IAogUEFTUyBDdXN0b21FdmVudCBpbnRlcmZhY2U6IGNhbGxpbmcgaW5pdEN1c3RvbUV2ZW50KERP
TVN0cmluZyxib29sZWFuLGJvb2xlYW4sYW55KSBvbiBuZXcgQ3VzdG9tRXZlbnQoImZvbyIpIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCkBAIC0xMTYsOCArMTEw
LDYgQEAgUEFTUyBOb2RlTGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAogUEFTUyBOb2RlTGlzdCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIE5vZGVMaXN0IGludGVyZmFjZTogb3BlcmF0aW9u
IGl0ZW0odW5zaWduZWQgbG9uZykgCiBQQVNTIE5vZGVMaXN0IGludGVyZmFjZTogYXR0cmlidXRl
IGxlbmd0aCAKLVBBU1MgTm9kZUxpc3QgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJzY3JpcHQiKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9m
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdCIpIAogUEFTUyBOb2RlTGlzdCBpbnRl
cmZhY2U6IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdCIpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiaXRlbSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBOb2RlTGlzdCBp
bnRlcmZhY2U6IGNhbGxpbmcgaXRlbSh1bnNpZ25lZCBsb25nKSBvbiBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCJzY3JpcHQiKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIAogUEFTUyBOb2RlTGlzdCBpbnRlcmZhY2U6IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoInNjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGVuZ3RoIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMSkgCkBAIC0xMjksOCArMTIxLDYgQEAgUEFTUyBIVE1MQ29sbGVjdGlvbiBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG8K
IFBBU1MgSFRNTENvbGxlY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGVuZ3RoIAogUEFTUyBI
VE1MQ29sbGVjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpdGVtKHVuc2lnbmVkIGxvbmcpIAog
UEFTUyBIVE1MQ29sbGVjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBuYW1lZEl0ZW0oRE9NU3Ry
aW5nKSAKLVBBU1MgSFRNTENvbGxlY3Rpb24gbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBk
b2N1bWVudC5ib2R5LmNoaWxkcmVuIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQu
Ym9keS5jaGlsZHJlbiAKIFBBU1MgSFRNTENvbGxlY3Rpb24gaW50ZXJmYWNlOiBkb2N1bWVudC5i
b2R5LmNoaWxkcmVuIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGVuZ3RoIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMCkgCiBQQVNTIEhUTUxDb2xsZWN0aW9uIGludGVyZmFjZTogZG9jdW1lbnQuYm9k
eS5jaGlsZHJlbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgIml0ZW0iIHdpdGggdGhlIHByb3BlciB0
eXBlICgxKSAKIFBBU1MgSFRNTENvbGxlY3Rpb24gaW50ZXJmYWNlOiBjYWxsaW5nIGl0ZW0odW5z
aWduZWQgbG9uZykgb24gZG9jdW1lbnQuYm9keS5jaGlsZHJlbiB3aXRoIHRvbyBmZXcgYXJndW1l
bnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIApAQCAtMjcxLDggKzI2MSw2IEBAIFBBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcHJlcGVuZChbb2JqZWN0IE9iamVjdF0sW29iamVjdCBP
YmplY3RdKQogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhcHBlbmQoW29iamVj
dCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogb3Bl
cmF0aW9uIHF1ZXJ5U2VsZWN0b3IoRE9NU3RyaW5nKSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBvcGVyYXRpb24gcXVlcnlTZWxlY3RvckFsbChET01TdHJpbmcpIAotUEFTUyBEb2N1bWVudCBt
dXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBEb2N1bWVudCgpIAotUEFTUyBTdHJpbmdp
ZmljYXRpb24gb2YgbmV3IERvY3VtZW50KCkgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3
IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbXBsZW1lbnRhdGlvbiIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVu
dCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiVVJMIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkg
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJkb2N1bWVudFVSSSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtNDAzLDgg
KzM5MSw2IEBAIFBBU1MgWE1MRG9jdW1lbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKIFBBU1Mg
WE1MRG9jdW1lbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAogUEFTUyBYTUxEb2N1bWVudCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKIFBBU1MgWE1MRG9jdW1lbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5
IAotUEFTUyBYTUxEb2N1bWVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHhtbERvYyAK
LVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHhtbERvYyAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiB4bWxEb2MgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbXBsZW1lbnRhdGlvbiIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgKDApIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIlVSTCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBEb2N1
bWVudCBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRvY3VtZW50VVJJ
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC01MzksOCArNTI1LDYgQEAgUEFTUyBET01J
bXBsZW1lbnRhdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVEb2N1bWVudFR5cGUoRE9N
U3RyaW5nLERPTVN0cmkKIFBBU1MgRE9NSW1wbGVtZW50YXRpb24gaW50ZXJmYWNlOiBvcGVyYXRp
b24gY3JlYXRlRG9jdW1lbnQoRE9NU3RyaW5nLERPTVN0cmluZyxEb2N1bWVudFR5cGUpIAogUEFT
UyBET01JbXBsZW1lbnRhdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVIVE1MRG9jdW1l
bnQoRE9NU3RyaW5nKSAKIFBBU1MgRE9NSW1wbGVtZW50YXRpb24gaW50ZXJmYWNlOiBvcGVyYXRp
b24gaGFzRmVhdHVyZSgpIAotUEFTUyBET01JbXBsZW1lbnRhdGlvbiBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIGRvY3VtZW50LmltcGxlbWVudGF0aW9uIAotUEFTUyBTdHJpbmdpZmljYXRp
b24gb2YgZG9jdW1lbnQuaW1wbGVtZW50YXRpb24gCiBQQVNTIERPTUltcGxlbWVudGF0aW9uIGlu
dGVyZmFjZTogZG9jdW1lbnQuaW1wbGVtZW50YXRpb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJj
cmVhdGVEb2N1bWVudFR5cGUiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgRE9NSW1w
bGVtZW50YXRpb24gaW50ZXJmYWNlOiBjYWxsaW5nIGNyZWF0ZURvY3VtZW50VHlwZShET01TdHJp
bmcsRE9NU3RyaW5nLERPTVN0cmluZykgb24gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24gd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRE9NSW1wbGVtZW50
YXRpb24gaW50ZXJmYWNlOiBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbiBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImNyZWF0ZURvY3VtZW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCkBAIC01NjAs
OCArNTQ0LDYgQEAgUEFTUyBEb2N1bWVudFR5cGUgaW50ZXJmYWNlOiBvcGVyYXRpb24gYmVmb3Jl
KFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pCiBQQVNTIERvY3VtZW50VHlwZSBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBhZnRlcihbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSAK
IFBBU1MgRG9jdW1lbnRUeXBlIGludGVyZmFjZTogb3BlcmF0aW9uIHJlcGxhY2VXaXRoKFtvYmpl
Y3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBEb2N1bWVudFR5cGUgaW50ZXJmYWNl
OiBvcGVyYXRpb24gcmVtb3ZlKCkgCi1QQVNTIERvY3VtZW50VHlwZSBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIGRvY3VtZW50LmRvY3R5cGUgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBk
b2N1bWVudC5kb2N0eXBlIAogUEFTUyBEb2N1bWVudFR5cGUgaW50ZXJmYWNlOiBkb2N1bWVudC5k
b2N0eXBlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmFtZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDApIAogUEFTUyBEb2N1bWVudFR5cGUgaW50ZXJmYWNlOiBkb2N1bWVudC5kb2N0eXBlIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAicHVibGljSWQiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBB
U1MgRG9jdW1lbnRUeXBlIGludGVyZmFjZTogZG9jdW1lbnQuZG9jdHlwZSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInN5c3RlbUlkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBAIC02NTIsOCAr
NjM0LDYgQEAgUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHByZXBl
bmQoW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWMKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBhcHBlbmQoW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0
XSkgCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnlTZWxl
Y3RvcihET01TdHJpbmcpIAogUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogb3BlcmF0
aW9uIHF1ZXJ5U2VsZWN0b3JBbGwoRE9NU3RyaW5nKSAKLVBBU1MgRG9jdW1lbnRGcmFnbWVudCBt
dXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21l
bnQoKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJh
Z21lbnQoKSAKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0
ZURvY3VtZW50RnJhZ21lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImdldEVsZW1lbnRCeUlk
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJm
YWNlOiBjYWxsaW5nIGdldEVsZW1lbnRCeUlkKERPTVN0cmluZykgb24gZG9jdW1lbnQuY3JlYXRl
RG9jdW1lbnRGcmFnbWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVE
b2N1bWVudEZyYWdtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjaGlsZHJlbiIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDEpIApAQCAtNzk1LDggKzc3NSw2IEBAIFBBU1MgRWxlbWVudCBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBhZnRlcihbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKQog
UEFTUyBFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHJlcGxhY2VXaXRoKFtvYmplY3QgT2Jq
ZWN0XSxbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9u
IHJlbW92ZSgpIAogUEFTUyBFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIGFzc2lnbmVkU2xv
dCAKLVBBU1MgRWxlbWVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGVsZW1lbnQgCi1Q
QVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBlbGVtZW50IAogUEFTUyBFbGVtZW50IGludGVyZmFjZTog
ZWxlbWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5hbWVzcGFjZVVSSSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDApIAogUEFTUyBFbGVtZW50IGludGVyZmFjZTogZWxlbWVudCBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInByZWZpeCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBFbGVt
ZW50IGludGVyZmFjZTogZWxlbWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvY2FsTmFtZSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtOTY2LDggKzk0NCw2IEBAIFBBU1MgQXR0ciBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lCiBQQVNTIEF0dHIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
dmFsdWUgCiBQQVNTIEF0dHIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb3duZXJFbGVtZW50IAogUEFT
UyBBdHRyIGludGVyZmFjZTogYXR0cmlidXRlIHNwZWNpZmllZCAKLVBBU1MgQXR0ciBtdXN0IGJl
IHByaW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIltpZF0iKS5hdHRy
aWJ1dGVzWzBdIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiW2lkXSIpLmF0dHJpYnV0ZXNbMF0gCiBQQVNTIEF0dHIgaW50ZXJmYWNlOiBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCJbaWRdIikuYXR0cmlidXRlc1swXSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im5hbWVzcGFjZVVSSSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBBdHRyIGludGVy
ZmFjZTogZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiW2lkXSIpLmF0dHJpYnV0ZXNbMF0gbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJwcmVmaXgiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1Mg
QXR0ciBpbnRlcmZhY2U6IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIltpZF0iKS5hdHRyaWJ1dGVz
WzBdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG9jYWxOYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMikgCkBAIC0xMDY3LDggKzEwNDMsNiBAQCBQQVNTIFRleHQgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiYwogUEFT
UyBUZXh0IGludGVyZmFjZTogb3BlcmF0aW9uIHNwbGl0VGV4dCh1bnNpZ25lZCBsb25nKSAKIFBB
U1MgVGV4dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB3aG9sZVRleHQgCiBQQVNTIFRleHQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgYXNzaWduZWRTbG90IAotUEFTUyBUZXh0IG11c3QgYmUgcHJpbWFyeSBp
bnRlcmZhY2Ugb2YgZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImFiYyIpIAotUEFTUyBTdHJpbmdp
ZmljYXRpb24gb2YgZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImFiYyIpIAogUEFTUyBUZXh0IGlu
dGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImFiYyIpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAic3BsaXRUZXh0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIFRleHQgaW50
ZXJmYWNlOiBjYWxsaW5nIHNwbGl0VGV4dCh1bnNpZ25lZCBsb25nKSBvbiBkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgiYWJjIikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciAKIFBBU1MgVGV4dCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJhYmMi
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIndob2xlVGV4dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDEpIApAQCAtMTE3MSw4ICsxMTQ1LDYgQEAgUEFTUyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW50
ZXJmYWNlIG9iamVjdCBuYW1lCiBQQVNTIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAK
IFBBU1MgUHJvY2Vzc2luZ0luc3RydWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSAKIFBBU1MgUHJvY2Vzc2luZ0luc3RydWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIHRh
cmdldCAKLVBBU1MgUHJvY2Vzc2luZ0luc3RydWN0aW9uIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgeG1sRG9jLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbigiYWJjIiwgImRlZiIpIAot
UEFTUyBTdHJpbmdpZmljYXRpb24gb2YgeG1sRG9jLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlv
bigiYWJjIiwgImRlZiIpIAogUEFTUyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW50ZXJmYWNlOiB4
bWxEb2MuY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKCJhYmMiLCAiZGVmIikgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJ0YXJnZXQiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgQ2hh
cmFjdGVyRGF0YSBpbnRlcmZhY2U6IHhtbERvYy5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24o
ImFiYyIsICJkZWYiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRhdGEiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgwKSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBpbnRlcmZhY2U6IHhtbERvYy5jcmVhdGVQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24oImFiYyIsICJkZWYiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Imxlbmd0aCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIApAQCAtMTI2Niw4ICsxMjM4LDYgQEAg
UEFTUyBDb21tZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCiBQQVNTIENvbW1lbnQgaW50ZXJm
YWNlIG9iamVjdCBuYW1lIAogUEFTUyBDb21tZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFTUyBDb21tZW50IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgQ29tbWVudCBtdXN0IGJlIHBy
aW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoImFiYyIpIAotUEFTUyBT
dHJpbmdpZmljYXRpb24gb2YgZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiYWJjIikgCiBQQVNTIENo
YXJhY3RlckRhdGEgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVDb21tZW50KCJhYmMiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImRhdGEiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1Mg
Q2hhcmFjdGVyRGF0YSBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoImFiYyIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGVuZ3RoIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQ
QVNTIENoYXJhY3RlckRhdGEgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVDb21tZW50KCJhYmMi
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN1YnN0cmluZ0RhdGEiIHdpdGggdGhlIHByb3BlciB0
eXBlICgyKSAKQEAgLTEzOTUsOCArMTM2NSw2IEBAIFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBvcGVy
YXRpb24gaXNQb2ludEluUmFuZ2UoTm9kZSx1bnNpZ25lZCBsb25nKQogUEFTUyBSYW5nZSBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBjb21wYXJlUG9pbnQoTm9kZSx1bnNpZ25lZCBsb25nKSAKIFBBU1Mg
UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW50ZXJzZWN0c05vZGUoTm9kZSkgCiBQQVNTIFJh
bmdlIGludGVyZmFjZTogc3RyaW5naWZpZXIgCi1QQVNTIFJhbmdlIG11c3QgYmUgcHJpbWFyeSBp
bnRlcmZhY2Ugb2YgZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9u
IG9mIGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkgCiBQQVNTIFJhbmdlIGludGVyZmFjZTogZG9jdW1l
bnQuY3JlYXRlUmFuZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXJ0Q29udGFpbmVyIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIFJhbmdlIGludGVyZmFjZTogZG9jdW1lbnQu
Y3JlYXRlUmFuZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInN0YXJ0T2Zmc2V0IiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIFJhbmdlIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRl
UmFuZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVuZENvbnRhaW5lciIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDIpIApAQCAtMTQ0Miw4ICsxNDEwLDYgQEAgUEFTUyBSYW5nZSBpbnRlcmZhY2U6
IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb21wYXJlUG9p
bnQKIFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIGNvbXBhcmVQb2ludChOb2RlLHVuc2ln
bmVkIGxvbmcpIG9uIGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50
cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBkb2N1bWVudC5j
cmVhdGVSYW5nZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaW50ZXJzZWN0c05vZGUiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgyOSkgCiBQQVNTIFJhbmdlIGludGVyZmFjZTogY2FsbGluZyBpbnRl
cnNlY3RzTm9kZShOb2RlKSBvbiBkb2N1bWVudC5jcmVhdGVSYW5nZSgpIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIFJhbmdlIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgZGV0YWNoZWRSYW5nZSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGRl
dGFjaGVkUmFuZ2UgCiBQQVNTIFJhbmdlIGludGVyZmFjZTogZGV0YWNoZWRSYW5nZSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgInN0YXJ0Q29udGFpbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkg
CiBQQVNTIFJhbmdlIGludGVyZmFjZTogZGV0YWNoZWRSYW5nZSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInN0YXJ0T2Zmc2V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIFJhbmdlIGlu
dGVyZmFjZTogZGV0YWNoZWRSYW5nZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVuZENvbnRhaW5l
ciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtMTUwMiw4ICsxNDY4LDYgQEAgUEFTUyBO
b2RlSXRlcmF0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZmlsdGVyCiBQQVNTIE5vZGVJdGVyYXRv
ciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBuZXh0Tm9kZSgpIAogUEFTUyBOb2RlSXRlcmF0b3IgaW50
ZXJmYWNlOiBvcGVyYXRpb24gcHJldmlvdXNOb2RlKCkgCiBQQVNTIE5vZGVJdGVyYXRvciBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBkZXRhY2goKSAKLVBBU1MgTm9kZUl0ZXJhdG9yIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgZG9jdW1lbnQuY3JlYXRlTm9kZUl0ZXJhdG9yKGRvY3VtZW50LmJv
ZHksIE5vZGVGaWx0ZXIuU0hPV19BTEwsIG51bGwsIGZhbHNlKSAKLVBBU1MgU3RyaW5naWZpY2F0
aW9uIG9mIGRvY3VtZW50LmNyZWF0ZU5vZGVJdGVyYXRvcihkb2N1bWVudC5ib2R5LCBOb2RlRmls
dGVyLlNIT1dfQUxMLCBudWxsLCBmYWxzZSkgCiBQQVNTIE5vZGVJdGVyYXRvciBpbnRlcmZhY2U6
IGRvY3VtZW50LmNyZWF0ZU5vZGVJdGVyYXRvcihkb2N1bWVudC5ib2R5LCBOb2RlRmlsdGVyLlNI
T1dfQUxMLCBudWxsLCBmYWxzZSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyb290IiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIE5vZGVJdGVyYXRvciBpbnRlcmZhY2U6IGRvY3VtZW50
LmNyZWF0ZU5vZGVJdGVyYXRvcihkb2N1bWVudC5ib2R5LCBOb2RlRmlsdGVyLlNIT1dfQUxMLCBu
dWxsLCBmYWxzZSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZWZlcmVuY2VOb2RlIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIE5vZGVJdGVyYXRvciBpbnRlcmZhY2U6IGRvY3VtZW50
LmNyZWF0ZU5vZGVJdGVyYXRvcihkb2N1bWVudC5ib2R5LCBOb2RlRmlsdGVyLlNIT1dfQUxMLCBu
dWxsLCBmYWxzZSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwb2ludGVyQmVmb3JlUmVmZXJlbmNl
Tm9kZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtMTUyOCw4ICsxNDkyLDYgQEAgUEFT
UyBUcmVlV2Fsa2VyIGludGVyZmFjZTogb3BlcmF0aW9uIHByZXZpb3VzU2libGluZygpCiBQQVNT
IFRyZWVXYWxrZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gbmV4dFNpYmxpbmcoKSAKIFBBU1MgVHJl
ZVdhbGtlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwcmV2aW91c05vZGUoKSAKIFBBU1MgVHJlZVdh
bGtlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBuZXh0Tm9kZSgpIAotUEFTUyBUcmVlV2Fsa2VyIG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1
bWVudC5ib2R5LCBOb2RlRmlsdGVyLlNIT1dfQUxMLCBudWxsLCBmYWxzZSkgCi1QQVNTIFN0cmlu
Z2lmaWNhdGlvbiBvZiBkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGRvY3VtZW50LmJvZHksIE5v
ZGVGaWx0ZXIuU0hPV19BTEwsIG51bGwsIGZhbHNlKSAKIFBBU1MgVHJlZVdhbGtlciBpbnRlcmZh
Y2U6IGRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoZG9jdW1lbnQuYm9keSwgTm9kZUZpbHRlci5T
SE9XX0FMTCwgbnVsbCwgZmFsc2UpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicm9vdCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBUcmVlV2Fsa2VyIGludGVyZmFjZTogZG9jdW1lbnQu
Y3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudC5ib2R5LCBOb2RlRmlsdGVyLlNIT1dfQUxMLCBudWxs
LCBmYWxzZSkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ3aGF0VG9TaG93IiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAoMSkgCiBQQVNTIFRyZWVXYWxrZXIgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVU
cmVlV2Fsa2VyKGRvY3VtZW50LmJvZHksIE5vZGVGaWx0ZXIuU0hPV19BTEwsIG51bGwsIGZhbHNl
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImZpbHRlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIp
IApAQCAtMTU5Myw4ICsxNTU1LDYgQEAgUEFTUyBET01Ub2tlbkxpc3QgaW50ZXJmYWNlOiBvcGVy
YXRpb24gcmVwbGFjZShET01TdHJpbmcsRE9NU3RyaW5nKQogUEFTUyBET01Ub2tlbkxpc3QgaW50
ZXJmYWNlOiBvcGVyYXRpb24gc3VwcG9ydHMoRE9NU3RyaW5nKSAKIFBBU1MgRE9NVG9rZW5MaXN0
IGludGVyZmFjZTogYXR0cmlidXRlIHZhbHVlIAogUEFTUyBET01Ub2tlbkxpc3QgaW50ZXJmYWNl
OiBzdHJpbmdpZmllciAKLVBBU1MgRE9NVG9rZW5MaXN0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QgCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBk
b2N1bWVudC5ib2R5LmNsYXNzTGlzdCAKIFBBU1MgRE9NVG9rZW5MaXN0IGludGVyZmFjZTogZG9j
dW1lbnQuYm9keS5jbGFzc0xpc3QgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsZW5ndGgiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgRE9NVG9rZW5MaXN0IGludGVyZmFjZTogZG9jdW1l
bnQuYm9keS5jbGFzc0xpc3QgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpdGVtIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMSkgCiBQQVNTIERPTVRva2VuTGlzdCBpbnRlcmZhY2U6IGNhbGxpbmcgaXRl
bSh1bnNpZ25lZCBsb25nKSBvbiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY29udGVu
dFR5cGUvY29udGVudFR5cGUvY29udGVudHR5cGVfZGF0YXVyaV8wMS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1
bWVudC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRhdXJpXzAxLWV4cGVj
dGVkLnR4dAppbmRleCA2NWFiZDgyMmFmNDk0YjIwMmFlZDRkZTJmMWJmNDdkMDhlNGI3MGRmLi5h
YTJiZWVkYzJlNzI3M2ZhZjIzMTBjNDNhNTM3Yjc4ZjNlZDI3ZTMwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVu
dC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRhdXJpXzAxLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ub2Rlcy9Eb2N1bWVudC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRh
dXJpXzAxLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxNDA2OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAibnVsbCIuICBUaGUgZnJhbWUg
cmVxdWVzdGluZyBhY2Nlc3MgaGFzIGEgcHJvdG9jb2wgb2YgImh0dHAiLCB0aGUgZnJhbWUgYmVp
bmcgYWNjZXNzZWQgaGFzIGEgcHJvdG9jb2wgb2YgImRhdGEiLiBQcm90b2NvbHMgbXVzdCBtYXRj
aC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmln
aW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9y
aWdpbiAibnVsbCIuICBUaGUgZnJhbWUgcmVxdWVzdGluZyBhY2Nlc3MgaGFzIGEgcHJvdG9jb2wg
b2YgImh0dHAiLCB0aGUgZnJhbWUgYmVpbmcgYWNjZXNzZWQgaGFzIGEgcHJvdG9jb2wgb2YgImRh
dGEiLiBQcm90b2NvbHMgbXVzdCBtYXRjaC4KIAogCiBGQUlMIERhdGEgVVJJIGRvY3VtZW50LmNv
bnRlbnRUeXBlID09PSAndGV4dC9wbGFpbicgd2hlbiBkYXRhIFVSSSBNSU1FIHR5cGUgaXMgbm90
IHNldCBudWxsIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2lmcmFtZS5jb250ZW50RG9j
dW1lbnQuY29udGVudFR5cGUnKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY29udGVudFR5cGUvY29udGVu
dFR5cGUvY29udGVudHR5cGVfZGF0YXVyaV8wMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jb250ZW50
VHlwZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRhdXJpXzAyLWV4cGVjdGVkLnR4dAppbmRl
eCAyZTgwMWY1ZjIzMDE2OWI1NTUwYjNhMjExODFkZGVlNzA3MTNjZDk5Li4wYjJjMjQ5YzVjZTg1
NGJlMThkMjllZDE0ZjZhN2E5MmVmMzJiMmEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jb250ZW50VHlw
ZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRhdXJpXzAyLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1
bWVudC1jb250ZW50VHlwZS9jb250ZW50VHlwZS9jb250ZW50dHlwZV9kYXRhdXJpXzAyLWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBCbG9j
a2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMCIgZnJvbSBhY2Nl
c3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAibnVsbCIuICBUaGUgZnJhbWUgcmVxdWVzdGluZyBh
Y2Nlc3MgaGFzIGEgcHJvdG9jb2wgb2YgImh0dHAiLCB0aGUgZnJhbWUgYmVpbmcgYWNjZXNzZWQg
aGFzIGEgcHJvdG9jb2wgb2YgImRhdGEiLiBQcm90b2NvbHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxNDA1OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9s
b2NhbGhvc3Q6ODgwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAibnVsbCIu
ICBUaGUgZnJhbWUgcmVxdWVzdGluZyBhY2Nlc3MgaGFzIGEgcHJvdG9jb2wgb2YgImh0dHAiLCB0
aGUgZnJhbWUgYmVpbmcgYWNjZXNzZWQgaGFzIGEgcHJvdG9jb2wgb2YgImRhdGEiLiBQcm90b2Nv
bHMgbXVzdCBtYXRjaC4KIAogCiBGQUlMIERhdGEgVVJJIGRvY3VtZW50LmNvbnRlbnRUeXBlID09
PSAndGV4dC9odG1sJyB3aGVuIGRhdGEgVVJJIE1JTUUgdHlwZSBpcyBzZXQgbnVsbCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICdpZnJhbWUuY29udGVudERvY3VtZW50LmNvbnRlbnRUeXBl
JykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZW5jb2RpbmcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2VuY29kaW5nL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0
CmluZGV4IDE2YTA3NmMzNjg2MDBlMmRjYmY0YjU4YmVlMTVlZWIzMGUwNjYzNDYuLjE3MjEwMWE4
MzkwZDJhYTVhMTVlN2QwODAwMTUzNWY1NTRjMGY2NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZW5jb2RpbmcvaWRsaGFybmVzcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9lbmNvZGluZy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtMTIsOCArMTIsNiBAQCBQQVNT
IFRleHREZWNvZGVyIGludGVyZmFjZTogYXR0cmlidXRlIGVuY29kaW5nCiBQQVNTIFRleHREZWNv
ZGVyIGludGVyZmFjZTogYXR0cmlidXRlIGZhdGFsIAogUEFTUyBUZXh0RGVjb2RlciBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBpZ25vcmVCT00gCiBQQVNTIFRleHREZWNvZGVyIGludGVyZmFjZTogb3Bl
cmF0aW9uIGRlY29kZShCdWZmZXJTb3VyY2UsVGV4dERlY29kZU9wdGlvbnMpIAotUEFTUyBUZXh0
RGVjb2RlciBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBUZXh0RGVjb2RlcigpIAot
UEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IFRleHREZWNvZGVyKCkgCiBQQVNTIFRleHREZWNv
ZGVyIGludGVyZmFjZTogbmV3IFRleHREZWNvZGVyKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJl
bmNvZGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBUZXh0RGVjb2RlciBpbnRl
cmZhY2U6IG5ldyBUZXh0RGVjb2RlcigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZmF0YWwiIHdp
dGggdGhlIHByb3BlciB0eXBlICgxKSAKIFBBU1MgVGV4dERlY29kZXIgaW50ZXJmYWNlOiBuZXcg
VGV4dERlY29kZXIoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImlnbm9yZUJPTSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgKDIpIApAQCAtMjYsOCArMjQsNiBAQCBQQVNTIFRleHRFbmNvZGVyIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZQogUEFTUyBUZXh0RW5jb2RlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQ
QVNTIFRleHRFbmNvZGVyIGludGVyZmFjZTogYXR0cmlidXRlIGVuY29kaW5nIAogUEFTUyBUZXh0
RW5jb2RlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBlbmNvZGUoVVNWU3RyaW5nKSAKLVBBU1MgVGV4
dEVuY29kZXIgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgVGV4dEVuY29kZXIoKSAK
LVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBUZXh0RW5jb2RlcigpIAogUEFTUyBUZXh0RW5j
b2RlciBpbnRlcmZhY2U6IG5ldyBUZXh0RW5jb2RlcigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
ZW5jb2RpbmciIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgVGV4dEVuY29kZXIgaW50
ZXJmYWNlOiBuZXcgVGV4dEVuY29kZXIoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVuY29kZSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBUZXh0RW5jb2RlciBpbnRlcmZhY2U6IGNh
bGxpbmcgZW5jb2RlKFVTVlN0cmluZykgb24gbmV3IFRleHRFbmNvZGVyKCkgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL2ludGVncml0
eS1zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvaW50ZWdyaXR5LXNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQKaW5kZXggZDc0OTJlNDQzODY1YWNiMGFmNGY2ZWUyNzZlOTYxOTExOWQxY2Ez
MS4uMzhlN2MyMDg0MzEyZWRjY2IwMjkzZjc4ODhhZDFmZjQ2OTI1ZWVlMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFz
aWMvaW50ZWdyaXR5LXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvaW50ZWdyaXR5
LXNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTI6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRX
b3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgRmV0Y2ggaW4gc2hhcmVk
d29ya2VyOiBpbnRlZ3JpdHkgaGFuZGxpbmcgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9oZWFkZXJzL2hlYWRlcnMtaWRsLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvYXBpL2hlYWRlcnMvaGVhZGVycy1pZGwtZXhwZWN0ZWQudHh0CmluZGV4IDM5ZjA0MGFkM2Q2
ZWNmYTVmZmJlNjBjMDM2NWI2Yjk1NTQ0ZGNlYzAuLmJjZTFlMmJjZjJhYTM1OGYwMTFjYTViMmI4
YjcxOWY0NTA4YWFhMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2hlYWRlcnMvaGVhZGVycy1pZGwtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2hlYWRlcnMvaGVhZGVycy1pZGwtZXhwZWN0ZWQudHh0CkBAIC0xMCwxNyArMTAsMTUgQEAg
UEFTUyBIZWFkZXJzIGludGVyZmFjZTogb3BlcmF0aW9uIGdldChCeXRlU3RyaW5nKQogUEFTUyBI
ZWFkZXJzIGludGVyZmFjZTogb3BlcmF0aW9uIGhhcyhCeXRlU3RyaW5nKSAKIFBBU1MgSGVhZGVy
cyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXQoQnl0ZVN0cmluZyxCeXRlU3RyaW5nKSAKIEZBSUwg
VGVzdGluZyBTeW1ib2wuaXRlcmF0b3IgcHJvcGVydHkgb2YgaXRlcmFibGUgaW50ZXJmYWNlIEhl
YWRlcnMgYXNzZXJ0X2VxdWFsczogQEBpdGVyYXRvciBmdW5jdGlvbiBkb2VzIG5vdCBoYXZlIHRo
ZSByaWdodCBuYW1lIGV4cGVjdGVkICJlbnRyaWVzIiBidXQgZ290ICJbU3ltYm9sLkl0ZXJhdG9y
XSIKLUZBSUwgVGVzdGluZyBwYWlyIGl0ZXJhYmxlIGludGVyZmFjZSBIZWFkZXJzIGFzc2VydF9l
cXVhbHM6IGVudHJpZXMgbWV0aG9kIGlzIG5vdCB0aGUgc2FtZSBhcyBAQGl0ZXJhdG9yIGV4cGVj
dGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBbU3ltYm9sLkl0ZXJhdG9yXSgpIHsKK0ZBSUwgVGVzdGlu
ZyBwYWlyIGl0ZXJhYmxlIGludGVyZmFjZSBIZWFkZXJzIGFzc2VydF9lcXVhbHM6IGVudHJpZXMg
bWV0aG9kIGlzIG5vdCB0aGUgc2FtZSBhcyBAQGl0ZXJhdG9yIGV4cGVjdGVkIGZ1bmN0aW9uICJm
dW5jdGlvbiBlbnRyaWVzKCkgewogICAgIFtuYXRpdmUgY29kZV0KLX0iIGJ1dCBnb3QgZnVuY3Rp
b24gImZ1bmN0aW9uIGVudHJpZXMoKSB7Cit9IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBb
U3ltYm9sLkl0ZXJhdG9yXSgpIHsKICAgICBbbmF0aXZlIGNvZGVdCiB9IgogUEFTUyBIZWFkZXJz
IGludGVyZmFjZTogb3BlcmF0aW9uIGVudHJpZXMoKSAKIFBBU1MgSGVhZGVycyBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBrZXlzKCkgCiBQQVNTIEhlYWRlcnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gdmFs
dWVzKCkgCiBQQVNTIEhlYWRlcnMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZm9yRWFjaChmdW5jdGlv
bixhbnkpIAotUEFTUyBIZWFkZXJzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IEhl
YWRlcnMoKSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBIZWFkZXJzKCkgCiBQQVNTIEhl
YWRlcnMgaW50ZXJmYWNlOiBuZXcgSGVhZGVycygpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXBw
ZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIEhlYWRlcnMgaW50ZXJmYWNlOiBj
YWxsaW5nIGFwcGVuZChCeXRlU3RyaW5nLEJ5dGVTdHJpbmcpIG9uIG5ldyBIZWFkZXJzKCkgd2l0
aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgSGVhZGVycyBp
bnRlcmZhY2U6IG5ldyBIZWFkZXJzKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWxldGUiIHdp
dGggdGhlIHByb3BlciB0eXBlICgxKSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1pZGwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50eHQKaW5kZXggNDg1YWY3NjA3
MDViNTJjNDVhMWE1NTcyZjU4YzljYzlkYmRhMmY3NC4uYzg0MThlMWMzMzNlNTE1N2ZmMzM2ZGQ1
YmJmZjE4MWY1NmIzOTIxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWlkbC1leHBlY3RlZC50eHQKQEAgLTI0LDggKzI0LDYgQEAg
UEFTUyBSZXF1ZXN0IGludGVyZmFjZTogb3BlcmF0aW9uIGJsb2IoKQogRkFJTCBSZXF1ZXN0IGlu
dGVyZmFjZTogb3BlcmF0aW9uIGZvcm1EYXRhKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiZm9ybURhdGEiIG1pc3NpbmcKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBqc29uKCkgCiBQQVNTIFJlcXVlc3QgaW50ZXJmYWNlOiBvcGVyYXRpb24gdGV4dCgp
IAotUEFTUyBSZXF1ZXN0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IFJlcXVlc3Qo
IiIpIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IFJlcXVlc3QoIiIpIAogUEFTUyBSZXF1
ZXN0IGludGVyZmFjZTogbmV3IFJlcXVlc3QoIiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWV0
aG9kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIFJlcXVlc3QgaW50ZXJmYWNlOiBu
ZXcgUmVxdWVzdCgiIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cmwiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgxKSAKIFBBU1MgUmVxdWVzdCBpbnRlcmZhY2U6IG5ldyBSZXF1ZXN0KCIiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImhlYWRlcnMiIHdpdGggdGhlIHByb3BlciB0eXBlICgyKSAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvYXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWlkbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9yZXNwb25z
ZS1pZGwtZXhwZWN0ZWQudHh0CmluZGV4IDM0MjQyMDA1NTdkZmI4ODg0NTE3NTkxMzllODhiN2Rk
MTEyMTA0MzEuLjU4MDI3YzZhZjE5ZGVkZGNjODM3ZjY5ZDlmMGU2NWQwNDQ3MDFhY2IgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWlkbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9u
c2UtaWRsLWV4cGVjdGVkLnR4dApAQCAtMjEsOCArMjEsNiBAQCBQQVNTIFJlc3BvbnNlIGludGVy
ZmFjZTogb3BlcmF0aW9uIGJsb2IoKQogUEFTUyBSZXNwb25zZSBpbnRlcmZhY2U6IG9wZXJhdGlv
biBmb3JtRGF0YSgpIAogUEFTUyBSZXNwb25zZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBqc29uKCkg
CiBQQVNTIFJlc3BvbnNlIGludGVyZmFjZTogb3BlcmF0aW9uIHRleHQoKSAKLVBBU1MgUmVzcG9u
c2UgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgUmVzcG9uc2UoKSAKLVBBU1MgU3Ry
aW5naWZpY2F0aW9uIG9mIG5ldyBSZXNwb25zZSgpIAogUEFTUyBSZXNwb25zZSBpbnRlcmZhY2U6
IG5ldyBSZXNwb25zZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZXJyb3IiIHdpdGggdGhlIHBy
b3BlciB0eXBlICgwKSAKIFBBU1MgUmVzcG9uc2UgaW50ZXJmYWNlOiBuZXcgUmVzcG9uc2UoKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgInJlZGlyZWN0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkg
CiBQQVNTIFJlc3BvbnNlIGludGVyZmFjZTogY2FsbGluZyByZWRpcmVjdChVU1ZTdHJpbmcsdW5z
aWduZWQgc2hvcnQpIG9uIG5ldyBSZXNwb25zZSgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVz
dCB0aHJvdyBUeXBlRXJyb3IgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2hyLXRpbWUvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2hyLXRpbWUvaWRsaGFybmVz
cy1leHBlY3RlZC50eHQKaW5kZXggMGE3YTRjYWQ2MDJjZTk2NDg5ODc3NWJkMGI4ZTAzOGE4ZGU3
OTkzMi4uOWQ1YTdmZDNjMTFkNjc0YjYzYmM1NzBhNmNiZDBiNjlkMzkzMzE1OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9oci10aW1lL2lk
bGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHItdGltZS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtOSw4ICs5
LDYgQEAgUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKIFBBU1MgUGVyZm9y
bWFuY2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgCiBQQVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKIFBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gbm93KCkg
Ci1QQVNTIFBlcmZvcm1hbmNlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygd2luZG93LnBl
cmZvcm1hbmNlIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygd2luZG93LnBlcmZvcm1hbmNlIAog
UEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IHdpbmRvdy5wZXJmb3JtYW5jZSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm5vdyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogdHlwZWRlZiBkb3Vi
bGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmln
aW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Ny
b3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLWV4cGVjdGVkLnR4dAppbmRl
eCBhYWEzZjJlZmI3NGQ0ZTU1MzE1ZGM5NGIyODg3OTM0NzZkYmRmZjAyLi4xZTkzMDg4YTFkNDdj
ZjRiYjVmN2JkZDY3NWFiOWQ2ZjZkZjM4OWM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3NzLW9y
aWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3Jp
Z2luL2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLWV4cGVjdGVkLnR4
dApAQCAtMSw0NiArMSwyNSBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQwMzogQmxvY2tlZCBh
IGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0Ojg4MDAiIGZyb20gYWNjZXNzaW5n
IGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODgwMCIuIFByb3RvY29scywg
ZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDAz
OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMCIgZnJv
bSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEyNy4wLjAuMTo4ODAwIi4g
UHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAzODQ6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9z
dDo4ODAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAu
MC4xOjg4MDAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDM4NDogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRw
Oi8vbG9jYWxob3N0Ojg4MDAiIGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0
dHA6Ly8xMjcuMC4wLjE6ODgwMCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3Qg
bWF0Y2guCiAKIFBBU1MgQmFzaWMgc2FuaXR5LWNoZWNraW5nIAotUEFTUyBCYXNpYyBzYW5pdHkt
Y2hlY2tpbmcgKGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgT25seSB3aGl0ZWxpc3RlZCBwcm9wZXJ0
aWVzIGFyZSBhY2Nlc3NpYmxlIGNyb3NzLW9yaWdpbiAKLVBBU1MgT25seSB3aGl0ZWxpc3RlZCBw
cm9wZXJ0aWVzIGFyZSBhY2Nlc3NpYmxlIGNyb3NzLW9yaWdpbiAoZXhjZXB0aW9uIHR5cGUpIAog
UEFTUyBbW0dldFByb3RvdHlwZU9mXV0gc2hvdWxkIHJldHVybiBudWxsIAotUEFTUyBbW0dldFBy
b3RvdHlwZU9mXV0gc2hvdWxkIHJldHVybiBudWxsIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFtb
U2V0UHJvdG90eXBlT2ZdXSBzaG91bGQgcmV0dXJuIGZhbHNlIAotUEFTUyBbW1NldFByb3RvdHlw
ZU9mXV0gc2hvdWxkIHJldHVybiBmYWxzZSAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBbW0lzRXh0
ZW5zaWJsZV1dIHNob3VsZCByZXR1cm4gdHJ1ZSBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVjdHMgCi1Q
QVNTIFtbSXNFeHRlbnNpYmxlXV0gc2hvdWxkIHJldHVybiB0cnVlIGZvciBjcm9zcy1vcmlnaW4g
b2JqZWN0cyAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBbW1ByZXZlbnRFeHRlbnNpb25zXV0gc2hv
dWxkIHRocm93IGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyAKLVBBU1MgW1tQcmV2ZW50RXh0ZW5z
aW9uc11dIHNob3VsZCB0aHJvdyBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVjdHMgKGV4Y2VwdGlvbiB0
eXBlKSAKIFBBU1MgW1tHZXRPd25Qcm9wZXJ0eV1dIC0gUHJvcGVydGllcyBvbiBjcm9zcy1vcmln
aW4gb2JqZWN0cyBzaG91bGQgYmUgcmVwb3J0ZWQgfG93bnwgCi1QQVNTIFtbR2V0T3duUHJvcGVy
dHldXSAtIFByb3BlcnRpZXMgb24gY3Jvc3Mtb3JpZ2luIG9iamVjdHMgc2hvdWxkIGJlIHJlcG9y
dGVkIHxvd258IChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFtbR2V0T3duUHJvcGVydHldXSAtIFBy
b3BlcnR5IGRlc2NyaXB0b3JzIGZvciBjcm9zcy1vcmlnaW4gcHJvcGVydGllcyBzaG91bGQgYmUg
c2V0IHVwIGNvcnJlY3RseSAKLVBBU1MgW1tHZXRPd25Qcm9wZXJ0eV1dIC0gUHJvcGVydHkgZGVz
Y3JpcHRvcnMgZm9yIGNyb3NzLW9yaWdpbiBwcm9wZXJ0aWVzIHNob3VsZCBiZSBzZXQgdXAgY29y
cmVjdGx5IChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFtbRGVsZXRlXV0gU2hvdWxkIHRocm93IG9u
IGNyb3NzLW9yaWdpbiBvYmplY3RzIAotUEFTUyBbW0RlbGV0ZV1dIFNob3VsZCB0aHJvdyBvbiBj
cm9zcy1vcmlnaW4gb2JqZWN0cyAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBbW0RlZmluZU93blBy
b3BlcnR5XV0gU2hvdWxkIHRocm93IGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyAKLVBBU1MgW1tE
ZWZpbmVPd25Qcm9wZXJ0eV1dIFNob3VsZCB0aHJvdyBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVjdHMg
KGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgW1tFbnVtZXJhdGVdXSBzaG91bGQgcmV0dXJuIGFuIGVt
cHR5IGl0ZXJhdG9yIAotUEFTUyBbW0VudW1lcmF0ZV1dIHNob3VsZCByZXR1cm4gYW4gZW1wdHkg
aXRlcmF0b3IgKGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgW1tPd25Qcm9wZXJ0eUtleXNdXSBzaG91
bGQgcmV0dXJuIGFsbCBwcm9wZXJ0aWVzIGZyb20gY3Jvc3Mtb3JpZ2luIG9iamVjdHMgCi1QQVNT
IFtbT3duUHJvcGVydHlLZXlzXV0gc2hvdWxkIHJldHVybiBhbGwgcHJvcGVydGllcyBmcm9tIGNy
b3NzLW9yaWdpbiBvYmplY3RzIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFtbT3duUHJvcGVydHlL
ZXlzXV0gc2hvdWxkIHJldHVybiB0aGUgcmlnaHQgc3ltYm9sLW5hbWVkIHByb3BlcnRpZXMgZm9y
IGNyb3NzLW9yaWdpbiBvYmplY3RzIAotUEFTUyBbW093blByb3BlcnR5S2V5c11dIHNob3VsZCBy
ZXR1cm4gdGhlIHJpZ2h0IHN5bWJvbC1uYW1lZCBwcm9wZXJ0aWVzIGZvciBjcm9zcy1vcmlnaW4g
b2JqZWN0cyAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBbW093blByb3BlcnR5S2V5c11dIHNob3Vs
ZCBwbGFjZSB0aGUgc3ltYm9scyBhZnRlciB0aGUgcHJvcGVydHkgbmFtZXMgYWZ0ZXIgdGhlIHN1
YmZyYW1lIGluZGljZXMgCi1QQVNTIFtbT3duUHJvcGVydHlLZXlzXV0gc2hvdWxkIHBsYWNlIHRo
ZSBzeW1ib2xzIGFmdGVyIHRoZSBwcm9wZXJ0eSBuYW1lcyBhZnRlciB0aGUgc3ViZnJhbWUgaW5k
aWNlcyAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBBIGFuZCBCIGpvaW50bHkgb2JzZXJ2ZSB0aGUg
c2FtZSBpZGVudGl0eSBmb3IgY3Jvc3Mtb3JpZ2luIFdpbmRvdyBhbmQgTG9jYXRpb24gCi1QQVNT
IEEgYW5kIEIgam9pbnRseSBvYnNlcnZlIHRoZSBzYW1lIGlkZW50aXR5IGZvciBjcm9zcy1vcmln
aW4gV2luZG93IGFuZCBMb2NhdGlvbiAoZXhjZXB0aW9uIHR5cGUpIAogUEFTUyBDcm9zcy1vcmln
aW4gZnVuY3Rpb25zIGdldCBsb2NhbCBGdW5jdGlvbi5wcm90b3R5cGUgCi1QQVNTIENyb3NzLW9y
aWdpbiBmdW5jdGlvbnMgZ2V0IGxvY2FsIEZ1bmN0aW9uLnByb3RvdHlwZSAoZXhjZXB0aW9uIHR5
cGUpIAogUEFTUyBDcm9zcy1vcmlnaW4gV2luZG93IGFjY2Vzc29ycyBnZXQgbG9jYWwgRnVuY3Rp
b24ucHJvdG90eXBlIAotUEFTUyBDcm9zcy1vcmlnaW4gV2luZG93IGFjY2Vzc29ycyBnZXQgbG9j
YWwgRnVuY3Rpb24ucHJvdG90eXBlIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIFNhbWUtb3JpZ2lu
IG9ic2VydmVycyBnZXQgZGlmZmVyZW50IGZ1bmN0aW9ucyBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVj
dHMgCi1QQVNTIFNhbWUtb3JpZ2luIG9ic2VydmVycyBnZXQgZGlmZmVyZW50IGZ1bmN0aW9ucyBm
b3IgY3Jvc3Mtb3JpZ2luIG9iamVjdHMgKGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgU2FtZS1vcmln
aW4gb2JzZXJ2ZXJzIGdldCBkaWZmZXJlbnQgYWNjZXNzb3JzIGZvciBjcm9zcy1vcmlnaW4gV2lu
ZG93IAotUEFTUyBTYW1lLW9yaWdpbiBvYnNlcnZlcnMgZ2V0IGRpZmZlcmVudCBhY2Nlc3NvcnMg
Zm9yIGNyb3NzLW9yaWdpbiBXaW5kb3cgKGV4Y2VwdGlvbiB0eXBlKSAKIFBBU1MgU2FtZS1vcmln
aW4gb2JzZXJ2ZXJzIGdldCBkaWZmZXJlbnQgYWNjZXNzb3JzIGZvciBjcm9zcy1vcmlnaW4gTG9j
YXRpb24gCi1QQVNTIFNhbWUtb3JpZ2luIG9ic2VydmVycyBnZXQgZGlmZmVyZW50IGFjY2Vzc29y
cyBmb3IgY3Jvc3Mtb3JpZ2luIExvY2F0aW9uIChleGNlcHRpb24gdHlwZSkgCiBQQVNTIHt9LnRv
U3RyaW5nLmNhbGwoKSBkb2VzIHRoZSByaWdodCB0aGluZyBvbiBjcm9zcy1vcmlnaW4gb2JqZWN0
cyAKLVBBU1Mge30udG9TdHJpbmcuY2FsbCgpIGRvZXMgdGhlIHJpZ2h0IHRoaW5nIG9uIGNyb3Nz
LW9yaWdpbiBvYmplY3RzIChleGNlcHRpb24gdHlwZSkgCiAgCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2lu
L2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2lu
L2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLmh0bWwKaW5kZXggNzkz
Nzc4NjEwODg3Y2U0NjViYzAzNTVmMDM5NzQ2MDJhZjNjZDExMC4uNDQyNjIwYjI5OWU1ZTdiYzUw
OWRiMWMzMGMwMjNmNjdjZDg4OTY1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmlnaW4t
b2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3Jp
Z2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMuaHRtbApAQCAtNTIsMTQgKzUyLDE0IEBA
IGZ1bmN0aW9uIGFkZFRlc3QoZnVuLCBkZXNjKSB7IHRlc3RMaXN0LnB1c2goW2Z1biwgZGVzY10p
OyB9CiAgKiBCYXNpYyBzYW5pdHkgdGVzdGluZy4KICAqLwogCi1hZGRUZXN0KGZ1bmN0aW9uKGV4
Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICAvLyBOb3RlOiB3ZSBkbyBub3Qg
Y2hlY2sgbG9jYXRpb24uaG9zdCBhcyBpdHMgZGVmYXVsdCBwb3J0IHNlbWFudGljcyBhcmUgaGFy
ZCB0byByZWZsZWN0IHN0YXRpY2FsbHkKICAgYXNzZXJ0X2VxdWFscyhsb2NhdGlvbi5ob3N0bmFt
ZSwgaG9zdF9pbmZvLk9SSUdJTkFMX0hPU1QsICdOZWVkIHRvIHJ1biB0aGUgdG9wLWxldmVsIHRl
c3QgZnJvbSBkb21haW4gJyArIGhvc3RfaW5mby5PUklHSU5BTF9IT1NUKTsKICAgYXNzZXJ0X2Vx
dWFscyhnZXRfcG9ydChsb2NhdGlvbiksIGhvc3RfaW5mby5IVFRQX1BPUlQsICdOZWVkIHRvIHJ1
biB0aGUgdG9wLWxldmVsIHRlc3QgZnJvbSBwb3J0ICcgKyBob3N0X2luZm8uSFRUUF9QT1JUKTsK
ICAgYXNzZXJ0X2VxdWFscyhCLnBhcmVudCwgd2luZG93LCAid2luZG93LnBhcmVudCB3b3JrcyBz
YW1lLW9yaWdpbiIpOwogICBhc3NlcnRfZXF1YWxzKEMucGFyZW50LCB3aW5kb3csICJ3aW5kb3cu
cGFyZW50IHdvcmtzIGNyb3NzLW9yaWdpbiIpOwogICBhc3NlcnRfZXF1YWxzKEIubG9jYXRpb24u
cGF0aG5hbWUsIHBhdGgsICJsb2NhdGlvbi5ocmVmIHdvcmtzIHNhbWUtb3JpZ2luIik7Ci0gIHRl
c3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDLmxv
Y2F0aW9uLnBhdGhuYW1lOyB9LCAibG9jYXRpb24ucGF0aG5hbWUgdGhyb3dzIGNyb3NzLW9yaWdp
biIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IEMubG9j
YXRpb24ucGF0aG5hbWU7IH0sICJsb2NhdGlvbi5wYXRobmFtZSB0aHJvd3MgY3Jvc3Mtb3JpZ2lu
Iik7CiAgIGFzc2VydF9lcXVhbHMoQi5mcmFtZXMsICdvdmVycmlkZScsICJPdmVycmlkZXMgdmlz
aWJsZSBpbiB0aGUgc2FtZS1vcmlnaW4gY2FzZSIpOwogICBhc3NlcnRfZXF1YWxzKEMuZnJhbWVz
LCBDLCAiT3ZlcnJpZGVzIGludmlzaWJsZSBpbiB0aGUgY3Jvc3Mtb3JpZ2luIGNhc2UiKTsKIH0s
ICJCYXNpYyBzYW5pdHktY2hlY2tpbmciKTsKQEAgLTgxLDIxICs4MSwyMSBAQCB2YXIgd2hpdGVs
aXN0ZWRTeW1ib2xzID0gW1N5bWJvbC50b1N0cmluZ1RhZywgU3ltYm9sLmhhc0luc3RhbmNlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBTeW1ib2wuaXNDb25jYXRTcHJlYWRhYmxlXTsKIHZh
ciB3aGl0ZWxpc3RlZFdpbmRvd1Byb3BzID0gd2hpdGVsaXN0ZWRXaW5kb3dQcm9wTmFtZXMuY29u
Y2F0KHdoaXRlbGlzdGVkU3ltYm9scyk7CiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3Qp
IHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGZvciAodmFyIHByb3AgaW4gd2luZG93KSB7CiAg
ICAgaWYgKHdoaXRlbGlzdGVkV2luZG93UHJvcHMuaW5kZXhPZihwcm9wKSAhPSAtMSkgewogICAg
ICAgQ1twcm9wXTsgLy8gU2hvdWxkbid0IHRocm93LgogICAgICAgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihDLCBwcm9wKTsgLy8gU2hvdWxkbid0IHRocm93LgogICAgICAgYXNzZXJ0
X3RydWUoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEMsIHByb3ApLCAiaGFz
T3duUHJvcGVydHkgZm9yICIgKyBTdHJpbmcocHJvcCkpOwogICAgIH0gZWxzZSB7Ci0gICAgICB0
ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQ1tw
cm9wXTsgfSwgIlNob3VsZCB0aHJvdyB3aGVuIGFjY2Vzc2luZyAiICsgU3RyaW5nKHByb3ApICsg
IiBvbiBXaW5kb3ciKTsKLSAgICAgIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlF
cnJvciIsIGZ1bmN0aW9uKCkgeyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsIHBy
b3ApOyB9LAorICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkg
eyBDW3Byb3BdOyB9LCAiU2hvdWxkIHRocm93IHdoZW4gYWNjZXNzaW5nICIgKyBTdHJpbmcocHJv
cCkgKyAiIG9uIFdpbmRvdyIpOworICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIs
IGZ1bmN0aW9uKCkgeyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsIHByb3ApOyB9
LAogICAgICAgICAgICAgICAgICAgICAiU2hvdWxkIHRocm93IHdoZW4gYWNjZXNzaW5nIHByb3Bl
cnR5IGRlc2NyaXB0b3IgZm9yICIgKyBwcm9wICsgIiBvbiBXaW5kb3ciKTsKLSAgICAgIHRlc3Rf
dGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBPYmplY3Qu
cHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoQywgcHJvcCk7IH0sCisgICAgICBhc3NlcnRf
dGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IE9iamVjdC5wcm90b3R5cGUuaGFz
T3duUHJvcGVydHkuY2FsbChDLCBwcm9wKTsgfSwKICAgICAgICAgICAgICAgICAgICAgIlNob3Vs
ZCB0aHJvdyB3aGVuIGludm9raW5nIGhhc093blByb3BlcnR5IGZvciAiICsgcHJvcCArICIgb24g
V2luZG93Iik7CiAgICAgfQogICAgIGlmIChwcm9wICE9ICdsb2NhdGlvbicpCi0gICAgICB0ZXN0
X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQ1twcm9w
XSA9IHVuZGVmaW5lZDsgfSwgIlNob3VsZCB0aHJvdyB3aGVuIHdyaXRpbmcgdG8gIiArIHByb3Ag
KyAiIG9uIFdpbmRvdyIpOworICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1
bmN0aW9uKCkgeyBDW3Byb3BdID0gdW5kZWZpbmVkOyB9LCAiU2hvdWxkIHRocm93IHdoZW4gd3Jp
dGluZyB0byAiICsgcHJvcCArICIgb24gV2luZG93Iik7CiAgIH0KICAgZm9yICh2YXIgcHJvcCBp
biBsb2NhdGlvbikgewogICAgIGlmIChwcm9wID09ICdyZXBsYWNlJykgewpAQCAtMTA0LDE0ICsx
MDQsMTQgQEAgYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewogICAgICAgYXNzZXJ0X3Ry
dWUoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEMubG9jYXRpb24sIHByb3Ap
LCAiaGFzT3duUHJvcGVydHkgZm9yICIgKyBwcm9wKTsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAg
ICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsg
Q1twcm9wXTsgfSwgIlNob3VsZCB0aHJvdyB3aGVuIGFjY2Vzc2luZyAiICsgcHJvcCArICIgb24g
TG9jYXRpb24iKTsKLSAgICAgIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJv
ciIsIGZ1bmN0aW9uKCkgeyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsIHByb3Ap
OyB9LAorICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBD
W3Byb3BdOyB9LCAiU2hvdWxkIHRocm93IHdoZW4gYWNjZXNzaW5nICIgKyBwcm9wICsgIiBvbiBM
b2NhdGlvbiIpOworICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9u
KCkgeyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsIHByb3ApOyB9LAogICAgICAg
ICAgICAgICAgICAgICAiU2hvdWxkIHRocm93IHdoZW4gYWNjZXNzaW5nIHByb3BlcnR5IGRlc2Ny
aXB0b3IgZm9yICIgKyBwcm9wICsgIiBvbiBMb2NhdGlvbiIpOwotICAgICAgdGVzdF90aHJvd3Mo
ZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IE9iamVjdC5wcm90b3R5
cGUuaGFzT3duUHJvcGVydHkuY2FsbChDLCBwcm9wKTsgfSwKKyAgICAgIGFzc2VydF90aHJvd3Mo
IlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9w
ZXJ0eS5jYWxsKEMsIHByb3ApOyB9LAogICAgICAgICAgICAgICAgICAgICAiU2hvdWxkIHRocm93
IHdoZW4gaW52b2tpbmcgaGFzT3duUHJvcGVydHkgZm9yICIgKyBwcm9wICsgIiBvbiBMb2NhdGlv
biIpOwogICAgIH0KICAgICBpZiAocHJvcCAhPSAnaHJlZicpCi0gICAgICB0ZXN0X3Rocm93cyhl
eGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQ1twcm9wXSA9IHVuZGVm
aW5lZDsgfSwgIlNob3VsZCB0aHJvdyB3aGVuIHdyaXRpbmcgdG8gIiArIHByb3AgKyAiIG9uIExv
Y2F0aW9uIik7CisgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24o
KSB7IENbcHJvcF0gPSB1bmRlZmluZWQ7IH0sICJTaG91bGQgdGhyb3cgd2hlbiB3cml0aW5nIHRv
ICIgKyBwcm9wICsgIiBvbiBMb2NhdGlvbiIpOwogICB9CiB9LCAiT25seSB3aGl0ZWxpc3RlZCBw
cm9wZXJ0aWVzIGFyZSBhY2Nlc3NpYmxlIGNyb3NzLW9yaWdpbiIpOwogCkBAIC0xMjIsMjkgKzEy
MiwyOSBAQCBhZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CiAvKgogICogW1tHZXRQcm90
b3R5cGVPZl1dCiAgKi8KLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2FkZFRlc3Qo
ZnVuY3Rpb24oKSB7CiAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihDKSA9PT0g
bnVsbCwgImNyb3NzLW9yaWdpbiBXaW5kb3cgcHJvdG8gaXMgbnVsbCIpOwogICBhc3NlcnRfdHJ1
ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoQy5sb2NhdGlvbikgPT09IG51bGwsICJjcm9zcy1vcmln
aW4gTG9jYXRpb24gcHJvdG8gaXMgbnVsbCAoX19wcm90b19fKSIpOwogICB2YXIgcHJvdG9HZXR0
ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICdf
X3Byb3RvX18nKS5nZXQ7CiAgIGFzc2VydF90cnVlKHByb3RvR2V0dGVyLmNhbGwoQykgPT09IG51
bGwsICJjcm9zcy1vcmlnaW4gV2luZG93IHByb3RvIGlzIG51bGwiKTsKICAgYXNzZXJ0X3RydWUo
cHJvdG9HZXR0ZXIuY2FsbChDLmxvY2F0aW9uKSA9PT0gbnVsbCwgImNyb3NzLW9yaWdpbiBMb2Nh
dGlvbiBwcm90byBpcyBudWxsIChfX3Byb3RvX18pIik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlv
bl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDLl9fcHJvdG9fXzsgfSwgIl9fcHJv
dG9fXyBwcm9wZXJ0eSBub3QgYXZhaWxhYmxlIGNyb3NzLW9yaWdpbiIpOwotICB0ZXN0X3Rocm93
cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQy5sb2NhdGlvbi5f
X3Byb3RvX187IH0sICJfX3Byb3RvX18gcHJvcGVydHkgbm90IGF2YWlsYWJsZSBjcm9zcy1vcmln
aW4iKTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBDLl9f
cHJvdG9fXzsgfSwgIl9fcHJvdG9fXyBwcm9wZXJ0eSBub3QgYXZhaWxhYmxlIGNyb3NzLW9yaWdp
biIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IEMubG9j
YXRpb24uX19wcm90b19fOyB9LCAiX19wcm90b19fIHByb3BlcnR5IG5vdCBhdmFpbGFibGUgY3Jv
c3Mtb3JpZ2luIik7CiAKIH0sICJbW0dldFByb3RvdHlwZU9mXV0gc2hvdWxkIHJldHVybiBudWxs
Iik7CiAKIC8qCiAgKiBbW1NldFByb3RvdHlwZU9mXV0KICAqLwotYWRkVGVzdChmdW5jdGlvbihl
eGNlcHRpb25fdCkgewotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3Ii
LCBmdW5jdGlvbigpIHsgQy5fX3Byb3RvX18gPSBuZXcgT2JqZWN0KCk7IH0sICJwcm90byBzZXQg
b24gY3Jvc3Mtb3JpZ2luIFdpbmRvdyIpOwotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNl
Y3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgQy5sb2NhdGlvbi5fX3Byb3RvX18gPSBuZXcgT2Jq
ZWN0KCk7IH0sICJwcm90byBzZXQgb24gY3Jvc3Mtb3JpZ2luIExvY2F0aW9uIik7CithZGRUZXN0
KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24o
KSB7IEMuX19wcm90b19fID0gbmV3IE9iamVjdCgpOyB9LCAicHJvdG8gc2V0IG9uIGNyb3NzLW9y
aWdpbiBXaW5kb3ciKTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9u
KCkgeyBDLmxvY2F0aW9uLl9fcHJvdG9fXyA9IG5ldyBPYmplY3QoKTsgfSwgInByb3RvIHNldCBv
biBjcm9zcy1vcmlnaW4gTG9jYXRpb24iKTsKICAgdmFyIHNldHRlcnMgPSBbT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAnX19wcm90b19fJykuc2V0XTsK
ICAgaWYgKE9iamVjdC5zZXRQcm90b3R5cGVPZikKICAgICBzZXR0ZXJzLnB1c2goZnVuY3Rpb24o
cCkgeyBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgcCk7IH0pOwogICBzZXR0ZXJzLmZvckVh
Y2goZnVuY3Rpb24ocHJvdG9TZXR0ZXIpIHsKLSAgICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwg
bmV3IFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7IHByb3RvU2V0dGVyLmNhbGwoQywgbmV3IE9iamVj
dCgpKTsgfSwgInByb3RvIHNldHRlciB8Y2FsbHwgb24gY3Jvc3Mtb3JpZ2luIFdpbmRvdyIpOwot
ICAgIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCBuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsg
cHJvdG9TZXR0ZXIuY2FsbChDLmxvY2F0aW9uLCBuZXcgT2JqZWN0KCkpOyB9LCAicHJvdG8gc2V0
dGVyIHxjYWxsfCBvbiBjcm9zcy1vcmlnaW4gTG9jYXRpb24iKTsKKyAgICBhc3NlcnRfdGhyb3dz
KG5ldyBUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeyBwcm90b1NldHRlci5jYWxsKEMsIG5ldyBPYmpl
Y3QoKSk7IH0sICJwcm90byBzZXR0ZXIgfGNhbGx8IG9uIGNyb3NzLW9yaWdpbiBXaW5kb3ciKTsK
KyAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeyBwcm90b1NldHRl
ci5jYWxsKEMubG9jYXRpb24sIG5ldyBPYmplY3QoKSk7IH0sICJwcm90byBzZXR0ZXIgfGNhbGx8
IG9uIGNyb3NzLW9yaWdpbiBMb2NhdGlvbiIpOwogICB9KTsKICAgaWYgKFJlZmxlY3Quc2V0UHJv
dG90eXBlT2YpIHsKICAgICBhc3NlcnRfZmFsc2UoUmVmbGVjdC5zZXRQcm90b3R5cGVPZihDLCBu
ZXcgT2JqZWN0KCkpLApAQCAtMTU3LDcgKzE1Nyw3IEBAIGFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0
aW9uX3QpIHsKIC8qCiAgKiBbW0lzRXh0ZW5zaWJsZV1dCiAgKi8KLWFkZFRlc3QoZnVuY3Rpb24o
ZXhjZXB0aW9uX3QpIHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF90cnVlKE9iamVj
dC5pc0V4dGVuc2libGUoQyksICJjcm9zcy1vcmlnaW4gV2luZG93IHNob3VsZCBiZSBleHRlbnNp
YmxlIik7CiAgIGFzc2VydF90cnVlKE9iamVjdC5pc0V4dGVuc2libGUoQy5sb2NhdGlvbiksICJj
cm9zcy1vcmlnaW4gTG9jYXRpb24gc2hvdWxkIGJlIGV4dGVuc2libGUiKTsKIH0sICJbW0lzRXh0
ZW5zaWJsZV1dIHNob3VsZCByZXR1cm4gdHJ1ZSBmb3IgY3Jvc3Mtb3JpZ2luIG9iamVjdHMiKTsK
QEAgLTE2NSwxMCArMTY1LDEwIEBAIGFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKIC8q
CiAgKiBbW1ByZXZlbnRFeHRlbnNpb25zXV0KICAqLwotYWRkVGVzdChmdW5jdGlvbihleGNlcHRp
b25fdCkgewotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgbmV3IFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhDKSB9LAorYWRkVGVzdChmdW5jdGlvbigp
IHsKKyAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsgT2JqZWN0LnBy
ZXZlbnRFeHRlbnNpb25zKEMpIH0sCiAgICAgICAgICAgICAgICAgInByZXZlbnRFeHRlbnNpb25z
IG9uIGNyb3NzLW9yaWdpbiBXaW5kb3cgc2hvdWxkIHRocm93Iik7Ci0gIHRlc3RfdGhyb3dzKGV4
Y2VwdGlvbl90LCBuZXcgVHlwZUVycm9yLCBmdW5jdGlvbigpIHsgT2JqZWN0LnByZXZlbnRFeHRl
bnNpb25zKEMubG9jYXRpb24pIH0sCisgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhDLmxvY2F0aW9uKSB9LAogICAgICAg
ICAgICAgICAgICJwcmV2ZW50RXh0ZW5zaW9ucyBvbiBjcm9zcy1vcmlnaW4gTG9jYXRpb24gc2hv
dWxkIHRocm93Iik7CiB9LCAiW1tQcmV2ZW50RXh0ZW5zaW9uc11dIHNob3VsZCB0aHJvdyBmb3Ig
Y3Jvc3Mtb3JpZ2luIG9iamVjdHMiKTsKIApAQCAtMTc2LDcgKzE3Niw3IEBAIGFkZFRlc3QoZnVu
Y3Rpb24oZXhjZXB0aW9uX3QpIHsKICAqIFtbR2V0T3duUHJvcGVydHldXQogICovCiAKLWFkZFRl
c3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2Vy
dF90cnVlKGlzT2JqZWN0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQywgJ2Nsb3Nl
JykpLCAiQy5jbG9zZSBpcyB8b3dufCIpOwogICBhc3NlcnRfdHJ1ZShpc09iamVjdChPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsICd0b3AnKSksICJDLnRvcCBpcyB8b3dufCIpOwog
ICBhc3NlcnRfdHJ1ZShpc09iamVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMu
bG9jYXRpb24sICdocmVmJykpLCAiQy5sb2NhdGlvbi5ocmVmIGlzIHxvd258Iik7CkBAIC0yMDMs
NyArMjAzLDcgQEAgZnVuY3Rpb24gY2hlY2tQcm9wZXJ0eURlc2NyaXB0b3IoZGVzYywgcHJvcE5h
bWUsIGV4cGVjdFdyaXRhYmxlKSB7CiAgICAgICAgICAgICAgICAgICAicHJvcGVydHkgZGVzY3Jp
cHRvciBmb3IgIiArIHByb3BOYW1lICsgIiBzaG91bGQgIiArIChleHBlY3RXcml0YWJsZSA/ICIi
IDogIm5vdCAiKSArICJoYXZlIHNldHRlciIpOwogfQogCi1hZGRUZXN0KGZ1bmN0aW9uKGV4Y2Vw
dGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICB3aGl0ZWxpc3RlZFdpbmRvd1Byb3Bz
LmZvckVhY2goZnVuY3Rpb24ocHJvcCkgewogICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihDLCBwcm9wKTsKICAgICBjaGVja1Byb3BlcnR5RGVzY3JpcHRvcihk
ZXNjLCBwcm9wLCBwcm9wID09ICdsb2NhdGlvbicpOwpAQCAtMjIwLDQ2ICsyMjAsNDYgQEAgYWRk
VGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewogLyoKICAqIFtbRGVsZXRlXV0KICAqLwotYWRk
VGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwg
IlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIENbMF07IH0sICJDYW4ndCBkZWxl
dGUgY3Jvc3Mtb3JpZ2luIGluZGV4ZWQgcHJvcGVydHkiKTsKLSAgdGVzdF90aHJvd3MoZXhjZXB0
aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDWzEwMF07IH0sICJD
YW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIGluZGV4ZWQgcHJvcGVydHkiKTsKLSAgdGVzdF90aHJv
d3MoZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmxv
Y2F0aW9uOyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOwotICB0ZXN0
X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRl
IEMucGFyZW50OyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOwotICB0
ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVs
ZXRlIEMubGVuZ3RoOyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOwot
ICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwgIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsg
ZGVsZXRlIEMuZG9jdW1lbnQ7IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5
Iik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9u
KCkgeyBkZWxldGUgQy5mb29weTsgfSwgIkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gcHJvcGVy
dHkiKTsKLSAgdGVzdF90aHJvd3MoZXhjZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rp
b24oKSB7IGRlbGV0ZSBDLmxvY2F0aW9uLmhyZWY7IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3Jp
Z2luIHByb3BlcnR5Iik7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2VjdXJpdHlFcnJv
ciIsIGZ1bmN0aW9uKCkgeyBkZWxldGUgQy5sb2NhdGlvbi5yZXBsYWNlOyB9LCAiQ2FuJ3QgZGVs
ZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOwotICB0ZXN0X3Rocm93cyhleGNlcHRpb25fdCwg
IlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIEMubG9jYXRpb24ucG9ydDsgfSwg
IkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkiKTsKLSAgdGVzdF90aHJvd3MoZXhj
ZXB0aW9uX3QsICJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmxvY2F0aW9u
LmZvb3B5OyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOworYWRkVGVz
dChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9u
KCkgeyBkZWxldGUgQ1swXTsgfSwgIkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gaW5kZXhlZCBw
cm9wZXJ0eSIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7
IGRlbGV0ZSBDWzEwMF07IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIGluZGV4ZWQgcHJv
cGVydHkiKTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBk
ZWxldGUgQy5sb2NhdGlvbjsgfSwgIkNhbid0IGRlbGV0ZSBjcm9zcy1vcmlnaW4gcHJvcGVydHki
KTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBkZWxldGUg
Qy5wYXJlbnQ7IH0sICJDYW4ndCBkZWxldGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5Iik7CisgIGFz
c2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIEMubGVuZ3Ro
OyB9LCAiQ2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOworICBhc3NlcnRfdGhy
b3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmRvY3VtZW50OyB9LCAi
Q2FuJ3QgZGVsZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOworICBhc3NlcnRfdGhyb3dzKCJT
ZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmZvb3B5OyB9LCAiQ2FuJ3QgZGVs
ZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVy
cm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmxvY2F0aW9uLmhyZWY7IH0sICJDYW4ndCBkZWxl
dGUgY3Jvc3Mtb3JpZ2luIHByb3BlcnR5Iik7CisgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJy
b3IiLCBmdW5jdGlvbigpIHsgZGVsZXRlIEMubG9jYXRpb24ucmVwbGFjZTsgfSwgIkNhbid0IGRl
bGV0ZSBjcm9zcy1vcmlnaW4gcHJvcGVydHkiKTsKKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlF
cnJvciIsIGZ1bmN0aW9uKCkgeyBkZWxldGUgQy5sb2NhdGlvbi5wb3J0OyB9LCAiQ2FuJ3QgZGVs
ZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVy
cm9yIiwgZnVuY3Rpb24oKSB7IGRlbGV0ZSBDLmxvY2F0aW9uLmZvb3B5OyB9LCAiQ2FuJ3QgZGVs
ZXRlIGNyb3NzLW9yaWdpbiBwcm9wZXJ0eSIpOwogfSwgIltbRGVsZXRlXV0gU2hvdWxkIHRocm93
IG9uIGNyb3NzLW9yaWdpbiBvYmplY3RzIik7CiAKIC8qCiAgKiBbW0RlZmluZU93blByb3BlcnR5
XV0KICAqLwotZnVuY3Rpb24gY2hlY2tEZWZpbmUoZXhjZXB0aW9uX3QsIG9iaiwgcHJvcCkgewor
ZnVuY3Rpb24gY2hlY2tEZWZpbmUob2JqLCBwcm9wKSB7CiAgIHZhciB2YWx1ZURlc2MgPSB7IGNv
bmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiBmYWxzZSwgdmFs
dWU6IDIgfTsKICAgdmFyIGFjY2Vzc29yRGVzYyA9IHsgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVt
ZXJhYmxlOiBmYWxzZSwgZ2V0OiBmdW5jdGlvbigpIHt9IH07Ci0gIHRlc3RfdGhyb3dzKGV4Y2Vw
dGlvbl90LCAiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBPYmplY3QuZGVmaW5lUHJvcGVy
dHkob2JqLCBwcm9wLCB2YWx1ZURlc2MpOyB9LCAiQ2FuJ3QgZGVmaW5lIGNyb3NzLW9yaWdpbiB2
YWx1ZSBwcm9wZXJ0eSAiICsgcHJvcCk7Ci0gIHRlc3RfdGhyb3dzKGV4Y2VwdGlvbl90LCAiU2Vj
dXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBwcm9w
LCBhY2Nlc3NvckRlc2MpOyB9LCAiQ2FuJ3QgZGVmaW5lIGNyb3NzLW9yaWdpbiBhY2Nlc3NvciBw
cm9wZXJ0eSAiICsgcHJvcCk7CisgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5j
dGlvbigpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCwgdmFsdWVEZXNjKTsgfSwg
IkNhbid0IGRlZmluZSBjcm9zcy1vcmlnaW4gdmFsdWUgcHJvcGVydHkgIiArIHByb3ApOworICBh
c3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShvYmosIHByb3AsIGFjY2Vzc29yRGVzYyk7IH0sICJDYW4ndCBkZWZpbmUgY3Jvc3Mt
b3JpZ2luIGFjY2Vzc29yIHByb3BlcnR5ICIgKyBwcm9wKTsKIH0KLWFkZFRlc3QoZnVuY3Rpb24o
ZXhjZXB0aW9uX3QpIHsKLSAgY2hlY2tEZWZpbmUoZXhjZXB0aW9uX3QsIEMsICdsZW5ndGgnKTsK
LSAgY2hlY2tEZWZpbmUoZXhjZXB0aW9uX3QsIEMsICdwYXJlbnQnKTsKLSAgY2hlY2tEZWZpbmUo
ZXhjZXB0aW9uX3QsIEMsICdsb2NhdGlvbicpOwotICBjaGVja0RlZmluZShleGNlcHRpb25fdCwg
QywgJ2RvY3VtZW50Jyk7Ci0gIGNoZWNrRGVmaW5lKGV4Y2VwdGlvbl90LCBDLCAnZm9vcHknKTsK
LSAgY2hlY2tEZWZpbmUoZXhjZXB0aW9uX3QsIEMubG9jYXRpb24sICdocmVmJyk7Ci0gIGNoZWNr
RGVmaW5lKGV4Y2VwdGlvbl90LCBDLmxvY2F0aW9uLCAncmVwbGFjZScpOwotICBjaGVja0RlZmlu
ZShleGNlcHRpb25fdCwgQy5sb2NhdGlvbiwgJ3BvcnQnKTsKLSAgY2hlY2tEZWZpbmUoZXhjZXB0
aW9uX3QsIEMubG9jYXRpb24sICdmb29weScpOworYWRkVGVzdChmdW5jdGlvbigpIHsKKyAgY2hl
Y2tEZWZpbmUoQywgJ2xlbmd0aCcpOworICBjaGVja0RlZmluZShDLCAncGFyZW50Jyk7CisgIGNo
ZWNrRGVmaW5lKEMsICdsb2NhdGlvbicpOworICBjaGVja0RlZmluZShDLCAnZG9jdW1lbnQnKTsK
KyAgY2hlY2tEZWZpbmUoQywgJ2Zvb3B5Jyk7CisgIGNoZWNrRGVmaW5lKEMubG9jYXRpb24sICdo
cmVmJyk7CisgIGNoZWNrRGVmaW5lKEMubG9jYXRpb24sICdyZXBsYWNlJyk7CisgIGNoZWNrRGVm
aW5lKEMubG9jYXRpb24sICdwb3J0Jyk7CisgIGNoZWNrRGVmaW5lKEMubG9jYXRpb24sICdmb29w
eScpOwogfSwgIltbRGVmaW5lT3duUHJvcGVydHldXSBTaG91bGQgdGhyb3cgZm9yIGNyb3NzLW9y
aWdpbiBvYmplY3RzIik7CiAKIC8qCiAgKiBbW0VudW1lcmF0ZV1dCiAgKi8KIAotYWRkVGVzdChm
dW5jdGlvbihleGNlcHRpb25fdCkgeworYWRkVGVzdChmdW5jdGlvbigpIHsKICAgZm9yICh2YXIg
cHJvcCBpbiBDKQogICAgIGFzc2VydF91bnJlYWNoZWQoIlNob3VsZG4ndCBoYXZlIGJlZW4gYWJs
ZSB0byBlbnVtZXJhdGUgIiArIHByb3AgKyAiIG9uIGNyb3NzLW9yaWdpbiBXaW5kb3ciKTsKICAg
Zm9yICh2YXIgcHJvcCBpbiBDLmxvY2F0aW9uKQpAQCAtMjcwLDcgKzI3MCw3IEBAIGFkZFRlc3Qo
ZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKICAqIFtbT3duUHJvcGVydHlLZXlzXV0KICAqLwogCi1h
ZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBh
c3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKEMpLnNvcnQoKSwK
ICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZWxpc3RlZFdpbmRvd1Byb3BOYW1lcywKICAgICAg
ICAgICAgICAgICAgICAgICAiT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoKSBnaXZlcyB0aGUg
cmlnaHQgYW5zd2VyIGZvciBjcm9zcy1vcmlnaW4gV2luZG93Iik7CkBAIC0yNzksNyArMjc5LDcg
QEAgYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewogICAgICAgICAgICAgICAgICAgICAg
ICJPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygpIGdpdmVzIHRoZSByaWdodCBhbnN3ZXIgZm9y
IGNyb3NzLW9yaWdpbiBMb2NhdGlvbiIpOwogfSwgIltbT3duUHJvcGVydHlLZXlzXV0gc2hvdWxk
IHJldHVybiBhbGwgcHJvcGVydGllcyBmcm9tIGNyb3NzLW9yaWdpbiBvYmplY3RzIik7CiAKLWFk
ZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2FkZFRlc3QoZnVuY3Rpb24oKSB7CiAgIGFz
c2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhDKSwgd2hpdGVs
aXN0ZWRTeW1ib2xzLAogICAgICJPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKCkgc2hvdWxk
IHJldHVybiB0aGUgdGhyZWUgc3ltYm9sLW5hbWVkIHByb3BlcnRpZXMgdGhhdCBhcmUgZXhwb3Nl
ZCBvbiBhIGNyb3NzLW9yaWdpbiBXaW5kb3ciKTsKICAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmpl
Y3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKEMubG9jYXRpb24pLApAQCAtMjg3LDcgKzI4Nyw3IEBA
IGFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKICAgICAiT2JqZWN0LmdldE93blByb3Bl
cnR5U3ltYm9scygpIHNob3VsZCByZXR1cm4gdGhlIHRocmVlIHN5bWJvbC1uYW1lZCBwcm9wZXJ0
aWVzIHRoYXQgYXJlIGV4cG9zZWQgb24gYSBjcm9zcy1vcmlnaW4gTG9jYXRpb24iKTsKIH0sICJb
W093blByb3BlcnR5S2V5c11dIHNob3VsZCByZXR1cm4gdGhlIHJpZ2h0IHN5bWJvbC1uYW1lZCBw
cm9wZXJ0aWVzIGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyIpOwogCi1hZGRUZXN0KGZ1bmN0aW9u
KGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICB2YXIgYWxsV2luZG93UHJv
cHMgPSBSZWZsZWN0Lm93bktleXMoQyk7CiAgIGluZGV4ZWRXaW5kb3dQcm9wcyA9IGFsbFdpbmRv
d1Byb3BzLnNsaWNlKDAsIHdoaXRlbGlzdGVkV2luZG93SW5kaWNlcy5sZW5ndGgpOwogICBzdHJp
bmdXaW5kb3dQcm9wcyA9IGFsbFdpbmRvd1Byb3BzLnNsaWNlKDAsIC0xICogd2hpdGVsaXN0ZWRT
eW1ib2xzLmxlbmd0aCk7CkBAIC0zMDgsNyArMzA4LDcgQEAgYWRkVGVzdChmdW5jdGlvbihleGNl
cHRpb25fdCkgewogICAgICAgICAgICAgICAgICAgICAgICJSZWZsZWN0Lm93bktleXMgc2hvdWxk
IGVuZCB3aXRoIHRoZSBjcm9zcy1vcmlnaW4gc3ltYm9scyBmb3IgYSBjcm9zcy1vcmlnaW4gTG9j
YXRpb24uIikKIH0sICJbW093blByb3BlcnR5S2V5c11dIHNob3VsZCBwbGFjZSB0aGUgc3ltYm9s
cyBhZnRlciB0aGUgcHJvcGVydHkgbmFtZXMgYWZ0ZXIgdGhlIHN1YmZyYW1lIGluZGljZXMiKTsK
IAotYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgeworYWRkVGVzdChmdW5jdGlvbigpIHsK
ICAgYXNzZXJ0X3RydWUoQi5ldmFsKCdwYXJlbnQuQycpID09PSBDLCAiQSBhbmQgQiBvYnNlcnZl
IHRoZSBzYW1lIGlkZW50aXR5IGZvciBDJ3MgV2luZG93Iik7CiAgIGFzc2VydF90cnVlKEIuZXZh
bCgncGFyZW50LkMubG9jYXRpb24nKSA9PT0gQy5sb2NhdGlvbiwgIkEgYW5kIEIgb2JzZXJ2ZSB0
aGUgc2FtZSBpZGVudGl0eSBmb3IgQydzIExvY2F0aW9uIik7CiB9LCAiQSBhbmQgQiBqb2ludGx5
IG9ic2VydmUgdGhlIHNhbWUgaWRlbnRpdHkgZm9yIGNyb3NzLW9yaWdpbiBXaW5kb3cgYW5kIExv
Y2F0aW9uIik7CkBAIC0zMTksMTkgKzMxOSwxOSBAQCBmdW5jdGlvbiBjaGVja0Z1bmN0aW9uKGYs
IHByb3RvKSB7CiAgIGFzc2VydF9lcXVhbHMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGYpLCBwcm90
bywgZi5uYW1lICsgIiBoYXMgdGhlIHJpZ2h0IHByb3RvdHlwZSIpOwogfQogCi1hZGRUZXN0KGZ1
bmN0aW9uKGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBjaGVja0Z1bmN0
aW9uKEMuY2xvc2UsIEZ1bmN0aW9uLnByb3RvdHlwZSk7CiAgIGNoZWNrRnVuY3Rpb24oQy5sb2Nh
dGlvbi5yZXBsYWNlLCBGdW5jdGlvbi5wcm90b3R5cGUpOwogfSwgIkNyb3NzLW9yaWdpbiBmdW5j
dGlvbnMgZ2V0IGxvY2FsIEZ1bmN0aW9uLnByb3RvdHlwZSIpOwogCi1hZGRUZXN0KGZ1bmN0aW9u
KGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBhc3NlcnRfdHJ1ZShpc09i
amVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsICdwYXJlbnQnKSksCiAgICAg
ICAgICAgICAgICJOZWVkIHRvIGJlIGFibGUgdG8gdXNlIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IgZG8gdGhpcyB0ZXN0Iik7CiAgIGNoZWNrRnVuY3Rpb24oT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihDLCAncGFyZW50JykuZ2V0LCBGdW5jdGlvbi5wcm90b3R5cGUpOwog
ICBjaGVja0Z1bmN0aW9uKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQy5sb2NhdGlv
biwgJ2hyZWYnKS5zZXQsIEZ1bmN0aW9uLnByb3RvdHlwZSk7CiB9LCAiQ3Jvc3Mtb3JpZ2luIFdp
bmRvdyBhY2Nlc3NvcnMgZ2V0IGxvY2FsIEZ1bmN0aW9uLnByb3RvdHlwZSIpOwogCi1hZGRUZXN0
KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBjaGVja0Z1
bmN0aW9uKGNsb3NlLCBGdW5jdGlvbi5wcm90b3R5cGUpOwogICBhc3NlcnRfdHJ1ZShjbG9zZSAh
PSBCLmNsb3NlLCAnc2FtZS1vcmlnaW4gV2luZG93IGZ1bmN0aW9ucyBnZXQgdGhlaXIgb3duIG9i
amVjdCcpOwogICBhc3NlcnRfdHJ1ZShjbG9zZSAhPSBDLmNsb3NlLCAnY3Jvc3Mtb3JpZ2luIFdp
bmRvdyBmdW5jdGlvbnMgZ2V0IHRoZWlyIG93biBvYmplY3QnKTsKQEAgLTM0Nyw3ICszNDcsNyBA
QCBhZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CiAgIGNoZWNrRnVuY3Rpb24ocmVwbGFj
ZV9CLCBCLkZ1bmN0aW9uLnByb3RvdHlwZSk7CiB9LCAiU2FtZS1vcmlnaW4gb2JzZXJ2ZXJzIGdl
dCBkaWZmZXJlbnQgZnVuY3Rpb25zIGZvciBjcm9zcy1vcmlnaW4gb2JqZWN0cyIpOwogCi1hZGRU
ZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkgewogICBhc3Nl
cnRfdHJ1ZShpc09iamVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEMsICdwYXJl
bnQnKSksCiAgICAgICAgICAgICAgICJOZWVkIHRvIGJlIGFibGUgdG8gdXNlIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IgZG8gdGhpcyB0ZXN0Iik7CiAgIHZhciBnZXRfc2VsZl9wYXJl
bnQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3BhcmVudCcpLmdl
dDsKQEAgLTM2MCw3ICszNjAsNyBAQCBhZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CiAg
IGNoZWNrRnVuY3Rpb24oZ2V0X3BhcmVudF9CLCBCLkZ1bmN0aW9uLnByb3RvdHlwZSk7CiB9LCAi
U2FtZS1vcmlnaW4gb2JzZXJ2ZXJzIGdldCBkaWZmZXJlbnQgYWNjZXNzb3JzIGZvciBjcm9zcy1v
cmlnaW4gV2luZG93Iik7CiAKLWFkZFRlc3QoZnVuY3Rpb24oZXhjZXB0aW9uX3QpIHsKK2FkZFRl
c3QoZnVuY3Rpb24oKSB7CiAgIHZhciBzZXRfc2VsZl9ocmVmID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcih3aW5kb3cubG9jYXRpb24sICdocmVmJykuc2V0OwogICB2YXIgc2V0X2hy
ZWZfQSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQy5sb2NhdGlvbiwgJ2hyZWYn
KS5zZXQ7CiAgIHZhciBzZXRfaHJlZl9CID0gQi5ldmFsKCdPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKHBhcmVudC5DLmxvY2F0aW9uLCAiaHJlZiIpLnNldCcpOwpAQCAtMzcxLDM5ICsz
NzEsMTcgQEAgYWRkVGVzdChmdW5jdGlvbihleGNlcHRpb25fdCkgewogICBjaGVja0Z1bmN0aW9u
KHNldF9ocmVmX0IsIEIuRnVuY3Rpb24ucHJvdG90eXBlKTsKIH0sICJTYW1lLW9yaWdpbiBvYnNl
cnZlcnMgZ2V0IGRpZmZlcmVudCBhY2Nlc3NvcnMgZm9yIGNyb3NzLW9yaWdpbiBMb2NhdGlvbiIp
OwogCi1hZGRUZXN0KGZ1bmN0aW9uKGV4Y2VwdGlvbl90KSB7CithZGRUZXN0KGZ1bmN0aW9uKCkg
ewogICBhc3NlcnRfZXF1YWxzKHt9LnRvU3RyaW5nLmNhbGwoQyksICJbb2JqZWN0IE9iamVjdF0i
KTsKICAgYXNzZXJ0X2VxdWFscyh7fS50b1N0cmluZy5jYWxsKEMubG9jYXRpb24pLCAiW29iamVj
dCBPYmplY3RdIik7CiB9LCAie30udG9TdHJpbmcuY2FsbCgpIGRvZXMgdGhlIHJpZ2h0IHRoaW5n
IG9uIGNyb3NzLW9yaWdpbiBvYmplY3RzIik7CiAKLS8vIFNlcGFyYXRlIHRlc3QgZm9yIHRocm93
aW5nIGF0IGFsbCBhbmQgdGhyb3dpbmcgdGhlIHJpZ2h0IGV4Y2VwdGlvbiB0eXBlCi0vLyBzbyB0
aGF0IHdlIGNhbiB0ZXN0IHRoYXQgYWxsIGltcGxlbWVudGF0aW9ucyBjb3VsZCBwYXNzIHdoaWxl
IGltcGxlbWVudGluZwotLy8gdGhlIG9ic2VydmFibGVzIHRoYXQgYXJlIGFjdHVhbGx5IGltcG9y
dGFudCBmb3Igc2VjdXJpdHkgYW5kIGludGVyb3AsIHNvCi0vLyB0aGV5IHdvdWxkIG5vdGljZSBp
ZiB0aGV5IGV2ZXIgcmVncmVzc2VkIHRoZW0uCi1mdW5jdGlvbiB0ZXN0X3Rocm93cyhleGNlcHRp
b25fdCwgY29kZSwgZnVuYywgZGVzY3JpcHRpb24pIHsKLSAgYXNzZXJ0X3Rocm93cyhudWxsLCBm
dW5jLCBkZXNjcmlwdGlvbik7Ci0gIGV4Y2VwdGlvbl90LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAg
YXNzZXJ0X3Rocm93cyhjb2RlLCBmdW5jLCBkZXNjcmlwdGlvbik7Ci0gIH0pOwotfQotCiAvLyBX
ZSBkbyBhIGZyZXNoIGxvYWQgb2YgdGhlIHN1YmZyYW1lcyBmb3IgZWFjaCB0ZXN0IHRvIG1pbmlt
aXplIHNpZGUtZWZmZWN0cy4KIC8vIEl0IHdvdWxkIGJlIG5pY2UgdG8gcmVsb2FkIG91cnNlbHZl
cyBhcyB3ZWxsLCBidXQgd2UgY2FuJ3QgZG8gdGhhdCB3aXRob3V0CiAvLyBkaXNydXB0aW5nIHRo
ZSB0ZXN0IGhhcm5lc3MuCiBmdW5jdGlvbiBydW5OZXh0VGVzdCgpIHsKICAgdmFyIGVudHJ5ID0g
dGVzdExpc3Quc2hpZnQoKTsKLSAgdmFyIGZ1biA9IGVudHJ5WzBdOwotICB2YXIgZGVzYyA9IGVu
dHJ5WzFdOwotICB2YXIgbWFpbl90ID0gYXN5bmNfdGVzdChkZXNjKTsKLSAgdmFyIGV4Y2VwdGlv
bl90ID0gYXN5bmNfdGVzdChkZXNjICsgJyAoZXhjZXB0aW9uIHR5cGUpJyk7Ci0gIG1haW5fdC5h
ZGRfY2xlYW51cChmdW5jdGlvbigpIHsKLSAgICBleGNlcHRpb25fdC51bnJlYWNoZWRfZnVuYygn
TWFpbiB0ZXN0IGZhaWxlZCcpKCk7Ci0gIH0pOwotICBtYWluX3Quc3RlcChmdW5jdGlvbigpIHsK
LSAgICBmdW4oZXhjZXB0aW9uX3QpOwotICB9KTsKLSAgZXhjZXB0aW9uX3QuZG9uZSgpOwotICBt
YWluX3QuZG9uZSgpOworICB0ZXN0KCgpID0+IGVudHJ5WzBdKCksIGVudHJ5WzFdKQogICBpZiAo
dGVzdExpc3QubGVuZ3RoICE9IDApCiAgICAgcmVsb2FkU3ViZnJhbWVzKHJ1bk5leHRUZXN0KTsK
ICAgZWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWVtYmVkZGVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vcmVmbGVjdGlv
bi1lbWJlZGRlZC1leHBlY3RlZC50eHQKaW5kZXggYjRmY2MzNjk3MTEwY2IzMmEzMzYyZjM0NGNi
NzI3NmIwZjQyZDc1NC4uNzM3MzIxZDY3Y2U5YjQwZWRmOWRjYzE0NDM1NzFlOGZjMDRiYTY1MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2RvbS9yZWZsZWN0aW9uLWVtYmVkZGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZW1i
ZWRkZWQtZXhwZWN0ZWQudHh0CkBAIC0xOSwxOSArMTksMTkgQEAgQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDc4NjogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlzIG5v
dCBhIHYKIENPTlNPTEUgTUVTU0FHRTogbGluZSA3ODY6IFRoZSBsYW5ndWFnZSAnbnVsbCcgaXMg
bm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KIENPTlNPTEUgTUVTU0FHRTogbGluZSA3
ODY6IFRoZSBsYW5ndWFnZSAndGVzdC10b1N0cmluZycgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxh
bmd1YWdlIHRhZy4KIENPTlNPTEUgTUVTU0FHRTogbGluZSA3ODY6IFRoZSBsYW5ndWFnZSAndGVz
dC12YWx1ZU9mJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSBjb250YWlucyBhIG51bGwgY2hhcmFjdGVy
IGFuZCBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSAndW5kZWZpbmVkJyBpcyBub3QgYSB2YWxpZCBCQ1Ag
NDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFn
ZSAnNycgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJzEuNScgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxh
bmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJ3Ry
dWUnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTQwNjogVGhlIGxhbmd1YWdlICdmYWxzZScgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxh
bmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJ1tv
YmplY3QgT2JqZWN0XScgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJ0luZmluaXR5JyBpcyBub3QgYSB2
YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRo
ZSBsYW5ndWFnZSAnLUluZmluaXR5JyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFn
LgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSBjb250YWlucyBhIG51
bGwgY2hhcmFjdGVyIGFuZCBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSAnbnVsbCcgaXMgbm90IGEgdmFs
aWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUg
bGFuZ3VhZ2UgJ3Rlc3QtdG9TdHJpbmcnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0
YWcuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNjogVGhlIGxhbmd1YWdlICd0ZXN0LXZhbHVl
T2YnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlz
IG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTQwNTogVGhlIGxhbmd1YWdlICd1bmRlZmluZWQnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5n
dWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlICc3JyBp
cyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE0MDU6IFRoZSBsYW5ndWFnZSAnMS41JyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2Ug
dGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFnZSAndHJ1ZScgaXMg
bm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
NDA1OiBUaGUgbGFuZ3VhZ2UgJ2ZhbHNlJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2Ug
dGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFnZSAnW29iamVjdCBP
YmplY3RdJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFnZSAnSW5maW5pdHknIGlzIG5vdCBhIHZhbGlkIEJD
UCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1
YWdlICctSW5maW5pdHknIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFy
YWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlICdudWxsJyBpcyBub3QgYSB2YWxpZCBCQ1Ag
NDcgbGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFn
ZSAndGVzdC10b1N0cmluZycgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBUaGUgbGFuZ3VhZ2UgJ3Rlc3QtdmFsdWVPZicgaXMg
bm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KIEltcGxlbWVudGVycyBsb29raW5nIHRv
IGZpeCBidWdzIG1pZ2h0IHdhbnQgdG8gdXNlIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIG9mIHRoaXMg
c3VpdGUncyB0ZXN0IGZyYW1ld29yaywgd2hpY2ggY29udmVuaWVudGx5IGFnZ3JlZ2F0ZXMgc2lt
aWxhciBlcnJvcnMgYW5kIG9ubHkgcmVwb3J0cyBmYWlsdXJlcy4gVGhpcyBmaWxlIGlzIChwYXJ0
IG9mKSB0aGUgYXV0aG9yaXRhdGl2ZSBjb25mb3JtYW5jZSB0ZXN0IHN1aXRlLCBhbmQgaXMgc3Vp
dGFibGUgZm9yIGluY29ycG9yYXRpb24gaW50byBhdXRvbWF0ZWQgdGVzdCBzdWl0ZXMuCiAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1k
aXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFn
LWNoYW5naW5nLTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1l
bGVtZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxs
b3ctc2NyaXB0cy1mbGFnLWNoYW5naW5nLTEtZXhwZWN0ZWQudHh0CmluZGV4IDNlMTdhZWFiYTE1
YjdjMWNhNWY0NmU5M2IxMzgxZTU0OWFmYTg5OTEuLjFlNzg2ZmQxZDMxZTRkNDQyOTEzOGIxYmYx
ODU2YWUzOGEzZjdmZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEt
ZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2Fs
bG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0xLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50
LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0
dHAtZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMS1leHBlY3RlZC50
eHQKQEAgLTEsNiArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDc6IFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ25vZGUnKSB0byBOb2RlLmFwcGVuZENoaWxkIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgTm9kZQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ25vZGUnKSB0byBOb2RlLmFwcGVuZENoaWxkIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgTm9kZQotCi1QQVNTIE1ldGEgcmVmcmVzaCBpcyBibG9ja2VkIGJ5IHRoZSBhbGxvdy1z
Y3JpcHRzIHNhbmRib3ggZmxhZyBhdCBpdHMgY3JlYXRpb24gdGltZSwgbm90IHdoZW4gcmVmcmVz
aCBjb21lcyBkdWUgCitGQUlMIE1ldGEgcmVmcmVzaCBpcyBibG9ja2VkIGJ5IHRoZSBhbGxvdy1z
Y3JpcHRzIHNhbmRib3ggZmxhZyBhdCBpdHMgY3JlYXRpb24gdGltZSwgbm90IHdoZW4gcmVmcmVz
aCBjb21lcyBkdWUgVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbm9kZScpIHRvIE5vZGUuYXBwZW5k
Q2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBOb2RlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1l
bnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEt
aHR0cC1lcXVpdi1yZWZyZXNoL2FsbG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0yLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0
aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2FsbG93LXNjcmlwdHMtZmxhZy1jaGFu
Z2luZy0yLWV4cGVjdGVkLnR4dAppbmRleCBmMDQ2MWEwY2RlMjViMGRhMTkxNDdlYmU4MTQ3Y2Y0
ZjBmOTk0MmZlLi41MWQyOTQ0NWMzYzA4ODhmODk5ZjE4MzhhNTFjZWU0NjkzZTA5MzljIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVj
dGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hh
bmdpbmctMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1l
bGVtZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxs
b3ctc2NyaXB0cy1mbGFnLWNoYW5naW5nLTItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAog
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQ1OiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykg
dG8gTm9kZS5hcHBlbmRDaGlsZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUKIAotSGFybmVz
cyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykg
dG8gTm9kZS5hcHBlbmRDaGlsZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUKLQorRkFJTCBN
ZXRhIHJlZnJlc2ggb2YgdGhlIG9yaWdpbmFsIGlmcmFtZSBpcyBub3QgYmxvY2tlZCBpZiBtb3Zl
ZCBpbnRvIGEgc2FuZGJveGVkIGlmcmFtZSBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykg
dG8gTm9kZS5hcHBlbmRDaGlsZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJlY3Rp
dmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvbW92aW5nLWRvY3VtZW50cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVj
dGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9tb3ZpbmctZG9jdW1lbnRzLWV4cGVj
dGVkLnR4dAppbmRleCA5N2E3MmQzN2RlNWY0M2JkZmMxNTI3ZDEzMTY2MTRhNGU2ZmU3YjlmLi41
ZGEyMDhhNDVlZWQ5OGJkM2QyNjk0NGUzMWFlMDgxZGEzMTNhNzUzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Rv
Y3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1t
ZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9tb3ZpbmctZG9jdW1lbnRzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMv
YXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9tb3ZpbmctZG9jdW1lbnRzLWV4cGVjdGVkLnR4
dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSA0MjogVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnbm9kZScpIHRvIE5vZGUuYXBwZW5kQ2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBOb2RlCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnbm9kZScpIHRvIE5vZGUuYXBwZW5kQ2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBOb2RlCi0KK0ZBSUwgV2hlbiBtb3ZpbmcgYmV0d2VlbiBkb2N1bWVudHMsIG11c3QgcmVm
cmVzaCB0aGUgb3JpZ2luYWwgZG9jdW1lbnQgVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbm9kZScp
IHRvIE5vZGUuYXBwZW5kQ2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBOb2RlCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0
aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL25vdC1pbi1zaGFkb3ctdHJlZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRp
cmVjdGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9ub3QtaW4tc2hhZG93LXRyZWUt
ZXhwZWN0ZWQudHh0CmluZGV4IGEzYTE2MmY0ZjJlNGFjNzcwYjMyN2M3ZDAzZGJlZDAxYzdkMGEw
NTguLjQ3MDhhYjA3MTAzNzM2OTE2NTZmYjZiNjg5MDQyNDY0NjcyYTRmNDggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9h
dHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL25vdC1pbi1zaGFkb3ctdHJlZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJl
Y3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvbm90LWluLXNoYWRvdy10cmVlLWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNDQ4OiBF
cnJvcjogYXNzZXJ0X3VucmVhY2hlZDogR290IG1vcmUgdGhhbiAxIGxvYWQgZXZlbnQgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjUzNDogRXJyb3I6IGFz
c2VydF91bnJlYWNoZWQ6IEdvdCBtb3JlIHRoYW4gMSBsb2FkIGV2ZW50IFJlYWNoZWQgdW5yZWFj
aGFibGUgY29kZQogCiBGQUlMIE1ldGEgcmVmcmVzaCBvbmx5IGFwcGxpZXMgd2hpbGUgaW4gdGhl
IGRvY3VtZW50IHRyZWUsIG5vdCBpbiBhIHNoYWRvdyB0cmVlIEVycm9yOiBhc3NlcnRfdW5yZWFj
aGVkOiBHb3QgbW9yZSB0aGFuIDEgbG9hZCBldmVudCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFj
ZXMvSFRNTEVsZW1lbnQvSFRNTFRyYWNrRWxlbWVudC9zcmNsYW5nLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL0hUTUxFbGVtZW50L0hU
TUxUcmFja0VsZW1lbnQvc3JjbGFuZy1leHBlY3RlZC50eHQKaW5kZXggZWQ1ODc1MTE2ZGJiYWE0
YTY4NWNiMmUyYmZiN2U1YmM3YjVlN2IzNC4uOTU0MjQ1MzVhZDJlOThiZTIzMWU1MWU3MWI5OWIw
ZjM1NDA2ZDhkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRz
L2ludGVyZmFjZXMvSFRNTEVsZW1lbnQvSFRNTFRyYWNrRWxlbWVudC9zcmNsYW5nLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9I
VE1MRWxlbWVudC9IVE1MVHJhY2tFbGVtZW50L3NyY2xhbmctZXhwZWN0ZWQudHh0CkBAIC0xLDkg
KzEsOSBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQzOiBUaGUgbGFuZ3VhZ2UgY29udGFpbnMg
YSBudWxsIGNoYXJhY3RlciBhbmQgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4K
IENPTlNPTEUgTUVTU0FHRTogbGluZSA2NDogVGhlIGxhbmd1YWdlICcgZm9vIAogJyBpcyBub3Qg
YSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6
IFRoZSBsYW5ndWFnZSAnIGZvbyAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBUaGUgbGFu
Z3VhZ2UgJyBmb28gCiAnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTQwNjogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFy
YWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIg
YW5kIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCiAKIFBBU1MgSFRNTFRyYWNr
RWxlbWVudC5zcmNsYW5nIG1pc3NpbmcgdmFsdWUgCiBQQVNTIEhUTUxUcmFja0VsZW1lbnQuc3Jj
bGFuZyBlbXB0eSBzdHJpbmcgY29udGVudCBhdHRyaWJ1dGUgCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9UZXh0VHJhY2svbGFuZ3VhZ2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFj
ZXMvVGV4dFRyYWNrL2xhbmd1YWdlLWV4cGVjdGVkLnR4dAppbmRleCBlMGU3ZmVkZDg2MDM2NzRi
YzhiZGQ5ZmRmMDFlNjQ5YTNiYzM1YTc3Li5iMDBiOGRkY2ZiYjhhNGQzMjhjNjNmYWIyYzM4MjU1
ZTFkMjY5YTkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMv
aW50ZXJmYWNlcy9UZXh0VHJhY2svbGFuZ3VhZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1RleHRUcmFjay9sYW5ndWFnZS1l
eHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNjog
VGhlIGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlk
IEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxh
bmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlkIEJDUCA0
NyBsYW5ndWFnZSB0YWcuCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IFRoZSBsYW5ndWFnZSBj
b250YWlucyBhIG51bGwgY2hhcmFjdGVyIGFuZCBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3Vh
Z2UgdGFnLgogCiBQQVNTIFRleHRUcmFjay5sYW5ndWFnZSAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeS1zdGF0ZXMvYXV0b3BsYXktd2l0aC1zbG93
LXRleHQtdHJhY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVt
ZW50cy9yZWFkeS1zdGF0ZXMvYXV0b3BsYXktd2l0aC1zbG93LXRleHQtdHJhY2tzLWV4cGVjdGVk
LnR4dAppbmRleCBlYTM2ZTA3M2I1ZDU5Y2ZhMjRkM2U3MmRjNGNkOGM3NGJkOTZlMWRkLi4zMzE5
YmY3Zjc2NzY2OTdmZjkxMTdlMGFlOTJmOTZmZmM5MGQzYjNlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVhZHktc3RhdGVzL2F1dG9wbGF5LXdpdGgtc2xv
dy10ZXh0LXRyYWNrcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlh
LWVsZW1lbnRzL3JlYWR5LXN0YXRlcy9hdXRvcGxheS13aXRoLXNsb3ctdGV4dC10cmFja3MtZXhw
ZWN0ZWQudHh0CkBAIC00LDYgKzQsNSBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzE6IFR5cGVF
cnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0cmFjay50cgogQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDMxOiBUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAndHJhY2sudHJhY2suY3Vlcy5sZW5ndGgnKQogQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDMxOiBUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndHJhY2su
dHJhY2suY3Vlcy5sZW5ndGgnKQogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFR5
cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0cmFjay50cmFjay5j
dWVzLmxlbmd0aCcpCi0KK0ZBSUwgYXV0b3BsYXkgd2l0aCBzbG93IHRleHQgdHJhY2tzIFR5cGVF
cnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0cmFjay50cmFjay5jdWVz
Lmxlbmd0aCcpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9wcm9jZXNzaW5nLW1vZGVsLTIv
d2luZG93LW9uZXJyb3ItcGFyc2UtZXJyb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL3By
b2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1wYXJzZS1lcnJvci1leHBlY3RlZC50eHQK
aW5kZXggMjg2NzI3NGE4NDZhNDgyODlhZWNlZjc0Njc0MjcwYjE4YTE2NTAwMi4uOTZiN2JiNDQ5
NzIyZWZmMWI0ZjNiZmVkMTExNWM3MWU3M2U1NjBkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5n
L3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1wYXJzZS1lcnJvci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3dlYmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1w
YXJzZS1lcnJvci1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw3IEBACiBDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMzQ6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ3NjcmlwdCcKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxMzIxOiBFcnJvcjogVHJpZWQgdG8gY3JlYXRlIGEgdGVzdCB3
aXRoIGZpbGVfaXNfdGVzdAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzMjE6IEVycm9yOiBUcmll
ZCB0byBjcmVhdGUgYSB0ZXN0IHdpdGggZmlsZV9pc190ZXN0CitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTMyMTogRXJyb3I6IFRyaWVkIHRvIGNyZWF0ZSBhIHRlc3Qgd2l0aCBmaWxlX2lzX3Rlc3QK
IAotUEFTUyBjb3JyZWN0IHVybCBwYXNzZWQgdG8gd2luZG93Lm9uZXJyb3IgCi1QQVNTIGNvcnJl
Y3QgbGluZSBudW1iZXIgcGFzc2VkIHRvIHdpbmRvdy5vbmVycm9yIAotUEFTUyBjb3JyZWN0IG51
bWJlciBvZiBjYWxscyB0byB3aW5kb3cub25lcnJvciAKK1BBU1Mgd2luZG93Lm9uZXJyb3I6IHBh
cnNlIGVycm9ycyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwt
Mi93aW5kb3ctb25lcnJvci1ydW50aW1lLWVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGlu
Zy9wcm9jZXNzaW5nLW1vZGVsLTIvd2luZG93LW9uZXJyb3ItcnVudGltZS1lcnJvci1leHBlY3Rl
ZC50eHQKaW5kZXggNWVhMmQ5NTgwYzc0NmUzYmI5NzgzM2VmNWUyYmFlMmMxY2E2NzM2Ny4uY2Mx
NzcwMWZjNDMzMGVjM2Q5OTA3YzgxNzgwZGJkMWFmYmFjMDg0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2Ny
aXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1ydW50aW1lLWVycm9yLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2RlbC0yL3dpbmRvdy1v
bmVycm9yLXJ1bnRpbWUtZXJyb3ItZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNyBAQAogQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDM2OiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICd3aW5kb3cubm9uZXhpc3RlbnRwcm9wZXJ0eS5vb3BzJykKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxMzIxOiBFcnJvcjogVHJpZWQgdG8gY3JlYXRlIGEgdGVzdCB3aXRoIGZp
bGVfaXNfdGVzdAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzMjE6IEVycm9yOiBUcmllZCB0byBj
cmVhdGUgYSB0ZXN0IHdpdGggZmlsZV9pc190ZXN0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTMy
MTogRXJyb3I6IFRyaWVkIHRvIGNyZWF0ZSBhIHRlc3Qgd2l0aCBmaWxlX2lzX3Rlc3QKIAotUEFT
UyBjb3JyZWN0IHVybCBwYXNzZWQgdG8gd2luZG93Lm9uZXJyb3IgCi1QQVNTIGNvcnJlY3QgbGlu
ZSBudW1iZXIgcGFzc2VkIHRvIHdpbmRvdy5vbmVycm9yIAotUEFTUyBjb3JyZWN0IG51bWJlciBv
ZiBjYWxscyB0byB3aW5kb3cub25lcnJvciAKK1BBU1Mgd2luZG93Lm9uZXJyb3I6IHJ1bnRpbWUg
c2NyaXB0ZXJyb3JzIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2Rl
bC0yL3dpbmRvdy1vbmVycm9yLXJ1bnRpbWUtZXJyb3ItdGhyb3ctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMv
c2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi93aW5kb3ctb25lcnJvci1ydW50aW1lLWVycm9y
LXRocm93LWV4cGVjdGVkLnR4dAppbmRleCAyMTA0YzdkMzg5MTZjMzQ2OTc0NDUzMDJiODIyYTgw
NjFlYzQ1YTUxLi42Nzk5NWM5NTgwYjQ1MjA2ZWI2ZWM1ZDRlNWM4YjNiNzNkZjc4YzliIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
d2ViYXBwYXBpcy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2RlbC0yL3dpbmRvdy1vbmVycm9yLXJ1
bnRpbWUtZXJyb3ItdGhyb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9wcm9jZXNz
aW5nLW1vZGVsLTIvd2luZG93LW9uZXJyb3ItcnVudGltZS1lcnJvci10aHJvdy1leHBlY3RlZC50
eHQKQEAgLTEsNCArMSw1IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IGJhcgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDEzMjE6IEVycm9yOiBUcmllZCB0byBjcmVhdGUgYSB0ZXN0IHdpdGgg
ZmlsZV9pc190ZXN0CiAKLVBBU1MgY29ycmVjdCBudW1iZXIgb2YgY2FsbHMgdG8gd2luZG93Lm9u
ZXJyb3IgCitQQVNTIHdpbmRvdy5vbmVycm9yOiBydW50aW1lIHNjcmlwdGVycm9ycyAKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ub3Rp
ZmljYXRpb25zL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ub3RpZmljYXRpb25zL2ludGVyZmFjZXMtZXhwZWN0ZWQu
dHh0CmluZGV4IGQ4YmQ3ODgxZmRiOTY3MTFiOWViNzIyNjk4MzQ1NGRmNmY4ZDc3ODQuLjBiZDg2
OWFhY2I1MTNiMDc1ZDIyZmQyZWU1YTFmNDQ5ZDdiOTE4OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbm90aWZpY2F0aW9ucy9pbnRlcmZh
Y2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL25vdGlmaWNhdGlvbnMvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKQEAgLTE5LDgg
KzE5LDYgQEAgUEFTUyBOb3RpZmljYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYm9keQogUEFT
UyBOb3RpZmljYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdGFnIAogUEFTUyBOb3RpZmljYXRp
b24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaWNvbiAKIFBBU1MgTm90aWZpY2F0aW9uIGludGVyZmFj
ZTogb3BlcmF0aW9uIGNsb3NlKCkgCi1QQVNTIE5vdGlmaWNhdGlvbiBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIG5ldyBOb3RpZmljYXRpb24oIlJ1bm5pbmcgaWRsaGFybmVzcy4iKSAKLVBB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBOb3RpZmljYXRpb24oIlJ1bm5pbmcgaWRsaGFybmVz
cy4iKSAKIFBBU1MgTm90aWZpY2F0aW9uIGludGVyZmFjZTogbmV3IE5vdGlmaWNhdGlvbigiUnVu
bmluZyBpZGxoYXJuZXNzLiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGVybWlzc2lvbiIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDApIAogUEFTUyBOb3RpZmljYXRpb24gaW50ZXJmYWNlOiBuZXcg
Tm90aWZpY2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJyZXF1ZXN0UGVybWlzc2lvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFTUyBOb3Rp
ZmljYXRpb24gaW50ZXJmYWNlOiBjYWxsaW5nIHJlcXVlc3RQZXJtaXNzaW9uKE5vdGlmaWNhdGlv
blBlcm1pc3Npb25DYWxsYmFjaykgb24gbmV3IE5vdGlmaWNhdGlvbigiUnVubmluZyBpZGxoYXJu
ZXNzLiIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCkBAIC0z
NSwxMCArMzMsNCBAQCBQQVNTIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2U6IG5ldyBOb3RpZmljYXRp
b24oIlJ1bm5pbmcgaWRsaGFybmVzcy4iKSBtdXN0IGluaGVyaQogUEFTUyBOb3RpZmljYXRpb24g
aW50ZXJmYWNlOiBuZXcgTm90aWZpY2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJ0YWciIHdpdGggdGhlIHByb3BlciB0eXBlICgxMCkgCiBQQVNTIE5v
dGlmaWNhdGlvbiBpbnRlcmZhY2U6IG5ldyBOb3RpZmljYXRpb24oIlJ1bm5pbmcgaWRsaGFybmVz
cy4iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImljb24iIHdpdGggdGhlIHByb3BlciB0eXBlICgx
MSkgCiBQQVNTIE5vdGlmaWNhdGlvbiBpbnRlcmZhY2U6IG5ldyBOb3RpZmljYXRpb24oIlJ1bm5p
bmcgaWRsaGFybmVzcy4iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNsb3NlIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMTIpIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG5ldyBOb3RpZmlj
YXRpb24oIlJ1bm5pbmcgaWRsaGFybmVzcy4iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2
ZW50TGlzdGVuZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKLVBBU1MgRXZlbnRUYXJnZXQg
aW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLEV2ZW50TGlzdGVu
ZXIsYm9vbGVhbikgb24gbmV3IE5vdGlmaWNhdGlvbigiUnVubmluZyBpZGxoYXJuZXNzLiIpIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogbmV3IE5vdGlmaWNhdGlvbigiUnVubmluZyBpZGxoYXJuZXNzLiIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lciIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgKDEpIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZl
bnRMaXN0ZW5lcihET01TdHJpbmcsRXZlbnRMaXN0ZW5lcixib29sZWFuKSBvbiBuZXcgTm90aWZp
Y2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0
IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBuZXcgTm90aWZp
Y2F0aW9uKCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaXNw
YXRjaEV2ZW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCi1QQVNTIEV2ZW50VGFyZ2V0IGlu
dGVyZmFjZTogY2FsbGluZyBkaXNwYXRjaEV2ZW50KEV2ZW50KSBvbiBuZXcgTm90aWZpY2F0aW9u
KCJSdW5uaW5nIGlkbGhhcm5lc3MuIikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93
IFR5cGVFcnJvciAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCAzYzBmM2I3YTE0YzFiYjU2MDE2NDVlNjQ1
MjFjNjRkZTU3NDgwYTI0Li43MGFjZmUwMTA3Y2RiODJhNGRhNjg3ODRkNjlmMTA2MWJmZjAwMWFm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZGxoYXJu
ZXNzLWV4cGVjdGVkLnR4dApAQCAtNiwxMSArNiw2IEBAIFBBU1MgUGVyZm9ybWFuY2UgaW50ZXJm
YWNlOiBvcGVyYXRpb24gc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGxvbmcp
CiBQQVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTogYXR0cmlidXRlIG9ucmVzb3VyY2V0aW1pbmdi
dWZmZXJmdWxsIAogUEFTUyBQZXJmb3JtYW5jZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9m
IHdpbmRvdy5wZXJmb3JtYW5jZSAKIFBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHdpbmRvdy5wZXJm
b3JtYW5jZSAKLVBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiB3aW5kb3cucGVyZm9ybWFuY2Ug
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJnZXRFbnRyaWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MCkgCi1QQVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTogd2luZG93LnBlcmZvcm1hbmNlIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiZ2V0RW50cmllc0J5VHlwZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDEpIAotUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IGNhbGxpbmcgZ2V0RW50cmllc0J5VHlw
ZShET01TdHJpbmcpIG9uIHdpbmRvdy5wZXJmb3JtYW5jZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRz
IG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IHdpbmRv
dy5wZXJmb3JtYW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImdldEVudHJpZXNCeU5hbWUiIHdp
dGggdGhlIHByb3BlciB0eXBlICgyKSAKLVBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBjYWxs
aW5nIGdldEVudHJpZXNCeU5hbWUoRE9NU3RyaW5nLERPTVN0cmluZykgb24gd2luZG93LnBlcmZv
cm1hbmNlIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNT
IFBlcmZvcm1hbmNlIGludGVyZmFjZTogd2luZG93LnBlcmZvcm1hbmNlIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiY2xlYXJSZXNvdXJjZVRpbWluZ3MiIHdpdGggdGhlIHByb3BlciB0eXBlICgzKSAK
IFBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiB3aW5kb3cucGVyZm9ybWFuY2UgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICg0KSAKIFBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBjYWxsaW5nIHNldFJlc291
cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCBsb25nKSBvbiB3aW5kb3cucGVyZm9ybWFuY2Ug
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3J0LWluaXRpYXRvclR5cGUtb3RoZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcnQtaW5pdGlhdG9y
VHlwZS1vdGhlci1leHBlY3RlZC50eHQKaW5kZXggYTNiZTE2MTBhOGM3YWUzNjFjODVkZTk3Mjcx
MmJiMTg2M2VjYjBhYS4uN2ZlNDFjNjczOGJjYmQ1M2NjNTdhNjAxNzVjOGNmYzQ4YjhhYjNiOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcnQtaW5pdGlhdG9yVHlwZS1vdGhlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcnQtaW5pdGlhdG9yVHlwZS1vdGhlci1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsOCBAQAog
UmVzb3VyY2UgVGltaW5nOiBPdGhlciBpbml0aWF0b3JUeXBlCiAKIAotSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KIFBBU1MgVHlwZTogb3RoZXIgLSBXb3JrZXIgCiBQ
QVNTIFRpbWluZzogb3RoZXIgLSBXb3JrZXIgCiBUSU1FT1VUIFR5cGU6IG90aGVyIC0gRXZlbnRT
b3VyY2UgVGVzdCB0aW1lZCBvdXQKLU5PVFJVTiBUaW1pbmc6IG90aGVyIC0gRXZlbnRTb3VyY2Ug
CitGQUlMIFRpbWluZzogb3RoZXIgLSBFdmVudFNvdXJjZSBhc3NlcnRfdHJ1ZTogcHJldmlvdXMg
dGVzdCBzaG91bGQgaGF2ZSBwcm9kdWNlZCBhbiBlbnRyeSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcwppbmRleCBkYTc3ZmU3MGRi
ZjI4YzM1YzViMDAwOTdkOTQ3MTljOTBjMGFiNDAxLi5mMThkODk1YjYyMWNhMmEyMGVjNTQxNzNl
ODhiZGUzYTI2ZjdkYmQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMK
QEAgLTgsNyArOCw3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogWzNd
IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMTAvMjctdGVzdGNhc2VzCiAqLwogCi0vKiBGb3IgdXNl
ciBkb2N1bWVudGF0aW9uIHNlZSBkb2NzL2lkbGhhcm5lc3MubWQgKi8KKy8qIEZvciB1c2VyIGRv
Y3VtZW50YXRpb24gc2VlIGRvY3MvX3dyaXRpbmctdGVzdHMvaWRsaGFybmVzcy5tZCAqLwogCiAv
KioKICAqIE5vdGVzIGZvciBwZW9wbGUgd2hvIHdhbnQgdG8gZWRpdCB0aGlzIGZpbGUgKG5vdCBq
dXN0IHVzZSBpdCBhcyBhIGxpYnJhcnkpOgpAQCAtMzIyLDYgKzMyMiwyNCBAQCBJZGxBcnJheS5w
cm90b3R5cGUucmVjdXJzaXZlbHlfZ2V0X2ltcGxlbWVudHMgPSBmdW5jdGlvbihpbnRlcmZhY2Vf
bmFtZSkKICAgICByZXR1cm4gcmV0OwogfTsKIAorZnVuY3Rpb24gZXhwb3N1cmVfc2V0KG9iamVj
dCwgZGVmYXVsdF9zZXQpIHsKKyAgICB2YXIgZXhwb3NlZCA9IG9iamVjdC5leHRBdHRycy5maWx0
ZXIoZnVuY3Rpb24oYSkgeyByZXR1cm4gYS5uYW1lID09ICJFeHBvc2VkIiB9KTsKKyAgICBpZiAo
ZXhwb3NlZC5sZW5ndGggPiAxIHx8IGV4cG9zZWQubGVuZ3RoIDwgMCkgeworICAgICAgICB0aHJv
dyAiVW5leHBlY3RlZCBFeHBvc2VkIGV4dGVuZGVkIGF0dHJpYnV0ZXMgb24gIiArIG1lbWJlck5h
bWUgKyAiOiAiICsgZXhwb3NlZDsKKyAgICB9CisKKyAgICBpZiAoZXhwb3NlZC5sZW5ndGggPT09
IDApIHsKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRfc2V0OworICAgIH0KKworICAgIHZhciBzZXQg
PSBleHBvc2VkWzBdLnJocy52YWx1ZTsKKyAgICAvLyBDb3VsZCBiZSBhIGxpc3Qgb3IgYSBzdHJp
bmcuCisgICAgaWYgKHR5cGVvZiBzZXQgPT0gInN0cmluZyIpIHsKKyAgICAgICAgc2V0ID0gWyBz
ZXQgXTsKKyAgICB9CisgICAgcmV0dXJuIHNldDsKK30KKwogZnVuY3Rpb24gZXhwb3NlZF9pbihn
bG9iYWxzKSB7CiAgICAgaWYgKCdkb2N1bWVudCcgaW4gc2VsZikgewogICAgICAgICByZXR1cm4g
Z2xvYmFscy5pbmRleE9mKCJXaW5kb3ciKSA+PSAwOwpAQCAtMzk2LDE1ICs0MTQsOSBAQCBJZGxB
cnJheS5wcm90b3R5cGUudGVzdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogCi0gICAgICAgIHZhciBleHBvc2VkID0gbWVtYmVyLmV4dEF0dHJzLmZpbHRlcihm
dW5jdGlvbihhKSB7IHJldHVybiBhLm5hbWUgPT0gIkV4cG9zZWQiIH0pOwotICAgICAgICBpZiAo
ZXhwb3NlZC5sZW5ndGggPiAxKSB7Ci0gICAgICAgICAgICB0aHJvdyAiVW5leHBlY3RlZCBFeHBv
c2VkIGV4dGVuZGVkIGF0dHJpYnV0ZXMgb24gIiArIG1lbWJlck5hbWUgKyAiOiAiICsgZXhwb3Nl
ZDsKLSAgICAgICAgfQotCi0gICAgICAgIHZhciBnbG9iYWxzID0gZXhwb3NlZC5sZW5ndGggPT09
IDEKLSAgICAgICAgICAgICAgICAgICAgPyBleHBvc2VkWzBdLnJocy52YWx1ZQotICAgICAgICAg
ICAgICAgICAgICA6IFsiV2luZG93Il07CisgICAgICAgIHZhciBnbG9iYWxzID0gZXhwb3N1cmVf
c2V0KG1lbWJlciwgWyJXaW5kb3ciXSk7CiAgICAgICAgIG1lbWJlci5leHBvc2VkID0gZXhwb3Nl
ZF9pbihnbG9iYWxzKTsKKyAgICAgICAgbWVtYmVyLmV4cG9zdXJlU2V0ID0gZ2xvYmFsczsKICAg
ICB9LmJpbmQodGhpcykpOwogCiAgICAgLy8gTm93IHJ1biB0ZXN0KCkgb24gZXZlcnkgbWVtYmVy
LCBhbmQgdGVzdF9vYmplY3QoKSBmb3IgZXZlcnkgb2JqZWN0LgpAQCAtNDI1LDYgKzQzNywzMSBA
QCBJZGxBcnJheS5wcm90b3R5cGUudGVzdCA9IGZ1bmN0aW9uKCkKIElkbEFycmF5LnByb3RvdHlw
ZS5hc3NlcnRfdHlwZV9pcyA9IGZ1bmN0aW9uKHZhbHVlLCB0eXBlKQogLy9AewogeworICAgIGlm
ICh0eXBlLmlkbFR5cGUgaW4gdGhpcy5tZW1iZXJzCisgICAgJiYgdGhpcy5tZW1iZXJzW3R5cGUu
aWRsVHlwZV0gaW5zdGFuY2VvZiBJZGxUeXBlZGVmKSB7CisgICAgICAgIHRoaXMuYXNzZXJ0X3R5
cGVfaXModmFsdWUsIHRoaXMubWVtYmVyc1t0eXBlLmlkbFR5cGVdLmlkbFR5cGUpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIGlmICh0eXBlLnVuaW9uKSB7CisgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgdHlwZS5pZGxUeXBlLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgIHRoaXMuYXNzZXJ0X3R5cGVfaXModmFsdWUsIHR5cGUuaWRsVHlw
ZVtpXSk7CisgICAgICAgICAgICAgICAgLy8gTm8gQXNzZXJ0aW9uRXJyb3IsIHNvIHdlIG1hdGNo
IG9uZSB0eXBlIGluIHRoZSB1bmlvbgorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgQXNzZXJ0
aW9uRXJyb3IpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gV2UgZGlkbid0IG1hdGNoIHRoaXMg
dHlwZSwgbGV0J3MgdHJ5IHNvbWUgb3RoZXJzCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB0aHJvdyBlOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgIC8vIFRPRE86IElzIHRoZXJlIGEgbmljZSB3YXkgdG8g
bGlzdCB0aGUgdW5pb24ncyB0eXBlcyBpbiB0aGUgbWVzc2FnZT8KKyAgICAgICAgYXNzZXJ0X3Ry
dWUoZmFsc2UsICJBdHRyaWJ1dGUgaGFzIHZhbHVlICIgKyBmb3JtYXRfdmFsdWUodmFsdWUpCisg
ICAgICAgICAgICAgICAgICAgICsgIiB3aGljaCBkb2Vzbid0IG1hdGNoIGFueSBvZiB0aGUgdHlw
ZXMgaW4gdGhlIHVuaW9uIik7CisKKyAgICB9CisKICAgICAvKioKICAgICAgKiBIZWxwZXIgZnVu
Y3Rpb24gdGhhdCB0ZXN0cyB0aGF0IHZhbHVlIGlzIGFuIGluc3RhbmNlIG9mIHR5cGUgYWNjb3Jk
aW5nCiAgICAgICogdG8gdGhlIHJ1bGVzIG9mIFdlYklETC4gIHZhbHVlIGlzIGFueSBKYXZhU2Ny
aXB0IHZhbHVlLCBhbmQgdHlwZSBpcyBhbgpAQCAtNDU4LDcgKzQ5NSw3IEBAIElkbEFycmF5LnBy
b3RvdHlwZS5hc3NlcnRfdHlwZV9pcyA9IGZ1bmN0aW9uKHZhbHVlLCB0eXBlKQogICAgICAgICAg
ICAgLy8gTm90aGluZyB3ZSBjYW4gZG8uCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
LSAgICAgICAgdGhpcy5hc3NlcnRfdHlwZV9pcyh2YWx1ZVswXSwgdHlwZS5pZGxUeXBlLmlkbFR5
cGUpOworICAgICAgICB0aGlzLmFzc2VydF90eXBlX2lzKHZhbHVlWzBdLCB0eXBlLmlkbFR5cGUp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC00NzAsNiArNTA3LDE4IEBAIElkbEFycmF5
LnByb3RvdHlwZS5hc3NlcnRfdHlwZV9pcyA9IGZ1bmN0aW9uKHZhbHVlLCB0eXBlKQogICAgICAg
ICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKHR5cGUuZ2VuZXJpYyA9PT0gIkZyb3plbkFycmF5
IikgeworICAgICAgICBhc3NlcnRfdHJ1ZShBcnJheS5pc0FycmF5KHZhbHVlKSwgIlZhbHVlIHNo
b3VsZCBiZSBhcnJheSIpOworICAgICAgICBhc3NlcnRfdHJ1ZShPYmplY3QuaXNGcm96ZW4odmFs
dWUpLCAiVmFsdWUgc2hvdWxkIGJlIGZyb3plbiIpOworICAgICAgICBpZiAoIXZhbHVlLmxlbmd0
aCkKKyAgICAgICAgeworICAgICAgICAgICAgLy8gTm90aGluZyB3ZSBjYW4gZG8uCisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5hc3NlcnRfdHlwZV9pcyh2YWx1
ZVswXSwgdHlwZS5pZGxUeXBlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIHR5cGUg
PSB0eXBlLmlkbFR5cGU7CiAKICAgICBzd2l0Y2godHlwZSkKQEAgLTYwMCwxMCArNjQ5LDYgQEAg
SWRsQXJyYXkucHJvdG90eXBlLmFzc2VydF90eXBlX2lzID0gZnVuY3Rpb24odmFsdWUsIHR5cGUp
CiAgICAgewogICAgICAgICAvLyBUT0RPOiBUZXN0IHdoZW4gd2UgYWN0dWFsbHkgaGF2ZSBzb21l
dGhpbmcgdG8gdGVzdCB0aGlzIG9uCiAgICAgfQotICAgIGVsc2UgaWYgKHRoaXMubWVtYmVyc1t0
eXBlXSBpbnN0YW5jZW9mIElkbFR5cGVkZWYpCi0gICAgewotICAgICAgICAvLyBUT0RPOiBUZXN0
IHdoZW4gd2UgYWN0dWFsbHkgaGF2ZSBzb21ldGhpbmcgdG8gdGVzdCB0aGlzIG9uCi0gICAgfQog
ICAgIGVsc2UKICAgICB7CiAgICAgICAgIHRocm93ICJUeXBlICIgKyB0eXBlICsgIiBpc24ndCBh
biBpbnRlcmZhY2Ugb3IgZGljdGlvbmFyeSI7CkBAIC05NzUsMTQgKzEwMjAsMTMgQEAgSWRsSW50
ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3NlbGYgPSBmdW5jdGlvbigpCiAgICAgICAgIC8vIGZvbGxv
d2luZyBzdGVwczoKICAgICAgICAgLy8gIklmIEEgaXMgZGVjbGFyZWQgd2l0aCB0aGUgW0dsb2Jh
bF0gb3IgW1ByaW1hcnlHbG9iYWxdIGV4dGVuZGVkCiAgICAgICAgIC8vIGF0dHJpYnV0ZSwgYW5k
IEEgc3VwcG9ydHMgbmFtZWQgcHJvcGVydGllcywgdGhlbiByZXR1cm4gdGhlIG5hbWVkCi0gICAg
ICAgIC8vIHByb3BlcnRpZXMgb2JqZWN0IGZvciBBLCBhcyBkZWZpbmVkIGluIHNlY3Rpb24gNC41
LjUgYmVsb3cuCisgICAgICAgIC8vIHByb3BlcnRpZXMgb2JqZWN0IGZvciBBLCBhcyBkZWZpbmVk
IGluIMKnMy42LjQgTmFtZWQgcHJvcGVydGllcworICAgICAgICAvLyBvYmplY3QuCiAgICAgICAg
IC8vICJPdGhlcndpc2UsIGlmIEEgaXMgZGVjbGFyZWQgdG8gaW5oZXJpdCBmcm9tIGFub3RoZXIg
aW50ZXJmYWNlLCB0aGVuCiAgICAgICAgIC8vIHJldHVybiB0aGUgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QgZm9yIHRoZSBpbmhlcml0ZWQgaW50ZXJmYWNlLgotICAgICAgICAvLyAiT3RoZXJ3
aXNlLCBpZiBBIGlzIGRlY2xhcmVkIHdpdGggdGhlIFtBcnJheUNsYXNzXSBleHRlbmRlZAotICAg
ICAgICAvLyBhdHRyaWJ1dGUsIHRoZW4gcmV0dXJuICVBcnJheVByb3RvdHlwZSUgKFtFQ01BLTI2
Ml0sIHNlY3Rpb24KLSAgICAgICAgLy8gNi4xLjcuNCkuCi0gICAgICAgIC8vICJPdGhlcndpc2Us
IHJldHVybiAlT2JqZWN0UHJvdG90eXBlJSAoW0VDTUEtMjYyXSwgc2VjdGlvbiA2LjEuNy40KS4K
LSAgICAgICAgLy8gKFtFQ01BLTI2Ml0sIHNlY3Rpb24gMTUuMi40KS4KKyAgICAgICAgLy8gIk90
aGVyd2lzZSwgaWYgQSBpcyBkZWNsYXJlZCB3aXRoIHRoZSBbTGVnYWN5QXJyYXlDbGFzc10gZXh0
ZW5kZWQKKyAgICAgICAgLy8gYXR0cmlidXRlLCB0aGVuIHJldHVybiAlQXJyYXlQcm90b3R5cGUl
LgorICAgICAgICAvLyAiT3RoZXJ3aXNlLCByZXR1cm4gJU9iamVjdFByb3RvdHlwZSUuCiAgICAg
ICAgIGlmICh0aGlzLm5hbWUgPT09ICJXaW5kb3ciKSB7CiAgICAgICAgICAgICBhc3NlcnRfY2xh
c3Nfc3RyaW5nKE9iamVjdC5nZXRQcm90b3R5cGVPZihzZWxmW3RoaXMubmFtZV0ucHJvdG90eXBl
KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dpbmRvd1Byb3BlcnRpZXMnLApA
QCAtOTk2LDcgKzEwNDAsNyBAQCBJZGxJbnRlcmZhY2UucHJvdG90eXBlLnRlc3Rfc2VsZiA9IGZ1
bmN0aW9uKCkKICAgICAgICAgICAgICAgICAgICAgIXRoaXMuYXJyYXkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAubWVtYmVyc1tpbmhlcml0X2ludGVyZmFjZV0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAuaGFzX2V4dGVuZGVkX2F0dHJpYnV0ZSgiTm9JbnRlcmZhY2VPYmplY3QiKTsKLSAg
ICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNfZXh0ZW5kZWRfYXR0cmlidXRlKCdBcnJheUNs
YXNzJykpIHsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNfZXh0ZW5kZWRfYXR0cmli
dXRlKCdMZWdhY3lBcnJheUNsYXNzJykpIHsKICAgICAgICAgICAgICAgICBpbmhlcml0X2ludGVy
ZmFjZSA9ICdBcnJheSc7CiAgICAgICAgICAgICAgICAgaW5oZXJpdF9pbnRlcmZhY2VfaGFzX2lu
dGVyZmFjZV9vYmplY3QgPSB0cnVlOwogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTEwMjUsMTMg
KzEwNjksMTkgQEAgSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X3NlbGYgPSBmdW5jdGlvbigp
CiAgICAgICAgIC8vICJUaGUgY2xhc3Mgc3RyaW5nIG9mIGFuIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IGlzIHRoZQogICAgICAgICAvLyBjb25jYXRlbmF0aW9uIG9mIHRoZSBpbnRlcmZhY2Xi
gJlzIGlkZW50aWZpZXIgYW5kIHRoZSBzdHJpbmcKICAgICAgICAgLy8g4oCcUHJvdG90eXBl4oCd
LiIKLSAgICAgICAgYXNzZXJ0X2NsYXNzX3N0cmluZyhzZWxmW3RoaXMubmFtZV0ucHJvdG90eXBl
LCB0aGlzLm5hbWUgKyAiUHJvdG90eXBlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
Y2xhc3Mgc3RyaW5nIG9mICIgKyB0aGlzLm5hbWUgKyAiLnByb3RvdHlwZSIpOworCisgICAgICAg
IC8vIFNraXAgdGhlc2UgdGVzdHMgZm9yIG5vdyBkdWUgdG8gYSBzcGVjaWZpY2F0aW9uIGlzc3Vl
IGFib3V0CisgICAgICAgIC8vIHByb3RvdHlwZSBuYW1lLgorICAgICAgICAvLyBodHRwczovL3d3
dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTI4MjQ0CisKKyAgICAgICAgLy8g
YXNzZXJ0X2NsYXNzX3N0cmluZyhzZWxmW3RoaXMubmFtZV0ucHJvdG90eXBlLCB0aGlzLm5hbWUg
KyAiUHJvdG90eXBlIiwKKyAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAiY2xhc3Mgc3Ry
aW5nIG9mICIgKyB0aGlzLm5hbWUgKyAiLnByb3RvdHlwZSIpOworCiAgICAgICAgIC8vIFN0cmlu
ZygpIHNob3VsZCBlbmQgdXAgY2FsbGluZyB7fS50b1N0cmluZyBpZiBub3RoaW5nIGRlZmluZXMg
YQogICAgICAgICAvLyBzdHJpbmdpZmllci4KICAgICAgICAgaWYgKCF0aGlzLmhhc19zdHJpbmdp
ZmllcigpKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKFN0cmluZyhzZWxmW3RoaXMubmFt
ZV0ucHJvdG90eXBlKSwgIltvYmplY3QgIiArIHRoaXMubmFtZSArICJQcm90b3R5cGVdIiwKLSAg
ICAgICAgICAgICAgICAgICAgIlN0cmluZygiICsgdGhpcy5uYW1lICsgIi5wcm90b3R5cGUpIik7
CisgICAgICAgICAgICAvLyBhc3NlcnRfZXF1YWxzKFN0cmluZyhzZWxmW3RoaXMubmFtZV0ucHJv
dG90eXBlKSwgIltvYmplY3QgIiArIHRoaXMubmFtZSArICJQcm90b3R5cGVdIiwKKyAgICAgICAg
ICAgIC8vICAgICAgICAgIlN0cmluZygiICsgdGhpcy5uYW1lICsgIi5wcm90b3R5cGUpIik7CiAg
ICAgICAgIH0KICAgICB9LmJpbmQodGhpcyksIHRoaXMubmFtZSArICIgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QiKTsKIApA
QCAtMTM1OSwxMiArMTQwOSwxNyBAQCBJZGxJbnRlcmZhY2UucHJvdG90eXBlLmRvX21lbWJlcl9v
cGVyYXRpb25fYXNzZXJ0cyA9IGZ1bmN0aW9uKG1lbWJlckhvbGRlck9iamVjdAogSWRsSW50ZXJm
YWNlLnByb3RvdHlwZS5hZGRfaXRlcmFibGVfbWVtYmVycyA9IGZ1bmN0aW9uKG1lbWJlcikKIC8v
QHsKIHsKLSAgICB0aGlzLm1lbWJlcnMucHVzaCh7dHlwZTogIm9wZXJhdGlvbiIsIG5hbWU6ICJl
bnRyaWVzIiwgaWRsVHlwZTogIml0ZXJhdG9yIiwgYXJndW1lbnRzOiBbXX0pOwotICAgIHRoaXMu
bWVtYmVycy5wdXNoKHt0eXBlOiAib3BlcmF0aW9uIiwgbmFtZTogImtleXMiLCBpZGxUeXBlOiAi
aXRlcmF0b3IiLCBhcmd1bWVudHM6IFtdfSk7Ci0gICAgdGhpcy5tZW1iZXJzLnB1c2goe3R5cGU6
ICJvcGVyYXRpb24iLCBuYW1lOiAidmFsdWVzIiwgaWRsVHlwZTogIml0ZXJhdG9yIiwgYXJndW1l
bnRzOiBbXX0pOwotICAgIHRoaXMubWVtYmVycy5wdXNoKHt0eXBlOiAib3BlcmF0aW9uIiwgbmFt
ZTogImZvckVhY2giLCBpZGxUeXBlOiAidm9pZCIsIGFyZ3VtZW50czoKLSAgICAgICAgW3sgbmFt
ZTogImNhbGxiYWNrIiwgaWRsVHlwZToge2lkbFR5cGU6ICJmdW5jdGlvbiJ9fSwKLSAgICAgICAg
eyBuYW1lOiAidGhpc1ZhbHVlIiwgaWRsVHlwZToge2lkbFR5cGU6ICJhbnkifSwgb3B0aW9uYWw6
IHRydWV9XX0pOworICAgIHRoaXMubWVtYmVycy5wdXNoKG5ldyBJZGxJbnRlcmZhY2VNZW1iZXIo
CisgICAgICAgIHsgdHlwZTogIm9wZXJhdGlvbiIsIG5hbWU6ICJlbnRyaWVzIiwgaWRsVHlwZTog
Iml0ZXJhdG9yIiwgYXJndW1lbnRzOiBbXX0pKTsKKyAgICB0aGlzLm1lbWJlcnMucHVzaChuZXcg
SWRsSW50ZXJmYWNlTWVtYmVyKAorICAgICAgICB7IHR5cGU6ICJvcGVyYXRpb24iLCBuYW1lOiAi
a2V5cyIsIGlkbFR5cGU6ICJpdGVyYXRvciIsIGFyZ3VtZW50czogW119KSk7CisgICAgdGhpcy5t
ZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1lbWJlcigKKyAgICAgICAgeyB0eXBlOiAib3Bl
cmF0aW9uIiwgbmFtZTogInZhbHVlcyIsIGlkbFR5cGU6ICJpdGVyYXRvciIsIGFyZ3VtZW50czog
W119KSk7CisgICAgdGhpcy5tZW1iZXJzLnB1c2gobmV3IElkbEludGVyZmFjZU1lbWJlcigKKyAg
ICAgICAgeyB0eXBlOiAib3BlcmF0aW9uIiwgbmFtZTogImZvckVhY2giLCBpZGxUeXBlOiAidm9p
ZCIsCisgICAgICAgICAgYXJndW1lbnRzOgorICAgICAgICAgIFt7IG5hbWU6ICJjYWxsYmFjayIs
IGlkbFR5cGU6IHtpZGxUeXBlOiAiZnVuY3Rpb24ifX0sCisgICAgICAgICAgIHsgbmFtZTogInRo
aXNWYWx1ZSIsIGlkbFR5cGU6IHtpZGxUeXBlOiAiYW55In0sIG9wdGlvbmFsOiB0cnVlfV19KSk7
CiB9OwogCiAvL0B9CkBAIC0xMzg0LDcgKzE0MzksNyBAQCBJZGxJbnRlcmZhY2UucHJvdG90eXBl
LnRlc3RfbWVtYmVyX2l0ZXJhYmxlID0gZnVuY3Rpb24obWVtYmVyKQogCiAgICAgaWYgKGlzUGFp
ckl0ZXJhdG9yKSB7CiAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKHNlbGZbaW50ZXJmYWNlTmFtZV0ucHJvdG90eXBlWyJlbnRyaWVzIl0sIHNlbGZb
aW50ZXJmYWNlTmFtZV0ucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0sICJlbnRyaWVzIG1ldGhv
ZCBpcyBub3QgdGhlIHNhbWUgYXMgQEBpdGVyYXRvciIpOworICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhzZWxmW2ludGVyZmFjZU5hbWVdLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdLCBzZWxm
W2ludGVyZmFjZU5hbWVdLnByb3RvdHlwZVsiZW50cmllcyJdLCAiZW50cmllcyBtZXRob2QgaXMg
bm90IHRoZSBzYW1lIGFzIEBAaXRlcmF0b3IiKTsKICAgICAgICAgfSwgIlRlc3RpbmcgcGFpciBp
dGVyYWJsZSBpbnRlcmZhY2UgIiArIGludGVyZmFjZU5hbWUpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIHRlc3QoZnVuY3Rpb24oKSB7CkBAIC0xNDgzLDYgKzE1MzgsMTkgQEAgSWRsSW50ZXJmYWNl
LnByb3RvdHlwZS50ZXN0X21lbWJlcnMgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgfQogCisgICAgICAgIGlmICghZXhwb3NlZF9pbihleHBvc3VyZV9zZXQobWVt
YmVyLCB0aGlzLmV4cG9zdXJlU2V0KSkpIHsKKyAgICAgICAgICAgIHRlc3QoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgICAgLy8gSXQncyBub3QgZXhwb3NlZCwgc28gd2Ugc2hvdWxkbid0IGZp
bmQgaXQgYW55d2hlcmUuCisgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKG1lbWJlci5uYW1l
IGluIHNlbGZbdGhpcy5uYW1lXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBp
bnRlcmZhY2Ugb2JqZWN0IG11c3Qgbm90IGhhdmUgYSBwcm9wZXJ0eSAiICsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZm9ybWF0X3ZhbHVlKG1lbWJlci5uYW1lKSk7CisgICAgICAgICAg
ICAgICAgYXNzZXJ0X2ZhbHNlKG1lbWJlci5uYW1lIGluIHNlbGZbdGhpcy5uYW1lXS5wcm90b3R5
cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgcHJvdG90eXBlIG9iamVjdCBt
dXN0IG5vdCBoYXZlIGEgcHJvcGVydHkgIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZvcm1hdF92YWx1ZShtZW1iZXIubmFtZSkpOworICAgICAgICAgICAgfS5iaW5kKHRoaXMpLCB0
aGlzLm5hbWUgKyAiIGludGVyZmFjZTogbWVtYmVyICIgKyBtZW1iZXIubmFtZSk7CisgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCiAgICAgICAgIHN3aXRjaCAobWVtYmVyLnR5cGUp
IHsKICAgICAgICAgY2FzZSAiY29uc3QiOgogICAgICAgICAgICAgdGhpcy50ZXN0X21lbWJlcl9j
b25zdChtZW1iZXIpOwpAQCAtMTU2NSw2ICsxNjMzLDEzIEBAIElkbEludGVyZmFjZS5wcm90b3R5
cGUudGVzdF9vYmplY3QgPSBmdW5jdGlvbihkZXNjKQogSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50
ZXN0X3ByaW1hcnlfaW50ZXJmYWNlX29mID0gZnVuY3Rpb24oZGVzYywgb2JqLCBleGNlcHRpb24s
IGV4cGVjdGVkX3R5cGVvZikKIC8vQHsKIHsKKyAgICAvLyBPbmx5IHRoZSBvYmplY3QgaXRzZWxm
LCBub3QgaXRzIG1lbWJlcnMsIGFyZSB0ZXN0ZWQgaGVyZSwgc28gaWYgdGhlCisgICAgLy8gaW50
ZXJmYWNlIGlzIHVudGVzdGVkLCB0aGVyZSBpcyBub3RoaW5nIHRvIGRvLgorICAgIGlmICghdGhp
cy51bnRlc3RlZCkKKyAgICB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBXZSBj
YW4ndCBlYXNpbHkgdGVzdCB0aGF0IGl0cyBwcm90b3R5cGUgaXMgY29ycmVjdCBpZiB0aGVyZSdz
IG5vCiAgICAgLy8gaW50ZXJmYWNlIG9iamVjdCwgb3IgdGhlIG9iamVjdCBpcyBmcm9tIGEgZGlm
ZmVyZW50IGdsb2JhbCBlbnZpcm9ubWVudAogICAgIC8vIChub3QgaW5zdGFuY2VvZiBPYmplY3Qp
LiAgVE9ETzogdGVzdCBpbiB0aGlzIGNhc2UgdGhhdCBpdHMgcHJvdG90eXBlIGF0CkBAIC0xNjE2
LDYgKzE2OTEsMTUgQEAgSWRsSW50ZXJmYWNlLnByb3RvdHlwZS50ZXN0X2ludGVyZmFjZV9vZiA9
IGZ1bmN0aW9uKGRlc2MsIG9iaiwgZXhjZXB0aW9uLCBleHBlY3QKICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHRoaXMubWVtYmVycy5sZW5ndGg7IGkrKykKICAgICB7CiAgICAgICAgIHZhciBtZW1i
ZXIgPSB0aGlzLm1lbWJlcnNbaV07CisgICAgICAgIGlmIChtZW1iZXIudW50ZXN0ZWQpIHsKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIGlmICghZXhwb3NlZF9pbihl
eHBvc3VyZV9zZXQobWVtYmVyLCB0aGlzLmV4cG9zdXJlU2V0KSkpIHsKKyAgICAgICAgICAgIHRl
c3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKG1lbWJlci5uYW1l
IGluIG9iaik7CisgICAgICAgICAgICB9LmJpbmQodGhpcyksIHRoaXMubmFtZSArICJpbnRlcmZh
Y2U6ICIgKyBkZXNjICsgJ211c3Qgbm90IGhhdmUgcHJvcGVydHkgIicgKyBtZW1iZXIubmFtZSAr
ICciJyk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQogICAgICAgICBpZiAobWVt
YmVyLnR5cGUgPT0gImF0dHJpYnV0ZSIgJiYgbWVtYmVyLmlzVW5mb3JnZWFibGUpCiAgICAgICAg
IHsKICAgICAgICAgICAgIHZhciBhX3Rlc3QgPSBhc3luY190ZXN0KHRoaXMubmFtZSArICIgaW50
ZXJmYWNlOiAiICsgZGVzYyArICcgbXVzdCBoYXZlIG93biBwcm9wZXJ0eSAiJyArIG1lbWJlci5u
YW1lICsgJyInKTsKQEAgLTE4MTcsNiArMTkwMSw3IEBAIElkbEludGVyZmFjZS5wcm90b3R5cGUu
ZG9faW50ZXJmYWNlX2F0dHJpYnV0ZV9hc3NlcnRzID0gZnVuY3Rpb24ob2JqLCBtZW1iZXIsIGFf
CiAgICAgLy8gVE9ETzogVGVzdCBjYWxsaW5nIHNldHRlciBvbiB0aGUgaW50ZXJmYWNlIHByb3Rv
dHlwZSAoc2hvdWxkIHRocm93CiAgICAgLy8gVHlwZUVycm9yIGluIG1vc3QgY2FzZXMpLgogICAg
IGlmIChtZW1iZXIucmVhZG9ubHkKKyAgICAmJiAhbWVtYmVyLmhhc19leHRlbmRlZF9hdHRyaWJ1
dGUoIkxlbmllbnRTZXR0ZXIiKQogICAgICYmICFtZW1iZXIuaGFzX2V4dGVuZGVkX2F0dHJpYnV0
ZSgiUHV0Rm9yd2FyZHMiKQogICAgICYmICFtZW1iZXIuaGFzX2V4dGVuZGVkX2F0dHJpYnV0ZSgi
UmVwbGFjZWFibGUiKSkKICAgICB7CkBAIC0xOTU2LDggKzIwNDEsOCBAQCBmdW5jdGlvbiBJZGxU
eXBlZGVmKG9iaikKICAgICAvKiogU2VsZi1leHBsYW5hdG9yeS4gKi8KICAgICB0aGlzLm5hbWUg
PSBvYmoubmFtZTsKIAotICAgIC8qKiBBbiBhcnJheSBvZiB2YWx1ZXMgcHJvZHVjZWQgYnkgdGhl
ICJ0eXBlZGVmIiBwcm9kdWN0aW9uLiAqLwotICAgIHRoaXMudmFsdWVzID0gb2JqLnZhbHVlczsK
KyAgICAvKiogVGhlIGlkbFR5cGUgdGhhdCB3ZSBhcmUgc3VwcG9zZWQgdG8gYmUgdHlwZWRlZmZp
bmcgdG8uICovCisgICAgdGhpcy5pZGxUeXBlID0gb2JqLmlkbFR5cGU7CiAKIH0KIC8vQH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKaW5kZXggYTZlNzkxM2U3YmNiODc4
Zjc3MTk3MTRhYTMwZjc1YjAzMTNkYWUxMC4uZTdiZTZjNGU2YzhkNjU3ZmQwOGQ3YmE0Y2E3MjI2
MzFhYzE2MDFjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMKQEAg
LTY2LDYgKzY2LDcgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAg
ICAgIHRoaXMuYWxsX2xvYWRlZCA9IGZhbHNlOwogICAgICAgICB2YXIgdGhpc19vYmogPSB0aGlz
OwogICAgICAgICB0aGlzLm1lc3NhZ2VfZXZlbnRzID0gW107CisgICAgICAgIHRoaXMuZGlzcGF0
Y2hlZF9tZXNzYWdlcyA9IFtdOwogCiAgICAgICAgIHRoaXMubWVzc2FnZV9mdW5jdGlvbnMgPSB7
CiAgICAgICAgICAgICBzdGFydDogW2FkZF9zdGFydF9jYWxsYmFjaywgcmVtb3ZlX3N0YXJ0X2Nh
bGxiYWNrLApAQCAtMTAyLDkgKzEwMywyMyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZv
cm1zIFszXS4KICAgICAgICAgb25fZXZlbnQod2luZG93LCAnbG9hZCcsIGZ1bmN0aW9uKCkgewog
ICAgICAgICAgICAgdGhpc19vYmouYWxsX2xvYWRlZCA9IHRydWU7CiAgICAgICAgIH0pOworCisg
ICAgICAgIG9uX2V2ZW50KHdpbmRvdywgJ21lc3NhZ2UnLCBmdW5jdGlvbihldmVudCkgeworICAg
ICAgICAgICAgaWYgKGV2ZW50LmRhdGEgJiYgZXZlbnQuZGF0YS50eXBlID09PSAiZ2V0bWVzc2Fn
ZXMiICYmIGV2ZW50LnNvdXJjZSkgeworICAgICAgICAgICAgICAgIC8vIEEgd2luZG93IGNhbiBw
b3N0ICJnZXRtZXNzYWdlcyIgdG8gcmVjZWl2ZSBhIGR1cGxpY2F0ZSBvZiBldmVyeQorICAgICAg
ICAgICAgICAgIC8vIG1lc3NhZ2UgcG9zdGVkIGJ5IHRoaXMgZW52aXJvbm1lbnQgc28gZmFyLiBU
aGlzIGFsbG93cyBzdWJzY3JpYmVycworICAgICAgICAgICAgICAgIC8vIGZyb20gZmV0Y2hfdGVz
dHNfZnJvbV93aW5kb3cgdG8gJ2NhdGNoIHVwJyB0byB0aGUgY3VycmVudCBzdGF0ZSBvZgorICAg
ICAgICAgICAgICAgIC8vIHRoaXMgZW52aXJvbm1lbnQuCisgICAgICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB0aGlzX29iai5kaXNwYXRjaGVkX21lc3NhZ2VzLmxlbmd0aDsgKytpKQor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnQuc291cmNlLnBvc3RN
ZXNzYWdlKHRoaXNfb2JqLmRpc3BhdGNoZWRfbWVzc2FnZXNbaV0sICIqIik7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9KTsKICAgICB9CiAKICAgICBXaW5kb3dU
ZXN0RW52aXJvbm1lbnQucHJvdG90eXBlLl9kaXNwYXRjaCA9IGZ1bmN0aW9uKHNlbGVjdG9yLCBj
YWxsYmFja19hcmdzLCBtZXNzYWdlX2FyZykgeworICAgICAgICB0aGlzLmRpc3BhdGNoZWRfbWVz
c2FnZXMucHVzaChtZXNzYWdlX2FyZyk7CiAgICAgICAgIHRoaXMuX2ZvckVhY2hfd2luZG93cygK
ICAgICAgICAgICAgICAgICBmdW5jdGlvbih3LCBzYW1lX29yaWdpbikgewogICAgICAgICAgICAg
ICAgICAgICBpZiAoc2FtZV9vcmlnaW4pIHsKQEAgLTE0MiwzMyArMTU3LDE0IEBAIHBvbGljaWVz
IGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICAgICAgdmFyIHcgPSBzZWxmOwog
ICAgICAgICAgICAgdmFyIGkgPSAwOwogICAgICAgICAgICAgdmFyIHNvOwotICAgICAgICAgICAg
dmFyIG9yaWdpbnMgPSBsb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnM7CiAgICAgICAgICAgICB3aGls
ZSAodyAhPSB3LnBhcmVudCkgewogICAgICAgICAgICAgICAgIHcgPSB3LnBhcmVudDsKLSAgICAg
ICAgICAgICAgICAvLyBJbiBXZWJLaXQsIGNhbGxzIHRvIHBhcmVudCB3aW5kb3dzJyBwcm9wZXJ0
aWVzIHRoYXQgYXJlbid0IG9uIHRoZSBzYW1lCi0gICAgICAgICAgICAgICAgLy8gb3JpZ2luIGNh
dXNlIGFuIGVycm9yIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBlcnJvciBjb25zb2xl
IGJ1dAotICAgICAgICAgICAgICAgIC8vIGRvbid0IHRocm93IGFuIGV4Y2VwdGlvbi4gVGhpcyBp
cyBhIGRldmlhdGlvbiBmcm9tIHRoZSBjdXJyZW50IEhUTUw1Ci0gICAgICAgICAgICAgICAgLy8g
c3BlYy4gU2VlOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM1MDQK
LSAgICAgICAgICAgICAgICAvLyBUaGUgcHJvYmxlbSB3aXRoIFdlYktpdCdzIGJlaGF2aW9yIGlz
IHRoYXQgaXQgcG9sbHV0ZXMgdGhlIGVycm9yIGNvbnNvbGUKLSAgICAgICAgICAgICAgICAvLyB3
aXRoIGVycm9yIG1lc3NhZ2VzIHRoYXQgY2FuJ3QgYmUgY2F1Z2h0LgotICAgICAgICAgICAgICAg
IC8vCi0gICAgICAgICAgICAgICAgLy8gVGhpcyBpc3N1ZSBjYW4gYmUgbWl0aWdhdGVkIGJ5IHJl
bHlpbmcgb24gdGhlIChmb3Igbm93KSBwcm9wcmlldGFyeQotICAgICAgICAgICAgICAgIC8vIGBs
b2NhdGlvbi5hbmNlc3Rvck9yaWdpbnNgIHByb3BlcnR5IHdoaWNoIHJldHVybnMgYW4gb3JkZXJl
ZCBsaXN0IG9mCi0gICAgICAgICAgICAgICAgLy8gdGhlIG9yaWdpbnMgb2YgZW5jbG9zaW5nIHdp
bmRvd3MuIFNlZToKLSAgICAgICAgICAgICAgICAvLyBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8xMTM5NDUuCi0gICAgICAgICAgICAgICAgaWYgKG9yaWdpbnMpIHsKLSAgICAgICAg
ICAgICAgICAgICAgc28gPSAobG9jYXRpb24ub3JpZ2luID09IG9yaWdpbnNbaV0pOwotICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHNvID0gaXNfc2FtZV9vcmln
aW4odyk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNvID0gaXNfc2FtZV9v
cmlnaW4odyk7CiAgICAgICAgICAgICAgICAgY2FjaGUucHVzaChbdywgc29dKTsKICAgICAgICAg
ICAgICAgICBpKys7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB3ID0gd2luZG93Lm9wZW5l
cjsKICAgICAgICAgICAgIGlmICh3KSB7Ci0gICAgICAgICAgICAgICAgLy8gd2luZG93Lm9wZW5l
ciBpc24ndCBpbmNsdWRlZCBpbiB0aGUgYGxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc2AgcHJvcC4K
LSAgICAgICAgICAgICAgICAvLyBXZSdsbCBqdXN0IGhhdmUgdG8gZGVhbCB3aXRoIGEgc2ltcGxl
IGNoZWNrIGFuZCBhbiBlcnJvciBtc2cgb24gV2ViS2l0Ci0gICAgICAgICAgICAgICAgLy8gYnJv
d3NlcnMgaW4gdGhpcyBjYXNlLgogICAgICAgICAgICAgICAgIGNhY2hlLnB1c2goW3csIGlzX3Nh
bWVfb3JpZ2luKHcpXSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB0aGlzLndpbmRvd19j
YWNoZSA9IGNhY2hlOwpAQCAtNDE0LDcgKzQxMCw3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRp
b24gZm9ybXMgWzNdLgogICAgICAgICB2YXIgdGhpc19vYmogPSB0aGlzOwogICAgICAgICBzZWxm
LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLAogICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGV2
ZW50KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLnR5cGUgJiYgZXZlbnQu
ZGF0YS50eXBlID09PSAiY29ubmVjdCIpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50
LmRhdGEgJiYgZXZlbnQuZGF0YS50eXBlICYmIGV2ZW50LmRhdGEudHlwZSA9PT0gImNvbm5lY3Qi
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQucG9ydHMgJiYgZXZlbnQucG9y
dHNbMF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiBhIE1lc3NhZ2VDaGFu
bmVsIHdhcyBwYXNzZWQsIHRoZW4gdXNlIGl0IHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gc2VuZCByZXN1bHRzIGJhY2sgdG8gdGhlIG1haW4gd2luZG93LiAgVGhpcwpAQCAtNTI3
LDEyICs1MjMsMTQgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAg
ICAgICAgICB0ZXN0cy5wcm9taXNlX3Rlc3RzID0gUHJvbWlzZS5yZXNvbHZlKCk7CiAgICAgICAg
IH0KICAgICAgICAgdGVzdHMucHJvbWlzZV90ZXN0cyA9IHRlc3RzLnByb21pc2VfdGVzdHMudGhl
bihmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHZhciBkb25lUHJvbWlzZSA9IG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUpIHsKKyAgICAgICAgICAgICAgICB0ZXN0LmFkZF9jbGVhbnVwKHJl
c29sdmUpOworICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB2YXIgcHJvbWlzZSA9IHRlc3Qu
c3RlcChmdW5jLCB0ZXN0LCB0ZXN0KTsKICAgICAgICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigp
IHsKICAgICAgICAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhwcm9taXNlLCB1bmRlZmluZWQp
OwogICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHBy
b21pc2UpCi0gICAgICAgICAgICAgICAgLnRoZW4oCisgICAgICAgICAgICBQcm9taXNlLnJlc29s
dmUocHJvbWlzZSkudGhlbigKICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0LmRvbmUoKTsKICAgICAgICAgICAgICAgICAgICAgfSkK
QEAgLTU0NCw2ICs1NDIsNyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4K
ICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydChmYWxzZSwgInByb21pc2VfdGVzdCIsIG51
bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogJHt2YWx1ZX0iLCB7dmFsdWU6dmFsdWV9KTsKICAgICAgICAgICAgICAgICAg
ICAgfSkpOworICAgICAgICAgICAgcmV0dXJuIGRvbmVQcm9taXNlOwogICAgICAgICB9KTsKICAg
ICB9CiAKQEAgLTExNzksNyArMTE3OCw3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9y
bXMgWzNdLgogICAgICAgICAgICAgICAgIHRocm93IGU7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBpZiAoY29kZSA9PT0gbnVsbCkgewotICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgICAgICB0aHJvdyBuZXcgQXNzZXJ0aW9uRXJyb3IoJ1Rlc3QgYnVnOiBuZWVkIHRvIHBh
c3MgZXhjZXB0aW9uIHRvIGFzc2VydF90aHJvd3MoKScpOwogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgaWYgKHR5cGVvZiBjb2RlID09PSAib2JqZWN0IikgewogICAgICAgICAgICAgICAgIGFz
c2VydCh0eXBlb2YgZSA9PSAib2JqZWN0IiAmJiAibmFtZSIgaW4gZSAmJiBlLm5hbWUgPT0gY29k
ZS5uYW1lLApAQCAtMTU3Miw3MyArMTU3MSw1NiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9u
IGZvcm1zIFszXS4KICAgICB9CiAKICAgICAvKgotICAgICAqIEEgUmVtb3RlV29ya2VyIGxpc3Rl
bnMgZm9yIHRlc3QgZXZlbnRzIGZyb20gYSB3b3JrZXIuIFRoZXNlIGV2ZW50cyBhcmUKLSAgICAg
KiB0aGVuIHVzZWQgdG8gY29uc3RydWN0IGFuZCBtYWludGFpbiBSZW1vdGVUZXN0IG9iamVjdHMg
dGhhdCBtaXJyb3IgdGhlCi0gICAgICogdGVzdHMgcnVubmluZyBvbiB0aGUgcmVtb3RlIHdvcmtl
ci4KKyAgICAgKiBBIFJlbW90ZUNvbnRleHQgbGlzdGVucyBmb3IgdGVzdCBldmVudHMgZnJvbSBh
IHJlbW90ZSB0ZXN0IGNvbnRleHQsIHN1Y2gKKyAgICAgKiBhcyBhbm90aGVyIHdpbmRvdyBvciBh
IHdvcmtlci4gVGhlc2UgZXZlbnRzIGFyZSB0aGVuIHVzZWQgdG8gY29uc3RydWN0CisgICAgICog
YW5kIG1haW50YWluIFJlbW90ZVRlc3Qgb2JqZWN0cyB0aGF0IG1pcnJvciB0aGUgdGVzdHMgcnVu
bmluZyBpbiB0aGUKKyAgICAgKiByZW1vdGUgY29udGV4dC4KKyAgICAgKgorICAgICAqIEFuIG9w
dGlvbmFsIHRoaXJkIHBhcmFtZXRlciBjYW4gYmUgdXNlZCBhcyBhIHByZWRpY2F0ZSB0byBmaWx0
ZXIgaW5jb21pbmcKKyAgICAgKiBNZXNzYWdlRXZlbnRzLgogICAgICAqLwotICAgIGZ1bmN0aW9u
IFJlbW90ZVdvcmtlcih3b3JrZXIpIHsKKyAgICBmdW5jdGlvbiBSZW1vdGVDb250ZXh0KHJlbW90
ZSwgbWVzc2FnZV90YXJnZXQsIG1lc3NhZ2VfZmlsdGVyKSB7CiAgICAgICAgIHRoaXMucnVubmlu
ZyA9IHRydWU7CiAgICAgICAgIHRoaXMudGVzdHMgPSBuZXcgQXJyYXkoKTsKIAogICAgICAgICB2
YXIgdGhpc19vYmogPSB0aGlzOwotICAgICAgICB3b3JrZXIub25lcnJvciA9IGZ1bmN0aW9uKGVy
cm9yKSB7IHRoaXNfb2JqLndvcmtlcl9lcnJvcihlcnJvcik7IH07Ci0KLSAgICAgICAgdmFyIG1l
c3NhZ2VfcG9ydDsKLQotICAgICAgICBpZiAoaXNfc2VydmljZV93b3JrZXIod29ya2VyKSkgewot
ICAgICAgICAgICAgaWYgKHdpbmRvdy5NZXNzYWdlQ2hhbm5lbCkgewotICAgICAgICAgICAgICAg
IC8vIFRoZSBTZXJ2aWNlV29ya2VyJ3MgaW1wbGljaXQgTWVzc2FnZVBvcnQgaXMgY3VycmVudGx5
IG5vdAotICAgICAgICAgICAgICAgIC8vIHJlbGlhYmx5IGFjY2Vzc2libGUgZnJvbSB0aGUgU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlIGR1ZSB0bwotICAgICAgICAgICAgICAgIC8vIEJsaW5rIHNl
dHRpbmcgTWVzc2FnZUV2ZW50LnNvdXJjZSB0byBudWxsIGZvciBtZXNzYWdlcyBzZW50Ci0gICAg
ICAgICAgICAgICAgLy8gdmlhIFNlcnZpY2VXb3JrZXIucG9zdE1lc3NhZ2UoKS4gVW50aWwgdGhh
dCdzIHJlc29sdmVkLAotICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBhbiBleHBsaWNpdCBNZXNz
YWdlQ2hhbm5lbCBhbmQgcGFzcyBvbmUgZW5kIHRvIHRoZQotICAgICAgICAgICAgICAgIC8vIHdv
cmtlci4KLSAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZV9jaGFubmVsID0gbmV3IE1lc3NhZ2VD
aGFubmVsKCk7Ci0gICAgICAgICAgICAgICAgbWVzc2FnZV9wb3J0ID0gbWVzc2FnZV9jaGFubmVs
LnBvcnQxOwotICAgICAgICAgICAgICAgIG1lc3NhZ2VfcG9ydC5zdGFydCgpOwotICAgICAgICAg
ICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7dHlwZTogImNvbm5lY3QifSwgW21lc3NhZ2VfY2hh
bm5lbC5wb3J0Ml0pOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBJ
ZiBNZXNzYWdlQ2hhbm5lbCBpcyBub3QgYXZhaWxhYmxlLCB0aGVuIHRyeSB0aGUKLSAgICAgICAg
ICAgICAgICAvLyBTZXJ2aWNlV29ya2VyLnBvc3RNZXNzYWdlKCkgYXBwcm9hY2ggdXNpbmcgTWVz
c2FnZUV2ZW50LnNvdXJjZQotICAgICAgICAgICAgICAgIC8vIG9uIHRoZSBvdGhlciBlbmQuCi0g
ICAgICAgICAgICAgICAgbWVzc2FnZV9wb3J0ID0gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXI7Ci0g
ICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHt0eXBlOiAiY29ubmVjdCJ9KTsKKyAg
ICAgICAgcmVtb3RlLm9uZXJyb3IgPSBmdW5jdGlvbihlcnJvcikgeyB0aGlzX29iai5yZW1vdGVf
ZXJyb3IoZXJyb3IpOyB9OworCisgICAgICAgIC8vIEtlZXBpbmcgYSByZWZlcmVuY2UgdG8gdGhl
IHJlbW90ZSBvYmplY3QgYW5kIHRoZSBtZXNzYWdlIGhhbmRsZXIgdW50aWwKKyAgICAgICAgLy8g
cmVtb3RlX2RvbmUoKSBpcyBzZWVuIHByZXZlbnRzIHRoZSByZW1vdGUgb2JqZWN0IGFuZCBpdHMg
bWVzc2FnZSBjaGFubmVsCisgICAgICAgIC8vIGZyb20gZ29pbmcgYXdheSBiZWZvcmUgYWxsIHRo
ZSBtZXNzYWdlcyBhcmUgZGlzcGF0Y2hlZC4KKyAgICAgICAgdGhpcy5yZW1vdGUgPSByZW1vdGU7
CisgICAgICAgIHRoaXMubWVzc2FnZV90YXJnZXQgPSBtZXNzYWdlX3RhcmdldDsKKyAgICAgICAg
dGhpcy5tZXNzYWdlX2hhbmRsZXIgPSBmdW5jdGlvbihtZXNzYWdlKSB7CisgICAgICAgICAgICB2
YXIgcGFzc2VzRmlsdGVyID0gIW1lc3NhZ2VfZmlsdGVyIHx8IG1lc3NhZ2VfZmlsdGVyKG1lc3Nh
Z2UpOworICAgICAgICAgICAgaWYgKHRoaXNfb2JqLnJ1bm5pbmcgJiYgbWVzc2FnZS5kYXRhICYm
IHBhc3Nlc0ZpbHRlciAmJgorICAgICAgICAgICAgICAgIChtZXNzYWdlLmRhdGEudHlwZSBpbiB0
aGlzX29iai5tZXNzYWdlX2hhbmRsZXJzKSkgeworICAgICAgICAgICAgICAgIHRoaXNfb2JqLm1l
c3NhZ2VfaGFuZGxlcnNbbWVzc2FnZS5kYXRhLnR5cGVdLmNhbGwodGhpc19vYmosIG1lc3NhZ2Uu
ZGF0YSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSBpZiAoaXNfc2hhcmVkX3dvcmtl
cih3b3JrZXIpKSB7Ci0gICAgICAgICAgICBtZXNzYWdlX3BvcnQgPSB3b3JrZXIucG9ydDsKLSAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1lc3NhZ2VfcG9ydCA9IHdvcmtlcjsKLSAgICAg
ICAgfQotCi0gICAgICAgIC8vIEtlZXBpbmcgYSByZWZlcmVuY2UgdG8gdGhlIHdvcmtlciB1bnRp
bCB3b3JrZXJfZG9uZSgpIGlzIHNlZW4KLSAgICAgICAgLy8gcHJldmVudHMgdGhlIFdvcmtlciBv
YmplY3QgYW5kIGl0cyBNZXNzYWdlQ2hhbm5lbCBmcm9tIGdvaW5nIGF3YXkKLSAgICAgICAgLy8g
YmVmb3JlIGFsbCB0aGUgbWVzc2FnZXMgYXJlIGRpc3BhdGNoZWQuCi0gICAgICAgIHRoaXMud29y
a2VyID0gd29ya2VyOworICAgICAgICB9OwogCi0gICAgICAgIG1lc3NhZ2VfcG9ydC5vbm1lc3Nh
Z2UgPQotICAgICAgICAgICAgZnVuY3Rpb24obWVzc2FnZSkgewotICAgICAgICAgICAgICAgIGlm
ICh0aGlzX29iai5ydW5uaW5nICYmIChtZXNzYWdlLmRhdGEudHlwZSBpbiB0aGlzX29iai5tZXNz
YWdlX2hhbmRsZXJzKSkgewotICAgICAgICAgICAgICAgICAgICB0aGlzX29iai5tZXNzYWdlX2hh
bmRsZXJzW21lc3NhZ2UuZGF0YS50eXBlXS5jYWxsKHRoaXNfb2JqLCBtZXNzYWdlLmRhdGEpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH07CisgICAgICAgIHRoaXMubWVzc2FnZV90
YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHRoaXMubWVzc2FnZV9oYW5kbGVyKTsK
ICAgICB9CiAKLSAgICBSZW1vdGVXb3JrZXIucHJvdG90eXBlLndvcmtlcl9lcnJvciA9IGZ1bmN0
aW9uKGVycm9yKSB7CisgICAgUmVtb3RlQ29udGV4dC5wcm90b3R5cGUucmVtb3RlX2Vycm9yID0g
ZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgdmFyIG1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlIHx8
IFN0cmluZyhlcnJvcik7CiAgICAgICAgIHZhciBmaWxlbmFtZSA9IChlcnJvci5maWxlbmFtZSA/
ICIgIiArIGVycm9yLmZpbGVuYW1lOiAiIik7Ci0gICAgICAgIC8vIEZJWE1FOiBEaXNwbGF5IHdv
cmtlciBlcnJvciBzdGF0ZXMgc2VwYXJhdGVseSBmcm9tIG1haW4gZG9jdW1lbnQKKyAgICAgICAg
Ly8gRklYTUU6IERpc3BsYXkgcmVtb3RlIGVycm9yIHN0YXRlcyBzZXBhcmF0ZWx5IGZyb20gbWFp
biBkb2N1bWVudAogICAgICAgICAvLyBlcnJvciBzdGF0ZS4KLSAgICAgICAgdGhpcy53b3JrZXJf
ZG9uZSh7CisgICAgICAgIHRoaXMucmVtb3RlX2RvbmUoewogICAgICAgICAgICAgc3RhdHVzOiB7
CiAgICAgICAgICAgICAgICAgc3RhdHVzOiB0ZXN0cy5zdGF0dXMuRVJST1IsCi0gICAgICAgICAg
ICAgICAgbWVzc2FnZTogIkVycm9yIGluIHdvcmtlciIgKyBmaWxlbmFtZSArICI6ICIgKyBtZXNz
YWdlLAorICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICJFcnJvciBpbiByZW1vdGUiICsgZmlsZW5h
bWUgKyAiOiAiICsgbWVzc2FnZSwKICAgICAgICAgICAgICAgICBzdGFjazogZXJyb3Iuc3RhY2sK
ICAgICAgICAgICAgIH0KICAgICAgICAgfSk7Ci0gICAgICAgIGVycm9yLnByZXZlbnREZWZhdWx0
KCk7CisKKyAgICAgICAgaWYgKGVycm9yLnByZXZlbnREZWZhdWx0KSB7CisgICAgICAgICAgICBl
cnJvci5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICB9CiAgICAgfTsKIAotICAgIFJlbW90ZVdv
cmtlci5wcm90b3R5cGUudGVzdF9zdGF0ZSA9IGZ1bmN0aW9uKGRhdGEpIHsKKyAgICBSZW1vdGVD
b250ZXh0LnByb3RvdHlwZS50ZXN0X3N0YXRlID0gZnVuY3Rpb24oZGF0YSkgewogICAgICAgICB2
YXIgcmVtb3RlX3Rlc3QgPSB0aGlzLnRlc3RzW2RhdGEudGVzdC5pbmRleF07CiAgICAgICAgIGlm
ICghcmVtb3RlX3Rlc3QpIHsKICAgICAgICAgICAgIHJlbW90ZV90ZXN0ID0gbmV3IFJlbW90ZVRl
c3QoZGF0YS50ZXN0KTsKQEAgLTE2NDgsMzEgKzE2MzAsMzMgQEAgcG9saWNpZXMgYW5kIGNvbnRy
aWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgICAgIHRlc3RzLm5vdGlmeV90ZXN0X3N0YXRlKHJlbW90
ZV90ZXN0KTsKICAgICB9OwogCi0gICAgUmVtb3RlV29ya2VyLnByb3RvdHlwZS50ZXN0X2RvbmUg
PSBmdW5jdGlvbihkYXRhKSB7CisgICAgUmVtb3RlQ29udGV4dC5wcm90b3R5cGUudGVzdF9kb25l
ID0gZnVuY3Rpb24oZGF0YSkgewogICAgICAgICB2YXIgcmVtb3RlX3Rlc3QgPSB0aGlzLnRlc3Rz
W2RhdGEudGVzdC5pbmRleF07CiAgICAgICAgIHJlbW90ZV90ZXN0LnVwZGF0ZV9zdGF0ZV9mcm9t
KGRhdGEudGVzdCk7CiAgICAgICAgIHJlbW90ZV90ZXN0LmRvbmUoKTsKICAgICAgICAgdGVzdHMu
cmVzdWx0KHJlbW90ZV90ZXN0KTsKICAgICB9OwogCi0gICAgUmVtb3RlV29ya2VyLnByb3RvdHlw
ZS53b3JrZXJfZG9uZSA9IGZ1bmN0aW9uKGRhdGEpIHsKKyAgICBSZW1vdGVDb250ZXh0LnByb3Rv
dHlwZS5yZW1vdGVfZG9uZSA9IGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICAgaWYgKHRlc3RzLnN0
YXR1cy5zdGF0dXMgPT09IG51bGwgJiYKICAgICAgICAgICAgIGRhdGEuc3RhdHVzLnN0YXR1cyAh
PT0gZGF0YS5zdGF0dXMuT0spIHsKICAgICAgICAgICAgIHRlc3RzLnN0YXR1cy5zdGF0dXMgPSBk
YXRhLnN0YXR1cy5zdGF0dXM7CiAgICAgICAgICAgICB0ZXN0cy5zdGF0dXMubWVzc2FnZSA9IGRh
dGEuc3RhdHVzLm1lc3NhZ2U7CiAgICAgICAgICAgICB0ZXN0cy5zdGF0dXMuc3RhY2sgPSBkYXRh
LnN0YXR1cy5zdGFjazsKICAgICAgICAgfQorICAgICAgICB0aGlzLm1lc3NhZ2VfdGFyZ2V0LnJl
bW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCB0aGlzLm1lc3NhZ2VfaGFuZGxlcik7CiAgICAg
ICAgIHRoaXMucnVubmluZyA9IGZhbHNlOwotICAgICAgICB0aGlzLndvcmtlciA9IG51bGw7Cisg
ICAgICAgIHRoaXMucmVtb3RlID0gbnVsbDsKKyAgICAgICAgdGhpcy5tZXNzYWdlX3RhcmdldCA9
IG51bGw7CiAgICAgICAgIGlmICh0ZXN0cy5hbGxfZG9uZSgpKSB7CiAgICAgICAgICAgICB0ZXN0
cy5jb21wbGV0ZSgpOwogICAgICAgICB9CiAgICAgfTsKIAotICAgIFJlbW90ZVdvcmtlci5wcm90
b3R5cGUubWVzc2FnZV9oYW5kbGVycyA9IHsKLSAgICAgICAgdGVzdF9zdGF0ZTogUmVtb3RlV29y
a2VyLnByb3RvdHlwZS50ZXN0X3N0YXRlLAotICAgICAgICByZXN1bHQ6IFJlbW90ZVdvcmtlci5w
cm90b3R5cGUudGVzdF9kb25lLAotICAgICAgICBjb21wbGV0ZTogUmVtb3RlV29ya2VyLnByb3Rv
dHlwZS53b3JrZXJfZG9uZQorICAgIFJlbW90ZUNvbnRleHQucHJvdG90eXBlLm1lc3NhZ2VfaGFu
ZGxlcnMgPSB7CisgICAgICAgIHRlc3Rfc3RhdGU6IFJlbW90ZUNvbnRleHQucHJvdG90eXBlLnRl
c3Rfc3RhdGUsCisgICAgICAgIHJlc3VsdDogUmVtb3RlQ29udGV4dC5wcm90b3R5cGUudGVzdF9k
b25lLAorICAgICAgICBjb21wbGV0ZTogUmVtb3RlQ29udGV4dC5wcm90b3R5cGUucmVtb3RlX2Rv
bmUKICAgICB9OwogCiAgICAgLyoKQEAgLTE3NDAsNyArMTcyNCw3IEBAIHBvbGljaWVzIGFuZCBj
b250cmlidXRpb24gZm9ybXMgWzNdLgogICAgICAgICB0aGlzLnRlc3RfZG9uZV9jYWxsYmFja3Mg
PSBbXTsKICAgICAgICAgdGhpcy5hbGxfZG9uZV9jYWxsYmFja3MgPSBbXTsKIAotICAgICAgICB0
aGlzLnBlbmRpbmdfd29ya2VycyA9IFtdOworICAgICAgICB0aGlzLnBlbmRpbmdfcmVtb3RlcyA9
IFtdOwogCiAgICAgICAgIHRoaXMuc3RhdHVzID0gbmV3IFRlc3RzU3RhdHVzKCk7CiAKQEAgLTE4
NTUsNyArMTgzOSw3IEBAIHBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgogICAg
ICAgICByZXR1cm4gKHRoaXMudGVzdHMubGVuZ3RoID4gMCAmJiB0ZXN0X2Vudmlyb25tZW50LmFs
bF9sb2FkZWQgJiYKICAgICAgICAgICAgICAgICB0aGlzLm51bV9wZW5kaW5nID09PSAwICYmICF0
aGlzLndhaXRfZm9yX2ZpbmlzaCAmJgogICAgICAgICAgICAgICAgICF0aGlzLnByb2Nlc3Npbmdf
Y2FsbGJhY2tzICYmCi0gICAgICAgICAgICAgICAgIXRoaXMucGVuZGluZ193b3JrZXJzLnNvbWUo
ZnVuY3Rpb24odykgeyByZXR1cm4gdy5ydW5uaW5nOyB9KSk7CisgICAgICAgICAgICAgICAgIXRo
aXMucGVuZGluZ19yZW1vdGVzLnNvbWUoZnVuY3Rpb24odykgeyByZXR1cm4gdy5ydW5uaW5nOyB9
KSk7CiAgICAgfTsKIAogICAgIFRlc3RzLnByb3RvdHlwZS5zdGFydCA9IGZ1bmN0aW9uKCkgewpA
QCAtMTkxNSwxMCArMTg5OSw0NiBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFsz
XS4KICAgICAgICAgdGhpcy5ub3RpZnlfY29tcGxldGUoKTsKICAgICB9OwogCisgICAgLyoKKyAg
ICAgKiBEZXRlcm1pbmUgaWYgYW55IHRlc3RzIHNoYXJlIHRoZSBzYW1lIGBuYW1lYCBwcm9wZXJ0
eS4gUmV0dXJuIGFuIGFycmF5CisgICAgICogY29udGFpbmluZyB0aGUgbmFtZXMgb2YgYW55IHN1
Y2ggZHVwbGljYXRlcy4KKyAgICAgKi8KKyAgICBUZXN0cy5wcm90b3R5cGUuZmluZF9kdXBsaWNh
dGVzID0gZnVuY3Rpb24oKSB7CisgICAgICAgIHZhciBuYW1lcyA9IE9iamVjdC5jcmVhdGUobnVs
bCk7CisgICAgICAgIHZhciBkdXBsaWNhdGVzID0gW107CisKKyAgICAgICAgZm9yRWFjaCAodGhp
cy50ZXN0cywKKyAgICAgICAgICAgICAgICAgZnVuY3Rpb24odGVzdCkKKyAgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3QubmFtZSBpbiBuYW1lcyAmJiBkdXBs
aWNhdGVzLmluZGV4T2YodGVzdC5uYW1lKSA9PT0gLTEpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGR1cGxpY2F0ZXMucHVzaCh0ZXN0Lm5hbWUpOworICAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICAgbmFtZXNbdGVzdC5uYW1lXSA9IHRydWU7CisgICAgICAgICAg
ICAgICAgIH0pOworCisgICAgICAgIHJldHVybiBkdXBsaWNhdGVzOworICAgIH07CisKICAgICBU
ZXN0cy5wcm90b3R5cGUubm90aWZ5X2NvbXBsZXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIHZh
ciB0aGlzX29iaiA9IHRoaXM7CisgICAgICAgIHZhciBkdXBsaWNhdGVzOworCiAgICAgICAgIGlm
ICh0aGlzLnN0YXR1cy5zdGF0dXMgPT09IG51bGwpIHsKLSAgICAgICAgICAgIHRoaXMuc3RhdHVz
LnN0YXR1cyA9IHRoaXMuc3RhdHVzLk9LOworICAgICAgICAgICAgZHVwbGljYXRlcyA9IHRoaXMu
ZmluZF9kdXBsaWNhdGVzKCk7CisKKyAgICAgICAgICAgIC8vIFRlc3QgbmFtZXMgYXJlIHByZXN1
bWVkIHRvIGJlIHVuaXF1ZSB3aXRoaW4gdGVzdCBmaWxlcy0tdGhpcworICAgICAgICAgICAgLy8g
YWxsb3dzIGNvbnN1bWVycyB0byB1c2UgdGhlbSBmb3IgaWRlbnRpZmljYXRpb24gcHVycG9zZXMu
CisgICAgICAgICAgICAvLyBEdXBsaWNhdGVkIG5hbWVzIHZpb2xhdGUgdGhpcyBleHBlY3RhdGlv
biBhbmQgc2hvdWxkIHRoZXJlZm9yZQorICAgICAgICAgICAgLy8gYmUgcmVwb3J0ZWQgYXMgYW4g
ZXJyb3IuCisgICAgICAgICAgICBpZiAoZHVwbGljYXRlcy5sZW5ndGgpIHsKKyAgICAgICAgICAg
ICAgICB0aGlzLnN0YXR1cy5zdGF0dXMgPSB0aGlzLnN0YXR1cy5FUlJPUjsKKyAgICAgICAgICAg
ICAgICB0aGlzLnN0YXR1cy5tZXNzYWdlID0KKyAgICAgICAgICAgICAgICAgICBkdXBsaWNhdGVz
Lmxlbmd0aCArICcgZHVwbGljYXRlIHRlc3QgbmFtZScgKworICAgICAgICAgICAgICAgICAgIChk
dXBsaWNhdGVzLmxlbmd0aCA+IDEgPyAncycgOiAnJykgKyAnOiAiJyArCisgICAgICAgICAgICAg
ICAgICAgZHVwbGljYXRlcy5qb2luKCciLCAiJykgKyAnIic7CisgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzLnN0YXR1cyA9IHRoaXMuc3RhdHVzLk9LOwor
ICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgZm9yRWFjaCAodGhpcy5hbGxfZG9u
ZV9jYWxsYmFja3MsCkBAIC0xOTI4LDEyICsxOTQ4LDY1IEBAIHBvbGljaWVzIGFuZCBjb250cmli
dXRpb24gZm9ybXMgWzNdLgogICAgICAgICAgICAgICAgICB9KTsKICAgICB9OwogCisgICAgLyoK
KyAgICAgKiBDb25zdHJ1Y3RzIGEgUmVtb3RlQ29udGV4dCB0aGF0IHRyYWNrcyB0ZXN0cyBmcm9t
IGEgc3BlY2lmaWMgd29ya2VyLgorICAgICAqLworICAgIFRlc3RzLnByb3RvdHlwZS5jcmVhdGVf
cmVtb3RlX3dvcmtlciA9IGZ1bmN0aW9uKHdvcmtlcikgeworICAgICAgICB2YXIgbWVzc2FnZV9w
b3J0OworCisgICAgICAgIGlmIChpc19zZXJ2aWNlX3dvcmtlcih3b3JrZXIpKSB7CisgICAgICAg
ICAgICAvLyBNaWNyb3NvZnQgRWRnZSdzIGltcGxlbWVudGF0aW9uIG9mIFNlcnZpY2VXb3JrZXIg
ZG9lc24ndCBzdXBwb3J0IE1lc3NhZ2VQb3J0IHlldC4KKyAgICAgICAgICAgIC8vIEZlYXR1cmUg
ZGV0ZWN0aW9uIGlzbid0IGEgc3RyYWlnaHRmb3J3YXJkIG9wdGlvbiBoZXJlOyBpdCdzIG9ubHkg
cG9zc2libGUgaW4gdGhlCisgICAgICAgICAgICAvLyB3b3JrZXIncyBzY3JpcHQgY29udGV4dC4K
KyAgICAgICAgICAgIHZhciBpc01pY3Jvc29mdEVkZ2VCcm93c2VyID0gbmF2aWdhdG9yLnVzZXJB
Z2VudC5pbmNsdWRlcygiRWRnZSIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5NZXNzYWdlQ2hh
bm5lbCAmJiAhaXNNaWNyb3NvZnRFZGdlQnJvd3NlcikgeworICAgICAgICAgICAgICAgIC8vIFRo
ZSBTZXJ2aWNlV29ya2VyJ3MgaW1wbGljaXQgTWVzc2FnZVBvcnQgaXMgY3VycmVudGx5IG5vdAor
ICAgICAgICAgICAgICAgIC8vIHJlbGlhYmx5IGFjY2Vzc2libGUgZnJvbSB0aGUgU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlIGR1ZSB0bworICAgICAgICAgICAgICAgIC8vIEJsaW5rIHNldHRpbmcg
TWVzc2FnZUV2ZW50LnNvdXJjZSB0byBudWxsIGZvciBtZXNzYWdlcyBzZW50CisgICAgICAgICAg
ICAgICAgLy8gdmlhIFNlcnZpY2VXb3JrZXIucG9zdE1lc3NhZ2UoKS4gVW50aWwgdGhhdCdzIHJl
c29sdmVkLAorICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBhbiBleHBsaWNpdCBNZXNzYWdlQ2hh
bm5lbCBhbmQgcGFzcyBvbmUgZW5kIHRvIHRoZQorICAgICAgICAgICAgICAgIC8vIHdvcmtlci4K
KyAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZV9jaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVs
KCk7CisgICAgICAgICAgICAgICAgbWVzc2FnZV9wb3J0ID0gbWVzc2FnZV9jaGFubmVsLnBvcnQx
OworICAgICAgICAgICAgICAgIG1lc3NhZ2VfcG9ydC5zdGFydCgpOworICAgICAgICAgICAgICAg
IHdvcmtlci5wb3N0TWVzc2FnZSh7dHlwZTogImNvbm5lY3QifSwgW21lc3NhZ2VfY2hhbm5lbC5w
b3J0Ml0pOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyBJZiBNZXNz
YWdlQ2hhbm5lbCBpcyBub3QgYXZhaWxhYmxlLCB0aGVuIHRyeSB0aGUKKyAgICAgICAgICAgICAg
ICAvLyBTZXJ2aWNlV29ya2VyLnBvc3RNZXNzYWdlKCkgYXBwcm9hY2ggdXNpbmcgTWVzc2FnZUV2
ZW50LnNvdXJjZQorICAgICAgICAgICAgICAgIC8vIG9uIHRoZSBvdGhlciBlbmQuCisgICAgICAg
ICAgICAgICAgbWVzc2FnZV9wb3J0ID0gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXI7CisgICAgICAg
ICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHt0eXBlOiAiY29ubmVjdCJ9KTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChpc19zaGFyZWRfd29ya2VyKHdvcmtlcikpIHsKKyAg
ICAgICAgICAgIG1lc3NhZ2VfcG9ydCA9IHdvcmtlci5wb3J0OworICAgICAgICAgICAgbWVzc2Fn
ZV9wb3J0LnN0YXJ0KCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtZXNzYWdlX3Bv
cnQgPSB3b3JrZXI7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gbmV3IFJlbW90ZUNvbnRl
eHQod29ya2VyLCBtZXNzYWdlX3BvcnQpOworICAgIH07CisKKyAgICAvKgorICAgICAqIENvbnN0
cnVjdHMgYSBSZW1vdGVDb250ZXh0IHRoYXQgdHJhY2tzIHRlc3RzIGZyb20gYSBzcGVjaWZpYyB3
aW5kb3cuCisgICAgICovCisgICAgVGVzdHMucHJvdG90eXBlLmNyZWF0ZV9yZW1vdGVfd2luZG93
ID0gZnVuY3Rpb24ocmVtb3RlKSB7CisgICAgICAgIHJlbW90ZS5wb3N0TWVzc2FnZSh7dHlwZTog
ImdldG1lc3NhZ2VzIn0sICIqIik7CisgICAgICAgIHJldHVybiBuZXcgUmVtb3RlQ29udGV4dCgK
KyAgICAgICAgICAgIHJlbW90ZSwKKyAgICAgICAgICAgIHdpbmRvdywKKyAgICAgICAgICAgIGZ1
bmN0aW9uKG1zZykgeworICAgICAgICAgICAgICAgIHJldHVybiBtc2cuc291cmNlID09PSByZW1v
dGU7CisgICAgICAgICAgICB9CisgICAgICAgICk7CisgICAgfTsKKwogICAgIFRlc3RzLnByb3Rv
dHlwZS5mZXRjaF90ZXN0c19mcm9tX3dvcmtlciA9IGZ1bmN0aW9uKHdvcmtlcikgewogICAgICAg
ICBpZiAodGhpcy5waGFzZSA+PSB0aGlzLnBoYXNlcy5DT01QTEVURSkgewogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5wZW5kaW5nX3dvcmtlcnMucHVzaChu
ZXcgUmVtb3RlV29ya2VyKHdvcmtlcikpOworICAgICAgICB0aGlzLnBlbmRpbmdfcmVtb3Rlcy5w
dXNoKHRoaXMuY3JlYXRlX3JlbW90ZV93b3JrZXIod29ya2VyKSk7CiAgICAgfTsKIAogICAgIGZ1
bmN0aW9uIGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHBvcnQpIHsKQEAgLTE5NDEsNiArMjAxNCwx
OSBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KICAgICB9CiAgICAgZXhw
b3NlKGZldGNoX3Rlc3RzX2Zyb21fd29ya2VyLCAnZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXInKTsK
IAorICAgIFRlc3RzLnByb3RvdHlwZS5mZXRjaF90ZXN0c19mcm9tX3dpbmRvdyA9IGZ1bmN0aW9u
KHJlbW90ZSkgeworICAgICAgICBpZiAodGhpcy5waGFzZSA+PSB0aGlzLnBoYXNlcy5DT01QTEVU
RSkgeworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5wZW5k
aW5nX3JlbW90ZXMucHVzaCh0aGlzLmNyZWF0ZV9yZW1vdGVfd2luZG93KHJlbW90ZSkpOworICAg
IH07CisKKyAgICBmdW5jdGlvbiBmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyh3aW5kb3cpIHsKKyAg
ICAgICAgdGVzdHMuZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3cod2luZG93KTsKKyAgICB9CisgICAg
ZXhwb3NlKGZldGNoX3Rlc3RzX2Zyb21fd2luZG93LCAnZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3cn
KTsKKwogICAgIGZ1bmN0aW9uIHRpbWVvdXQoKSB7CiAgICAgICAgIGlmICh0ZXN0cy50aW1lb3V0
X2xlbmd0aCA9PT0gbnVsbCkgewogICAgICAgICAgICAgdGVzdHMudGltZW91dCgpOwpAQCAtMjEw
MCw3ICsyMTg2LDcgQEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAg
ICAgIH0KIAogICAgICAgICB2YXIgaGFybmVzc191cmwgPSBnZXRfaGFybmVzc191cmwoKTsKLSAg
ICAgICAgaWYgKGhhcm5lc3NfdXJsICE9PSBudWxsKSB7CisgICAgICAgIGlmIChoYXJuZXNzX3Vy
bCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICB2YXIgc3R5bGVzaGVldCA9IG91dHB1dF9k
b2N1bWVudC5jcmVhdGVFbGVtZW50TlMoeGh0bWxfbnMsICJsaW5rIik7CiAgICAgICAgICAgICBz
dHlsZXNoZWV0LnNldEF0dHJpYnV0ZSgicmVsIiwgInN0eWxlc2hlZXQiKTsKICAgICAgICAgICAg
IHN0eWxlc2hlZXQuc2V0QXR0cmlidXRlKCJocmVmIiwgaGFybmVzc191cmwgKyAidGVzdGhhcm5l
c3MuY3NzIik7CkBAIC0yNDU0LDYgKzI1NDAsNyBAQCBwb2xpY2llcyBhbmQgY29udHJpYnV0aW9u
IGZvcm1zIFszXS4KICAgICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTsKICAgICAgICAgdGhp
cy5zdGFjayA9IHRoaXMuZ2V0X3N0YWNrKCk7CiAgICAgfQorICAgIGV4cG9zZShBc3NlcnRpb25F
cnJvciwgIkFzc2VydGlvbkVycm9yIik7CiAKICAgICBBc3NlcnRpb25FcnJvci5wcm90b3R5cGUg
PSBPYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSk7CiAKQEAgLTI2NzAsMjAgKzI3NTcsMzEg
QEAgcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCiAgICAgdmFyIHRlc3RzID0g
bmV3IFRlc3RzKCk7CiAKICAgICB2YXIgZXJyb3JfaGFuZGxlciA9IGZ1bmN0aW9uKGUpIHsKKyAg
ICAgICAgaWYgKHRlc3RzLnRlc3RzLmxlbmd0aCA9PT0gMCAmJiAhdGVzdHMuYWxsb3dfdW5jYXVn
aHRfZXhjZXB0aW9uKSB7CisgICAgICAgICAgICB0ZXN0cy5zZXRfZmlsZV9pc190ZXN0KCk7Cisg
ICAgICAgIH0KKworICAgICAgICB2YXIgc3RhY2s7CisgICAgICAgIGlmIChlLmVycm9yICYmIGUu
ZXJyb3Iuc3RhY2spIHsKKyAgICAgICAgICAgIHN0YWNrID0gZS5lcnJvci5zdGFjazsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHN0YWNrID0gZS5maWxlbmFtZSArICI6IiArIGUubGlu
ZW5vICsgIjoiICsgZS5jb2xubzsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICh0ZXN0cy5maWxl
X2lzX3Rlc3QpIHsKICAgICAgICAgICAgIHZhciB0ZXN0ID0gdGVzdHMudGVzdHNbMF07CiAgICAg
ICAgICAgICBpZiAodGVzdC5waGFzZSA+PSB0ZXN0LnBoYXNlcy5IQVNfUkVTVUxUKSB7CiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgdGVzdC5zZXRf
c3RhdHVzKHRlc3QuRkFJTCwgZS5tZXNzYWdlLCBlLnN0YWNrKTsKKyAgICAgICAgICAgIHRlc3Qu
c2V0X3N0YXR1cyh0ZXN0LkZBSUwsIGUubWVzc2FnZSwgc3RhY2spOwogICAgICAgICAgICAgdGVz
dC5waGFzZSA9IHRlc3QucGhhc2VzLkhBU19SRVNVTFQ7CiAgICAgICAgICAgICB0ZXN0LmRvbmUo
KTsKLSAgICAgICAgICAgIGRvbmUoKTsKICAgICAgICAgfSBlbHNlIGlmICghdGVzdHMuYWxsb3df
dW5jYXVnaHRfZXhjZXB0aW9uKSB7CiAgICAgICAgICAgICB0ZXN0cy5zdGF0dXMuc3RhdHVzID0g
dGVzdHMuc3RhdHVzLkVSUk9SOwogICAgICAgICAgICAgdGVzdHMuc3RhdHVzLm1lc3NhZ2UgPSBl
Lm1lc3NhZ2U7Ci0gICAgICAgICAgICB0ZXN0cy5zdGF0dXMuc3RhY2sgPSBlLnN0YWNrOworICAg
ICAgICAgICAgdGVzdHMuc3RhdHVzLnN0YWNrID0gc3RhY2s7CiAgICAgICAgIH0KKyAgICAgICAg
ZG9uZSgpOwogICAgIH07CiAKICAgICBhZGRFdmVudExpc3RlbmVyKCJlcnJvciIsIGVycm9yX2hh
bmRsZXIsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudC1wcm90b3R5cGUtY3VycmVudFNjcmlw
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NoYWRvdy1kb20vRG9jdW1lbnQtcHJvdG90eXBlLWN1cnJlbnRTY3JpcHQtZXhwZWN0ZWQu
dHh0CmluZGV4IGYxMGI4YjcyYjE5MzA0NGFjOGM1M2I4YzZiOWJlMWE4YmI0MmM0NzguLjAwMmUz
Yzg5ZWNiYzZhMjdkZTUyODA2OWE4ZGE3ZDVhYzUwNjc4YTggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9Eb2N1bWVudC1w
cm90b3R5cGUtY3VycmVudFNjcmlwdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zaGFkb3ctZG9tL0RvY3VtZW50LXByb3RvdHlw
ZS1jdXJyZW50U2NyaXB0LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDYgQEAKIAorSGFybmVzcyBF
cnJvciAoRkFJTCksIG1lc3NhZ2UgPSAxIGR1cGxpY2F0ZSB0ZXN0IG5hbWU6ICJkb2N1bWVudC5j
dXJyZW50U2NyaXB0IG11c3QgYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgdGhhdCBsb2FkcyBh
biBleHRlcm5hbCBzY3JpcHQgaW4gYSBkb2N1bWVudCB0cmVlIgorCiBQQVNTIGRvY3VtZW50LmN1
cnJlbnRTY3JpcHQgbXVzdCBub3QgdG8gYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgaW4gYSBz
aGFkb3cgdHJlZSBpbiBvcGVuIG1vZGUgCiBQQVNTIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgbXVz
dCBub3QgdG8gYmUgc2V0IHRvIGEgc2NyaXB0IGVsZW1lbnQgaW4gYSBzaGFkb3cgdHJlZSBpbiBj
bG9zZWQgbW9kZSAKIFBBU1MgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBtdXN0IGJlIHNldCB0byBh
IHNjcmlwdCBlbGVtZW50IHRoYXQgbG9hZHMgYW4gZXh0ZXJuYWwgc2NyaXB0IGluIGEgZG9jdW1l
bnQgdHJlZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc3RyZWFtcy9ieXRlLWxlbmd0aC1xdWV1aW5nLXN0cmF0ZWd5LnNoYXJlZHdvcmtl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3N0cmVhbXMvYnl0ZS1sZW5ndGgtcXVldWluZy1zdHJhdGVneS5zaGFyZWR3b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIu
LjI5NTcwMTM0ZmNiZjU0ZDJmZjc5YTRmOTNiYWQzNmM1YzJjYWU5OWYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9ieXRlLWxl
bmd0aC1xdWV1aW5nLXN0cmF0ZWd5LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL2J5dGUtbGVu
Z3RoLXF1ZXVpbmctc3RyYXRlZ3kuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsx
LDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2Fn
ZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQor
RkFJTCBieXRlLWxlbmd0aC1xdWV1aW5nLXN0cmF0ZWd5LmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBl
ciBmaWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zdHJlYW1zL2NvdW50LXF1ZXVpbmctc3RyYXRlZ3kuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9j
b3VudC1xdWV1aW5nLXN0cmF0ZWd5LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2Nh
YTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uNjA4OGY1ZmFkYTc5YTY2ZWMx
ZDE0YWFhNGM5NzA5YTM4MTE1MjRiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL2NvdW50LXF1ZXVpbmctc3RyYXRlZ3kuc2hh
cmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvY291bnQtcXVldWluZy1zdHJhdGVneS5zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGNvdW50LXF1ZXVpbmctc3RyYXRlZ3kuanMg
c2hhcmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Nsb3NlLXByb3BhZ2F0aW9uLWJh
Y2t3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Nsb3NlLXByb3BhZ2F0aW9uLWJh
Y2t3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2Yw
NWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uYjljNzI5MjIzMmY0ZDFjZjZhNTI4MTg1MWUzNjRmYTEw
MTc1YzgxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zdHJlYW1zL3BpcGluZy9jbG9zZS1wcm9wYWdhdGlvbi1iYWNrd2FyZC5zaGFyZWR3
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvY2xvc2UtcHJvcGFnYXRpb24tYmFja3dhcmQuc2hh
cmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTog
bGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtl
cgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJTCBjbG9zZS1wcm9wYWdhdGlvbi1i
YWNrd2FyZC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvY2xvc2UtcHJv
cGFnYXRpb24tZm9yd2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9jbG9zZS1wcm9w
YWdhdGlvbi1mb3J3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZj
NTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uZjYxNDk3NDFiNjg2NmZjODA5Y2EzZGE1
OWY4Yzg3MjUxYmE5ZjViMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9jbG9zZS1wcm9wYWdhdGlvbi1mb3J3YXJk
LnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9jbG9zZS1wcm9wYWdhdGlvbi1mb3J3
YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgY2xvc2UtcHJvcGFn
YXRpb24tZm9yd2FyZC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZXJy
b3ItcHJvcGFnYXRpb24tYmFja3dhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZXJy
b3ItcHJvcGFnYXRpb24tYmFja3dhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA3
Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi4xZTI3ODc2MzExMWUxOWQ0
ODk3ZDgzZWFhZTZjNzcyZDk3NWJlOWQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Vycm9yLXByb3BhZ2F0aW9u
LWJhY2t3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9lcnJvci1wcm9wYWdh
dGlvbi1iYWNrd2FyZC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAog
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGVy
cm9yLXByb3BhZ2F0aW9uLWJhY2t3YXJkLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1z
L3BpcGluZy9lcnJvci1wcm9wYWdhdGlvbi1mb3J3YXJkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMv
cGlwaW5nL2Vycm9yLXByb3BhZ2F0aW9uLWZvcndhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4
dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi44MzgzYzdh
MjkwMDU2OThjNTFhOGIwNDMzMjMzNGQ0MTAzZDg3ZWZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Vycm9yLXBy
b3BhZ2F0aW9uLWZvcndhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2Vycm9y
LXByb3BhZ2F0aW9uLWZvcndhcmQuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsx
LDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2Fn
ZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQor
RkFJTCBlcnJvci1wcm9wYWdhdGlvbi1mb3J3YXJkLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBm
aWxlIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
dHJlYW1zL3BpcGluZy9mbG93LWNvbnRyb2wuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcv
Zmxvdy1jb250cm9sLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4
MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uOTlkYTMzOTk3OGU5ODk0MGMwZjhjNzAxZmY0
YmNkOThiNWVjMzUwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9mbG93LWNvbnRyb2wuc2hhcmVkd29ya2VyLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3N0cmVhbXMvcGlwaW5nL2Zsb3ctY29udHJvbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZB
SUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlcgotCitGQUlMIGZsb3ctY29udHJvbC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmls
ZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3Ry
ZWFtcy9waXBpbmcvZ2VuZXJhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2dlbmVyYWwtZXhwZWN0ZWQudHh0
CmluZGV4IGFhMzg3MzllMjlkZTJhMDJkNTZiMzBhZTVmY2Q2MzQyN2I3MzU2ZTMuLmI1MDA0ZjFk
MDBiZWQ2Yzg4YWYxNDFjZmUzMWNmYzAyNjkzZjI4MTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZ2VuZXJhbC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3BpcGluZy9nZW5lcmFsLWV4cGVjdGVkLnR4dApAQCAtMSwxNSArMSwxNSBA
QAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246
IFR5cGVFcnJvcjogVGhlIFdyaXRhYmxlU3RyZWFtLnJlYWR5IGdldHRlciBjYW4gb25seSBiZSB1
c2VkIG9uIGluc3RhbmNlcyBvZiBXcml0YWJsZVN0cmVhbQogQ09OU09MRSBNRVNTQUdFOiBVbmhh
bmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IFR5cGVFcnJvcjogY2FuY2VsKCkgY2FsbGVkIG9uIGEg
cmVhZGVyIG93bmVkIGJ5IG5vIHJlYWRhYmxlIHN0cmVhbQotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDI2ODQ6IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J2UubWVzc2FnZScpCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc2NTogVHlwZUVycm9yOiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZS5lcnJvcicpCiBDT05TT0xFIE1F
U1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogdW5kZWZpbmVkCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMjY4NDogVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnZS5tZXNzYWdlJykKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzY1OiBUeXBl
RXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdlLmVycm9yJykK
IENPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiB1bmRlZmluZWQK
IENPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBUeXBlRXJyb3I6
IGNhbmNlbCgpIGNhbGxlZCBvbiBhIHJlYWRlciBvd25lZCBieSBubyByZWFkYWJsZSBzdHJlYW0K
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNjg0OiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICdlLm1lc3NhZ2UnKQorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDI3NjU6IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J2UuZXJyb3InKQogQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246
IHVuZGVmaW5lZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2ODQ6IFR5cGVFcnJvcjogdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2UubWVzc2FnZScpCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMjc2NTogVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnZS5lcnJvcicpCiBDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNl
IFJlamVjdGlvbjogdW5kZWZpbmVkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY4NDogVHlwZUVy
cm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnZS5tZXNzYWdlJykK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzY1OiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICdlLmVycm9yJykKIENPTlNPTEUgTUVTU0FHRTogVW5oYW5k
bGVkIFByb21pc2UgUmVqZWN0aW9uOiB1bmRlZmluZWQKIAogSGFybmVzcyBFcnJvciAoRkFJTCks
IG1lc3NhZ2UgPSBUaGUgV3JpdGFibGVTdHJlYW0ucmVhZHkgZ2V0dGVyIGNhbiBvbmx5IGJlIHVz
ZWQgb24gaW5zdGFuY2VzIG9mIFdyaXRhYmxlU3RyZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL2dlbmVyYWwu
c2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZ2VuZXJhbC5zaGFyZWR3b3JrZXItZXhwZWN0
ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLjRm
MTAxYTJiMjIyNWI5MmZiMGI4OTRlNzRlYjNkOTU0MWJlODBkYzUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZ2Vu
ZXJhbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvZ2VuZXJhbC5zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGdlbmVyYWwuanMgc2hhcmVkIHdvcmtlciB3
cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdv
cmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3N0cmVhbXMvcGlwaW5nL211bHRpcGxlLXByb3BhZ2F0aW9uLnNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3N0cmVhbXMvcGlwaW5nL211bHRpcGxlLXByb3BhZ2F0aW9uLnNoYXJlZHdvcmtlci1leHBlY3Rl
ZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uNzA3
YzA1ZjEwZDdkY2QwZTgxNjU3MjVhZGJkZjRmN2RiYjRhZGRjMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy9tdWx0
aXBsZS1wcm9wYWdhdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBpbmcvbXVsdGlw
bGUtcHJvcGFnYXRpb24uc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAK
IENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJTCBt
dWx0aXBsZS1wcm9wYWdhdGlvbi5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9waXBp
bmcvcGlwZS10aHJvdWdoLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL3BpcGUtdGhyb3Vn
aC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUw
NzI3MWJmODMxMzk2MTNkYTIuLjAwZDM4ZWNkNGNiYzc5Y2JlNTFiNTFmMjUxZWVmYzBmNjM5OWIy
MjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc3RyZWFtcy9waXBpbmcvcGlwZS10aHJvdWdoLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1z
L3BpcGluZy9waXBlLXRocm91Z2guc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsx
LDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2Fn
ZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQor
RkFJTCBwaXBlLXRocm91Z2guanMgc2hhcmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5n
L3RyYW5zZm9ybS1zdHJlYW1zLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcGlwaW5nL3RyYW5zZm9y
bS1zdHJlYW1zLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThh
N2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uMDYxNGJhZTRkZGFmNjQwYjNlODU2NTQyZWQxYzRl
MTk5MWEyYWM0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zdHJlYW1zL3BpcGluZy90cmFuc2Zvcm0tc3RyZWFtcy5zaGFyZWR3b3JrZXIt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc3RyZWFtcy9waXBpbmcvdHJhbnNmb3JtLXN0cmVhbXMuc2hhcmVkd29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVy
cm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBTaGFyZWRXb3JrZXIKLQorRkFJTCB0cmFuc2Zvcm0tc3RyZWFtcy5qcyBzaGFyZWQgd29ya2Vy
IHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVk
V29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1ieXRlLXN0cmVhbXMvZ2VuZXJhbC5zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3RyZWFtcy9nZW5lcmFsLnNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2Rh
Mi4uNGYxMDFhMmIyMjI1YjkyZmIwYjg5NGU3NGViM2Q5NTQxYmU4MGRjNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRh
YmxlLWJ5dGUtc3RyZWFtcy9nZW5lcmFsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRh
YmxlLWJ5dGUtc3RyZWFtcy9nZW5lcmFsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEs
NSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1l
c3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2Vy
Ci0KK0ZBSUwgZ2VuZXJhbC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2JhZC1zdHJhdGVnaWVzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUt
c3RyZWFtcy9iYWQtc3RyYXRlZ2llcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdj
YWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLjlkYWFmYzdlNTFkODM4ZmEw
M2NlNzQ4M2Y2ZTkwYTk2Y2IyNzc5NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2JhZC1zdHJh
dGVnaWVzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvYmFkLXN0
cmF0ZWdpZXMuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNP
TEUgTUVTU0FHRTogbGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IFNoYXJlZFdvcmtlcgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJTCBiYWQtc3Ry
YXRlZ2llcy5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1z
L2JhZC11bmRlcmx5aW5nLXNvdXJjZXMuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1z
dHJlYW1zL2JhZC11bmRlcmx5aW5nLXNvdXJjZXMuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dApp
bmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi5lNTU5NTVjYzY1
ZWEzNzE1YjQ4M2RiNGMyMjFmOGY3NDc0NDNmNmM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9i
YWQtdW5kZXJseWluZy1zb3VyY2VzLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxl
LXN0cmVhbXMvYmFkLXVuZGVybHlpbmctc291cmNlcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZB
SUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlcgotCitGQUlMIGJhZC11bmRlcmx5aW5nLXNvdXJjZXMuanMgc2hhcmVkIHdvcmtlciB3
cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdv
cmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9icmFuZC1jaGVja3Muc2hhcmVkd29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2JyYW5kLWNoZWNrcy5zaGFyZWR3b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIu
LjcxZmZjODVmOTc4ZTU3YmI5YjRlYTYwNWQ1MDhiZGNjNzE4NTJkNmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2JyYW5kLWNoZWNrcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2JyYW5kLWNoZWNrcy5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUg
KzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgot
CitGQUlMIGJyYW5kLWNoZWNrcy5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFk
YWJsZS1zdHJlYW1zL2NhbmNlbC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVh
bXMvY2FuY2VsLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThh
N2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4uNDcwMjA5OWFjYTcxMWYyZTAzNWVhMzk2OWQxNDVi
YmRkOWRiY2JmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvY2FuY2VsLnNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvY2FuY2VsLnNoYXJlZHdvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJv
ciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
U2hhcmVkV29ya2VyCi0KK0ZBSUwgY2FuY2VsLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxl
IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJl
YW1zL3JlYWRhYmxlLXN0cmVhbXMvY291bnQtcXVldWluZy1zdHJhdGVneS1pbnRlZ3JhdGlvbi5z
aGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvY291bnQtcXVldWluZy1zdHJh
dGVneS1pbnRlZ3JhdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBm
YzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLjg2MjliOTZkZTAyZjdlMWNiYWFjM2Rl
NWFiNTIwZmY3OTk4YTZiODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2NvdW50LXF1ZXVpbmct
c3RyYXRlZ3ktaW50ZWdyYXRpb24uc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUt
c3RyZWFtcy9jb3VudC1xdWV1aW5nLXN0cmF0ZWd5LWludGVncmF0aW9uLnNoYXJlZHdvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVz
cyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwgY291bnQtcXVldWluZy1zdHJhdGVneS1pbnRlZ3Jh
dGlvbi5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Rl
ZmF1bHQtcmVhZGVyLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9kZWZh
dWx0LXJlYWRlci5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4
YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLmQxZGYwNzAzZTk5Y2ExYzRjODhjNjhjYTViZmUz
MjM1ZDFkZTRjOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2RlZmF1bHQtcmVhZGVyLnNoYXJl
ZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZGVmYXVsdC1yZWFkZXIuc2hh
cmVkd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIENPTlNPTEUgTUVTU0FHRTog
bGluZSAxMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtl
cgogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKLQorRkFJTCBkZWZhdWx0LXJlYWRlci5qcyBz
aGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2Zsb2F0aW5nLXBv
aW50LXRvdGFsLXF1ZXVlLXNpemUuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJl
YW1zL2Zsb2F0aW5nLXBvaW50LXRvdGFsLXF1ZXVlLXNpemUuc2hhcmVkd29ya2VyLWV4cGVjdGVk
LnR4dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi4yYmVh
ZTU3ZGY2YmJlMDg0MmU2YzlhNDUzOWZkOWE2ZDMyZjQ3M2M3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3Ry
ZWFtcy9mbG9hdGluZy1wb2ludC10b3RhbC1xdWV1ZS1zaXplLnNoYXJlZHdvcmtlci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
dHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZmxvYXRpbmctcG9pbnQtdG90YWwtcXVldWUtc2l6ZS5z
aGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29y
a2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGZsb2F0aW5nLXBvaW50LXRv
dGFsLXF1ZXVlLXNpemUuanMgc2hhcmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUt
c3RyZWFtcy9nYXJiYWdlLWNvbGxlY3Rpb24uc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2dhcmJhZ2UtY29sbGVjdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLjBlMTFiNDIxZmNk
NWIwMzc1MWM1MGVlOTE3N2NkZGFiOTQ1NDg3YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL2dh
cmJhZ2UtY29sbGVjdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJl
YW1zL2dhcmJhZ2UtY29sbGVjdGlvbi5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUg
KzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgot
CitGQUlMIGdhcmJhZ2UtY29sbGVjdGlvbi5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFt
cy9yZWFkYWJsZS1zdHJlYW1zL2dlbmVyYWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL2dlbmVyYWwuc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA3Y2FhNjYw
ZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEyLi40ZjEwMWEyYjIyMjViOTJmYjBiODk0
ZTc0ZWIzZDk1NDFiZTgwZGM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9nZW5lcmFsLnNoYXJl
ZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvZ2VuZXJhbC5zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhh
cm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIGdlbmVyYWwuanMgc2hhcmVkIHdvcmtlciB3
cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdv
cmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy9waXBlLXRocm91Z2guc2hhcmVkd29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL3BpcGUtdGhyb3VnaC5zaGFyZWR3b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIu
LjAwZDM4ZWNkNGNiYzc5Y2JlNTFiNTFmMjUxZWVmYzBmNjM5OWIyMjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL3BpcGUtdGhyb3VnaC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJs
ZS1zdHJlYW1zL3BpcGUtdGhyb3VnaC5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUg
KzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgot
CitGQUlMIHBpcGUtdGhyb3VnaC5qcyBzaGFyZWQgd29ya2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFk
YWJsZS1zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbS1yZWFkZXIuc2hhcmVkd29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFt
cy9yZWFkYWJsZS1zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbS1yZWFkZXIuc2hhcmVkd29ya2VyLWV4
cGVjdGVkLnR4dAppbmRleCA3Y2FhNjYwZmM1NjgxOGE3ZjA1ZTQ1MDcyNzFiZjgzMTM5NjEzZGEy
Li4yMmNmNzk0NzcwZjY2MDkyMzE4NTg0NDJkOTJiZDhkZjEzYmRhNWQ0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFi
bGUtc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW0tcmVhZGVyLnNoYXJlZHdvcmtlci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJl
YW1zL3JlYWRhYmxlLXN0cmVhbXMvcmVhZGFibGUtc3RyZWFtLXJlYWRlci5zaGFyZWR3b3JrZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiAKLUhhcm5l
c3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIHJlYWRhYmxlLXN0cmVhbS1yZWFkZXIuanMgc2hh
cmVkIHdvcmtlciB3cmFwcGVyIGZpbGUgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IFNoYXJlZFdvcmtlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtcy90ZWUuc2hhcmVkd29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL3RlZS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQu
dHh0CmluZGV4IDdjYWE2NjBmYzU2ODE4YTdmMDVlNDUwNzI3MWJmODMxMzk2MTNkYTIuLmY2YmIx
ZmNhYmYxNmZlY2FlZmY3NWE3MDNiNzVjM2Y3OThhMjkzZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJl
YW1zL3RlZS5zaGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL3RlZS5z
aGFyZWR3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29y
a2VyCiAKLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgotCitGQUlMIHRlZS5qcyBzaGFyZWQgd29y
a2VyIHdyYXBwZXIgZmlsZSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hh
cmVkV29ya2VyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW1zL3RlbXBsYXRlZC5zaGFyZWR3b3Jr
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0cmVhbXMvdGVtcGxhdGVkLnNoYXJlZHdvcmtlci1leHBl
Y3RlZC50eHQKaW5kZXggN2NhYTY2MGZjNTY4MThhN2YwNWU0NTA3MjcxYmY4MzEzOTYxM2RhMi4u
OTAyY2IxZDA4NGNmOTYyY2IzMDA4OWYzYmZiYTM0NWFlMjBjMWJkMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxl
LXN0cmVhbXMvdGVtcGxhdGVkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLXN0
cmVhbXMvdGVtcGxhdGVkLnNoYXJlZHdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBA
CiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBTaGFyZWRXb3JrZXIKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCi0KK0ZBSUwg
dGVtcGxhdGVkLmpzIHNoYXJlZCB3b3JrZXIgd3JhcHBlciBmaWxlIFJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9MSUNFTlNFIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9MSUNFTlNFCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTg5NmU2YmUyYmQ1MWY0Yjc4ZTk3MDNjYWVmYjli
NjcyZTEwYTU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvTElDRU5T
RQorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVczQyAzLWNsYXVzZSBCU0QgTGljZW5z
ZQotCi1odHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgvMDMtYnNkLWxpY2Vu
c2UuaHRtbAotCi1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLW1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLW1ldDoKLQotKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygd29ya3MgbXVzdCByZXRhaW4gdGhlIG9yaWdpbmFsIGNvcHlyaWdodCBub3RpY2Us
Ci0gIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0KLSogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBv
cmlnaW5hbCBjb3B5cmlnaHQKLSAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotCi0qIE5laXRo
ZXIgdGhlIG5hbWUgb2YgdGhlIFczQyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlCi0gIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHdvcmsgd2l0aG91dAotICBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
Ci0KLVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKLSJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi1MSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLUEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi1PV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKLVNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKLUxJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi1USEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0oSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLU9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy9fX2luaXRfXy5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvYnJv
d3NlcnV0aWxzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ODM0YjgyODVhNTZiZWYwZTE1NDNm
ZDkwMWM3ZTZmMmY4YmMyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy9fX2luaXRfXy5weQpA
QCAtMCwwICsxIEBACisjIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJj
aCB0aGlzIGRpcmVjdG9yeSBmb3IgbW9kdWxlcy4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2Jyb3dzZXJ1dGlscy9icm93c2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMvYnJvd3Nlci5weQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xZTQ4YTY4MzJjNGVhNDMwOGQ4ZGIwMTA0NWM0MzBkOGY3MTRmNDE2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9icm93c2VydXRpbHMvYnJvd3Nlci5weQpAQCAtMCwwICsxLDI2OCBAQAoraW1wb3J0IGxvZ2dp
bmcKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgc3RhdAorZnJvbSBhYmMgaW1wb3J0IEFC
Q01ldGEsIGFic3RyYWN0bWV0aG9kCitmcm9tIGNvbmZpZ3BhcnNlciBpbXBvcnQgUmF3Q29uZmln
UGFyc2VyCitmcm9tIGRpc3R1dGlscy5zcGF3biBpbXBvcnQgZmluZF9leGVjdXRhYmxlCisKK2Zy
b20gdXRpbHMgaW1wb3J0IGNhbGwsIGdldCwgdW50YXIsIHVuemlwCisKK2xvZ2dlciA9IGxvZ2dp
bmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCit1bmFtZSA9IG9zLnVuYW1lKCkKKworZGVmIHBhdGgo
cGF0aCwgZXhlKToKKyAgICBwYXRoID0gcGF0aC5yZXBsYWNlKCIvIiwgb3MucGF0aC5zZXApCisg
ICAgaWYgZXhlIGFuZCB1bmFtZVswXSA9PSAiV2luZG93cyI6CisgICAgICAgIHBhdGggKz0gIi5l
eGUiCisgICAgcmV0dXJuIHBhdGgKKworCitjbGFzcyBCcm93c2VyKG9iamVjdCk6CisgICAgX19t
ZXRhY2xhc3NfXyA9IEFCQ01ldGEKKworICAgIEBhYnN0cmFjdG1ldGhvZAorICAgIGRlZiBpbnN0
YWxsKHNlbGYpOgorICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKworICAgIEBhYnN0cmFj
dG1ldGhvZAorICAgIGRlZiBpbnN0YWxsX3dlYmRyaXZlcihzZWxmKToKKyAgICAgICAgcmV0dXJu
IE5vdEltcGxlbWVudGVkCisKKyAgICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgdmVyc2lvbihz
ZWxmKToKKyAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisKKyAgICBAYWJzdHJhY3RtZXRo
b2QKKyAgICBkZWYgcmVxdWlyZW1lbnRzKHNlbGYpOgorICAgICAgICAiIiJOYW1lIG9mIHRoZSBi
cm93c2VyLXNwZWNpZmljIHdwdHJ1bm5lciByZXF1aXJlbWVudHMgZmlsZSIiIgorICAgICAgICBy
ZXR1cm4gTm90SW1wbGVtZW50ZWQKKworICAgIGRlZiBwcmVwYXJlX2Vudmlyb25tZW50KHNlbGYp
OgorICAgICAgICAiIiJEbyBhbnkgYWRkaXRpb25hbCBzZXR1cCBvZiB0aGUgZW52aXJvbm1lbnQg
cmVxdWlyZWQgdG8gc3RhcnQgdGhlCisgICAgICAgICAgIGJyb3dzZXIgc3VjY2Vzc2Z1bGx5Cisg
ICAgICAgICIiIgorICAgICAgICBwYXNzCisKKworY2xhc3MgRmlyZWZveChCcm93c2VyKToKKyAg
ICAiIiJGaXJlZm94LXNwZWNpZmljIGludGVyZmFjZS4KKworICAgIEluY2x1ZGVzIGluc3RhbGxh
dGlvbiwgd2ViZHJpdmVyIGluc3RhbGxhdGlvbiwgYW5kIHdwdHJ1bm5lciBzZXR1cCBtZXRob2Rz
LgorICAgICIiIgorCisgICAgcHJvZHVjdCA9ICJmaXJlZm94IgorICAgIGJpbmFyeSA9ICJmaXJl
Zm94L2ZpcmVmb3giCisgICAgcGxhdGZvcm1faW5pID0gImZpcmVmb3gvcGxhdGZvcm0uaW5pIgor
ICAgIHJlcXVpcmVtZW50cyA9ICJyZXF1aXJlbWVudHNfZmlyZWZveC50eHQiCisKKworICAgIGRl
ZiBwbGF0Zm9ybV9zdHJpbmcoc2VsZik6CisgICAgICAgIHBsYXRmb3JtID0geworICAgICAgICAg
ICAgIkxpbnV4IjogImxpbnV4IiwKKyAgICAgICAgICAgICJXaW5kb3dzIjogIndpbiIsCisgICAg
ICAgICAgICAiRGFyd2luIjogIm1hYyIKKyAgICAgICAgfS5nZXQodW5hbWVbMF0pCisKKyAgICAg
ICAgaWYgcGxhdGZvcm0gaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVu
YWJsZSB0byBjb25zdHJ1Y3QgYSB2YWxpZCBGaXJlZm94IHBhY2thZ2UgbmFtZSBmb3IgY3VycmVu
dCBwbGF0Zm9ybSIpCisKKyAgICAgICAgaWYgcGxhdGZvcm0gPT0gImxpbnV4IjoKKyAgICAgICAg
ICAgIGJpdHMgPSAiLSVzIiAlIHVuYW1lWy0xXQorICAgICAgICBlbGlmIHBsYXRmb3JtID09ICJ3
aW4iOgorICAgICAgICAgICAgYml0cyA9ICI2NCIgaWYgdW5hbWVbLTFdID09ICJ4ODZfNjQiIGVs
c2UgIjMyIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYml0cyA9ICIiCisKKyAgICAgICAg
cmV0dXJuICIlcyVzIiAlIChwbGF0Zm9ybSwgYml0cykKKworICAgIGRlZiBwbGF0Zm9ybV9zdHJp
bmdfZ2Vja29kcml2ZXIoc2VsZik6CisgICAgICAgIHBsYXRmb3JtID0geworICAgICAgICAgICAg
IkxpbnV4IjogImxpbnV4IiwKKyAgICAgICAgICAgICJXaW5kb3dzIjogIndpbiIsCisgICAgICAg
ICAgICAiRGFyd2luIjogIm1hY29zIgorICAgICAgICB9LmdldCh1bmFtZVswXSkKKworICAgICAg
ICBpZiBwbGF0Zm9ybSBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5h
YmxlIHRvIGNvbnN0cnVjdCBhIHZhbGlkIEdlY2tvZHJpdmVyIHBhY2thZ2UgbmFtZSBmb3IgY3Vy
cmVudCBwbGF0Zm9ybSIpCisKKyAgICAgICAgaWYgcGxhdGZvcm0gaW4gKCJsaW51eCIsICJ3aW4i
KToKKyAgICAgICAgICAgIGJpdHMgPSAiNjQiIGlmIHVuYW1lWy0xXSA9PSAieDg2XzY0IiBlbHNl
ICIzMiIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGJpdHMgPSAiIgorCisgICAgICAgIHJl
dHVybiAiJXMlcyIgJSAocGxhdGZvcm0sIGJpdHMpCisKKyAgICBkZWYgbGF0ZXN0X25pZ2h0bHlf
bGlzdGluZyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGdldCgiaHR0cHM6Ly9hcmNoaXZlLm1vemls
bGEub3JnL3B1Yi9maXJlZm94L25pZ2h0bHkvbGF0ZXN0LW1vemlsbGEtY2VudHJhbC8iKQorCisg
ICAgZGVmIGdldF9mcm9tX25pZ2h0bHkoc2VsZiwgcGF0dGVybik6CisgICAgICAgIGluZGV4ID0g
c2VsZi5sYXRlc3RfbmlnaHRseV9saXN0aW5nKCkKKyAgICAgICAgZmlsZW5hbWUgPSByZS5jb21w
aWxlKHBhdHRlcm4pLnNlYXJjaChpbmRleC50ZXh0KS5ncm91cCgxKQorICAgICAgICByZXR1cm4g
Z2V0KCJodHRwczovL2FyY2hpdmUubW96aWxsYS5vcmcvcHViL2ZpcmVmb3gvbmlnaHRseS9sYXRl
c3QtbW96aWxsYS1jZW50cmFsLyVzIiAlCisgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUpCisK
KworICAgIGRlZiBpbnN0YWxsKHNlbGYsIHBsYXRmb3JtLCBkZXN0PU5vbmUpOgorICAgICAgICAi
IiJJbnN0YWxsIEZpcmVmb3guIiIiCisgICAgICAgIGlmIGRlc3QgaXMgTm9uZToKKyAgICAgICAg
ICAgIGRlc3QgPSBvcy5wd2QKKworICAgICAgICBzZWxmLmdldF9mcm9tX25pZ2h0bHkoIjxhW14+
XSo+KGZpcmVmb3gtXGQrXC5cZCg/Olx3XGQpPy5lbi1VUy4lc1wudGFyXC5iejIpIiAlIHNlbGYu
cGxhdGZvcm1fc3RyaW5nKCkpCisgICAgICAgIHVudGFyKHJlc3AucmF3LCBwYXRoPWRlc3QpCisg
ICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oZGVzdCwgImZpcmVmb3giKQorCisgICAgZGVmIGZp
bmRfYmluYXJ5KHNlbGYpOgorICAgICAgICByZXR1cm4gZmluZF9leGVjdXRhYmxlKCJmaXJlZm94
IikKKworICAgIGRlZiBmaW5kX2NlcnR1dGlsKHNlbGYpOgorICAgICAgICByZXR1cm4gZmluZF9l
eGVjdXRhYmxlKCJjZXJ0dXRpbCIpCisKKyAgICBkZWYgZmluZF93ZWJkcml2ZXIoc2VsZik6Cisg
ICAgICAgIHJldHVybiBmaW5kX2V4ZWN1dGFibGUoImdlY2tvZHJpdmVyIikKKworICAgIGRlZiBp
bnN0YWxsX2NlcnR1dGlsKHNlbGYsIGRlc3Q9Tm9uZSk6CisgICAgICAgICMgVE9ETzogdGhpcyBk
b2Vzbid0IHJlYWxseSB3b3JrIGJlY2F1c2UgaXQganVzdCBnZXRzIHRoZSBiaW5hcnksIGFuZCBp
cyBtaXNzaW5nIHRoZQorICAgICAgICAjIGxpYm5zczMgbGlicmFyeS4gR2V0dGluZyB0aGF0IG1l
YW5zIGVpdGhlciBkb3dubG9hZGluZyB0aGUgY29ycmVzcG9uZGluZyBGaXJlZm94CisgICAgICAg
ICMgYW5kIGV4dHJhY3RpbmcgdGhlIGxpYnJhcnkgKHdoaWNoIGlzIGhhcmQgb24gbWFjIGJlY2Fz
ZSBETUcpLCBvciBtYXliZSBkb3dubG9hZGluZyBmcm9tCisgICAgICAgICMgbnNzJ3MgdHJlZWhl
cmRlciBidWlsZHM/CisgICAgICAgIGlmIGRlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIGRlc3Qg
PSBvcy5wd2QKKworICAgICAgICAjIERvbid0IGNyZWF0ZSBhIHBhdGggbGlrZSBiaW4vYmluL2Nl
cnR1dGlsCisgICAgICAgIHNwbGl0ID0gb3MucGF0aC5zcGxpdChkZXN0KQorICAgICAgICBpZiBz
cGxpdFsxXSA9PSAiYmluIjoKKyAgICAgICAgICAgIGRlc3QgPSBzcGxpdFswXQorCisgICAgICAg
IHJlc3AgPSBzZWxmLmdldF9mcm9tX25pZ2h0bHkoCisgICAgICAgICAgICAiPGFbXj5dKj4oZmly
ZWZveC1cZCtcLlxkKD86XHdcZCk/LmVuLVVTLiVzXC5jb21tb25cLnRlc3RzLnppcCk8L2E+IiAl
IHNlbGYucGxhdGZvcm1fc3RyaW5nKCkpCisgICAgICAgIGJpbl9wYXRoID0gcGF0aCgiYmluL2Nl
cnR1dGlsIiwgZXhlPVRydWUpCisgICAgICAgIHVuemlwKHJlc3AucmF3LCBkZXN0PWRlc3QsIGxp
bWl0PVtiaW5fcGF0aF0pCisKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihkZXN0LCBiaW5f
cGF0aCkKKworICAgIGRlZiBpbnN0YWxsX3ByZWZzKHNlbGYsIGRlc3Q9Tm9uZSk6CisgICAgICAg
IGlmIGRlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIGRlc3QgPSBvcy5wd2QKKworICAgICAgICBk
ZXN0ID0gb3MucGF0aC5qb2luKGRlc3QsICJwcm9maWxlcyIpCisgICAgICAgIGlmIG5vdCBvcy5w
YXRoLmV4aXN0cyhkZXN0KToKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRlc3QpCisgICAgICAg
IHdpdGggb3Blbihvcy5wYXRoLmpvaW4oZGVzdCwgInByZWZzX2dlbmVyYWwuanMiKSwgIndiIikg
YXMgZjoKKyAgICAgICAgICAgIHJlc3AgPSBnZXQoImh0dHBzOi8vaGcubW96aWxsYS5vcmcvbW96
aWxsYS1jZW50cmFsL3Jhdy1maWxlL3RpcC90ZXN0aW5nL3Byb2ZpbGVzL3ByZWZzX2dlbmVyYWwu
anMiKQorICAgICAgICAgICAgZi53cml0ZShyZXNwLmNvbnRlbnQpCisKKyAgICAgICAgcmV0dXJu
IGRlc3QKKworICAgIGRlZiBfbGF0ZXN0X2dlY2tvZHJpdmVyX3ZlcnNpb24oc2VsZik6CisgICAg
ICAgICIiIkdldCBhbmQgcmV0dXJuIGxhdGVzdCB2ZXJzaW9uIG51bWJlciBmb3IgZ2Vja29kcml2
ZXIuIiIiCisgICAgICAgICMgVGhpcyBpcyB1c2VkIHJhdGhlciB0aGFuIGFuIEFQSSBjYWxsIHRv
IGF2b2lkIHJhdGUgbGltaXRzCisgICAgICAgIHRhZ3MgPSBjYWxsKCJnaXQiLCAibHMtcmVtb3Rl
IiwgIi0tdGFncyIsICItLXJlZnMiLAorICAgICAgICAgICAgICAgICAgICAiaHR0cHM6Ly9naXRo
dWIuY29tL21vemlsbGEvZ2Vja29kcml2ZXIuZ2l0IikKKyAgICAgICAgcmVsZWFzZV9yZSA9IHJl
LmNvbXBpbGUoIi4qcmVmcy90YWdzL3YoXGQrKVwuKFxkKylcLihcZCspIikKKyAgICAgICAgbGF0
ZXN0X3JlbGVhc2UgPSAwCisgICAgICAgIGZvciBpdGVtIGluIHRhZ3Muc3BsaXQoIlxuIik6Cisg
ICAgICAgICAgICBtID0gcmVsZWFzZV9yZS5tYXRjaChpdGVtKQorICAgICAgICAgICAgaWYgbToK
KyAgICAgICAgICAgICAgICB2ZXJzaW9uID0gW2ludChpdGVtKSBmb3IgaXRlbSBpbiBtLmdyb3Vw
cygpXQorICAgICAgICAgICAgICAgIGlmIHZlcnNpb24gPiBsYXRlc3RfcmVsZWFzZToKKyAgICAg
ICAgICAgICAgICAgICAgbGF0ZXN0X3JlbGVhc2UgPSB2ZXJzaW9uCisgICAgICAgIGFzc2VydCBs
YXRlc3RfcmVsZWFzZSAhPSAwCisgICAgICAgIHJldHVybiAidiVzLiVzLiVzIiAlIHR1cGxlKHN0
cihpdGVtKSBmb3IgaXRlbSBpbiBsYXRlc3RfcmVsZWFzZSkKKworICAgIGRlZiBpbnN0YWxsX3dl
YmRyaXZlcihzZWxmLCBkZXN0PU5vbmUpOgorICAgICAgICAiIiJJbnN0YWxsIGxhdGVzdCBHZWNr
b2RyaXZlci4iIiIKKyAgICAgICAgaWYgZGVzdCBpcyBOb25lOgorICAgICAgICAgICAgZGVzdCA9
IG9zLnB3ZAorCisgICAgICAgIHZlcnNpb24gPSBzZWxmLl9sYXRlc3RfZ2Vja29kcml2ZXJfdmVy
c2lvbigpCisgICAgICAgIGxvZ2dlci5kZWJ1ZygiTGF0ZXN0IGdlY2tvZHJpdmVyIHJlbGVhc2Ug
JXMiICUgdmVyc2lvbikKKyAgICAgICAgdXJsID0gKCJodHRwczovL2dpdGh1Yi5jb20vbW96aWxs
YS9nZWNrb2RyaXZlci9yZWxlYXNlcy9kb3dubG9hZC8lcy9nZWNrb2RyaXZlci0lcy0lcy50YXIu
Z3oiICUKKyAgICAgICAgICAgICAgICh2ZXJzaW9uLCB2ZXJzaW9uLCBzZWxmLnBsYXRmb3JtX3N0
cmluZ19nZWNrb2RyaXZlcigpKSkKKyAgICAgICAgdW50YXIoZ2V0KHVybCkucmF3LCBkZXN0PWRl
c3QpCisgICAgICAgIHJldHVybiBmaW5kX2V4ZWN1dGFibGUob3MucGF0aC5qb2luKGRlc3QsICJn
ZWNrb2RyaXZlciIpKQorCisgICAgZGVmIHZlcnNpb24oc2VsZiwgcm9vdCk6CisgICAgICAgICIi
IlJldHJpZXZlIHRoZSByZWxlYXNlIHZlcnNpb24gb2YgdGhlIGluc3RhbGxlZCBicm93c2VyLiIi
IgorICAgICAgICBwbGF0Zm9ybV9pbmZvID0gUmF3Q29uZmlnUGFyc2VyKCkKKworICAgICAgICB3
aXRoIG9wZW4ob3MucGF0aC5qb2luKHJvb3QsIHNlbGYucGxhdGZvcm1faW5pKSwgInIiKSBhcyBm
cDoKKyAgICAgICAgICAgIHBsYXRmb3JtX2luZm8ucmVhZGZwKEJ5dGVzSU8oZnAucmVhZCgpKSkK
KyAgICAgICAgICAgIHJldHVybiAiQnVpbGRJRCAlczsgU291cmNlU3RhbXAgJXMiICUgKAorICAg
ICAgICAgICAgICAgIHBsYXRmb3JtX2luZm8uZ2V0KCJCdWlsZCIsICJCdWlsZElEIiksCisgICAg
ICAgICAgICAgICAgcGxhdGZvcm1faW5mby5nZXQoIkJ1aWxkIiwgIlNvdXJjZVN0YW1wIikpCisK
KworY2xhc3MgQ2hyb21lKEJyb3dzZXIpOgorICAgICIiIkNocm9tZS1zcGVjaWZpYyBpbnRlcmZh
Y2UuCisKKyAgICBJbmNsdWRlcyBpbnN0YWxsYXRpb24sIHdlYmRyaXZlciBpbnN0YWxsYXRpb24s
IGFuZCB3cHRydW5uZXIgc2V0dXAgbWV0aG9kcy4KKyAgICAiIiIKKworICAgIHByb2R1Y3QgPSAi
Y2hyb21lIgorICAgIGJpbmFyeSA9ICIvdXNyL2Jpbi9nb29nbGUtY2hyb21lIgorICAgIHJlcXVp
cmVtZW50cyA9ICJyZXF1aXJlbWVudHNfY2hyb21lLnR4dCIKKworICAgIGRlZiBwbGF0Zm9ybV9z
dHJpbmcoc2VsZik6CisgICAgICAgIHBsYXRmb3JtID0geworICAgICAgICAgICAgIkxpbnV4Ijog
ImxpbnV4IiwKKyAgICAgICAgICAgICJXaW5kb3dzIjogIndpbiIsCisgICAgICAgICAgICAiRGFy
d2luIjogIm1hYyIKKyAgICAgICAgfS5nZXQodW5hbWVbMF0pCisKKyAgICAgICAgaWYgcGxhdGZv
cm0gaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVuYWJsZSB0byBjb25z
dHJ1Y3QgYSB2YWxpZCBDaHJvbWUgcGFja2FnZSBuYW1lIGZvciBjdXJyZW50IHBsYXRmb3JtIikK
KworICAgICAgICBpZiBwbGF0Zm9ybSA9PSAibGludXgiOgorICAgICAgICAgICAgYml0cyA9ICI2
NCIgaWYgdW5hbWVbLTFdID09ICJ4ODZfNjQiIGVsc2UgIjMyIgorICAgICAgICBlbGlmIHBsYXRm
b3JtID09ICJtYWMiOgorICAgICAgICAgICAgYml0cyA9ICI2NCIKKyAgICAgICAgZWxpZiBwbGF0
Zm9ybSA9PSAid2luIjoKKyAgICAgICAgICAgIGJpdHMgPSAiMzIiCisKKyAgICAgICAgcmV0dXJu
ICIlcyVzIiAlIChwbGF0Zm9ybSwgYml0cykKKworICAgIGRlZiBpbnN0YWxsKHNlbGYpOgorICAg
ICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIGZpbmRfd2ViZHJpdmVyKHNlbGYpOgorICAgICAg
ICByZXR1cm4gZmluZF9leGVjdXRhYmxlKCJjaHJvbWVkcml2ZXIiKQorCisgICAgZGVmIGluc3Rh
bGxfd2ViZHJpdmVyKHNlbGYsIGRlc3Q9Tm9uZSk6CisgICAgICAgICIiIkluc3RhbGwgbGF0ZXN0
IFdlYmRyaXZlci4iIiIKKyAgICAgICAgaWYgZGVzdCBpcyBOb25lOgorICAgICAgICAgICAgZGVz
dCA9IG9zLnB3ZAorICAgICAgICBsYXRlc3QgPSBnZXQoImh0dHA6Ly9jaHJvbWVkcml2ZXIuc3Rv
cmFnZS5nb29nbGVhcGlzLmNvbS9MQVRFU1RfUkVMRUFTRSIpLnRleHQuc3RyaXAoKQorICAgICAg
ICB1cmwgPSAiaHR0cDovL2Nocm9tZWRyaXZlci5zdG9yYWdlLmdvb2dsZWFwaXMuY29tLyVzL2No
cm9tZWRyaXZlcl8lcy56aXAiICUgKGxhdGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLnBsYXRmb3JtX3N0cmluZygpKQorICAgICAgICB1bnppcChnZXQodXJsKS5yYXcsIGRl
c3QpCisgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oZGVzdCwgImNocm9tZWRyaXZlciIpCisg
ICAgICAgIHN0ID0gb3Muc3RhdChwYXRoKQorICAgICAgICBvcy5jaG1vZChwYXRoLCBzdC5zdF9t
b2RlIHwgc3RhdC5TX0lFWEVDKQorICAgICAgICByZXR1cm4gcGF0aAorCisgICAgZGVmIHZlcnNp
b24oc2VsZiwgcm9vdCk6CisgICAgICAgICIiIlJldHJpZXZlIHRoZSByZWxlYXNlIHZlcnNpb24g
b2YgdGhlIGluc3RhbGxlZCBicm93c2VyLiIiIgorICAgICAgICBvdXRwdXQgPSBjYWxsKHNlbGYu
YmluYXJ5LCAiLS12ZXJzaW9uIikKKyAgICAgICAgcmV0dXJuIHJlLnNlYXJjaChyIlswLTlcLl0r
KCBbYS16XSspPyQiLCBvdXRwdXQuc3RyaXAoKSkuZ3JvdXAoMCkKKworICAgIGRlZiBwcmVwYXJl
X2Vudmlyb25tZW50KHNlbGYpOgorICAgICAgICAjIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcv
cC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTcxMzk0NworICAgICAgICBsb2dnZXIuZGVidWco
IkRCVVNfU0VTU0lPTl9CVVNfQUREUkVTUyAlcyIgJSBvcy5lbnZpcm9uLmdldCgiREJVU19TRVNT
SU9OX0JVU19BRERSRVNTIikpCisgICAgICAgIGlmICJEQlVTX1NFU1NJT05fQlVTX0FERFJFU1Mi
IG5vdCBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgaWYgZmluZF9leGVjdXRhYmxlKCJkYnVz
LWxhdW5jaCIpOgorICAgICAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygiQXR0ZW1wdGluZyB0byBz
dGFydCBkYnVzIikKKyAgICAgICAgICAgICAgICBkYnVzX2NvbmYgPSBzdWJwcm9jZXNzLmNoZWNr
X291dHB1dChbImRidXMtbGF1bmNoIl0pCisgICAgICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKGRi
dXNfY29uZikKKworICAgICAgICAgICAgICAgICMgRnJvbSBkYnVzLWxhdW5jaCgxKToKKyAgICAg
ICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyA+IFdoZW4gZGJ1cy1sYXVuY2ggcHJpbnRz
IGJ1cyBpbmZvcm1hdGlvbiB0byBzdGFuZGFyZCBvdXRwdXQsCisgICAgICAgICAgICAgICAgIyA+
IGJ5IGRlZmF1bHQgaXQgaXMgaW4gYSBzaW1wbGUga2V5LXZhbHVlIHBhaXJzIGZvcm1hdC4KKyAg
ICAgICAgICAgICAgICBmb3IgbGluZSBpbiBkYnVzX2NvbmYuc3RyaXAoKS5zcGxpdCgiXG4iKToK
KyAgICAgICAgICAgICAgICAgICAga2V5LCBfLCB2YWx1ZSA9IGxpbmUucGFydGl0aW9uKCI9IikK
KyAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvbltrZXldID0gdmFsdWUKKyAgICAgICAgICAg
IGVsc2U6CisgICAgICAgICAgICAgICAgbG9nZ2VyLmNyaXRpY2FsKCJkYnVzIG5vdCBydW5uaW5n
IGFuZCBjYW4ndCBiZSBzdGFydGVkIikKKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9icm93c2VydXRpbHMvdXRpbHMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy91dGlscy5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hM2Zl
YWNiYjQ3NWU1YzMzNTFkYWY3OWFjMmFlYzBhNjY2YjgyNmUwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2Vy
dXRpbHMvdXRpbHMucHkKQEAgLTAsMCArMSwxMTMgQEAKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQg
b3MKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgc3lzCitpbXBvcnQgdGFyZmlsZQoraW1wb3J0
IHppcGZpbGUKK2Zyb20gaW8gaW1wb3J0IEJ5dGVzSU8KKworaW1wb3J0IHJlcXVlc3RzCisKK2xv
Z2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCisKK2NsYXNzIEt3YXJncyhkaWN0
KToKKyAgICBkZWYgc2V0X2lmX25vbmUoc2VsZiwgbmFtZSwgdmFsdWUsIGVycl9mbj1Ob25lLCBk
ZXNjPU5vbmUsIGV4dHJhX2NvbmQ9Tm9uZSk6CisgICAgICAgIGlmIGRlc2MgaXMgTm9uZToKKyAg
ICAgICAgICAgIGRlc2MgPSBuYW1lCisKKyAgICAgICAgaWYgc2VsZltuYW1lXSBpcyBOb25lOgor
ICAgICAgICAgICAgaWYgZXh0cmFfY29uZCBpcyBub3QgTm9uZSBhbmQgbm90IGV4dHJhX2NvbmQo
c2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBpZiBjYWxsYWJsZSh2
YWx1ZSk6CisgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSgpCisgICAgICAgICAgICBpZiBu
b3QgdmFsdWU6CisgICAgICAgICAgICAgICAgaWYgZXJyX2ZuIGlzIG5vdCBOb25lOgorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZXJyX2ZuKGt3YXJncywgIkZhaWxlZCB0byBmaW5kICVzIiAl
IGRlc2MpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
CisgICAgICAgICAgICBzZWxmW25hbWVdID0gdmFsdWUKKyAgICAgICAgICAgIGxvZ2dlci5pbmZv
KCJTZXQgJXMgdG8gJXMiICUgKGRlc2MsIHZhbHVlKSkKKworCitkZWYgY2FsbCgqYXJncyk6Cisg
ICAgIiIiTG9nIHRlcm1pbmFsIGNvbW1hbmQsIGludm9rZSBpdCBhcyBhIHN1YnByb2Nlc3MuCisK
KyAgICBSZXR1cm5zIGEgYnl0ZXN0cmluZyBvZiB0aGUgc3VicHJvY2VzcyBvdXRwdXQgaWYgbm8g
ZXJyb3IuCisgICAgIiIiCisgICAgbG9nZ2VyLmRlYnVnKCIlcyIgJSAiICIuam9pbihhcmdzKSkK
KyAgICB0cnk6CisgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChhcmdzKQor
ICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAgICBs
b2dnZXIuY3JpdGljYWwoIiVzIGV4aXRlZCB3aXRoIHJldHVybiBjb2RlICVpIiAlCisgICAgICAg
ICAgICAgICAgICAgICAgICAoZS5jbWQsIGUucmV0dXJuY29kZSkpCisgICAgICAgIGxvZ2dlci5j
cml0aWNhbChlLm91dHB1dCkKKyAgICAgICAgcmFpc2UKKworCitkZWYgZ2V0X2dpdF9jbWQocmVw
b19wYXRoKToKKyAgICAiIiJDcmVhdGUgYSBmdW5jdGlvbiBmb3IgaW52b2tpbmcgZ2l0IGNvbW1h
bmRzIGFzIGEgc3VicHJvY2Vzcy4iIiIKKyAgICBkZWYgZ2l0KGNtZCwgKmFyZ3MpOgorICAgICAg
ICBmdWxsX2NtZCA9IFsiZ2l0IiwgY21kXSArIGxpc3QoYXJncykKKyAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgbG9nZ2VyLmRlYnVnKCIgIi5qb2luKGZ1bGxfY21kKSkKKyAgICAgICAgICAgIHJl
dHVybiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChmdWxsX2NtZCwgY3dkPXJlcG9fcGF0aCwgc3Rk
ZXJyPXN1YnByb2Nlc3MuU1RET1VUKS5zdHJpcCgpCisgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNz
LkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgorICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCJHaXQg
Y29tbWFuZCBleGl0ZWQgd2l0aCBzdGF0dXMgJWkiICUgZS5yZXR1cm5jb2RlKQorICAgICAgICAg
ICAgbG9nZ2VyLmVycm9yKGUub3V0cHV0KQorICAgICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBy
ZXR1cm4gZ2l0CisKKworZGVmIHNlZWthYmxlKGZpbGVvYmopOgorICAgICIiIkF0dGVtcHQgdG8g
dXNlIGZpbGUuc2VlayBvbiBnaXZlbiBmaWxlLCB3aXRoIGZhbGxiYWNrcy4iIiIKKyAgICB0cnk6
CisgICAgICAgIGZpbGVvYmouc2VlayhmaWxlb2JqLnRlbGwoKSkKKyAgICBleGNlcHQgRXhjZXB0
aW9uOgorICAgICAgICByZXR1cm4gQnl0ZXNJTyhmaWxlb2JqLnJlYWQoKSkKKyAgICBlbHNlOgor
ICAgICAgICByZXR1cm4gZmlsZW9iagorCisKK2RlZiB1bnRhcihmaWxlb2JqLCBkZXN0PSIuIik6
CisgICAgIiIiRXh0cmFjdCB0YXIgYXJjaGl2ZS4iIiIKKyAgICBsb2dnZXIuZGVidWcoInVudGFy
IikKKyAgICBmaWxlb2JqID0gc2Vla2FibGUoZmlsZW9iaikKKyAgICB3aXRoIHRhcmZpbGUub3Bl
bihmaWxlb2JqPWZpbGVvYmopIGFzIHRhcl9kYXRhOgorICAgICAgICB0YXJfZGF0YS5leHRyYWN0
YWxsKHBhdGg9ZGVzdCkKKworCitkZWYgdW56aXAoZmlsZW9iaiwgZGVzdD1Ob25lLCBsaW1pdD1O
b25lKToKKyAgICAiIiJFeHRyYWN0IHppcCBhcmNoaXZlLiIiIgorICAgIGxvZ2dlci5kZWJ1Zygi
dW56aXAiKQorICAgIGZpbGVvYmogPSBzZWVrYWJsZShmaWxlb2JqKQorICAgIHdpdGggemlwZmls
ZS5aaXBGaWxlKGZpbGVvYmopIGFzIHppcF9kYXRhOgorICAgICAgICBmb3IgaW5mbyBpbiB6aXBf
ZGF0YS5pbmZvbGlzdCgpOgorICAgICAgICAgICAgaWYgbGltaXQgaXMgbm90IE5vbmUgYW5kIGlu
Zm8uZmlsZW5hbWUgbm90IGluIGxpbWl0OgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAg
ICAgICAgICB6aXBfZGF0YS5leHRyYWN0KGluZm8sIHBhdGg9ZGVzdCkKKyAgICAgICAgICAgIHBl
cm0gPSBpbmZvLmV4dGVybmFsX2F0dHIgPj4gMTYgJiAweDFGRgorICAgICAgICAgICAgb3MuY2ht
b2Qob3MucGF0aC5qb2luKGRlc3QsIGluZm8uZmlsZW5hbWUpLCBwZXJtKQorCisKK2NsYXNzIHB3
ZChvYmplY3QpOgorICAgICIiIkNyZWF0ZSBjb250ZXh0IGZvciB0ZW1wb3JhcmlseSBjaGFuZ2lu
ZyBwcmVzZW50IHdvcmtpbmcgZGlyZWN0b3J5LiIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBk
aXIpOgorICAgICAgICBzZWxmLmRpciA9IGRpcgorICAgICAgICBzZWxmLm9sZF9kaXIgPSBOb25l
CisKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICBzZWxmLm9sZF9kaXIgPSBvcy5w
YXRoLmFic3BhdGgob3MuY3VyZGlyKQorICAgICAgICBvcy5jaGRpcihzZWxmLmRpcikKKworICAg
IGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBvcy5jaGRpcihz
ZWxmLm9sZF9kaXIpCisgICAgICAgIHNlbGYub2xkX2RpciA9IE5vbmUKKworCitkZWYgZ2V0KHVy
bCk6CisgICAgIiIiSXNzdWUgR0VUIHJlcXVlc3QgdG8gYSBnaXZlbiBVUkwgYW5kIHJldHVybiB0
aGUgcmVzcG9uc2UuIiIiCisgICAgbG9nZ2VyLmRlYnVnKCJHRVQgJXMiICUgdXJsKQorICAgIHJl
c3AgPSByZXF1ZXN0cy5nZXQodXJsLCBzdHJlYW09VHJ1ZSkKKyAgICByZXNwLnJhaXNlX2Zvcl9z
dGF0dXMoKQorICAgIHJldHVybiByZXNwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy92aXJ0dWFsZW52LnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93
c2VydXRpbHMvdmlydHVhbGVudi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjg3ODAwODMyY2RiMTkzNGQyODhi
YWYzZmYxM2Y5NTI4ZmYxNTdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9icm93c2VydXRpbHMvdmlydHVhbGVudi5w
eQpAQCAtMCwwICsxLDQ5IEBACitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBsb2dnaW5n
Citmcm9tIGRpc3R1dGlscy5zcGF3biBpbXBvcnQgZmluZF9leGVjdXRhYmxlCisKK2Zyb20gdXRp
bHMgaW1wb3J0IGNhbGwKKworbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCisK
K2NsYXNzIFZpcnR1YWxlbnYob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCk6
CisgICAgICAgIHNlbGYucGF0aCA9IHBhdGgKKyAgICAgICAgc2VsZi52aXJ0dWFsZW52ID0gZmlu
ZF9leGVjdXRhYmxlKCJ2aXJ0dWFsZW52IikKKyAgICAgICAgaWYgbm90IHNlbGYudmlydHVhbGVu
djoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInZpcnR1YWxlbnYgbXVzdCBiZSBpbnN0
YWxsZWQgYW5kIG9uIHRoZSBQQVRIIikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBleGlzdHMo
c2VsZik6CisgICAgICAgIHJldHVybiBvcy5wYXRoLmlzZGlyKHNlbGYucGF0aCkKKworICAgIGRl
ZiBjcmVhdGUoc2VsZik6CisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYucGF0aCk6Cisg
ICAgICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYucGF0aCkKKyAgICAgICAgY2FsbChzZWxmLnZp
cnR1YWxlbnYsICItLW5vLWRvd25sb2FkIiwgc2VsZi5wYXRoKQorCisgICAgQHByb3BlcnR5Cisg
ICAgZGVmIGJpbl9wYXRoKHNlbGYpOgorICAgICAgICBpZiBzeXMucGxhdGZvcm0gaW4gKCJ3aW4z
MiIsICJjeWd3aW4iKToKKyAgICAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi5wYXRo
LCAiU2NyaXB0cyIpCisgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCAiYmlu
IikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBwaXBfcGF0aChzZWxmKToKKyAgICAgICAgcGF0
aCA9IGZpbmRfZXhlY3V0YWJsZSgicGlwIiwgc2VsZi5iaW5fcGF0aCkKKyAgICAgICAgaWYgcGF0
aCBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigicGlwIG5vdCBmb3VuZCIp
CisgICAgICAgIHJldHVybiBwYXRoCisKKyAgICBkZWYgYWN0aXZhdGUoc2VsZik6CisgICAgICAg
IHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5iaW5fcGF0aCwgImFjdGl2YXRlX3RoaXMucHkiKQor
ICAgICAgICBleGVjZmlsZShwYXRoLCB7Il9fZmlsZV9fIjogcGF0aH0pCisKKyAgICBkZWYgc3Rh
cnQoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLmV4aXN0czoKKyAgICAgICAgICAgIHNlbGYu
Y3JlYXRlKCkKKyAgICAgICAgc2VsZi5hY3RpdmF0ZSgpCisKKyAgICBkZWYgaW5zdGFsbF9yZXF1
aXJlbWVudHMoc2VsZiwgcmVxdWlyZW1lbnRzX3BhdGgpOgorICAgICAgICBjYWxsKHNlbGYucGlw
X3BhdGgsICJpbnN0YWxsIiwgIi1yIiwgcmVxdWlyZW1lbnRzX3BhdGgpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1
dGlscy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVk
Nzk1NDYyNmZkYjIzMGQ3ZjdlY2VkOTViYjkwYzJhNTE1ZDRiY2YKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dz
ZXJ1dGlscy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIwIEBACitUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVt
b3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy9f
X2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvYnJvd3NlcnV0aWxzL2Jyb3dzZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Jyb3dzZXJ1dGlscy91dGlscy5weQorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvYnJvd3NlcnV0aWxzL3Zp
cnR1YWxlbnYucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvY29uZnRlc3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NvbmZ0ZXN0LnB5CmluZGV4IDAxMDc4NmYxYTE4MmUw
MmNlMTVhMTA5ZjlhZTI3YTc5Yzg2MWJlMjAuLjg5NGZlNjIyM2VhNTNhNzcwNjdkNzU1NmRiYTZh
NTMwYWZiZWE5OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvY29uZnRlc3QucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jb25mdGVzdC5weQpAQCAtNSw5ICs1LDggQEAg
ZnJvbSBoeXBvdGhlc2lzIGltcG9ydCBzZXR0aW5ncywgSGVhbHRoQ2hlY2sKIAogaW1wbCA9IHBs
YXRmb3JtLnB5dGhvbl9pbXBsZW1lbnRhdGlvbigpCiAKLXNldHRpbmdzLnJlZ2lzdGVyX3Byb2Zp
bGUoImNpIiwgc2V0dGluZ3MobWF4X2V4YW1wbGVzPTEwMDApKQotc2V0dGluZ3MucmVnaXN0ZXJf
cHJvZmlsZSgiY2lfcHlweSIsIHNldHRpbmdzKG1heF9leGFtcGxlcz0xMDAwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHByZXNzX2hlYWx0aF9jaGVj
az1bSGVhbHRoQ2hlY2sudG9vX3Nsb3ddKSkKK3NldHRpbmdzLnJlZ2lzdGVyX3Byb2ZpbGUoImNp
Iiwgc2V0dGluZ3MobWF4X2V4YW1wbGVzPTEwMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN1cHByZXNzX2hlYWx0aF9jaGVjaz1bSGVhbHRoQ2hlY2sudG9vX3Ns
b3ddKSkKIHNldHRpbmdzLnJlZ2lzdGVyX3Byb2ZpbGUoInB5cHkiLCBzZXR0aW5ncyhzdXBwcmVz
c19oZWFsdGhfY2hlY2s9W0hlYWx0aENoZWNrLnRvb19zbG93XSkpCiAKIHNldHRpbmdzLmxvYWRf
cHJvZmlsZShvcy5nZXRlbnYoIkhZUE9USEVTSVNfUFJPRklMRSIsCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2dpdGlnbm9yZS90
ZXN0cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL3Rlc3RzL3czYy1pbXBvcnQubG9nCmluZGV4IGJlMWMz
MTk4YzAzOWVhY2I5ZmFhNzQ4N2ZiYzc3Y2M4NTNlYzFiNDIuLjI1ZTkwOGFhY2VkZjc4NDQwNjVl
NjY0NmZmZmNjMzBmY2M0YjgyODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL3Rlc3RzL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
Z2l0aWdub3JlL3Rlc3RzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2dpdGlnbm9yZS93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdu
b3JlL3czYy1pbXBvcnQubG9nCmluZGV4IGMyNjMzYzMzOWM1NGNiZTIzYjQ0ZjU3Mjg3MmRlODQ1
M2FiYTU4MDAuLmUwMjU1N2ZmMTZmNTZiMmRhMDFjMjZlZGYzNGQ5YTgwODRiMmEyYjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
Z2l0aWdub3JlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcg
KzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBv
ciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2RvYy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9jL3czYy1pbXBvcnQubG9nCmluZGV4IGVmM2ZiZTdh
ZjdiMmQ5YjFhZjhiZTY0MTMwOTk4MGJiOWVjMmVmNDQuLmFhOWIzOWZmZDkzOGQzYWRhYWNmMjQw
NjJiYmRlMTY0NTViYjAyY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9jL3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvZG9jL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL2ZpbHRlcnMvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL2ZpbHRlcnMvdzNjLWltcG9ydC5sb2cKaW5kZXggNzMxMDUyODQy
YTBkYjQwMGY2ZjVlNDg3YWVlOWQwZGQ1NWNhMDVkOC4uNTIzMDI0YTRhYmVkNWJkZDI3ZTNjZDJl
YWRhYTU0YTQ1MjM4M2M5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9maWx0ZXJzL3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsx
LDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3Ig
V1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi9zZXJpYWxpemVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9zZXJpYWxpemVy
L3czYy1pbXBvcnQubG9nCmluZGV4IGU2M2ZkODcyZjYzMGE3MWM5YWZkMWY1NjJhMTU1NmI1NGJl
NGZiMjUuLjBlOTg0OWZjMDg3OWMzNjhkNTdmMDM2MGE0ZDc3MTM3Y2ZmOTdhYzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvc2VyaWFsaXplci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGli
L3NlcmlhbGl6ZXIvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKQEAgLTE2LDQgKzE1LDYgQEAgTm9uZQogLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvc2VyaWFsaXplci9fX2luaXRfXy5weQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvc2VyaWFsaXplci9fX2luaXRfXy5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3NlcmlhbGl6
ZXIvaHRtbHNlcmlhbGl6ZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3NlcmlhbGl6ZXIvaHRtbHNlcmlhbGl6
ZXIucHljCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3BlcmZvcm1hbmNlL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy9wZXJmb3JtYW5jZS93M2MtaW1wb3J0LmxvZwppbmRl
eCA1NTQwODcwYzI1MWM5OWUwZjIwZWNhMTRkZDgwODVhNDY4NjU1NzZjLi5jNjcwZWY5ZjlhMDNl
ZWRhMzdjNDkxM2Q4ZDk0ZTVmZjk2YWVhNDkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3Rz
L3BlcmZvcm1hbmNlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvcGVyZm9y
bWFuY2UvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRo
dWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvZW5j
b2RpbmcvY2hhcmRldC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEv
ZW5jb2RpbmcvY2hhcmRldC93M2MtaW1wb3J0LmxvZwppbmRleCA1NDUxNTQwMzBjNGNjZDc5YzQx
NzRiMWI2OWZmOTU3NjhhOGM5ZDM5Li5iNDcyODVmZWU3M2EzOWNhZjdkYzc3ZDgzNGQyMGQyZjQ1
NTNlNWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL2VuY29kaW5nL2No
YXJkZXQvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9lbmNv
ZGluZy9jaGFyZGV0L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rk
YXRhL2VuY29kaW5nL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9l
bmNvZGluZy93M2MtaW1wb3J0LmxvZwppbmRleCA0MzAxZGZjN2YwOWM2OTEwNWQ4NjcxNzViZTRh
ZjcxYWUxNzA0ZDgxLi5hMTJlY2M1MWY2MDQ0MTgxNTdiZWQ3Mjk4MTRmMjJkNTM1ZDg0YTUyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL2VuY29kaW5nL3czYy1pbXBvcnQu
bG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvZW5jb2RpbmcvdzNjLWltcG9ydC5s
b2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10
ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvc2FuaXRpemVyL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9o
dG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9zYW5pdGl6ZXIvdzNjLWltcG9ydC5sb2cK
aW5kZXggMGZmMmEyYTM0Yzg5MGIyMDYxMWQ3MzM3MGIxNjBmMDNiZWY4MWI2Yy4uM2ExMzhiN2I3
NDY1Mzc0Zjg0YjllZDVjODMxNDE0Y2MzNGM4MDdjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90
ZXN0cy90ZXN0ZGF0YS9zYW5pdGl6ZXIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90
ZXN0cy90ZXN0ZGF0YS9zYW5pdGl6ZXIvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
dGVzdHMvdGVzdGRhdGEvc2VyaWFsaXplci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVz
dHMvdGVzdGRhdGEvc2VyaWFsaXplci93M2MtaW1wb3J0LmxvZwppbmRleCA4MmE1N2JhNGUyZmE3
MzVkMjQyNTdiZWQ5ZjExY2UyNDlhZDIxM2ZlLi5mNWFiZmM3NzgxNTA0MzQwZDVmYzU0ODc0OGZj
NzUyZGIwMDkwMjk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3Nlcmlh
bGl6ZXIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9zZXJp
YWxpemVyL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3Nu
aWZmZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3NuaWZmZXIv
dzNjLWltcG9ydC5sb2cKaW5kZXggZWI0MGQ1MTQzYTgxNmRlNGM0OWM1ZDk5ZjcyYWU0OTAyMTZj
ODg0OS4uNzAyYmM4YzQ0YmQ0NmNlMjM1OTg4NjliZGU1MDg4YmI4Zjg3ODBmMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS9zbmlmZmVyL3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvc25pZmZlci93M2MtaW1wb3J0LmxvZwpAQCAtMSw3
ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mg
b3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxp
Yi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS90b2tlbml6ZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0
bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3Rva2VuaXplci93M2MtaW1wb3J0LmxvZwppbmRleCBhZjI4
ZTA4MGYzZDY3NGQyNmRkMmE5NDgzMzQ3YThhYjIzOTM3ZDA2Li5lNGJiODA3NGU2NDE5MDkyZGU1
YWEyODNlMzk5ZmY0M2ZmMjA2MDMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rk
YXRhL3Rva2VuaXplci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rk
YXRhL3Rva2VuaXplci93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgog
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0
ZGF0YS90cmVlLWNvbnN0cnVjdGlvbi9zY3JpcHRlZC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVs
aWIvdGVzdHMvdGVzdGRhdGEvdHJlZS1jb25zdHJ1Y3Rpb24vc2NyaXB0ZWQvdzNjLWltcG9ydC5s
b2cKaW5kZXggM2NhOWEwYWZjZTM4ZTAyODNlNjE2ODE4MWQwOGE5MDQ1ZGExOTExMS4uYWNjOWM4
NzYwZTZmODQyZTY3YmIzOGRhYjBmM2Y2MGQ5MTAxNjA1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi90ZXN0cy90ZXN0ZGF0YS90cmVlLWNvbnN0cnVjdGlvbi9zY3JpcHRlZC93M2MtaW1wb3J0Lmxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3RyZWUtY29uc3RydWN0aW9uL3Njcmlw
dGVkL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3RyZWUt
Y29uc3RydWN0aW9uL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS90
cmVlLWNvbnN0cnVjdGlvbi93M2MtaW1wb3J0LmxvZwppbmRleCA5N2I0N2M1ZDlhMzUxZjBlNGNl
NTNjMzkyZGEyY2IzODlhYmVhOGNlLi41MTAwN2RmMTliNjdlMDFmOTBjOTk0ZjA1ZGRjNjZhMDZj
MzViMmJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3RyZWUtY29uc3Ry
dWN0aW9uL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdHJl
ZS1jb25zdHJ1Y3Rpb24vdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVz
dGRhdGEvdmFsaWRhdG9yL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0
YS92YWxpZGF0b3IvdzNjLWltcG9ydC5sb2cKaW5kZXggYTZmMjBkOGFjOWUxNWYwNTI0ZDdiOTQy
NWFjZGE0YjdiMThjYzNiNy4uZmNiYTQ0MTRjMjVjODJkMWM1NDA5ZWViMGMzODhmYjc1ODk5ODZh
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS92YWxpZGF0b3IvdzNjLWlt
cG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS92YWxpZGF0b3IvdzNjLWlt
cG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9j
c3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RkYXRhL3czYy1pbXBvcnQubG9nCmluZGV4IDk3NDJjZTUx
OGI1NWY1MjcyMmMyZDA3OTMyNmJhYTBiZDQyZmQxOWIuLjY2ZmVmMmQyODZiOTIxMzU2NzQ3Zjgy
ODgwOGRiNzRiNTgxMjRkYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdGRhdGEv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0ZGF0YS93M2MtaW1wb3J0
LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dn
LXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
IAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
dGVzdHMvdzNjLWltcG9ydC5sb2cKaW5kZXggNzJjYjE3YjNlODBkYmU3NWI5MWUzZDc4YzQ4ZTYx
Y2MxNGU1YTZlYS4uNzRlMDM0NmVhYjZiMWVlMGE1ZGYzYTI5NDE3YjEzZjc1NjRhNTQ0YiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGli
L3Rlc3RzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWVhZGFwdGVycy93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWFkYXB0ZXJzL3czYy1pbXBvcnQubG9nCmluZGV4
IGU5NTI3M2Q4MzJmMjVmYmIzNjlhYmI3ODZhNjAzYmQ0ZDk3YjZiZTAuLmRiY2ViMjQxZTJkMWMw
Mjg4ZmIwMjg0ZGJjNzRjOGI4ODhiM2YzNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWFk
YXB0ZXJzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWFkYXB0ZXJzL3czYy1p
bXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
Y3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWVidWlsZGVycy93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL3czYy1pbXBvcnQubG9nCmluZGV4IDkwYzMxZWU0M2U1
MmQyYjFjOWU5Yjk3MTg4OGQzYjUxOTMxMGQ1YmEuLjJhNzY2MDIwYjc2NTkwNjRjMDZiMzUzYjBk
NmVlMjYzYzcxNjk3YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL3czYy1pbXBvcnQubG9nCkBA
IC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzND
IENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CkBAIC0xNiw3
ICsxNSw5IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1
bGliL3RyZWVidWlsZGVycy9fX2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL19f
aW5pdF9fLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL19iYXNlLnB5CisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi90cmVlYnVpbGRlcnMvX2Jhc2UucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVlYnVpbGRlcnMvZG9tLnB5
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9odG1sNWxpYi90cmVlYnVpbGRlcnMvZXRyZWUucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWVidWls
ZGVycy9ldHJlZV9seG1sLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWV3YWxrZXJzL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVld2Fsa2Vycy93M2MtaW1wb3J0LmxvZwppbmRl
eCA2MmFkNTRmNzA3YTExNjVlNDBlZTVkMTYxMDRkNzdkNTJhMjY5ZGNmLi40MzkxZjdjMDllNDIw
ZTJmMjdhYWU5YjI3ZDc2NzFjOWI3ODM4MjhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWV3
YWxrZXJzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvdzNjLWlt
cG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9j
c3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKQEAgLTE2LDYgKzE1LDcgQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVz
OgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvX19pbml0X18ucHkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWV3
YWxrZXJzL19faW5pdF9fLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvX2Jhc2UucHkKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL3RyZWV3YWxrZXJzL2RvbS5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvZXRy
ZWUucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJpZS93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRt
bDVsaWIvdHJpZS93M2MtaW1wb3J0LmxvZwppbmRleCBmYzkwZWYxNTRiYjVkNDNkZTYxM2QxYjcy
NWVkYWJkODU3NmY0YjE2Li44MmViZmVlNzQ1NTZlNTQ0NGZkY2NhMzJjZTZkMDc5YzRhYTFiNjNl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90cmllL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4g
V2ViS2l0IHRvIHJlaW1wb3J0CkBAIC0xNiw2ICsxNSwxMCBAQCBOb25lCiAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmllL19faW5pdF9fLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90cmllL19faW5pdF9fLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJpZS9fYmFzZS5weQorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRt
bDVsaWIvdHJpZS9fYmFzZS5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUvZGF0cmllLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90cmllL2RhdHJpZS5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUvcHkucHkKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGli
L3RyaWUvcHkucHljCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi93M2MtaW1wb3J0LmxvZwppbmRleCBhZTVjZTlhNDAzYWVhYWMyOTIxZjIwZDI4MWVh
YWNjNjFhMGE4ZGZkLi41NWMyZmEwNDM0M2E5MDRiMmZiYjA4NjI1NmI4ZTk4ZTg2MWNlNDVlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdzNj
LWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKQEAgLTE2LDEwICsxNSwxNiBAQCBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2Yg
ZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi9fX2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvX19pbml0X18ucHlj
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9odG1sNWxpYi9jb25zdGFudHMucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL2NvbnN0YW50cy5weWMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL2h0bWw1cGFyc2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9odG1sNXBhcnNlci5weWMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL2loYXRleG1sLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9pbnB1dHN0cmVhbS5weQorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRt
bDVsaWIvaW5wdXRzdHJlYW0ucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9zYW5pdGl6ZXIucHkKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1
bGliL3Rva2VuaXplci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdG9rZW5pemVyLnB5YwogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
dXRpbHMucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3V0aWxzLnB5YwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi91dGlscy93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvdXRpbHMvdzNjLWltcG9ydC5sb2cKaW5kZXggY2FkNzIyNjA4MTNlNWZm
NDViZjU1ZDBlMGE0YjI4MzM1OTYzOTQwNC4uNGI0ZjUyYjI4MmU0ODFkM2Q1NjQwMWRhNDBlMDdj
OGFlZDg4ZjFlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi91dGlscy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3V0
aWxzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi93M2MtaW1wb3J0
LmxvZwppbmRleCBmOTY0ZDk1MjRlNTk2Y2ZjMTNmZmJmNDY0ZGI4MjQwNGRkNWYzZjJhLi45MDU2
YTQyZGYzNDM0MjNiOTVjNGFjOWExOTRiMzlmNTg4MGZmYzUyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC9saW50LnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L2xpbnQucHkKaW5k
ZXggMDBmYTZhOWYwMTFjYTUyYjcyODdiZWFlNzgxYTJlMTQ0OGVkMmI3OC4uZWFjODhkNmQ1ZTBj
MTgxY2ViMDQyOTVjNDZiYzc4N2Y4YzMyMGM1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L2xpbnQucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L2xpbnQu
cHkKQEAgLTQ1LDcgKzQ1LDcgQEAgc2V0dXBfbG9nZ2luZygpCiAKIAogRVJST1JfTVNHID0gIiIi
WW91IG11c3QgZml4IGFsbCBlcnJvcnM7IGZvciBkZXRhaWxzIG9uIGhvdyB0byBmaXggdGhlbSwg
c2VlCi1odHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ibG9iL21hc3Rl
ci9kb2NzL2xpbnQtdG9vbC5tZAoraHR0cDovL3dlYi1wbGF0Zm9ybS10ZXN0cy5vcmcvd3JpdGlu
Zy10ZXN0cy9saW50LXRvb2wuaHRtbAogCiBIb3dldmVyLCBpbnN0ZWFkIG9mIGZpeGluZyBhIHBh
cnRpY3VsYXIgZXJyb3IsIGl0J3Mgc29tZXRpbWVzCiBPSyB0byBhZGQgYSBsaW5lIHRvIHRoZSBs
aW50LndoaXRlbGlzdCBmaWxlIGluIHRoZSByb290IG9mIHRoZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1
bW15L2Nzcy11bmlxdWUvbWF0Y2gvc3VwcG9ydC90b29scy93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9k
dW1teS9jc3MtdW5pcXVlL21hdGNoL3N1cHBvcnQvdG9vbHMvdzNjLWltcG9ydC5sb2cKaW5kZXgg
NzUzODU3NmMxMWM0MDkxNTc0MzZhNDJjZTRmZjc5OTUyYzU3NjkwMC4uOWUwYjAyODIxYTAyZmQ1
MTQ4YWZhNmQ2ZTgxZTk5YTZmN2MyNDY1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlx
dWUvbWF0Y2gvc3VwcG9ydC90b29scy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3Nz
LXVuaXF1ZS9tYXRjaC9zdXBwb3J0L3Rvb2xzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBA
QAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQg
Z2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVt
bXkvY3NzLXVuaXF1ZS9tYXRjaC9zdXBwb3J0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nz
cy11bmlxdWUvbWF0Y2gvc3VwcG9ydC93M2MtaW1wb3J0LmxvZwppbmRleCAxMmE2NjI1YTU1Yjgy
MDgyZTM4OWU2NTY3NDI4MjEwYjEzYjZhMjRhLi44NGY1YWIwOGZiOTg5ZGVlYmM1NTEwZDFkZWM4
ODRiNjQ5ZmUwMTRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9tYXRjaC9zdXBw
b3J0L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL21hdGNoL3N1cHBv
cnQvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMK
IAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL21hdGNoL3Rvb2xz
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvdG9vbHMvdzNjLWlt
cG9ydC5sb2cKaW5kZXggOTQ1MTNlMGRiMWJmYzI5MjgxMjVlZmU5YmRhNGE5MzkxNmYwY2ZjYy4u
NTBiZjllM2U3M2IwNzQ1NzE5MDNhMWJlNzhmMmYwY2RiOTU2ODJhYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3Rz
L2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvdG9vbHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1
bW15L2Nzcy11bmlxdWUvbWF0Y2gvdG9vbHMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBA
CiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBn
aXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1t
eS9jc3MtdW5pcXVlL21hdGNoL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUv
bWF0Y2gvdzNjLWltcG9ydC5sb2cKaW5kZXggZjZmNDE5YjBlZTRkOTVmNDE4ZjY3MWVhM2RhNjUy
MDAwOTc0NzIwMS4uOWFhMmU5MjJiODIyMWZmMmUwNzZlYzFiMDU2ZGIwNjE0MWFkM2I2YyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvdzNjLWltcG9ydC5sb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rl
c3RzL2R1bW15L2Nzcy11bmlxdWUvbWF0Y2gvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBA
CiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBn
aXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1t
eS9jc3MtdW5pcXVlL25vdC1tYXRjaC9zdXBwb3J0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15
L2Nzcy11bmlxdWUvbm90LW1hdGNoL3N1cHBvcnQvdzNjLWltcG9ydC5sb2cKaW5kZXggOGI2YjYz
ZWVkMmUwNTZlNGFhY2M4ZmI5NTMzNWE1OGIxMDFhYTQ5Ny4uYTZhMzIzNTlmOTU2YWM0Yzg5MGRk
YzIxNzE3MDNjMmY4NzA3ZTQ5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbm90
LW1hdGNoL3N1cHBvcnQvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUv
bm90LW1hdGNoL3N1cHBvcnQvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5p
cXVlL25vdC1tYXRjaC90b29scy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVl
L25vdC1tYXRjaC90b29scy93M2MtaW1wb3J0LmxvZwppbmRleCAwZGVmZjM4ZjZlYWZiN2U5Njc0
M2M4NzUyOThjZGZkZjJmOTBmNzc4Li4xOGU5ODQwMmQ4YTNmMThkOGJjZmFhM2YyOWEzMTZkZWMw
ZDg5NzlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0Y2gvdG9vbHMv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvbm90LW1hdGNoL3Rvb2xz
L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
UFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAK
IFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRv
IHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0Y2gvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9ub3QtbWF0Y2gvdzNjLWltcG9ydC5s
b2cKaW5kZXggNWM5ZGI4OTM5MzhiM2NjZDU1NWJhNGRjZDE3ZmY0NTljZTVmMTYxZS4uNjc2YmQx
NTA1YTI1MDBlOTQ1Y2I2YjgzMWRhZmQ4MTk5YWE5YWM4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15
L2Nzcy11bmlxdWUvbm90LW1hdGNoL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3Mt
dW5pcXVlL25vdC1tYXRjaC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0
cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5
LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlx
dWUvc2VsZWN0b3JzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvc2VsZWN0
b3JzL3czYy1pbXBvcnQubG9nCmluZGV4IGE5ZDBmMTY3N2E4OGU4MTM1NTExMWY2ZDkzODNlZDcx
MzQ3ZTE5ZGIuLmYyYzk2MzA2NjNlNTEzNGZhNTM3OTE4N2Q1ZDI3MzIwN2FkOWRlMjkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
bGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3NlbGVjdG9ycy93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQv
dGVzdHMvZHVtbXkvY3NzLXVuaXF1ZS9zZWxlY3RvcnMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyAr
MSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9y
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0
cy9kdW1teS9jc3MtdW5pcXVlL3N1cHBvcnQvdG9vbHMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVt
bXkvY3NzLXVuaXF1ZS9zdXBwb3J0L3Rvb2xzL3czYy1pbXBvcnQubG9nCmluZGV4IGIyYTRmZGQ2
OTZkNWY0ZDJlZTkyNGFjZjAyNTg3NmU2ZDg5YTRlYjYuLmQzMjgyNWNhN2ZhYjg5MGJhY2U5ZjJh
NzAwNGVkNGQ2YmRlYjQ4OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3N1cHBv
cnQvdG9vbHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvc3VwcG9y
dC90b29scy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dp
dGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Nzcy11bmlxdWUvc3VwcG9y
dC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3N1cHBvcnQvdzNjLWltcG9y
dC5sb2cKaW5kZXggNjRmNDU1ZTVhNTY1ODE2M2YyZGNjYThkNDQzY2FiNmE3ZmNkNjA0NC4uY2Ix
NzU2NDIzOGI3ODE3MmMxZDA2N2M0NmJmNWQzNmE1ZjhkMTUxNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1
bW15L2Nzcy11bmlxdWUvc3VwcG9ydC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3Nz
LXVuaXF1ZS9zdXBwb3J0L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1
ZS90b29scy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3Rvb2xzL3czYy1p
bXBvcnQubG9nCmluZGV4IDYxNDc3ZTk4ZGZjN2QzZjgyMmEzNjI3MzljZDY3NWRiZDVlN2Y2MWQu
Ljg0YmRlNTc3M2M3YTRmZTZiYWI1ZmQ0YjE4N2U2YjBkMWJhZGVlODggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0
cy9kdW1teS9jc3MtdW5pcXVlL3Rvb2xzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9j
c3MtdW5pcXVlL3Rvb2xzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzLXVuaXF1
ZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3czYy1pbXBvcnQubG9nCmlu
ZGV4IGM3OTk4M2FkN2JhNjk2NWY5YjA1NTI3Y2Q2YTRmMjJlNmU5OTZkNzkuLjM5NTcxMzg0NDNj
NjQxYWNjODU0MzljOWEwYzc4NmU3YWUyYjcwYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3Mt
dW5pcXVlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3MtdW5pcXVlL3czYy1pbXBv
cnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nz
d2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzL3dvcmstaW4tcHJvZ3Jlc3MvZm9vL3N1cHBvcnQv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvY3NzL3dvcmstaW4tcHJvZ3Jlc3MvZm9vL3N1cHBv
cnQvdzNjLWltcG9ydC5sb2cKaW5kZXggOWJkODlhYzgwMjAxM2JhMDQ4OWY3ZjAwZjZhY2IzNjFi
YWQxZTZjMS4uODc3YjgxNzc4YjVhMTY2NWQyM2VjMTYwMmE5YzhjMGEzZjI5NzgyMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9s
aW50L3Rlc3RzL2R1bW15L2Nzcy93b3JrLWluLXByb2dyZXNzL2Zvby9zdXBwb3J0L3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvbGludC90ZXN0cy9kdW1teS9jc3Mvd29yay1pbi1wcm9ncmVzcy9mb28vc3VwcG9ydC93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L3JlZi93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9k
dW1teS9yZWYvdzNjLWltcG9ydC5sb2cKaW5kZXggOTVlMTU2YmM3NGY4Yjc1ZTFhZjVlYWVlZTll
MWVkNGE4OWI5ZTYxNC4uNTYwMjc2MzQzNGNiNGYyYjMyNzU0MzRiNTg3NjI2ZGNiOGJlZDk2MyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9saW50L3Rlc3RzL2R1bW15L3JlZi93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkv
cmVmL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMv
ZHVtbXkvdzNjLWltcG9ydC5sb2cKaW5kZXggNmIzNTFlNDk4MTIxOTNiZGNmMDdiYmYwYTZjMzBi
ODcxM2E0YjdmNC4uZGJkZTJhY2FjYzc2N2I0OTg4MTUyOTkwN2ExY2Y4MGM3ZDZlYmM4NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9saW50L3Rlc3RzL2R1bW15L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9saW50L3Rlc3RzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL3czYy1pbXBvcnQubG9nCmlu
ZGV4IDBhMjBkMTIzZTc5Y2YxODdiYTE1OTY3OGM0NWM5NjM0YTdlZDRmZmIuLjZlMDI2N2YzNjRh
OTlmMjBlNzE2Zjc5NDRmYTUyZmYyODc4YWMwZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy93M2MtaW1wb3J0
LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2xpbnQvdGVzdHMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC93M2MtaW1w
b3J0LmxvZwppbmRleCAzZWRjMDU2MzEzZjg0ZDgzYTFiNTg3MmNkNjA4NmZiMjY2ZjQzOGRmLi4y
MjMwMGFjNDdhNDc1NDdhMzVmMDZhYWEwNmI2OTZkYzVhMzlmMmIzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdzNjLWlt
cG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9saW50L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xvY2FscGF0aHMucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xvY2FscGF0aHMucHkKaW5kZXgg
YTQ5MzAwMTVjMDVhZDk3NDE2YWM5NTIwYzE5NzE4OTVjOWM3MjYyMy4uYzkzMmVmNGI5MmYxYWJm
MTNhMjBjY2M2NTkzNTJjZGQ1MGMzZGUwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9sb2NhbHBhdGhzLnB5CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbG9jYWxwYXRocy5w
eQpAQCAtNSw2ICs1LDcgQEAgaGVyZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLnNwbGl0KF9f
ZmlsZV9fKVswXSkKIHJlcG9fcm9vdCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oaGVy
ZSwgb3MucGFyZGlyKSkKIAogc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihoZXJlKSkK
K3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4oaGVyZSwgImJyb3dzZXJ1dGlscyIpKQog
c3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihoZXJlLCAic2l4IikpCiBzeXMucGF0aC5p
bnNlcnQoMCwgb3MucGF0aC5qb2luKGhlcmUsICJodG1sNWxpYiIpKQogc3lzLnBhdGguaW5zZXJ0
KDAsIG9zLnBhdGguam9pbihoZXJlLCAid3B0c2VydmUiKSkKQEAgLTEyLDMgKzEzLDQgQEAgc3lz
LnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihoZXJlLCAicHl3ZWJzb2NrZXQiLCAic3JjIikp
CiBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKGhlcmUsICJweSIpKQogc3lzLnBhdGgu
aW5zZXJ0KDAsIG9zLnBhdGguam9pbihoZXJlLCAicHl0ZXN0IikpCiBzeXMucGF0aC5pbnNlcnQo
MCwgb3MucGF0aC5qb2luKGhlcmUsICJ3ZWJkcml2ZXIiKSkKK3N5cy5wYXRoLmluc2VydCgwLCBv
cy5wYXRoLmpvaW4oaGVyZSwgIndwdHJ1bm5lciIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9jYXRhbG9nL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9tYW5pZmVzdC9jYXRhbG9nL3czYy1pbXBvcnQubG9nCmluZGV4IDJiMGQzYzFjZTc3
NWJkMGNiNjU5OTgzMzc2MGI4YTc2MWE1ZjM4MjkuLmFmNGQzNzcxMWNmZThmNGE3YjU0NWVjODNm
MTM1OTgxMjczMGViMGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvY2F0YWxvZy93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlm
ZXN0L2NhdGFsb2cvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlm
ZXN0L3Rlc3RzL3czYy1pbXBvcnQubG9nCmluZGV4IDFkOGRmMGIxZmYwOWM2YTdhZTFiYTMwOWM4
YTIzYjEwZGJkYjExOGQuLjY5MjQ3Y2JlN2ZjNjk1YmY0NjBmMzJiZjI0YTFiNDllMWIzNWNhOTMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvbWFuaWZlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC90ZXN0cy93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9tYW5pZmVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdzNjLWltcG9ydC5sb2cKaW5kZXgg
MjNjZjNlYjMwN2ZjOTRkYWZjYzliMmRkNGI2Y2MzNzUzN2JhMDBkZC4uZDQzMmRlODc5Mjk4OTlj
ZjliYjljYmQ1NjYyOWUyZmExNDdhNzJiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC93M2MtaW1wb3J0LmxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21h
bmlmZXN0L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CkBAIC0xNiwxMSArMTUsMjAgQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvbWFuaWZlc3QvWE1MUGFyc2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9YTUxQYXJzZXIucHljCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9f
X2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvbWFuaWZlc3QvX19pbml0X18ucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9pdGVtLnB5CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9pdGVtLnB5YwogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3Qv
bG9nLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9tYW5pZmVzdC9sb2cucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9tYW5pZmVzdC9tYW5pZmVzdC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvbWFuaWZlc3QucHljCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9z
b3VyY2VmaWxlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9tYW5pZmVzdC9zb3VyY2VmaWxlLnB5YwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdXBkYXRlLnB5CisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC91cGRhdGUu
cHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9t
YW5pZmVzdC91dGlscy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvbWFuaWZlc3QvdXRpbHMucHljCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC92Y3MucHkKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3Zjcy5weWMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHkvYmVuY2gvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2JlbmNoL3czYy1pbXBvcnQubG9nCmluZGV4IGI2NmNi
ZGY2OWY4ODlhNzIyMTVjNDdmOTcwNjdlYTA3ZTBhNGFjNWYuLmI2NjY4MzY2MmM4MmI5NWVlNTk4
NTY2NjAyNWFhMDE5MzIwNGZjM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvYmVuY2gvdzNjLWltcG9ydC5sb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9iZW5j
aC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwog
CiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weS9kb2MvX3RlbXBsYXRlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL190ZW1w
bGF0ZXMvdzNjLWltcG9ydC5sb2cKaW5kZXggODVkZTg0NjdiYjhkMGNmYmFlNzhjZDhkNDcwYjli
NDk5MjA4ZjllZS4uZGZkNDI2NTAxMGNlNGQyZjdlZDIxYmQwYjMzZDlhMWE3NDM2ZjI0NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weS9kb2MvX3RlbXBsYXRlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2RvYy9fdGVtcGxhdGVzL3czYy1p
bXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
Y3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5L2RvYy9hbm5vdW5jZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2Fubm91bmNlL3czYy1p
bXBvcnQubG9nCmluZGV4IGQ5ODRiNWE1YTI0ZTIwOTVjYjZhOTY5MmU4ZjI3MWQ1ZjliNTA5Yzku
LmQwMjE2ZmZkNTIzNjk1ODEwYjY1MTY5M2I1MTg4ZGNkMjk5ZGQ1NzggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2Fu
bm91bmNlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2Fubm91bmNlL3czYy1pbXBvcnQubG9nCkBAIC0x
LDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENT
UyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2Rv
Yy9leGFtcGxlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weS9kb2MvZXhhbXBsZS93M2MtaW1wb3J0LmxvZwppbmRleCA4
MTkxMTUzMWQxYmIxZGU3MzJjNmI2Y2FkM2RmZGYzYzAyYWU2MDU5Li5hZjA2MjBhN2ZjNTljNDU4
ZjZmYWRmZjA1M2Q3NjFkYjJlZmEwZDRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L2RvYy9leGFtcGxlL3czYy1pbXBvcnQu
bG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHkvZG9jL2V4YW1wbGUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL2ltZy93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkv
ZG9jL2ltZy93M2MtaW1wb3J0LmxvZwppbmRleCA0NzJmOThkMTYxYzAxN2UzYmZhN2MwZTMwOWI3
NGU2ZjE0ZTJjNjJmLi41MWU2Zjc5ZjgxZTQyMDJmNzk5ZTA4ZWNmMTQwYjE5ZTViYzM5YjhhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5L2RvYy9pbWcvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9kb2MvaW1nL3czYy1pbXBvcnQubG9nCkBA
IC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzND
IENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
L2RvYy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHkvZG9jL3czYy1pbXBvcnQubG9nCmluZGV4IGUzYjJmN2EwNzcwZjU5
ZGU5NmU5YTAyZGNkMjVmM2Q3MDI1YWU2NmMuLjczY2Q1MWJmOWFiOWUzODlmNzk0ODNjODA2Yzk3
ZmJlNWU4YTA1NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvZG9jL3czYy1pbXBvcnQu
bG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1w
b3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3Rz
IGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ct
dGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgog
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5L3B5L19jb2RlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9fY29kZS93M2MtaW1wb3J0LmxvZwppbmRl
eCA3YzdhY2U5YjhiODQ5Y2IwYmJiN2M5OTg1ZWFmODZlMWYyZDY1Mjk0Li4yYWY3ZjgwZjFiM2Nk
MWZlZWU5ZjkyYzYzMTY1MDgxZTZiODgzZjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3B5L19jb2RlL3czYy1pbXBvcnQu
bG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHkvcHkvX2NvZGUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvX2lvL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9f
aW8vdzNjLWltcG9ydC5sb2cKaW5kZXggODFlMjhiZDIxMzk2NzM0YTQ0NzNhZWQxMDZhNjI4YmMw
MzFmZWM2Yy4uZWFmYmYxZjk0NzQ4NmY1ZDEyZWZjNDQ5ODg1Zjk2ZWJkYmJlMDcwNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eS9weS9faW8vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9faW8vdzNjLWltcG9ydC5sb2cKQEAgLTEsNyAr
MSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9y
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvX2xv
Zy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHkvcHkvX2xvZy93M2MtaW1wb3J0LmxvZwppbmRleCA1NTc3MzkwM2ZhN2I4
YjljOTY4MDA2MDVkZmM2ODE2ZGI3YjRjZGZjLi5jM2IzODI3MzkxMjYwYzI3ZjQ0MThhZjQ0YWNi
YTRmZTQ1ODE4NGU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3B5L19sb2cvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9fbG9nL3cz
Yy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQg
Z2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRo
ZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJl
aW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5L3B5L19wYXRoL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9fcGF0aC93M2MtaW1wb3J0
LmxvZwppbmRleCBmY2IxZmUxNzFjZTA5Y2IxMTJlZjE3YWI5MTgwMDlhMzNhMDFhZWIzLi44MzYw
ODQ4YzRhYzkyNTdkZjdhZjdiMTEwYjJkMGRjYzE1MjkwN2E4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3B5L19wYXRoL3cz
Yy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHkvcHkvX3BhdGgvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvX3Byb2Nlc3MvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5L3B5L19wcm9jZXNzL3czYy1pbXBvcnQubG9nCmluZGV4IDBhYThhMGNkYTA1MGZm
NGU0YzliYzlmMmMxN2U4M2EzMzdlMTkzN2MuLmUxZmZhNjA5OTlkNjA0ZmZjYzBiMGRiYjMwOWQz
NGMxNDJhN2Y5ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvX3Byb2Nlc3MvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS9fcHJv
Y2Vzcy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weS9weS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvcHkvdzNjLWltcG9ydC5sb2cK
aW5kZXggZmU5ZGFiMzA5MzZhZTNiNGNiNDIxOTI3ZmIzNGIxNTk4NzA0OTY1OS4uZjhhYTZhYTgz
YjQ3OGM4MjJlYmMzZGZhNzNjZTg2ZmU0ODkzMDk3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS9weS93M2MtaW1wb3J0Lmxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5L3B5L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvY29kZS93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGlu
Zy9jb2RlL3czYy1pbXBvcnQubG9nCmluZGV4IDUxMWYyOGE1MDFjNGJjMDE2MjYxMmExYTM1ZTE5
ZDdkNDBkZjAzZjMuLmVlNGFlMzdkMGQ3MzczMDBhYjlhMGJkOWIxN2I0MjYxODMwMjczZWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHkvdGVzdGluZy9jb2RlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9jb2RlL3czYy1pbXBv
cnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nz
d2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5L3Rlc3RpbmcvaW9fL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90ZXN0aW5nL2lvXy93M2MtaW1wb3J0
LmxvZwppbmRleCA2ZWU2ZGZiMzY1YWE4ZjEyNjk4OGNlMTQxMmM5MDExMWUwYzAxMTUxLi45YTQz
MDM5ZDUwODJjOGJiZGU2MDVjYWU2NzZhODE2Mjc5OTA1ZjA3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvaW9f
L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9pb18vdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2
IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQ
VCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9s
b2cvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvbG9nL3czYy1pbXBvcnQubG9nCmluZGV4IDNjODBiNWU5
M2U3MDdlMWU2N2EwNTYwNmVkMjk1ZGJlZTY3ZDRlMGEuLmZlZDkyNWE3YjY4MmQ4MDYyYjE3YzU2
ODY3NjA4OGM4NzBiNjg5M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy9sb2cvdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90
ZXN0aW5nL2xvZy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0
aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8g
Tk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczov
L2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90ZXN0aW5nL3BhdGgvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rl
c3RpbmcvcGF0aC93M2MtaW1wb3J0LmxvZwppbmRleCA1NGNhNDVjNWE2OTlmZDBlNDJlOTRjMzcz
ODViMWY2ZDE3NjUyOWZhLi5kY2E0OWY2Njg2ZDlhZTYzY2Q1MTY2YTkwYjk0OTk2MDg5MDU5NmI4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5L3Rlc3RpbmcvcGF0aC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvcGF0aC93M2Mt
aW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNj
L2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weS90ZXN0aW5nL3Byb2Nlc3MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvcHJvY2Vz
cy93M2MtaW1wb3J0LmxvZwppbmRleCA5ZjcyMjExYTAxZWE5ZWEzNjgxZGE5ZGNjNjU4NTkxNjlm
YWE0ZTEwLi41ZjgwNjBkOGRhNGQ0NTJmYzEwOTIzZmQ5YjBhMDY0YzRiZTg3MDE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
L3Rlc3RpbmcvcHJvY2Vzcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3RpbmcvcHJvY2Vzcy93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weS90ZXN0aW5nL3Jvb3QvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3Rpbmcvcm9vdC93M2MtaW1w
b3J0LmxvZwppbmRleCA0YWFmNTZhNzY5ODUzYTJiNmRmNDQ3NjJjYWRjNTg0YmI1MTAwNzc5Li45
ZmI5M2NiMjEwNDhmOGNlOTczN2Y5OWQ0ZDNkZWE4MzEwNDNmODg5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3Rpbmcv
cm9vdC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3Rpbmcvcm9vdC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3
ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mg
b3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS90ZXN0
aW5nL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weS90ZXN0aW5nL3czYy1pbXBvcnQubG9nCmluZGV4IDIwN2ZhYTgyYWI0
NjIyMDRlNmMzZTVmNjI4YWI3NDViNDk1YjA0YWQuLjY0MDE2YTZjZWQzMmZkZTkxNjMwZTFlYTU2
ZTM0NDZkYjdmOTk3MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdGVzdGluZy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3Rlc3Rpbmcv
dzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rv
cnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkg
dGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29t
L3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQ
VCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAog
VGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8g
cmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHkvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5L3czYy1pbXBvcnQubG9nCmluZGV4IDVlZTJj
MzE2YjMyNjE3OTJjNDdlMDY1Y2E3MGJkNGMzNTE2NGI0MzIuLjI2NTI4MWViODVhNjFjNTc5MTQz
MWVjNjFiYmY1NGY3MTIxN2Y3OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weS93M2MtaW1wb3J0
LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dn
LXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
IAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXRlc3QuaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QuaW5pCmluZGV4IGZkOTM4MzYzNzg0YmVhODM1YmNhMzQzYjUwM2Iy
ZGQxMWEwZWQ5MjAuLjhjYzNkNmYyMjM5NWE5MDE2MWEwNjIyOGNjNzZjNmI0MTc2NzVhMGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHl0ZXN0LmluaQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC5pbmkKQEAgLTEsMiArMSwyIEBACiBbcHl0ZXN0XQotbm9yZWN1
cnNlZGlycyA9IC4qIHthcmNofSAqLmVnZyBodG1sNWxpYiBweSBweXRlc3QgcHl3ZWJzb2NrZXQg
c2l4Citub3JlY3Vyc2VkaXJzID0gLioge2FyY2h9ICouZWdnIGh0bWw1bGliIHB5IHB5dGVzdCBw
eXdlYnNvY2tldCBzaXggd3B0cnVubmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L19jb2RlL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weXRlc3QvX3B5dGVzdC9fY29kZS93M2MtaW1wb3J0LmxvZwppbmRleCAwZjI1MDNmMmE4
YjBhNDgzNzk0NTA4NmE4MDdhZmM5NDJkZGI3NTQ1Li5iNTFlYWY2MDMxMTU5MzdlNWQyOWUyYjQ2
ZDM2YjUwZDgwMmFhZTY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L19jb2RlL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L19weXRlc3QvX2NvZGUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvYXNzZXJ0
aW9uL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC9hc3NlcnRpb24vdzNjLWltcG9ydC5sb2cKaW5k
ZXggYmM1ZmU4ZGVmODg0YTI4ZTY5ZjhhMWU1YTYxMjk2ZDdjYzYzZmZmYS4uOTBlMDdlZjFkMzJm
NDQ5NDcwZDY4NjJjMjEyMTdkZDFjMmVlN2Y4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC9hc3NlcnRp
b24vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC9hc3NlcnRpb24vdzNjLWltcG9ydC5sb2cK
QEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRl
ZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGly
ZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
M0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L19weXRlc3QvdmVuZG9yZWRfcGFja2FnZXMvcGx1Z2d5LTAuMy4xLmRpc3QtaW5mby93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvdmVuZG9yZWRfcGFja2FnZXMvcGx1Z2d5LTAuMy4xLmRp
c3QtaW5mby93M2MtaW1wb3J0LmxvZwppbmRleCBiMzliNzUxYTA3NmNhM2E4Y2FkNzc2NmY5ZjQ3
ZTM5ZDQ1OWMyZGYwLi5hNDU0ZjNiNzNjZGUwYTkwNDg1MDMyMmQwOTdlNzEzODFiNDYwYjUzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5dGVzdC9fcHl0ZXN0L3ZlbmRvcmVkX3BhY2thZ2VzL3BsdWdneS0wLjMuMS5kaXN0LWlu
Zm8vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC92ZW5kb3JlZF9wYWNrYWdlcy9wbHVnZ3kt
MC4zLjEuZGlzdC1pbmZvL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0ZXN0L3ZlbmRvcmVkX3Bh
Y2thZ2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC92ZW5kb3JlZF9wYWNrYWdlcy93M2MtaW1w
b3J0LmxvZwppbmRleCAxMDY1NmU2MTkxMDZlNGRkNWM4NjhmZDQ2YjVlOGUxZDk1N2ZkYjRhLi5i
NmY1M2M1YzEzMzJjNWE1YmUwNTk1OTJkYzM0OGJjODJhMzA5OTdiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9fcHl0
ZXN0L3ZlbmRvcmVkX3BhY2thZ2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvdmVuZG9y
ZWRfcGFja2FnZXMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L19weXRlc3QvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVz
dC9fcHl0ZXN0L3czYy1pbXBvcnQubG9nCmluZGV4IGE3YjgwMzA3NWUzMDE4MjdhYWNkMjZkNDFl
ZWZlMzQ4ZTE2ZGFmNTIuLjViYWI5MjAxOGYyMzFkNmI0N2E2NjEwMzBiYjJhMzRlYjI5YWQyZWIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcHl0ZXN0L19weXRlc3QvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvX3B5dGVzdC93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weXRlc3QvYmVuY2gvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9iZW5jaC93M2MtaW1wb3J0Lmxv
ZwppbmRleCA2NWExZmZkMTY3YTdiYmYwNjZhYjUwMTZjOWY2ZWY0YWU0NGVkODc0Li4zMzAzYWU2
NjU5YWViNzRhMzIwMzQyMmM4NTllNzVjNWFhOGY0ZTZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9iZW5jaC93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5dGVzdC9iZW5jaC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRo
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1J
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190ZW1w
bGF0ZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RlbXBsYXRlcy93M2MtaW1wb3J0LmxvZwpp
bmRleCAyOGNmOTdiNzJlY2Y1NmZlZWRjNDgyNWQxOWMyNDNjYWQzMTRlMzc2Li44MmRlYWE5ZTg3
YmY3ZjA1NDlmNTA1MDMzOGE4MjBkNGZmYWJjMTY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RlbXBs
YXRlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RlbXBsYXRlcy93M2MtaW1wb3J0Lmxv
ZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRl
c3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXRlc3QvZG9jL2VuL190aGVtZXMvZmxhc2svc3RhdGljL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9j
L2VuL190aGVtZXMvZmxhc2svc3RhdGljL3czYy1pbXBvcnQubG9nCmluZGV4IGViZWEyNjk5MWYw
ZWEzNGJlOGIwMmIzNjQyMzQxNDg5N2NjMmVhYjkuLjIzNWU2NzhiODlmZTVkMDczNTI0Y2VlNTBl
YmRmYTk2M2M0ZGI2YmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9fdGhlbWVzL2ZsYXNrL3N0YXRpYy93
M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vX3RoZW1lcy9mbGFzay9zdGF0aWMvdzNjLWltcG9y
dC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3
Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcHl0ZXN0L2RvYy9lbi9fdGhlbWVzL2ZsYXNrL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2Vu
L190aGVtZXMvZmxhc2svdzNjLWltcG9ydC5sb2cKaW5kZXggZWM2MDdiZWRiZDVjNGU1N2RmYWZl
YTljZDZlMDQ4MjIxODU1MDUwNC4uMjQ1MmUyOTA3Y2NlMGNmN2M1ZmZlMjA4ODhmOWU0NmUyMDlk
ZDllZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190aGVtZXMvZmxhc2svdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRl
c3QvZG9jL2VuL190aGVtZXMvZmxhc2svdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9fdGhl
bWVzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190aGVtZXMvdzNjLWltcG9ydC5sb2cKaW5kZXgg
ZjJkYWYwOGVjMGZjZmQ4OTY4MDliOThjY2YwMTRkZWFhMTY2ZjVkZi4uNWJjNzg1Yzk3MTUzNmM0
ZDBhMTcwMGRjNDRhODY5NTE1MDg3MzNiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190aGVtZXMvdzNj
LWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL190aGVtZXMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyAr
MSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9y
IFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRo
dWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2Rv
Yy9lbi9hbm5vdW5jZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9hbm5vdW5jZS93M2MtaW1wb3J0
LmxvZwppbmRleCA0MDMzMGY2OWQ4ZTQyZmU0OTljMWQwYzcwNDVkOGVlZDI3OWIzOTg3Li5iZDZj
YzAzOWI4YTYxYWQ3ZGZlNjNmYzc5ZjY4Y2YwZjQzNjA2NmYyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4v
YW5ub3VuY2UvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2Fubm91bmNlL3czYy1pbXBvcnQu
bG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1w
b3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3Rz
IGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ct
dGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgog
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9hc3NlcnRpb24vZ2xvYmFsX3Rlc3Rtb2R1bGVfY29u
ZmlnL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvYXNzZXJ0aW9uL2dsb2JhbF90ZXN0
bW9kdWxlX2NvbmZpZy93M2MtaW1wb3J0LmxvZwppbmRleCA5MGViOGRlY2NiOWNjN2Y5OTIxYTZm
ZTUyMGVkOGUxZjYxZjA0NjBmLi40NjUyZjRmNTQ0OTZjNWY4Nzg2N2M5OTBkNjAxNTc4MDVhMzgz
ZDU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9hc3NlcnRpb24vZ2xvYmFsX3Rlc3Rtb2R1
bGVfY29uZmlnL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Fzc2VydGlvbi9n
bG9iYWxfdGVzdG1vZHVsZV9jb25maWcvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgot
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFt
cGxlL2Fzc2VydGlvbi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Fzc2VydGlvbi93
M2MtaW1wb3J0LmxvZwppbmRleCA3MDRhNzljNzEwODFiNjJlOGIzNTM4NGZiNWEwOWIyOGY4MGRh
ZWU3Li45OTI0N2I3MDJkZGQ3YWNkNTYwNDUyZGM2NmI1ZDNmY2FhNDU0MjUxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVz
dC9kb2MvZW4vZXhhbXBsZS9hc3NlcnRpb24vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4
YW1wbGUvYXNzZXJ0aW9uL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0
bHlzZXR1cC9zdWIxL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvY29zdGx5c2V0dXAv
c3ViMS93M2MtaW1wb3J0LmxvZwppbmRleCBhOGJmYTYzNDJkOGI0MTFhMWEwMDk4ZDEyYmQyNTYx
YmU2Y2Y2NmI3Li4xYTBkMTFlY2NhZWEyNzk1ODAyNDEwYzUwNTU3NGQzM2QwNjgzNDE1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlzZXR1cC9zdWIxL3czYy1pbXBvcnQubG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVwL3N1YjEvdzNjLWltcG9ydC5sb2cKQEAgLTEs
NyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NT
IG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0
L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVwL3N1YjIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4v
ZXhhbXBsZS9jb3N0bHlzZXR1cC9zdWIyL3czYy1pbXBvcnQubG9nCmluZGV4IGMwMmQ3YjFhZjBl
NjA3NGMxNDJjNGMwZjg5ZmM3NWI4NDQyMmZmYjAuLmI1MDUzMTFmODU4NWExODcxMDFlMjYxMWNm
NWE2MGZlNjc2MzA5YTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL2Nvc3RseXNldHVwL3N1
YjIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvY29zdGx5c2V0dXAvc3ViMi93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvY29zdGx5c2V0dXAvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlzZXR1cC93M2MtaW1wb3J0LmxvZwppbmRleCAz
Y2FmOWQxNDRhN2I0ZTNjYjc5NTlhMmJiODA5MTQwZjg0NmFhZmZkLi5kZjRkYzg0ZDJiZDhkYzA0
Mzc0ZjUxYjdkMjBjYmM1ZGExODVjNDkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0
bHlzZXR1cC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9jb3N0bHlzZXR1cC93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20v
dzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvbGF5b3V0MS93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L2RvYy9lbi9leGFtcGxlL2xheW91dDEvdzNjLWltcG9ydC5sb2cKaW5kZXggZjNmOGZiZWYz
MzAwMjgwNGNlMjkzNGQ2MTQ4NTIyZGJiMTM0NDIyYS4uY2YyNjkwNWRlNTRiN2ExZWQ4MGJkZTRj
NDdmMzg5ZTIyMmQ2OTg2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvbGF5b3V0MS93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhhbXBsZS9sYXlvdXQxL3czYy1pbXBvcnQubG9nCkBA
IC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzND
IENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5
dGVzdC9kb2MvZW4vZXhhbXBsZS9ub25weXRob24vdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhh
bXBsZS9ub25weXRob24vdzNjLWltcG9ydC5sb2cKaW5kZXggMWQxOGU1MWJjZDg3ZjY3MTVjMWI3
ODExNWE5MzBiYjg5ZTgxNjg2NS4uZTI5ZTZlMGFiMzk5YTQ5N2ZmOGNlZjA2MGYzNWRlZDM0NTU1
MWI3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvbm9ucHl0aG9uL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L2RvYy9lbi9leGFtcGxlL25vbnB5dGhvbi93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsx
LDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3Ig
V1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9j
L2VuL2V4YW1wbGUvcHkycHkzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvcHkycHkz
L3czYy1pbXBvcnQubG9nCmluZGV4IGExZmY5YjFhODEzOGEwOTlmYTljZGEyZWY0ZGZjNmMzZDg5
ODAzMTguLjk4MzBjZTM3YzJmMTA0NGU5NmY1ODljZWIyNjA5ZWU0ZWNkOTA5YTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L2RvYy9lbi9leGFtcGxlL3B5MnB5My93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vZXhh
bXBsZS9weTJweTMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6
Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9leGFtcGxlL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvdzNjLWltcG9ydC5sb2cKaW5kZXggYjYxMjg3ZTE0Mjdm
NmIxZTdkMDk2NWNhMzRhY2E0MDZjYTQ4ZWM0OC4uNTkwOWZkMTU1MjQwZTE3NDFiMTFlM2FiOTg0
MTVhMWZmZWRiNzhlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL2V4YW1wbGUvdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eXRlc3QvZG9jL2VuL2V4YW1wbGUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9pbWcvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3B5dGVzdC9kb2MvZW4vaW1nL3czYy1pbXBvcnQubG9nCmluZGV4IDkyMmQ0MzU5OTM1
YzI3ODBmMDdmZDU0ZmNiYTYwMGNhOGQyODM1ZTAuLjNjOWYyMjFkNzY0NDRjYWFlZWJjZjJjNmJl
YmQ5MDBkOGMzNDAwMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi9pbWcvdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRl
c3QvZG9jL2VuL2ltZy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgog
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3Rlc3QvcGx1Z2luL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weXRlc3QvZG9jL2VuL3Rlc3QvcGx1Z2luL3czYy1pbXBvcnQubG9nCmluZGV4IDc5
MmM1NGZlZmY4MDc3MDUwNDcwMzFlNDc3YWRkY2RmMGY3MjNlYzMuLmEwM2ZlOGQ4MzdlYWMyZGEz
MDNlZjMxNjZiMzAwNjIzZWI0OTdiNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi90ZXN0L3BsdWdpbi93
M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vdGVzdC9wbHVnaW4vdzNjLWltcG9ydC5sb2cKQEAg
LTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBm
cm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0
bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0Mg
Q1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L2RvYy9lbi90ZXN0L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3Rlc3QvdzNjLWltcG9ydC5s
b2cKaW5kZXggMjExMmUzNzZkM2EyZTVjZjA5NTAwY2FjNTU5Yjk3NWEwOGQxZmQ4Ny4uZTg0ZmE5
ZmVlNzhmNDY0OGMzMTRiMzlkNjA1MDFkZDhkM2Y2ZmVjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3Rl
c3QvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZG9jL2VuL3Rlc3QvdzNjLWltcG9ydC5sb2cKQEAgLTEs
NyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NT
IG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9n
aXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0
L2RvYy9lbi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2RvYy9lbi93M2MtaW1wb3J0LmxvZwppbmRleCA3YWVk
OWEyNGJlM2VkNTcwMmNkYmQxZThiNzkyNjkxNTk3NGY3NzZlLi5lNGE2ZWM2M2ZkNDFhOWE3NDI2
MWZmZGM2ZjVkMWQxMjAxYjBhNjVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9kb2MvZW4vdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eXRlc3QvZG9jL2VuL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9leHRyYS9zZXR1cC1weS50ZXN0L3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weXRlc3QvZXh0cmEvc2V0dXAtcHkudGVzdC93M2MtaW1wb3J0LmxvZwppbmRleCBm
NGIzZmRmYjRjNDg5ZDRjZWYwN2QzNDQ0NzBmZjMxNWEwMGNlYWI1Li5iMDQyNDQxOGEzYjY2NzZh
MTY5OTNkM2NjNGRkZWUxYzZmYzdiMjVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC9leHRyYS9zZXR1cC1weS50ZXN0
L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHl0ZXN0L2V4dHJhL3NldHVwLXB5LnRlc3QvdzNjLWltcG9ydC5sb2cK
QEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRl
ZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGly
ZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
M0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0
cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRv
b2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L2V4dHJhL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZXh0cmEvdzNjLWltcG9ydC5sb2cKaW5kZXgg
N2M0Y2I5OWFjMTdiODQzOWIzMTFiM2Q1OTNkZGM4N2ZmMzg1MGJhYi4uZDAyODQ4MGU5MDczNTkw
NGVlZmQzZTE3M2VjMDFiNzAwM2QwMjY2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvZXh0cmEvdzNjLWltcG9ydC5s
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXRlc3QvZXh0cmEvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvY29kZS93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcHl0ZXN0L3Rlc3RpbmcvY29kZS93M2MtaW1wb3J0LmxvZwppbmRleCA2NDk2OTM4MWMyNTEz
YjQxY2E1NzY0OWZmZTU0NGJlNDc1MDNiMDM4Li4wYjgyZTY0NjQwMTUwYWEyNGE1YjY4YjAxMmRi
NTg2NTRhY2I2NjUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5nL2NvZGUvdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRl
c3QvdGVzdGluZy9jb2RlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5nL2N4X2ZyZWV6ZS90
ZXN0cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3Rlc3RzL3czYy1pbXBvcnQu
bG9nCmluZGV4IGM3NjUxNjczMDY3Y2QwNmM4MjQzNWFlM2I3OGQ1NzA2NmQxZDM5OWMuLmRmYTg1
NTRhMTNkZDM0YTRlMDk1MTc1MjRhZGU1MGIyZDliMDFiMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3Rpbmcv
Y3hfZnJlZXplL3Rlc3RzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3Rl
c3RzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5nL2N4X2ZyZWV6ZS93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0
ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3czYy1pbXBvcnQubG9nCmluZGV4IDA5MzY4YzE2MDljM2Rj
YWEzYWZlZTY3OTA0ZTdhZjBkMDdiOGJjNDcuLjdiMjIzZmYwOTJkZWY2NzFkNjdlYjI1ZWI4MDY0
ZjQxZjg1MTI4NDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L3Rlc3RpbmcvY3hfZnJlZXplL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAog
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5nL3B5
dGhvbi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvcHl0aG9uL3czYy1pbXBvcnQubG9nCmluZGV4
IGZhZTRkYzc5YTE3ZDQ3ZTM2YmE2NGIxNWZkZGRhODg2MjVkN2U1MDMuLjhiNGVhYjA1YWZhOWVh
YzZkOTcwNDAyNjc4ZjA4MWZhMzYzODdkYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvcHl0aG9uL3cz
Yy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHl0ZXN0L3Rlc3RpbmcvcHl0aG9uL3czYy1pbXBvcnQubG9nCkBAIC0xLDcg
KzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBv
ciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90
ZXN0aW5nL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdGVzdGluZy93M2MtaW1wb3J0LmxvZwppbmRleCBjNGEz
MjBlYTQ1NzZjNmMxNTAxZWMzMWYzZDcxYzZhMGFlYmQ1ZmZmLi42YzAyMWMxZDBiOGQ5YTcwN2Jm
ZDJkZWQ5Y2NiNWQ5NzZmMTljZWIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC90ZXN0aW5nL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHl0ZXN0L3Rlc3RpbmcvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl0ZXN0L3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QvdzNj
LWltcG9ydC5sb2cKaW5kZXggY2U3MzYzNjNjODFiYzM5MDc1MjQ5Y2Y1NjUxZmFmZTc3OGY2YWQ5
Yy4uMjhkYjcyZjBkODUzYzU2ZmRkZWRhZjc4ZGRjYzEzYmIyMmI5N2Q3OCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3Qv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXRlc3QvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6
Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL2V4YW1w
bGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9leGFtcGxlL3czYy1pbXBvcnQubG9nCmluZGV4
IGIyMTBiYTVlZmEzMzNlZjY4YjJkZDNmZWFjNGU3YjgyZDI2YmRjNWMuLmRmMWY3OTliYzQxYzRh
YzEwYzU4NmM3MWJjYTNjYmIzMDljMWI5YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL2V4YW1wbGUv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvZXhhbXBsZS93M2MtaW1wb3J0LmxvZwpAQCAt
MSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBD
U1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0lu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdl
YnNvY2tldC9zcmMvbW9kX3B5d2Vic29ja2V0L2hhbmRzaGFrZS93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2Nr
ZXQvc3JjL21vZF9weXdlYnNvY2tldC9oYW5kc2hha2UvdzNjLWltcG9ydC5sb2cKaW5kZXggNjFk
MzUwZjgxMDFiOTE5Y2I2YWE1OGI0NzM4YTFhYTgwYzhjZGZkMS4uMWZmOGM3YTc0MjYzM2RhOWE1
NjQ5Y2IxZjM5YzYwMjlkMTJiOTI1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvbW9kX3B5d2Vic29j
a2V0L2hhbmRzaGFrZS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9tb2RfcHl3ZWJzb2Nr
ZXQvaGFuZHNoYWtlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9tb2RfcHl3ZWJzb2Nr
ZXQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy9tb2RfcHl3ZWJzb2NrZXQvdzNjLWltcG9ydC5s
b2cKaW5kZXggM2QzNTk5Mzc3OWI1YWY4ZmZjOWJkNGM0ZjI5ZGIwNjhkM2E2MWY4My4uMzUyOTQ1
ZDQzNzNmNmM4ZDVjNTYxZmU1MGI0YmQ1ZmY5MzYxNWE0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMv
bW9kX3B5d2Vic29ja2V0L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL21vZF9weXdlYnNv
Y2tldC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC9jZXJ0L3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9w
eXdlYnNvY2tldC9zcmMvdGVzdC9jZXJ0L3czYy1pbXBvcnQubG9nCmluZGV4IGE2MGQwNzhhZjRi
Y2Y2M2M3NTA2YmViY2M3OWM3ZmZkNzRkZWRiMzYuLjdiZDcwM2Q4MjFlYTViYWVlMTU1NjExZWU4
NDdmMjcwY2JhMjZmNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL3Rlc3QvY2VydC93M2MtaW1wb3J0
LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L2NlcnQvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2
IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQ
VCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQv
c3JjL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMv
dGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIvdzNjLWltcG9ydC5sb2cKaW5kZXggMTJlNzcwYzNi
ZTRkNDkxMGY1OWY2NDc3MGVhNmI5OWMwZGYyMzM1MC4uNGFkM2YyZTg1OTEwY2I2N2NhMjM2YjE0
M2ZkMTBhNWEyNzdlZGVkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS9oYW5k
bGVycy9zdWIvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS9oYW5k
bGVycy9zdWIvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL3Rlc3QvdGVzdGRhdGEvaGFu
ZGxlcnMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3cz
Yy1pbXBvcnQubG9nCmluZGV4IGVjYmZjYzk5NjgxM2M5MzRmZjk5NzQ4NjkzMTllMWQwNGEzYmNj
M2UuLjU0MDI4YWU0Nzc2Y2Q2NzlkZjNiNDM0NjhjNzE2MzFhMTVhZjBiMTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJz
b2NrZXQvc3JjL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tl
dC9zcmMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYg
QEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BU
IGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9z
cmMvdGVzdC90ZXN0ZGF0YS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL3Rlc3QvdGVzdGRhdGEv
dzNjLWltcG9ydC5sb2cKaW5kZXggNjczNjhkZWJjYzg1Mjk5ZDY2MTM1NDg1NTIwZGFhZTE3NzBi
YTkzOC4uYWU1MzFmOTEzNDFmODZmYWFlNDgxMGE3YzAyMzRmNjc0MDdiMzJhMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdl
YnNvY2tldC9zcmMvdGVzdC90ZXN0ZGF0YS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90
ZXN0L3Rlc3RkYXRhL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXdlYnNvY2tldC9zcmMvdGVzdC93M2MtaW1wb3J0LmxvZwppbmRleCAzMzIwOGM1NGFmYjM2
MDNiNjEyMDA3NTBhODQ2MWRkMDc1NmY4ZGE2Li44ZWU3MjQwZGEyODk5MjIzYzZjMjI0OTk3MzZh
Y2JkYzYzYWZkNTgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3B5d2Vic29ja2V0L3NyYy90ZXN0L3czYy1pbXBvcnQubG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3
ZWJzb2NrZXQvc3JjL3Rlc3QvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHl3ZWJzb2NrZXQvc3JjL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9weXdlYnNvY2tldC9zcmMvdzNjLWltcG9ydC5sb2cKaW5kZXggYjdkZDUzNDA3NTI1MDRlN2Zl
NjM0YjVkNWU4Y2Q5MGJiZjBjMmVjYy4uN2QzMmE2YjZiYmJmODZjZTg4Y2U2OWFiYzNkZTVhNTM0
MDAxNmM2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9weXdlYnNvY2tldC9zcmMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXdlYnNvY2tldC9z
cmMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMK
IAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL2Nzcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL2Nzcy93M2MtaW1w
b3J0LmxvZwppbmRleCBkMzFmYmIxZTJiZmM3M2IyNmNjZDAwY2NkZDVlNTIyYzE4MmU1Yzk1Li5j
NWYzZDQ3ZTljYjdiNDE1ZGVhZDdmZDFiODNlM2U5YzJlZGY5NjE2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3J1bm5lci9jc3Mv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9ydW5uZXIvY3NzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAog
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3J1bm5lci9mb250cy93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcnVubmVyL2ZvbnRzL3czYy1pbXBvcnQubG9nCmluZGV4IDczOTZhMjkwYzRiOWY4NmY2
MDlhYTM5ODQwM2IxNjJhZjViZTRiYjkuLmU4MzI3YmJjOGQ1MmZkZTA0ODU0NGUyMDBlMmU1YWVj
NTc0NDFhNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcnVubmVyL2ZvbnRzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL2ZvbnRzL3cz
Yy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQg
Z2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRo
ZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJl
aW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3J1bm5lci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL3czYy1pbXBvcnQubG9nCmluZGV4
IGEzYzFiYjVhMWQ3YjQ3ODMxNzBkODE4NDA5Njg0Zjg5MThkOTI1ZTIuLjQ1MWVlMjllNjcxNDFm
NzAyYTIzZjc3ZDc2MTk0YWVmNzdiZWIxZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL3czYy1pbXBvcnQubG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVu
bmVyL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3NjcmlwdHMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NjcmlwdHMvdzNjLWltcG9ydC5s
b2cKaW5kZXggNmMxZmUxZjJjNDQwMzBhZmMzNjNiOTYwZjE1MTU0NmU4ZDIyOGRmZS4uMTMyNjU3
M2U5ODU3YTNjNDE0MDRlYWQyZjg1NzE5NDM2NWI3ZTBhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zY3JpcHRzL3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvc2NyaXB0cy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgog
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zZXJ2ZS93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2VydmUvdzNjLWlt
cG9ydC5sb2cKaW5kZXggZDQ0YWUzOTg4N2U3NGNmZDJlNTdiNTUwZjI4NTUxMzFiODlmZjQ0NS4u
YjI4MTgwOTdjOTU0NGQ4YmI1NTg3NDkzODUyOTZlODAwZmIwMTM0OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zZXJ2ZS93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3NlcnZlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NpeC9kb2N1bWVudGF0aW9uL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9zaXgvZG9jdW1lbnRhdGlvbi93M2MtaW1wb3J0LmxvZwppbmRleCBkODRiZWNhYThiNDFkZGMx
NjlmMGI1NzkwNTEwZWQxZmRlZGIxYTkzLi5mMGQ3Yjc4ZmI1MTYwODVjYTBhNzNiMDQ1NDgwMDZl
N2E1MjFlZjMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3NpeC9kb2N1bWVudGF0aW9uL3czYy1pbXBvcnQubG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4L2RvY3Vt
ZW50YXRpb24vdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zaXgvdzNjLWltcG9ydC5sb2cK
aW5kZXggYzJkNDYwNTBhZDlmMzAxZDk0NWMwNzliMzMzMGI0OGVhMWNjYzU4YS4uNzU1MzMwZWFi
Y2ZlOTY5ZTJlMjUzYWRmMTgwZDEzZjQ1ZjNjODkzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zaXgvdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9z
aXgvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMK
IAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKQEAgLTIzLDUgKzIyLDYgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NpeC9zZXR1cC5jZmcKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NpeC9zZXR1
cC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
c2l4L3NpeC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvc2l4L3NpeC5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3NpeC90ZXN0X3NpeC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2l4L3RveC5pbmkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc3NsdXRpbHMvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3NzbHV0aWxzL3czYy1pbXBvcnQubG9nCmluZGV4IGIyMTVhMmRjZTA5OGU5NWE5OWRlMWRj
OTBiZDM2Mzc0YWY1N2ZkN2EuLjM0NzhkZTk3NjQ5MzYzMDY4YmU2ODhhYjEyYThlM2ZjMTNlYWQy
OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvc3NsdXRpbHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zc2x1dGlscy93M2MtaW1wb3J0LmxvZwpA
QCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFcz
QyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QK
K0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRw
czovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
b3guaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90b3guaW5pCmluZGV4IDRkNzI2MzBiMmE4MzcwNjIwZDYwNmYwMzdlODYxZDJiMTg2ZWIzMDku
LjFlYTMwYTVkYTE4NjE2YTEyZjY0MzI4OWE5MGUwNjc2MGQ5NDljODcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdG94LmluaQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Rv
eC5pbmkKQEAgLTIxLDQgKzIxLDQgQEAgcGFzc2VudiA9CiBbZmxha2U4XQogaWdub3JlID0gRTEy
OCxFMTI5LEUyMjEsRTIyNixFMjMxLEUyNTEsRTI2NSxFMzAyLEUzMDMsRTMwNSxFNDAyLEU5MDEs
RjQwMSxGODIxLEY4NDEKIG1heC1saW5lLWxlbmd0aCA9IDE0MQotZXhjbHVkZSA9IC50b3gsaHRt
bDVsaWIscHkscHl0ZXN0LHB5d2Vic29ja2V0LHNpeCxfdmVudix3cHRzZXJ2ZS9kb2NzLHdwdHNl
cnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC8KK2V4Y2x1ZGUgPSAudG94LGh0bWw1bGliLHB5
LHB5dGVzdCxweXdlYnNvY2tldCxzaXgsX3ZlbnYsd2ViZW5jb2RpbmdzLHdwdHNlcnZlL2RvY3Ms
d3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC9kb2Nyb290Lyx3cHRydW5uZXIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3czYy1pbXBvcnQubG9nCmluZGV4IGI1MzE5ZDFhNjIxNjk4ZTcxM2Y5OWU0YjQ3NDY3NGIz
NDdkNjFkN2QuLjEzNDA5M2FjMjcxMjcyNTZkNDBmZTBmNjg3ZWJhYzk0ZGQzYjgxZDAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgog
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRw
czovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydApAQCAtMTUsNyArMTQsNiBAQCBQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBv
ZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL0xJQ0VOU0UKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL19faW5pdF9fLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9fX2luaXRfXy5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2FwcHZleW9yLnltbApAQCAtMjQsMyArMjIsNCBAQCBMaXN0
IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvbG9jYWxwYXRocy5weWMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3B5dGVzdC5pbmkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RveC5pbmkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bi5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvUkVBRE1F
Lm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
ZWJkcml2ZXIvUkVBRE1FLm1kCmluZGV4IDE5NDAwOWY4YTA0ZDYxZTY4Nzg4NTkyOTc0ODY3NzA1
ZjM2OGY4YWIuLjAxNWIzMWIyNTRjZTFiZGQ4MGMyNWUzZmQzY2Q5Njg3MDhhMTI5ZTUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d2ViZHJpdmVyL1JFQURNRS5tZAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci9SRUFETUUubWQKQEAgLTMzLDkgKzMzLDcgQEAg
d2hpY2ggaXMgdXNlZnVsIGlmIHlvdSB3YW50IHRvIGNvbnRyaWJ1dGUgcGF0Y2hlcyBiYWNrOgog
SWYgeW91IGFyZSB3cml0aW5nIFdlYkRyaXZlciBzcGVjaWZpY2F0aW9uIHRlc3RzIGZvcgogW1dQ
VF0oaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMpLAogdGhlcmUgaXMg
bm8gbmVlZCB0byBpbnN0YWxsIHRoZSBjbGllbnQgbWFudWFsbHkKLWFzIGl0IGlzIHBpY2tlZCB1
cCBhcyBhIHN1Ym1vZHVsZSB0bwotW3dwdC10b29sc10oaHR0cHM6Ly9naXRodWIuY29tL3czYy93
cHQtdG9vbHMpCi10aGF0IGlzIGNoZWNrZWQgb3V0IGluIGAuL3Rvb2xzYC4KK2FzIGl0IGlzIGlu
Y2x1ZGVkIGluIHRoZSBgdG9vbHMvd2ViZHJpdmVyYCBkaXJlY3RvcnkuCiAKICMjIFVzYWdlCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd2ViZHJpdmVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvdzNjLWltcG9ydC5sb2cKaW5kZXgg
MTE3N2ZkN2Y1ZTVjMzc0YmMwNWI3NDlkOTViZTA3NTgzNTc3NjlmOS4uZDkzNDFhNzcyZDkxMGFk
ZWY4ZmJkNGMxODJjODc5NDM5OTkxZmZlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
ZWJkcml2ZXIvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9n
aXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZlci9jbGllbnQucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZl
ci93ZWJkcml2ZXIvY2xpZW50LnB5CmluZGV4IGQzMjcwOTlmYmE0ODEzZjBiMmI3ZGI5ODJhZjE2
ZDMzYTc1ZjliYmEuLmM5NDhjOGU0MThlZWE2MGE4ZmI1YzI3NTE3YjBlZmUxNWE2Njg4NmEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd2ViZHJpdmVyL3dlYmRyaXZlci9jbGllbnQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvd2ViZHJpdmVyL2NsaWVu
dC5weQpAQCAtNTk1LDEyICs1OTUsOCBAQCBjbGFzcyBFbGVtZW50KG9iamVjdCk6CiAgICAgICAg
IHNlbGYuc2VuZF9lbGVtZW50X2NvbW1hbmQoIlBPU1QiLCBzZWxmLnVybCgiY2xlYXIiKSwge30p
CiAKICAgICBAY29tbWFuZAotICAgIGRlZiBzZW5kX2tleXMoc2VsZiwga2V5cyk6Ci0gICAgICAg
IGlmIGlzaW5zdGFuY2Uoa2V5cywgKHN0ciwgdW5pY29kZSkpOgotICAgICAgICAgICAga2V5cyA9
IFtjaGFyIGZvciBjaGFyIGluIGtleXNdCi0KLSAgICAgICAgYm9keSA9IHsidmFsdWUiOiBrZXlz
fQotICAgICAgICByZXR1cm4gc2VsZi5zZW5kX2VsZW1lbnRfY29tbWFuZCgiUE9TVCIsICJ2YWx1
ZSIsIGJvZHkpCisgICAgZGVmIHNlbmRfa2V5cyhzZWxmLCB0ZXh0KToKKyAgICAgICAgcmV0dXJu
IHNlbGYuc2VuZF9lbGVtZW50X2NvbW1hbmQoIlBPU1QiLCAidmFsdWUiLCB7InRleHQiOiB0ZXh0
fSkKIAogICAgIEBwcm9wZXJ0eQogICAgIEBjb21tYW5kCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93ZWJkcml2
ZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93ZWJkcml2ZXIvdzNjLWltcG9ydC5sb2cKaW5kZXggOTZi
YjZmNjBkYzA0NzBjNDQzZWQ1ZTY3MmI2MDM5ZTFlYmNlNGUxMC4uOGVhMzMzNmI3Yjc1NWI4Zjdj
ZDRmMTRiM2I3ZWI5ZTcyYzU1MWY5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvd2ViZHJpdmVyL3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZlci93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAK
IFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyBy
ZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQu
Ci1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdp
dGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW4ucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bi5weQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yZTM5M2QxY2NiZDUzZjVjZWU5ZDJjMjQzNWIxYmE5Nzg5YTcyY2ZkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW4ucHkKQEAgLTAsMCArMSwyNTkgQEAKK2ltcG9ydCBhcmdwYXJzZQoraW1w
b3J0IG9zCitpbXBvcnQgc2h1dGlsCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworaW1w
b3J0IHRhcmZpbGUKK2Zyb20gZGlzdHV0aWxzLnNwYXduIGltcG9ydCBmaW5kX2V4ZWN1dGFibGUK
KworZnJvbSB0b29scyBpbXBvcnQgbG9jYWxwYXRocworZnJvbSBicm93c2VydXRpbHMgaW1wb3J0
IGJyb3dzZXIsIHV0aWxzLCB2aXJ0dWFsZW52Citmcm9tIHdwdHJ1bm5lciBpbXBvcnQgd3B0cnVu
bmVyLCB3cHRjb21tYW5kbGluZQorbG9nZ2VyID0gTm9uZQorCit3cHRfcm9vdCA9IG9zLnBhdGgu
YWJzcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIikpCisK
KworY2xhc3MgV3B0cnVubmVySGVscEFjdGlvbihhcmdwYXJzZS5BY3Rpb24pOgorICAgIGRlZiBf
X2luaXRfXyhzZWxmLAorICAgICAgICAgICAgICAgICBvcHRpb25fc3RyaW5ncywKKyAgICAgICAg
ICAgICAgICAgZGVzdD1hcmdwYXJzZS5TVVBQUkVTUywKKyAgICAgICAgICAgICAgICAgZGVmYXVs
dD1hcmdwYXJzZS5TVVBQUkVTUywKKyAgICAgICAgICAgICAgICAgaGVscD1Ob25lKToKKyAgICAg
ICAgc3VwZXIoV3B0cnVubmVySGVscEFjdGlvbiwgc2VsZikuX19pbml0X18oCisgICAgICAgICAg
ICBvcHRpb25fc3RyaW5ncz1vcHRpb25fc3RyaW5ncywKKyAgICAgICAgICAgIGRlc3Q9ZGVzdCwK
KyAgICAgICAgICAgIGRlZmF1bHQ9ZGVmYXVsdCwKKyAgICAgICAgICAgIG5hcmdzPTAsCisgICAg
ICAgICAgICBoZWxwPWhlbHApCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgcGFyc2VyLCBuYW1l
c3BhY2UsIHZhbHVlcywgb3B0aW9uX3N0cmluZz1Ob25lKToKKyAgICAgICAgZnJvbSB3cHRydW5u
ZXIgaW1wb3J0IHdwdGNvbW1hbmRsaW5lCisgICAgICAgIHdwdHBhcnNlciA9IHdwdGNvbW1hbmRs
aW5lLmNyZWF0ZV9wYXJzZXIoKQorICAgICAgICB3cHRwYXJzZXIudXNhZ2UgPSBwYXJzZXIudXNh
Z2UKKyAgICAgICAgd3B0cGFyc2VyLnByaW50X2hlbHAoKQorICAgICAgICBwYXJzZXIuZXhpdCgp
CisKKworZGVmIGNyZWF0ZV9wYXJzZXIoKToKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVu
dFBhcnNlcigpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgicHJvZHVjdCIsIGFjdGlvbj0ic3Rv
cmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iQnJvd3NlciB0byBydW4gdGVzdHMg
aW4iKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoInRlc3RzIiwgYWN0aW9uPSJzdG9yZSIsIG5h
cmdzPSIqIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8gdGVzdHMgdG8g
cnVuIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCJ3cHRydW5uZXJfYXJncyIsIG5hcmdzPWFy
Z3BhcnNlLlJFTUFJTkRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkFyZ3VtZW50
cyB0byBwYXNzIHRocm91Z2ggdG8gd3B0cnVubmVyIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50
KCItLXllcyIsICIteSIsIGRlc3Q9InByb21wdCIsIGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZWZh
dWx0PVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEb24ndCBwcm9tcHQgYmVm
b3JlIGluc3RhbGxpbmcgY29tcG9uZW50cyIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS13
cHRydW5uZXItaGVscCIsCisgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249V3B0cnVubmVy
SGVscEFjdGlvbiwgZGVmYXVsdD1hcmdwYXJzZS5TVVBQUkVTUywKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9IlByaW50IHdwdHJ1bm5lciBoZWxwIikKKyAgICByZXR1cm4gcGFyc2VyCisK
KworZGVmIGV4aXQobXNnKToKKyAgICBsb2dnZXIuZXJyb3IobXNnKQorICAgIHN5cy5leGl0KDEp
CisKKworZGVmIGFyZ3NfZ2VuZXJhbChrd2FyZ3MpOgorICAgIGt3YXJncy5zZXRfaWZfbm9uZSgi
dGVzdHNfcm9vdCIsIHdwdF9yb290KQorICAgIGt3YXJncy5zZXRfaWZfbm9uZSgibWV0YWRhdGFf
cm9vdCIsIHdwdF9yb290KQorICAgIGt3YXJncy5zZXRfaWZfbm9uZSgibWFuaWZlc3RfdXBkYXRl
IiwgVHJ1ZSkKKworCitkZWYgY2hlY2tfZW52aXJvbihwcm9kdWN0KToKKyAgICBpZiBwcm9kdWN0
ICE9ICJmaXJlZm94IjoKKyAgICAgICAgZXhwZWN0ZWRfaG9zdHMgPSBzZXQoWyJ3ZWItcGxhdGZv
cm0udGVzdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid3d3LndlYi1wbGF0Zm9y
bS50ZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3d3cxLndlYi1wbGF0Zm9y
bS50ZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3d3cyLndlYi1wbGF0Zm9y
bS50ZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bi0tbjhqNmRzNTNsd3dr
cnFodjI4YS53ZWItcGxhdGZvcm0udGVzdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAieG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJub25leGlzdGVudC1vcmlnaW4ud2ViLXBsYXRmb3JtLnRlc3QiXSkKKyAgICAg
ICAgaWYgb3MudW5hbWUoKVswXSAhPSAiV2luZG93cyI6CisgICAgICAgICAgICBob3N0c19wYXRo
ID0gIi9ldGMvaG9zdHMiCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBob3N0c19wYXRoID0g
IkM6XFdpbmRvd3NcU3lzdGVtMzJcZHJpdmVyc1xldGNcaG9zdHMiCisgICAgICAgIHdpdGggb3Bl
bihob3N0c19wYXRoLCAiciIpIGFzIGY6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBmOgorICAg
ICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnNwbGl0KCIjIiwgMSlbMF0uc3RyaXAoKQorICAgICAg
ICAgICAgICAgIHBhcnRzID0gbGluZS5zcGxpdCgpCisgICAgICAgICAgICAgICAgaWYgbGVuKHBh
cnRzKSA9PSAyOgorICAgICAgICAgICAgICAgICAgICBob3N0ID0gcGFydHNbMV0KKyAgICAgICAg
ICAgICAgICAgICAgZXhwZWN0ZWRfaG9zdHMuZGlzY2FyZChob3N0KQorICAgICAgICAgICAgaWYg
ZXhwZWN0ZWRfaG9zdHM6CisgICAgICAgICAgICAgICAgZXhpdCgiIiJNaXNzaW5nIGhvc3RzIGZp
bGUgY29uZmlndXJhdGlvbiBmb3IgJXMuCitTZWUgUkVBRE1FLm1kIGZvciBtb3JlIGRldGFpbHMu
IiIiICUgIiwiLmpvaW4oZXhwZWN0ZWRfaG9zdHMpKQorCitkZWYgcHJvbXB0X2luc3RhbGwoY29t
cG9uZW50LCBwcm9tcHQpOgorICAgIGlmIG5vdCBwcm9tcHQ6CisgICAgICAgIHJldHVybiBUcnVl
CisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgcmVzcCA9IHJhd19pbnB1dCgiRG93bmxvYWQgYW5k
IGluc3RhbGwgJXMgW1kvbl0/ICIgJSBjb21wb25lbnQpLnN0cmlwKCkubG93ZXIoKQorICAgICAg
ICBpZiBub3QgcmVzcCBvciByZXNwID09ICJ5IjoKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisg
ICAgICAgIGVsaWYgcmVzcCA9PSAibiI6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKworCitk
ZWYgYXJnc19maXJlZm94KHZlbnYsIGt3YXJncywgZmlyZWZveCwgcHJvbXB0PVRydWUpOgorICAg
IGlmIGt3YXJnc1siYmluYXJ5Il0gaXMgTm9uZToKKyAgICAgICAgYmluYXJ5ID0gZmlyZWZveC5m
aW5kX2JpbmFyeSgpCisgICAgICAgIGlmIGJpbmFyeSBpcyBOb25lOgorICAgICAgICAgICAgZXhp
dCgiIiJGaXJlZm94IGJpbmFyeSBub3QgZm91bmQgb24gJFBBVEguCisKK0luc3RhbGwgRmlyZWZv
eCBvciB1c2UgLS1iaW5hcnkgdG8gc2V0IHRoZSBiaW5hcnkgcGF0aCIiIikKKyAgICAgICAga3dh
cmdzWyJiaW5hcnkiXSA9IGJpbmFyeQorCisgICAgaWYga3dhcmdzWyJjZXJ0dXRpbF9iaW5hcnki
XSBpcyBOb25lIGFuZCBrd2FyZ3NbInNzbF90eXBlIl0gIT0gIm5vbmUiOgorICAgICAgICBjZXJ0
dXRpbCA9IGZpcmVmb3guZmluZF9jZXJ0dXRpbCgpCisKKyAgICAgICAgaWYgY2VydHV0aWwgaXMg
Tm9uZToKKyAgICAgICAgICAgICMgQ2FuJ3QgZG93bmxvYWQgdGhpcyBmb3Igbm93IGJlY2F1c2Ug
aXQncyBtaXNzaW5nIHRoZSBsaWJuc3MzIGxpYnJhcnkKKyAgICAgICAgICAgIGV4aXQoIiIiQ2Fu
J3QgZmluZCBjZXJ0dXRpbC4KKworVGhpcyBtdXN0IGJlIGluc3RhbGxlZCB1c2luZyB5b3VyIE9T
IHBhY2thZ2UgbWFuYWdlciBvciBkaXJlY3RseSBlLmcuCisKK0RlYmlhbi9VYnVudHU6CitzdWRv
IGFwdCBpbnN0YWxsIGxpYm5zczMtdG9vbHMKKworbWFjT1MvSG9tZWJyZXc6CiticmV3IGluc3Rh
bGwgbnNzCisKK090aGVyczoKK0Rvd25sb2FkIHRoZSBmaXJlZm94IGFyY2hpdmUgYW5kIGNvbW1v
bi50ZXN0cy56aXAgYXJjaGl2ZSBmb3IgeW91ciBwbGF0Zm9ybQorZnJvbQoraHR0cHM6Ly9hcmNo
aXZlLm1vemlsbGEub3JnL3B1Yi9maXJlZm94L25pZ2h0bHkvbGF0ZXN0LW1vemlsbGEtY2VudHJh
bC8KK1RoZW4gZXh0cmFjdCBjZXJ0dXRpbFsuZXhlXSBmcm9tIHRoZSB0ZXN0cy56aXAgcGFja2Fn
ZSBhbmQKK2xpYm5zczNbLnNvfC5kbGx8LmR5bmxpYl0gYW5kIGJ1dCB0aGUgZm9ybWVyIG9uIHlv
dXIgcGF0aCBhbmQgdGhlIGxhdHRlciBvbgoreW91ciBsaWJyYXJ5IHBhdGguCisiIiIpCisgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICBwcmludCgiVXNpbmcgY2VydHV0aWwgJXMiICUgY2VydHV0
aWwpCisKKyAgICAgICAgaWYgY2VydHV0aWwgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBrd2Fy
Z3NbImNlcnR1dGlsX2JpbmFyeSJdID0gY2VydHV0aWwKKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIHByaW50KCJVbmFibGUgdG8gZmluZCBvciBpbnN0YWxsIGNlcnR1dGlsLCBzZXR0aW5nIHNz
bC10eXBlIHRvIG5vbmUiKQorICAgICAgICAgICAga3dhcmdzWyJzc2xfdHlwZSJdID0gIm5vbmUi
CisKKyAgICBpZiBrd2FyZ3NbIndlYmRyaXZlcl9iaW5hcnkiXSBpcyBOb25lIGFuZCAid2RzcGVj
IiBpbiBrd2FyZ3NbInRlc3RfdHlwZXMiXToKKyAgICAgICAgd2ViZHJpdmVyX2JpbmFyeSA9IGZp
cmVmb3guZmluZF93ZWJkcml2ZXIoKQorCisgICAgICAgIGlmIHdlYmRyaXZlcl9iaW5hcnkgaXMg
Tm9uZToKKyAgICAgICAgICAgIGluc3RhbGwgPSBwcm9tcHRfaW5zdGFsbCgiZ2Vja29kcml2ZXIi
LCBwcm9tcHQpCisKKyAgICAgICAgICAgIGlmIGluc3RhbGw6CisgICAgICAgICAgICAgICAgcHJp
bnQoIkRvd25sb2FkaW5nIGdlY2tvZHJpdmVyIikKKyAgICAgICAgICAgICAgICB3ZWJkcml2ZXJf
YmluYXJ5ID0gZmlyZWZveC5pbnN0YWxsX3dlYmRyaXZlcihkZXN0PXZlbnYuYmluX3BhdGgpCisg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICBwcmludCgiVXNpbmcgd2ViZHJpdmVyIGJpbmFyeSAl
cyIgJSB3ZWJkcml2ZXJfYmluYXJ5KQorCisgICAgICAgIGlmIHdlYmRyaXZlcl9iaW5hcnk6Cisg
ICAgICAgICAgICBrd2FyZ3NbIndlYmRyaXZlcl9iaW5hcnkiXSA9IHdlYmRyaXZlcl9iaW5hcnkK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHByaW50KCJVbmFibGUgdG8gZmluZCBvciBpbnN0
YWxsIGdlY2tvZHJpdmVyLCBza2lwcGluZyB3ZHNwZWMgdGVzdHMiKQorICAgICAgICAgICAga3dh
cmdzWyJ0ZXN0X3R5cGVzIl0ucmVtb3ZlKCJ3ZHNwZWMiKQorCisgICAgaWYga3dhcmdzWyJwcmVm
c19yb290Il0gaXMgTm9uZToKKyAgICAgICAgcHJpbnQoIkRvd25sb2FkaW5nIGdlY2tvIHByZWZz
IikKKyAgICAgICAgcHJlZnNfcm9vdCA9IGZpcmVmb3guaW5zdGFsbF9wcmVmcyh2ZW52LnBhdGgp
CisgICAgICAgIGt3YXJnc1sicHJlZnNfcm9vdCJdID0gcHJlZnNfcm9vdAorCisKK2RlZiBzZXR1
cF9maXJlZm94KHZlbnYsIGt3YXJncywgcHJvbXB0PVRydWUpOgorICAgIGZpcmVmb3ggPSBicm93
c2VyLkZpcmVmb3goKQorICAgIGFyZ3NfZmlyZWZveCh2ZW52LCBrd2FyZ3MsIGZpcmVmb3gsIHBy
b21wdCkKKyAgICB2ZW52Lmluc3RhbGxfcmVxdWlyZW1lbnRzKG9zLnBhdGguam9pbih3cHRfcm9v
dCwgInRvb2xzIiwgIndwdHJ1bm5lciIsIGZpcmVmb3gucmVxdWlyZW1lbnRzKSkKKworCitkZWYg
YXJnc19jaHJvbWUodmVudiwga3dhcmdzLCBjaHJvbWUsIHByb21wdD1UcnVlKToKKyAgICBpZiBr
d2FyZ3NbIndlYmRyaXZlcl9iaW5hcnkiXSBpcyBOb25lOgorICAgICAgICB3ZWJkcml2ZXJfYmlu
YXJ5ID0gY2hyb21lLmZpbmRfd2ViZHJpdmVyKCkKKworICAgICAgICBpZiB3ZWJkcml2ZXJfYmlu
YXJ5IGlzIE5vbmU6CisgICAgICAgICAgICBpbnN0YWxsID0gcHJvbXB0X2luc3RhbGwoImNocm9t
ZWRyaXZlciIsIHByb21wdCkKKworICAgICAgICAgICAgaWYgaW5zdGFsbDoKKyAgICAgICAgICAg
ICAgICBwcmludCgiRG93bmxvYWRpbmcgY2hyb21lZHJpdmVyIikKKyAgICAgICAgICAgICAgICB3
ZWJkcml2ZXJfYmluYXJ5ID0gY2hyb21lLmluc3RhbGxfd2ViZHJpdmVyKGRlc3Q9dmVudi5iaW5f
cGF0aCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHByaW50KCJVc2luZyB3ZWJkcml2ZXIg
YmluYXJ5ICVzIiAlIHdlYmRyaXZlcl9iaW5hcnkpCisKKyAgICAgICAgaWYgd2ViZHJpdmVyX2Jp
bmFyeToKKyAgICAgICAgICAgIGt3YXJnc1sid2ViZHJpdmVyX2JpbmFyeSJdID0gd2ViZHJpdmVy
X2JpbmFyeQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZXhpdCgiVW5hYmxlIHRvIGxvY2F0
ZSBvciBpbnN0YWxsIGNocm9tZWRyaXZlciBiaW5hcnkiKQorCisKK2RlZiBzZXR1cF9jaHJvbWUo
dmVudiwga3dhcmdzLCBwcm9tcHQ9VHJ1ZSk6CisgICAgY2hyb21lID0gYnJvd3Nlci5DaHJvbWUo
KQorICAgIGFyZ3NfY2hyb21lKHZlbnYsIGt3YXJncywgY2hyb21lLCBwcm9tcHQpCisgICAgdmVu
di5pbnN0YWxsX3JlcXVpcmVtZW50cyhvcy5wYXRoLmpvaW4od3B0X3Jvb3QsICJ0b29scyIsICJ3
cHRydW5uZXIiLCBjaHJvbWUucmVxdWlyZW1lbnRzKSkKKworCitkZWYgc2V0dXBfZWRnZShrd2Fy
Z3MpOgorICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKworCitkZWYgc2V0dXBfc2F1Y2Uo
a3dhcmdzKToKKyAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCisKKworZGVmIHNldHVwX3Nl
cnZvKGt3YXJncyk6CisgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorCisKK3Byb2R1Y3Rf
c2V0dXAgPSB7CisgICAgImZpcmVmb3giOiBzZXR1cF9maXJlZm94LAorICAgICJjaHJvbWUiOiBz
ZXR1cF9jaHJvbWUKK30KKworCitkZWYgc2V0dXBfd3B0cnVubmVyKHZlbnYsIHByb2R1Y3QsIHRl
c3RzLCB3cHRydW5uZXJfYXJncywgcHJvbXB0PVRydWUsKToKKyAgICBnbG9iYWwgbG9nZ2VyCisK
KyAgICB3cHRwYXJzZXIgPSB3cHRjb21tYW5kbGluZS5jcmVhdGVfcGFyc2VyKCkKKyAgICBrd2Fy
Z3MgPSB1dGlscy5Ld2FyZ3ModmFycyh3cHRwYXJzZXIucGFyc2VfYXJncyh3cHRydW5uZXJfYXJn
cykpLml0ZXJpdGVtcygpKQorCisgICAgd3B0cnVubmVyLnNldHVwX2xvZ2dpbmcoa3dhcmdzLCB7
Im1hY2giOiBzeXMuc3Rkb3V0fSkKKyAgICBsb2dnZXIgPSB3cHRydW5uZXIubG9nZ2VyCisKKyAg
ICBrd2FyZ3NbInByb2R1Y3QiXSA9IHByb2R1Y3QKKyAgICBrd2FyZ3NbInRlc3RfbGlzdCJdID0g
dGVzdHMKKworICAgIGNoZWNrX2Vudmlyb24ocHJvZHVjdCkKKyAgICBhcmdzX2dlbmVyYWwoa3dh
cmdzKQorCisgICAgaWYgcHJvZHVjdCBub3QgaW4gcHJvZHVjdF9zZXR1cDoKKyAgICAgICAgZXhp
dCgiVW5zdXBwb3J0ZWQgcHJvZHVjdCAlcyIgJSBwcm9kdWN0KQorCisgICAgcHJvZHVjdF9zZXR1
cFtwcm9kdWN0XSh2ZW52LCBrd2FyZ3MsIHByb21wdCkKKworICAgIHdwdGNvbW1hbmRsaW5lLmNo
ZWNrX2FyZ3Moa3dhcmdzKQorCisgICAgd3B0cnVubmVyX3BhdGggPSBvcy5wYXRoLmpvaW4od3B0
X3Jvb3QsICJ0b29scyIsICJ3cHRydW5uZXIiKQorCisgICAgdmVudi5pbnN0YWxsX3JlcXVpcmVt
ZW50cyhvcy5wYXRoLmpvaW4od3B0cnVubmVyX3BhdGgsICJyZXF1aXJlbWVudHMudHh0IikpCisK
KyAgICByZXR1cm4ga3dhcmdzCisKKworZGVmIG1haW4oKToKKyAgICBwYXJzZXIgPSBjcmVhdGVf
cGFyc2VyKCkKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCisgICAgdmVudiA9IHZp
cnR1YWxlbnYuVmlydHVhbGVudihvcy5wYXRoLmpvaW4od3B0X3Jvb3QsICJfdmVudiIpKQorICAg
IHZlbnYuc3RhcnQoKQorCisgICAga3dhcmdzID0gc2V0dXBfd3B0cnVubmVyKHZlbnYsIGFyZ3Mu
cHJvZHVjdCwgYXJncy50ZXN0cywgYXJncy53cHRydW5uZXJfYXJncywgcHJvbXB0PWFyZ3MucHJv
bXB0KQorICAgIHdwdHJ1bm5lci5zdGFydCgqKmt3YXJncykKKworCitpZiBfX25hbWVfXyA9PSAi
X19tYWluX18iOgorICAgIGltcG9ydCBwZGIKKyAgICB0cnk6CisgICAgICAgIG1haW4oKQorICAg
IGV4Y2VwdDoKKyAgICAgICAgcGRiLnBvc3RfbW9ydGVtKCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL0xJQ0VO
U0UgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1ODk2ZTZiZTJiZDUxZjRiNzhlOTcwM2NhZWZi
OWI2NzJlMTBhNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9MSUNFTlNFCkBAIC0wLDAgKzEsMzAg
QEAKK1czQyAzLWNsYXVzZSBCU0QgTGljZW5zZQorCitodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0
aXVtL0xlZ2FsLzIwMDgvMDMtYnNkLWxpY2Vuc2UuaHRtbAorCitSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKK21ldDoKKworKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygd29ya3MgbXVzdCByZXRhaW4gdGhl
IG9yaWdpbmFsIGNvcHlyaWdodCBub3RpY2UsCisgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKyogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBvcmlnaW5hbCBjb3B5cmlnaHQKKyAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorCisqIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFczQyBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlCisgIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHdvcmsgd2l0aG91dAorICBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCitMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKK0EgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCitPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKK1NQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKK0xJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCitUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKK09GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci9NQU5JRkVTVC5pbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL01BTklGRVNULmluCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBj
NWUzOGJmMjY1NGQ0NjgzNWM5Y2VjYjYxZTYwMGU0YmFmMzU0ZWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci9NQU5JRkVTVC5pbgpAQCAtMCwwICsxLDE3IEBACitleGNsdWRlIE1BTklGRVNULmluCitp
bmNsdWRlIHJlcXVpcmVtZW50cy50eHQKK2luY2x1ZGUgd3B0cnVubmVyL2Jyb3dzZXJzL2IyZ19z
ZXR1cC8qCitpbmNsdWRlIHdwdHJ1bm5lci5kZWZhdWx0LmluaQoraW5jbHVkZSB3cHRydW5uZXIv
dGVzdGhhcm5lc3NfcnVubmVyLmh0bWwKK2luY2x1ZGUgd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzCitpbmNsdWRlIHdwdHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2by5qcworaW5j
bHVkZSB3cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQtc2Vydm9kcml2ZXIuanMKK2luY2x1ZGUg
d3B0cnVubmVyL2V4ZWN1dG9ycy90ZXN0aGFybmVzc19tYXJpb25ldHRlLmpzCitpbmNsdWRlIHdw
dHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3Nfc2Vydm9kcml2ZXIuanMKK2luY2x1ZGUgd3B0
cnVubmVyL2V4ZWN1dG9ycy90ZXN0aGFybmVzc193ZWJkcml2ZXIuanMKK2luY2x1ZGUgd3B0cnVu
bmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LmpzCitpbmNsdWRlIHdwdHJ1bm5lci9leGVjdXRvcnMvcmVm
dGVzdC13YWl0LmpzCitpbmNsdWRlIHdwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13YWl0X3Nl
cnZvZHJpdmVyLmpzCitpbmNsdWRlIHdwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13YWl0X3dl
YmRyaXZlci5qcworaW5jbHVkZSB3cHRydW5uZXIvY29uZmlnLmpzb24KK2luY2x1ZGUgd3B0cnVu
bmVyL2Jyb3dzZXJzL3NlcnZlci1sb2NhdGlvbnMudHh0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvUkVBRE1FLnJzdCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL1JFQURNRS5yc3QKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmM2NTBlZWM0NWFjYzJkMGVhYTA1MjljNWJjMTNlYTRkMDkxMjllOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL1JFQURNRS5yc3QKQEAgLTAsMCArMSwyNDIgQEAKK3dwdHJ1bm5lcjogQSB3ZWIt
cGxhdGZvcm0tdGVzdHMgaGFybmVzcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CisKK3dwdHJ1bm5lciBpcyBhIGhhcm5lc3MgZm9yIHJ1bm5pbmcgdGhlIFczQyBgd2Vi
LXBsYXRmb3JtLXRlc3RzIHRlc3RzdWl0ZWBfLgorCisuLiBjb250ZW50czo6CisKK0luc3RhbGxh
dGlvbgorfn5+fn5+fn5+fn5+CisKK3dwdHJ1bm5lciBpcyBleHBlY3RlZCB0byBiZSBpbnN0YWxs
ZWQgaW50byBhIHZpcnR1YWxlbnYgdXNpbmcgcGlwLiBGb3IKK2RldmVsb3BtZW50LCBpdCBjYW4g
YmUgaW5zdGFsbGVkIHVzaW5nIHRoZSBgLWVgIG9wdGlvbjo6CisKKyAgcGlwIGluc3RhbGwgLWUg
Li8KKworUnVubmluZyB0aGUgVGVzdHMKK35+fn5+fn5+fn5+fn5+fn5+CisKK0FmdGVyIGluc3Rh
bGxhdGlvbiwgdGhlIGNvbW1hbmQgYGB3cHRydW5uZXJgYCBzaG91bGQgYmUgYXZhaWxhYmxlIHRv
IHJ1bgordGhlIHRlc3RzLgorCitUaGUgYGB3cHRydW5uZXJgYCBjb21tYW5kICB0YWtlcyBtdWx0
aXBsZSBvcHRpb25zLCBvZiB3aGljaCB0aGUKK2ZvbGxvd2luZyBhcmUgbW9zdCBzaWduaWZpY2Fu
dDoKKworYGAtLXByb2R1Y3RgYCAoZGVmYXVsdHMgdG8gYGZpcmVmb3hgKQorICBUaGUgcHJvZHVj
dCB0byB0ZXN0IGFnYWluc3Q6IGBiMmdgLCBgY2hyb21lYCwgYGZpcmVmb3hgLCBvciBgc2Vydm9g
LgorCitgYC0tYmluYXJ5YGAgKHJlcXVpcmVkIGlmIHByb2R1Y3QgaXMgYGZpcmVmb3hgIG9yIGBz
ZXJ2b2ApCisgIFRoZSBwYXRoIHRvIGEgYmluYXJ5IGZpbGUgZm9yIHRoZSBwcm9kdWN0IChicm93
c2VyKSB0byB0ZXN0IGFnYWluc3QuCisKK2BgLS13ZWJkcml2ZXItYmluYXJ5YGAgKHJlcXVpcmVk
IGlmIHByb2R1Y3QgaXMgYGNocm9tZWApCisgIFRoZSBwYXRoIHRvIGEgYGRyaXZlcmAgYmluYXJ5
OyBlLmcuLCBhIGBjaHJvbWVkcml2ZXJgIGJpbmFyeS4KKworYGAtLWNlcnR1dGlsLWJpbmFyeWBg
IChyZXF1aXJlZCBpZiBwcm9kdWN0IGlzIGBmaXJlZm94YCBbI11fKQorICBUaGUgcGF0aCB0byBh
IGBjZXJ0dXRpbGAgYmluYXJ5IChmb3IgdGVzdHMgdGhhdCBtdXN0IGJlIHJ1biBvdmVyIGh0dHBz
KS4KKworYGAtLW1ldGFkYXRhYGAgKHJlcXVpcmVkKQorICBUaGUgcGF0aCB0byBhIGRpcmVjdG9y
eSBjb250YWluaW5nIHRlc3QgbWV0YWRhdGEuIFsjXV8KKworYGAtLXRlc3RzYGAgKHJlcXVpcmVk
KQorICBUaGUgcGF0aCB0byBhIGRpcmVjdG9yeSBjb250YWluaW5nIGEgd2ViLXBsYXRmb3JtLXRl
c3RzIGNoZWNrb3V0LgorCitgYC0tcHJlZnMtcm9vdGBgIChyZXF1aXJlZCBvbmx5IHdoZW4gdGVz
dGluZyBhIEZpcmVmb3ggYmluYXJ5KQorICBUaGUgcGF0aCB0byBhIGRpcmVjdG9yeSBjb250YWlu
aW5nIEZpcmVmb3ggdGVzdC1oYXJuZXNzIHByZWZlcmVuY2VzLiBbI11fCisKK2BgLS1jb25maWdg
YCAoc2hvdWxkIGRlZmF1bHQgdG8gYHdwdHJ1bm5lci5kZWZhdWx0LmluaWApCisgIFRoZSBwYXRo
IHRvIHRoZSBjb25maWcgKGluaSkgZmlsZS4KKworLi4gWyNdIFRoZSBgYC0tY2VydHV0aWwtYmlu
YXJ5YGAgb3B0aW9uIGlzIHJlcXVpcmVkIHdoZW4gdGhlIHByb2R1Y3QgaXMKKyAgIGBgZmlyZWZv
eGBgIHVubGVzcyBgYC0tc3NsLXR5cGU9bm9uZWBgIGlzIHNwZWNpZmllZC4KKworLi4gWyNdIFRo
ZSBgYC0tbWV0YWRhdGFgYCBwYXRoIGlzIHRvIGEgZGlyZWN0b3J5IHRoYXQgY29udGFpbnM6CisK
KyAgKiBhIGBgTUFOSUZFU1QuanNvbmBgIGZpbGUgKGluc3RydWN0aW9ucyBvbiBnZW5lcmF0aW5n
IHRoaXMgZmlsZSBhcmUKKyAgICBhdmFpbGFibGUgaW4gdGhlIGBkZXRhaWxlZCBkb2N1bWVudGF0
aW9uCisgICAgPGh0dHA6Ly93cHRydW5uZXIucmVhZHRoZWRvY3Mub3JnL2VuL2xhdGVzdC91c2Fn
ZS5odG1sI2luc3RhbGxpbmctd3B0cnVubmVyPmBfKTsKKyAgICBhbmQKKyAgKiAob3B0aW9uYWxs
eSkgYW55IGV4cGVjdGF0aW9uIGZpbGVzIChzZWUgYmVsb3cpCisKKy4uIFsjXSBFeGFtcGxlIGBg
LS1wcmVmcy1yb290YGAgdmFsdWU6IGBgfi9tb3ppbGxhLWNlbnRyYWwvdGVzdGluZy9wcm9maWxl
c2BgLgorCitUaGVyZSBhcmUgYWxzbyBhIHZhcmlldHkgb2Ygb3RoZXIgb3B0aW9ucyBhdmFpbGFi
bGU7IHVzZSBgYC0taGVscGBgIHRvCitsaXN0IHRoZW0uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK0V4YW1wbGU6IEhvdyB0byBzdGFydCB3cHRydW5uZXIKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVG8gdGVzdCBhIEZpcmVmb3ggTmlnaHRseSBidWlsZCBp
biBhbiBPUyBYIGVudmlyb25tZW50LCB5b3UgbWlnaHQgc3RhcnQKK3dwdHJ1bm5lciB1c2luZyBz
b21ldGhpbmcgc2ltaWxhciB0byB0aGUgZm9sbG93aW5nIGV4YW1wbGU6OgorCisgIHdwdHJ1bm5l
ciAtLW1ldGFkYXRhPX4vd2ViLXBsYXRmb3JtLXRlc3RzLyAtLXRlc3RzPX4vd2ViLXBsYXRmb3Jt
LXRlc3RzLyBcCisgICAgLS1iaW5hcnk9fi9tb3ppbGxhLWNlbnRyYWwvb2JqLXg4Nl82NC1hcHBs
ZS1kYXJ3aW4xNC4zLjAvZGlzdC9OaWdodGx5LmFwcC9Db250ZW50cy9NYWNPUy9maXJlZm94IFwK
KyAgICAtLWNlcnR1dGlsLWJpbmFyeT1+L21vemlsbGEtY2VudHJhbC9vYmoteDg2XzY0LWFwcGxl
LWRhcndpbjE0LjMuMC9zZWN1cml0eS9uc3MvY21kL2NlcnR1dGlsL2NlcnR1dGlsIFwKKyAgICAt
LXByZWZzLXJvb3Q9fi9tb3ppbGxhLWNlbnRyYWwvdGVzdGluZy9wcm9maWxlcworCitBbmQgdG8g
dGVzdCBhIENocm9taXVtIGJ1aWxkIGluIGFuIE9TIFggZW52aXJvbm1lbnQsIHlvdSBtaWdodCBz
dGFydAord3B0cnVubmVyIHVzaW5nIHNvbWV0aGluZyBzaW1pbGFyIHRvIHRoZSBmb2xsb3dpbmcg
ZXhhbXBsZTo6CisKKyAgd3B0cnVubmVyIC0tbWV0YWRhdGE9fi93ZWItcGxhdGZvcm0tdGVzdHMv
IC0tdGVzdHM9fi93ZWItcGxhdGZvcm0tdGVzdHMvIFwKKyAgICAtLWJpbmFyeT1+L2Nocm9taXVt
L3NyYy9vdXQvUmVsZWFzZS9DaHJvbWl1bS5hcHAvQ29udGVudHMvTWFjT1MvQ2hyb21pdW0gXAor
ICAgIC0td2ViZHJpdmVyLWJpbmFyeT0vdXNyL2xvY2FsL2Jpbi9jaHJvbWVkcml2ZXIgLS1wcm9k
dWN0PWNocm9tZQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitFeGFt
cGxlOiBIb3cgdG8gcnVuIGEgc3Vic2V0IG9mIHRlc3RzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCisKK1RvIHJlc3RyaWN0IGEgdGVzdCBydW4ganVzdCB0byB0ZXN0cyBp
biBhIHBhcnRpY3VsYXIgd2ViLXBsYXRmb3JtLXRlc3RzCitzdWJkaXJlY3RvcnksIHNwZWNpZnkg
dGhlIGRpcmVjdG9yeSBuYW1lIGluIHRoZSBwb3NpdGlvbmFsIGFyZ3VtZW50cyBhZnRlcgordGhl
IG9wdGlvbnM7IGZvciBleGFtcGxlLCBydW4ganVzdCB0aGUgdGVzdHMgaW4gdGhlIGBkb21gIHN1
YmRpcmVjdG9yeTo6CisKKyAgd3B0cnVubmVyIC0tbWV0YWRhdGE9fi93ZWItcGxhdGZvcm0tdGVz
dHMvIC0tdGVzdHM9fi93ZWItcGxhdGZvcm0tdGVzdHMvIFwKKyAgICAtLWJpbmFyeT0vcGF0aC90
by9maXJlZm94IC0tY2VydHV0aWwtYmluYXJ5PS9wYXRoL3RvL2NlcnR1dGlsIFwKKyAgICAtLXBy
ZWZzLXJvb3Q9L3BhdGgvdG8vdGVzdGluZy9wcm9maWxlcyBcCisgICAgZG9tCisKK091dHB1dAor
fn5+fn5+CisKK0J5IGRlZmF1bHQgd3B0cnVubmVyIGp1c3QgZHVtcHMgaXRzIGVudGlyZSBvdXRw
dXQgYXMgcmF3IEpTT04gbWVzc2FnZXMKK3RvIHN0ZG91dC4gVGhpcyBpcyBjb252ZW5pZW50IGZv
ciBwaXBpbmcgaW50byBvdGhlciB0b29scywgYnV0IG5vdCBpZGVhbAorZm9yIGh1bWFucyByZWFk
aW5nIHRoZSBvdXRwdXQuCisKK0FzIGFuIGFsdGVybmF0aXZlLCB5b3UgY2FuIHVzZSB0aGUgYGAt
LWxvZy1tYWNoYGAgb3B0aW9uLCB3aGljaCBwcm92aWRlcworb3V0cHV0IGluIGEgcmVhc29uYWJs
ZSBmb3JtYXQgZm9yIGh1bWFucy4gVGhlIG9wdGlvbiByZXF1aXJlcyBhIHZhbHVlOgorZWl0aGVy
IHRoZSBwYXRoIGZvciBhIGZpbGUgdG8gd3JpdGUgdGhlIGBtYWNoYC1mb3JtYXR0ZWQgb3V0cHV0
IHRvLCBvcgorImAtYCIgKGEgaHlwaGVuKSB0byB3cml0ZSB0aGUgYG1hY2hgLWZvcm1hdHRlZCBv
dXRwdXQgdG8gc3Rkb3V0LgorCitXaGVuIHVzaW5nIGBgLS1sb2ctbWFjaGBgLCBvdXRwdXQgb2Yg
dGhlIGZ1bGwgcmF3IEpTT04gbG9nIGlzIHN0aWxsCithdmFpbGFibGUsIGZyb20gdGhlIGBgLS1s
b2ctcmF3YGAgb3B0aW9uLiBTbyB0byBvdXRwdXQgdGhlIGZ1bGwgcmF3IEpTT04KK2xvZyB0byBh
IGZpbGUgYW5kIGEgaHVtYW4tcmVhZGFibGUgc3VtbWFyeSB0byBzdGRvdXQsIHlvdSBtaWdodCBz
dGFydAord3B0cnVubmVyIHVzaW5nIHNvbWV0aGluZyBzaW1pbGFyIHRvIHRoZSBmb2xsb3dpbmcg
ZXhhbXBsZTo6CisKKyAgd3B0cnVubmVyIC0tbWV0YWRhdGE9fi93ZWItcGxhdGZvcm0tdGVzdHMv
IC0tdGVzdHM9fi93ZWItcGxhdGZvcm0tdGVzdHMvIFwKKyAgICAtLWJpbmFyeT0vcGF0aC90by9m
aXJlZm94IC0tY2VydHV0aWwtYmluYXJ5PS9wYXRoL3RvL2NlcnR1dGlsIFwKKyAgICAtLXByZWZz
LXJvb3Q9L3BhdGgvdG8vdGVzdGluZy9wcm9maWxlcyBcCisgICAgLS1sb2ctcmF3PW91dHB1dC5s
b2cgLS1sb2ctbWFjaD0tCisKK0V4cGVjdGF0aW9uIERhdGEKK35+fn5+fn5+fn5+fn5+fn4KKwor
d3B0cnVubmVyIGlzIGRlc2lnbmVkIHRvIGJlIHVzZWQgaW4gYW4gZW52aXJvbm1lbnQgd2hlcmUg
aXQgaXMgbm90CitqdXN0IG5lY2Vzc2FyeSB0byBrbm93IHdoaWNoIHRlc3RzIHBhc3NlZCwgYnV0
IHRvIGNvbXBhcmUgdGhlIHJlc3VsdHMKK2JldHdlZW4gcnVucy4gRm9yIHRoaXMgcmVhc29uIGl0
IGlzIHBvc3NpYmxlIHRvIHN0b3JlIHRoZSByZXN1bHRzIG9mIGEKK3ByZXZpb3VzIHJ1biBpbiBh
IHNldCBvZiBpbmktbGlrZSAiZXhwZWN0YXRpb24gZmlsZXMiLiBUaGlzIGZvcm1hdCBpcworZG9j
dW1lbnRlZCBiZWxvdy4gVG8gZ2VuZXJhdGUgdGhlIGV4cGVjdGF0aW9uIGZpbGVzIHVzZSBgd3B0
cnVubmVyYCB3aXRoCit0aGUgYC0tbG9nLXJhdz0vcGF0aC90by9sb2cvZmlsZWAgb3B0aW9uLiBU
aGlzIGNhbiB0aGVuIGJlIHVzZWQgYXMKK2lucHV0IHRvIHRoZSBgd3B0dXBkYXRlYCB0b29sLgor
CitFeHBlY3RhdGlvbiBGaWxlIEZvcm1hdAorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworTWV0
YWRhdGEgYWJvdXQgdGVzdHMsIG5vdGFibHkgaW5jbHVkaW5nIHRoZWlyIGV4cGVjdGVkIHJlc3Vs
dHMsIGlzCitzdG9yZWQgaW4gYSBtb2RpZmllZCBpbmktbGlrZSBmb3JtYXQgdGhhdCBpcyBkZXNp
Z25lZCB0byBiZSBodW1hbgorZWRpdGFibGUsIGJ1dCBhbHNvIHRvIGJlIG1hY2hpbmUgdXBkYXRh
YmxlLgorCitFYWNoIHRlc3QgZmlsZSB0aGF0IHJlcXVpcmVzIG1ldGFkYXRhIHRvIGJlIHNwZWNp
ZmllZCAoYmVjYXVzZSBpdCBoYXMKK2Egbm9uLWRlZmF1bHQgZXhwZWN0YXRpb24gb3IgYmVjYXVz
ZSBpdCBpcyBkaXNhYmxlZCwgZm9yIGV4YW1wbGUpIGhhcworYSBjb3JyZXNwb25kaW5nIGV4cGVj
dGF0aW9uIGZpbGUgaW4gdGhlIGBtZXRhZGF0YWAgZGlyZWN0b3J5LiBGb3IKK2V4YW1wbGUgYSB0
ZXN0IGZpbGUgYGh0bWwvdGVzdDEuaHRtbGAgY29udGFpbmluZyBhIGZhaWxpbmcgdGVzdCB3b3Vs
ZAoraGF2ZSBhbiBleHBlY3RhdGlvbiBmaWxlIGNhbGxlZCBgaHRtbC90ZXN0MS5odG1sLmluaWAg
aW4gdGhlCitgbWV0YWRhdGFgIGRpcmVjdG9yeS4KKworQW4gZXhhbXBsZSBvZiBhbiBleHBlY3Rh
dGlvbiBmaWxlIGlzOjoKKworICBleGFtcGxlX2RlZmF1bHRfa2V5OiBleGFtcGxlX3ZhbHVlCisK
KyAgW2ZpbGVuYW1lLmh0bWxdCisgICAgdHlwZTogdGVzdGhhcm5lc3MKKworICAgIFtzdWJ0ZXN0
MV0KKyAgICAgIGV4cGVjdGVkOiBGQUlMCisKKyAgICBbc3VidGVzdDJdCisgICAgICBleHBlY3Rl
ZDoKKyAgICAgICAgaWYgcGxhdGZvcm0gPT0gJ3dpbic6IFRJTUVPVVQKKyAgICAgICAgaWYgcGxh
dGZvcm0gPT0gJ29zeCc6IEVSUk9SCisgICAgICAgIEZBSUwKKworICBbZmlsZW5hbWUuaHRtbD9x
dWVyeT1zb21ldGhpbmddCisgICAgdHlwZTogdGVzdGhhcm5lc3MKKyAgICBkaXNhYmxlZDogYnVn
MTIzNDUKKworVGhlIGZpbGUgY29uc2lzdHMgb2YgdHdvIGVsZW1lbnRzLCBrZXktdmFsdWUgcGFp
cnMgYW5kCitzZWN0aW9ucy4KKworU2VjdGlvbnMgYXJlIGRlbGltaXRlZCBieSBoZWFkaW5ncyBl
bmNsb3NlZCBpbiBzcXVhcmUgYnJhY2tldHMuIEFueQorY2xvc2luZyBzcXVhcmUgYnJhY2tldCBp
biB0aGUgaGVhZGluZyBpdHNlbGYgbXkgYmUgZXNjYXBlZCB3aXRoIGEKK2JhY2tzbGFzaC4gRWFj
aCBzZWN0aW9uIG1heSB0aGVuIGNvbnRhaW4gYW55IG51bWJlciBvZiBrZXktdmFsdWUgcGFpcnMK
K2ZvbGxvd2VkIGJ5IGFueSBudW1iZXIgb2Ygc3Vic2VjdGlvbnMuIFNvIHRoYXQgaXQgaXMgY2xl
YXIgd2hpY2ggZGF0YQorYmVsb25ncyB0byBlYWNoIHNlY3Rpb24gd2l0aG91dCB0aGUgdXNlIG9m
IGVuZC1zZWN0aW9uIG1hcmtlcnMsIHRoZQorZGF0YSBmb3IgZWFjaCBzZWN0aW9uIChpLmUuIHRo
ZSBrZXktdmFsdWUgcGFpcnMgYW5kIHN1YnNlY3Rpb25zKSBtdXN0CitiZSBpbmRlbnRlZCB1c2lu
ZyBzcGFjZXMuIEluZGVudGF0aW9uIG5lZWQgb25seSBiZSBjb25zaXN0ZW50LCBidXQKK3VzaW5n
IHR3byBzcGFjZXMgcGVyIGxldmVsIGlzIHJlY29tbWVuZGVkLgorCitJbiBhIHRlc3QgZXhwZWN0
YXRpb24gZmlsZSwgZWFjaCByZXNvdXJjZSBwcm92aWRlZCBieSB0aGUgZmlsZSBoYXMgYQorc2lu
Z2xlIHNlY3Rpb24sIHdpdGggdGhlIHNlY3Rpb24gaGVhZGluZyBiZWluZyB0aGUgcGFydCBhZnRl
ciB0aGUgbGFzdAorYC9gIGluIHRoZSB0ZXN0IHVybC4gVGVzdHMgdGhhdCBoYXZlIHN1YnNlY3Rp
b25zIG1heSBoYXZlIHN1YnNlY3Rpb25zCitmb3IgdGhvc2Ugc3VidGVzdHMgaW4gd2hpY2ggdGhl
IGhlYWRpbmcgaXMgdGhlIG5hbWUgb2YgdGhlIHN1YnRlc3QuCisKK1NpbXBsZSBrZXktdmFsdWUg
cGFpcnMgYXJlIG9mIHRoZSBmb3JtOjoKKworICBrZXk6IHZhbHVlCisKK05vdGUgdGhhdCB1bmxp
a2UgaW5pIGZpbGVzLCBvbmx5IGA6YCBpcyBhIHZhbGlkIHNlcGVyYXRvcjsgYD1gIHdpbGwKK25v
dCB3b3JrIGFzIGV4cGVjdGVkLiBLZXktdmFsdWUgcGFpcnMgbWF5IGFsc28gaGF2ZSBjb25kaXRp
b25hbAordmFsdWVzIG9mIHRoZSBmb3JtOjoKKworICBrZXk6CisgICAgaWYgY29uZGl0aW9uMTog
dmFsdWUxCisgICAgaWYgY29uZGl0aW9uMjogdmFsdWUyCisgICAgZGVmYXVsdAorCitJbiB0aGlz
IGNhc2UgZWFjaCBjb25kaXRpb25hbCBpcyBldmFsdWF0ZWQgaW4gdHVybiBhbmQgdGhlIHZhbHVl
IGlzCit0aGF0IG9uIHRoZSByaWdodCBoYW5kIHNpZGUgb2YgdGhlIGZpcnN0IG1hdGNoaW5nIGNv
bmRpdGlvbmFsLiBJbiB0aGUKK2Nhc2UgdGhhdCBubyBjb25kaXRpb24gbWF0Y2hlcywgdGhlIHVu
Y29uZGl0aW9uYWwgZGVmYXVsdCBpcyB1c2VkLiBJZgorbm8gY29uZGl0aW9uIG1hdGNoZXMgYW5k
IG5vIGRlZmF1bHQgaXMgcHJvdmlkZWQgaXQgaXMgZXF1aXZhbGVudCB0bwordGhlIGtleSBub3Qg
YmVpbmcgcHJlc2VudC4gQ29uZGl0aW9uYWxzIHVzZSBhIHNpbXBsZSBweXRob24tbGlrZSBleHBy
ZXNzaW9uCitsYW5ndWFnZSBlLmcuOjoKKworICBpZiBkZWJ1ZyBhbmQgKHBsYXRmb3JtID09ICJs
aW51eCIgb3IgcGxhdGZvcm0gPT0gIm9zeCIpOiBGQUlMCisKK0ZvciB0ZXN0IGV4cGVjdGF0aW9u
cyB0aGUgYXZhbGlhYmxlIHZhcmlhYmxlcyBhcmUgdGhvc2UgaW4gdGhlCitgcnVuX2luZm9gIHdo
aWNoIGZvciBkZXNrdG9wIGFyZSBgdmVyc2lvbmAsIGBvc2AsIGBiaXRzYCwgYHByb2Nlc3NvcmAs
CitgZGVidWdgIGFuZCBgcHJvZHVjdGAuCisKK0tleS12YWx1ZSBwYWlycyBzcGVjaWZpZWQgYXQg
dGhlIHRvcCBsZXZlbCBvZiB0aGUgZmlsZSBiZWZvcmUgYW55CitzZWN0aW9ucyBhcmUgc3BlY2lh
bCBhcyB0aGV5IHByb3ZpZGUgZGVmYXVsdHMgZm9yIHRoZSByZXN0IG9mIHRoZSBmaWxlCitlLmcu
OjoKKworICBrZXkxOiB2YWx1ZTEKKworICBbc2VjdGlvbiAxXQorICAgIGtleTI6IHZhbHVlMgor
CisgIFtzZWN0aW9uIDJdCisgICAga2V5MTogdmFsdWUzCisKK0luIHRoaXMgY2FzZSwgaW5zaWRl
IHNlY3Rpb24gMSwgYGtleTFgIHdvdWxkIGhhdmUgdGhlIHZhbHVlIGB2YWx1ZTFgCithbmQgYGtl
eTJgIHRoZSB2YWx1ZSBgdmFsdWUyYCB3aGVyZWFzIGluIHNlY3Rpb24gMiBga2V5MWAgd291bGQg
aGF2ZQordGhlIHZhbHVlIGB2YWx1ZTNgIGFuZCBga2V5MmAgd291bGQgYmUgdW5kZWZpbmVkLgor
CitUaGUgd2ViLXBsYXRmb3JtLXRlc3QgaGFybmVzcyBrbm93cyBhYm91dCBzZXZlcmFsIGtleXM6
CisKK2BleHBlY3RlZGAKKyAgTXVzdCBldmFsdWF0ZSB0byBhIHBvc3NpYmxlIHRlc3Qgc3RhdHVz
IGluZGljYXRpbmcgdGhlIGV4cGVjdGVkCisgIHJlc3VsdCBvZiB0aGUgdGVzdC4gVGhlIGltcGxp
Y2l0IGRlZmF1bHQgaXMgUEFTUyBvciBPSyB3aGVuIHRoZQorICBmaWVsZCBpc24ndCBwcmVzZW50
LgorCitgZGlzYWJsZWRgCisgIEFueSB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgdGVzdCBpcyBk
aXNhYmxlZC4KKworYHR5cGVgCisgIFRoZSB0ZXN0IHR5cGUgZS5nLiBgdGVzdGhhcm5lc3NgLCBg
cmVmdGVzdGAsIG9yIGB3ZHNwZWNgLgorCitgcmVmdHlwZWAKKyAgVGhlIHR5cGUgb2YgY29tcGFy
aXNvbiBmb3IgcmVmdGVzdHM7IGVpdGhlciBgPT1gIG9yIGAhPWAuCisKK2ByZWZ1cmxgCisgIFRo
ZSByZWZlcmVuY2UgdXJsIGZvciByZWZ0ZXN0cy4KKworLi4gX2B3ZWItcGxhdGZvcm0tdGVzdHMg
dGVzdHN1aXRlYDogaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL2RvY3MvTWFrZWZpbGUgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL01ha2VmaWxlCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQwMmI2YzVlN2M0ZjI2NzAzMWJkMzkwMTNjMzg4NGFiNTg1MzM4ZjgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9kb2NzL01ha2VmaWxlCkBAIC0wLDAgKzEsMTc3IEBACisjIE1ha2VmaWxlIGZvciBT
cGhpbnggZG9jdW1lbnRhdGlvbgorIworCisjIFlvdSBjYW4gc2V0IHRoZXNlIHZhcmlhYmxlcyBm
cm9tIHRoZSBjb21tYW5kIGxpbmUuCitTUEhJTlhPUFRTICAgID0KK1NQSElOWEJVSUxEICAgPSBz
cGhpbngtYnVpbGQKK1BBUEVSICAgICAgICAgPQorQlVJTERESVIgICAgICA9IF9idWlsZAorCisj
IFVzZXItZnJpZW5kbHkgY2hlY2sgZm9yIHNwaGlueC1idWlsZAoraWZlcSAoJChzaGVsbCB3aGlj
aCAkKFNQSElOWEJVSUxEKSA+L2Rldi9udWxsIDI+JjE7IGVjaG8gJCQ/KSwgMSkKKyQoZXJyb3Ig
VGhlICckKFNQSElOWEJVSUxEKScgY29tbWFuZCB3YXMgbm90IGZvdW5kLiBNYWtlIHN1cmUgeW91
IGhhdmUgU3BoaW54IGluc3RhbGxlZCwgdGhlbiBzZXQgdGhlIFNQSElOWEJVSUxEIGVudmlyb25t
ZW50IHZhcmlhYmxlIHRvIHBvaW50IHRvIHRoZSBmdWxsIHBhdGggb2YgdGhlICckKFNQSElOWEJV
SUxEKScgZXhlY3V0YWJsZS4gQWx0ZXJuYXRpdmVseSB5b3UgY2FuIGFkZCB0aGUgZGlyZWN0b3J5
IHdpdGggdGhlIGV4ZWN1dGFibGUgdG8geW91ciBQQVRILiBJZiB5b3UgZG9uJ3QgaGF2ZSBTcGhp
bnggaW5zdGFsbGVkLCBncmFiIGl0IGZyb20gaHR0cDovL3NwaGlueC1kb2Mub3JnLykKK2VuZGlm
CisKKyMgSW50ZXJuYWwgdmFyaWFibGVzLgorUEFQRVJPUFRfYTQgICAgID0gLUQgbGF0ZXhfcGFw
ZXJfc2l6ZT1hNAorUEFQRVJPUFRfbGV0dGVyID0gLUQgbGF0ZXhfcGFwZXJfc2l6ZT1sZXR0ZXIK
K0FMTFNQSElOWE9QVFMgICA9IC1kICQoQlVJTERESVIpL2RvY3RyZWVzICQoUEFQRVJPUFRfJChQ
QVBFUikpICQoU1BISU5YT1BUUykgLgorIyB0aGUgaTE4biBidWlsZGVyIGNhbm5vdCBzaGFyZSB0
aGUgZW52aXJvbm1lbnQgYW5kIGRvY3RyZWVzIHdpdGggdGhlIG90aGVycworSTE4TlNQSElOWE9Q
VFMgID0gJChQQVBFUk9QVF8kKFBBUEVSKSkgJChTUEhJTlhPUFRTKSAuCisKKy5QSE9OWTogaGVs
cCBjbGVhbiBodG1sIGRpcmh0bWwgc2luZ2xlaHRtbCBwaWNrbGUganNvbiBodG1saGVscCBxdGhl
bHAgZGV2aGVscCBlcHViIGxhdGV4IGxhdGV4cGRmIHRleHQgbWFuIGNoYW5nZXMgbGlua2NoZWNr
IGRvY3Rlc3QgZ2V0dGV4dAorCitoZWxwOgorCUBlY2hvICJQbGVhc2UgdXNlIFxgbWFrZSA8dGFy
Z2V0Picgd2hlcmUgPHRhcmdldD4gaXMgb25lIG9mIgorCUBlY2hvICIgIGh0bWwgICAgICAgdG8g
bWFrZSBzdGFuZGFsb25lIEhUTUwgZmlsZXMiCisJQGVjaG8gIiAgZGlyaHRtbCAgICB0byBtYWtl
IEhUTUwgZmlsZXMgbmFtZWQgaW5kZXguaHRtbCBpbiBkaXJlY3RvcmllcyIKKwlAZWNobyAiICBz
aW5nbGVodG1sIHRvIG1ha2UgYSBzaW5nbGUgbGFyZ2UgSFRNTCBmaWxlIgorCUBlY2hvICIgIHBp
Y2tsZSAgICAgdG8gbWFrZSBwaWNrbGUgZmlsZXMiCisJQGVjaG8gIiAganNvbiAgICAgICB0byBt
YWtlIEpTT04gZmlsZXMiCisJQGVjaG8gIiAgaHRtbGhlbHAgICB0byBtYWtlIEhUTUwgZmlsZXMg
YW5kIGEgSFRNTCBoZWxwIHByb2plY3QiCisJQGVjaG8gIiAgcXRoZWxwICAgICB0byBtYWtlIEhU
TUwgZmlsZXMgYW5kIGEgcXRoZWxwIHByb2plY3QiCisJQGVjaG8gIiAgZGV2aGVscCAgICB0byBt
YWtlIEhUTUwgZmlsZXMgYW5kIGEgRGV2aGVscCBwcm9qZWN0IgorCUBlY2hvICIgIGVwdWIgICAg
ICAgdG8gbWFrZSBhbiBlcHViIgorCUBlY2hvICIgIGxhdGV4ICAgICAgdG8gbWFrZSBMYVRlWCBm
aWxlcywgeW91IGNhbiBzZXQgUEFQRVI9YTQgb3IgUEFQRVI9bGV0dGVyIgorCUBlY2hvICIgIGxh
dGV4cGRmICAgdG8gbWFrZSBMYVRlWCBmaWxlcyBhbmQgcnVuIHRoZW0gdGhyb3VnaCBwZGZsYXRl
eCIKKwlAZWNobyAiICBsYXRleHBkZmphIHRvIG1ha2UgTGFUZVggZmlsZXMgYW5kIHJ1biB0aGVt
IHRocm91Z2ggcGxhdGV4L2R2aXBkZm14IgorCUBlY2hvICIgIHRleHQgICAgICAgdG8gbWFrZSB0
ZXh0IGZpbGVzIgorCUBlY2hvICIgIG1hbiAgICAgICAgdG8gbWFrZSBtYW51YWwgcGFnZXMiCisJ
QGVjaG8gIiAgdGV4aW5mbyAgICB0byBtYWtlIFRleGluZm8gZmlsZXMiCisJQGVjaG8gIiAgaW5m
byAgICAgICB0byBtYWtlIFRleGluZm8gZmlsZXMgYW5kIHJ1biB0aGVtIHRocm91Z2ggbWFrZWlu
Zm8iCisJQGVjaG8gIiAgZ2V0dGV4dCAgICB0byBtYWtlIFBPIG1lc3NhZ2UgY2F0YWxvZ3MiCisJ
QGVjaG8gIiAgY2hhbmdlcyAgICB0byBtYWtlIGFuIG92ZXJ2aWV3IG9mIGFsbCBjaGFuZ2VkL2Fk
ZGVkL2RlcHJlY2F0ZWQgaXRlbXMiCisJQGVjaG8gIiAgeG1sICAgICAgICB0byBtYWtlIERvY3V0
aWxzLW5hdGl2ZSBYTUwgZmlsZXMiCisJQGVjaG8gIiAgcHNldWRveG1sICB0byBtYWtlIHBzZXVk
b3htbC1YTUwgZmlsZXMgZm9yIGRpc3BsYXkgcHVycG9zZXMiCisJQGVjaG8gIiAgbGlua2NoZWNr
ICB0byBjaGVjayBhbGwgZXh0ZXJuYWwgbGlua3MgZm9yIGludGVncml0eSIKKwlAZWNobyAiICBk
b2N0ZXN0ICAgIHRvIHJ1biBhbGwgZG9jdGVzdHMgZW1iZWRkZWQgaW4gdGhlIGRvY3VtZW50YXRp
b24gKGlmIGVuYWJsZWQpIgorCitjbGVhbjoKKwlybSAtcmYgJChCVUlMRERJUikvKgorCitodG1s
OgorCSQoU1BISU5YQlVJTEQpIC1iIGh0bWwgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9o
dG1sCisJQGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSBIVE1MIHBhZ2VzIGFyZSBp
biAkKEJVSUxERElSKS9odG1sLiIKKworZGlyaHRtbDoKKwkkKFNQSElOWEJVSUxEKSAtYiBkaXJo
dG1sICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvZGlyaHRtbAorCUBlY2hvCisJQGVjaG8g
IkJ1aWxkIGZpbmlzaGVkLiBUaGUgSFRNTCBwYWdlcyBhcmUgaW4gJChCVUlMRERJUikvZGlyaHRt
bC4iCisKK3NpbmdsZWh0bWw6CisJJChTUEhJTlhCVUlMRCkgLWIgc2luZ2xlaHRtbCAkKEFMTFNQ
SElOWE9QVFMpICQoQlVJTERESVIpL3NpbmdsZWh0bWwKKwlAZWNobworCUBlY2hvICJCdWlsZCBm
aW5pc2hlZC4gVGhlIEhUTUwgcGFnZSBpcyBpbiAkKEJVSUxERElSKS9zaW5nbGVodG1sLiIKKwor
cGlja2xlOgorCSQoU1BISU5YQlVJTEQpIC1iIHBpY2tsZSAkKEFMTFNQSElOWE9QVFMpICQoQlVJ
TERESVIpL3BpY2tsZQorCUBlY2hvCisJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkOyBub3cgeW91IGNh
biBwcm9jZXNzIHRoZSBwaWNrbGUgZmlsZXMuIgorCitqc29uOgorCSQoU1BISU5YQlVJTEQpIC1i
IGpzb24gJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9qc29uCisJQGVjaG8KKwlAZWNobyAi
QnVpbGQgZmluaXNoZWQ7IG5vdyB5b3UgY2FuIHByb2Nlc3MgdGhlIEpTT04gZmlsZXMuIgorCito
dG1saGVscDoKKwkkKFNQSElOWEJVSUxEKSAtYiBodG1saGVscCAkKEFMTFNQSElOWE9QVFMpICQo
QlVJTERESVIpL2h0bWxoZWxwCisJQGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQ7IG5vdyB5
b3UgY2FuIHJ1biBIVE1MIEhlbHAgV29ya3Nob3Agd2l0aCB0aGUiIFwKKwkgICAgICAiLmhocCBw
cm9qZWN0IGZpbGUgaW4gJChCVUlMRERJUikvaHRtbGhlbHAuIgorCitxdGhlbHA6CisJJChTUEhJ
TlhCVUlMRCkgLWIgcXRoZWxwICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvcXRoZWxwCisJ
QGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQ7IG5vdyB5b3UgY2FuIHJ1biAicWNvbGxlY3Rp
b25nZW5lcmF0b3IiIHdpdGggdGhlIiBcCisJICAgICAgIi5xaGNwIHByb2plY3QgZmlsZSBpbiAk
KEJVSUxERElSKS9xdGhlbHAsIGxpa2UgdGhpczoiCisJQGVjaG8gIiMgcWNvbGxlY3Rpb25nZW5l
cmF0b3IgJChCVUlMRERJUikvcXRoZWxwL3dwdHJ1bm5lci5xaGNwIgorCUBlY2hvICJUbyB2aWV3
IHRoZSBoZWxwIGZpbGU6IgorCUBlY2hvICIjIGFzc2lzdGFudCAtY29sbGVjdGlvbkZpbGUgJChC
VUlMRERJUikvcXRoZWxwL3dwdHJ1bm5lci5xaGMiCisKK2RldmhlbHA6CisJJChTUEhJTlhCVUlM
RCkgLWIgZGV2aGVscCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL2RldmhlbHAKKwlAZWNo
bworCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4iCisJQGVjaG8gIlRvIHZpZXcgdGhlIGhlbHAgZmls
ZToiCisJQGVjaG8gIiMgbWtkaXIgLXAgJCRIT01FLy5sb2NhbC9zaGFyZS9kZXZoZWxwL3dwdHJ1
bm5lciIKKwlAZWNobyAiIyBsbiAtcyAkKEJVSUxERElSKS9kZXZoZWxwICQkSE9NRS8ubG9jYWwv
c2hhcmUvZGV2aGVscC93cHRydW5uZXIiCisJQGVjaG8gIiMgZGV2aGVscCIKKworZXB1YjoKKwkk
KFNQSElOWEJVSUxEKSAtYiBlcHViICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvZXB1Ygor
CUBlY2hvCisJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgZXB1YiBmaWxlIGlzIGluICQoQlVJ
TERESVIpL2VwdWIuIgorCitsYXRleDoKKwkkKFNQSElOWEJVSUxEKSAtYiBsYXRleCAkKEFMTFNQ
SElOWE9QVFMpICQoQlVJTERESVIpL2xhdGV4CisJQGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNo
ZWQ7IHRoZSBMYVRlWCBmaWxlcyBhcmUgaW4gJChCVUlMRERJUikvbGF0ZXguIgorCUBlY2hvICJS
dW4gXGBtYWtlJyBpbiB0aGF0IGRpcmVjdG9yeSB0byBydW4gdGhlc2UgdGhyb3VnaCAocGRmKWxh
dGV4IiBcCisJICAgICAgIih1c2UgXGBtYWtlIGxhdGV4cGRmJyBoZXJlIHRvIGRvIHRoYXQgYXV0
b21hdGljYWxseSkuIgorCitsYXRleHBkZjoKKwkkKFNQSElOWEJVSUxEKSAtYiBsYXRleCAkKEFM
TFNQSElOWE9QVFMpICQoQlVJTERESVIpL2xhdGV4CisJQGVjaG8gIlJ1bm5pbmcgTGFUZVggZmls
ZXMgdGhyb3VnaCBwZGZsYXRleC4uLiIKKwkkKE1BS0UpIC1DICQoQlVJTERESVIpL2xhdGV4IGFs
bC1wZGYKKwlAZWNobyAicGRmbGF0ZXggZmluaXNoZWQ7IHRoZSBQREYgZmlsZXMgYXJlIGluICQo
QlVJTERESVIpL2xhdGV4LiIKKworbGF0ZXhwZGZqYToKKwkkKFNQSElOWEJVSUxEKSAtYiBsYXRl
eCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL2xhdGV4CisJQGVjaG8gIlJ1bm5pbmcgTGFU
ZVggZmlsZXMgdGhyb3VnaCBwbGF0ZXggYW5kIGR2aXBkZm14Li4uIgorCSQoTUFLRSkgLUMgJChC
VUlMRERJUikvbGF0ZXggYWxsLXBkZi1qYQorCUBlY2hvICJwZGZsYXRleCBmaW5pc2hlZDsgdGhl
IFBERiBmaWxlcyBhcmUgaW4gJChCVUlMRERJUikvbGF0ZXguIgorCit0ZXh0OgorCSQoU1BISU5Y
QlVJTEQpIC1iIHRleHQgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS90ZXh0CisJQGVjaG8K
KwlAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSB0ZXh0IGZpbGVzIGFyZSBpbiAkKEJVSUxERElS
KS90ZXh0LiIKKworbWFuOgorCSQoU1BISU5YQlVJTEQpIC1iIG1hbiAkKEFMTFNQSElOWE9QVFMp
ICQoQlVJTERESVIpL21hbgorCUBlY2hvCisJQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgbWFu
dWFsIHBhZ2VzIGFyZSBpbiAkKEJVSUxERElSKS9tYW4uIgorCit0ZXhpbmZvOgorCSQoU1BISU5Y
QlVJTEQpIC1iIHRleGluZm8gJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS90ZXhpbmZvCisJ
QGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSBUZXhpbmZvIGZpbGVzIGFyZSBpbiAk
KEJVSUxERElSKS90ZXhpbmZvLiIKKwlAZWNobyAiUnVuIFxgbWFrZScgaW4gdGhhdCBkaXJlY3Rv
cnkgdG8gcnVuIHRoZXNlIHRocm91Z2ggbWFrZWluZm8iIFwKKwkgICAgICAiKHVzZSBcYG1ha2Ug
aW5mbycgaGVyZSB0byBkbyB0aGF0IGF1dG9tYXRpY2FsbHkpLiIKKworaW5mbzoKKwkkKFNQSElO
WEJVSUxEKSAtYiB0ZXhpbmZvICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvdGV4aW5mbwor
CUBlY2hvICJSdW5uaW5nIFRleGluZm8gZmlsZXMgdGhyb3VnaCBtYWtlaW5mby4uLiIKKwltYWtl
IC1DICQoQlVJTERESVIpL3RleGluZm8gaW5mbworCUBlY2hvICJtYWtlaW5mbyBmaW5pc2hlZDsg
dGhlIEluZm8gZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3RleGluZm8uIgorCitnZXR0ZXh0Ogor
CSQoU1BISU5YQlVJTEQpIC1iIGdldHRleHQgJChJMThOU1BISU5YT1BUUykgJChCVUlMRERJUikv
bG9jYWxlCisJQGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSBtZXNzYWdlIGNhdGFs
b2dzIGFyZSBpbiAkKEJVSUxERElSKS9sb2NhbGUuIgorCitjaGFuZ2VzOgorCSQoU1BISU5YQlVJ
TEQpIC1iIGNoYW5nZXMgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9jaGFuZ2VzCisJQGVj
aG8KKwlAZWNobyAiVGhlIG92ZXJ2aWV3IGZpbGUgaXMgaW4gJChCVUlMRERJUikvY2hhbmdlcy4i
CisKK2xpbmtjaGVjazoKKwkkKFNQSElOWEJVSUxEKSAtYiBsaW5rY2hlY2sgJChBTExTUEhJTlhP
UFRTKSAkKEJVSUxERElSKS9saW5rY2hlY2sKKwlAZWNobworCUBlY2hvICJMaW5rIGNoZWNrIGNv
bXBsZXRlOyBsb29rIGZvciBhbnkgZXJyb3JzIGluIHRoZSBhYm92ZSBvdXRwdXQgIiBcCisJICAg
ICAgIm9yIGluICQoQlVJTERESVIpL2xpbmtjaGVjay9vdXRwdXQudHh0LiIKKworZG9jdGVzdDoK
KwkkKFNQSElOWEJVSUxEKSAtYiBkb2N0ZXN0ICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikv
ZG9jdGVzdAorCUBlY2hvICJUZXN0aW5nIG9mIGRvY3Rlc3RzIGluIHRoZSBzb3VyY2VzIGZpbmlz
aGVkLCBsb29rIGF0IHRoZSAiIFwKKwkgICAgICAicmVzdWx0cyBpbiAkKEJVSUxERElSKS9kb2N0
ZXN0L291dHB1dC50eHQuIgorCit4bWw6CisJJChTUEhJTlhCVUlMRCkgLWIgeG1sICQoQUxMU1BI
SU5YT1BUUykgJChCVUlMRERJUikveG1sCisJQGVjaG8KKwlAZWNobyAiQnVpbGQgZmluaXNoZWQu
IFRoZSBYTUwgZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3htbC4iCisKK3BzZXVkb3htbDoKKwkk
KFNQSElOWEJVSUxEKSAtYiBwc2V1ZG94bWwgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9w
c2V1ZG94bWwKKwlAZWNobworCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIHBzZXVkby1YTUwg
ZmlsZXMgYXJlIGluICQoQlVJTERESVIpL3BzZXVkb3htbC4iCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2Nz
L2FyY2hpdGVjdHVyZS5zdmcgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL2FyY2hpdGVjdHVyZS5zdmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWZmOTVmOGU4ZTA1OTM5MjM3ZmMzM2NlNTM1MmMxNTIzNDY3MmM2ZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL2RvY3MvYXJjaGl0ZWN0dXJlLnN2ZwpAQCAtMCwwICsxIEBACis8c3ZnIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGxpbmsiIHdpZHRoPSI3ODBweCIgaGVpZ2h0PSIxMDg3cHgiIHZlcnNpb249IjEuMSI+
PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIiBp
ZD0ibXgtZ3JhZGllbnQtYTljNGViLTEtYTljNGViLTEtcy0wIj48c3RvcCBvZmZzZXQ9IjAlIiBz
dHlsZT0ic3RvcC1jb2xvcjojQTlDNEVCIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdHlsZT0ic3Rv
cC1jb2xvcjojQTlDNEVCIi8+PC9saW5lYXJncmFkaWVudD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0
cmFuc2xhdGUoMC41LDAuNSkiPjxyZWN0IHg9IjQ5OCIgeT0iNDk4IiB3aWR0aD0iMTIwIiBoZWln
aHQ9IjYwIiBmaWxsPSIjZTZkMGRlIiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJu
b25lIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAwLDUyMSkiPjxzd2l0Y2g+PGZvcmVpZ25P
YmplY3QgcG9pbnRlci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVpZ2h0PSIxNSIgcmVxdWly
ZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmls
aXR5Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlz
cGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRp
Y2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2OyB2ZXJ0aWNhbC1hbGln
bjogdG9wOyB3aWR0aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHRleHQtYWxpZ246IGNl
bnRlcjsiPlRlc3RSdW5uZXI8L2Rpdj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0
IiBmaWxsPSIjMDAwMDAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZv
bnQtZmFtaWx5PSJIZWx2ZXRpY2EiPltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9z
d2l0Y2g+PC9nPjxyZWN0IHg9IjMzOCIgeT0iNzc4IiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBm
aWxsPSIjZjE5Yzk5IiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcg
dHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzQwLDgwMSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9p
bnRlci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVpZ2h0PSIxNSIgcmVxdWlyZWRGZWF0dXJl
cz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5Ij48ZGl2
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogaW5s
aW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9y
OiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3
aWR0aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsiPlBy
b2R1Y3QgdW5kZXIgdGVzdDwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQi
IGZpbGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9u
dC1mYW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3
aXRjaD48L2c+PHJlY3QgeD0iMzM4IiB5PSIzODgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAiIGZp
bGw9IiNlNmQwZGUiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyB0
cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDAsNDExKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2lu
dGVyLWV2ZW50cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVz
PSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6
IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdp
ZHRoOiAxMTZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+VGVz
dFJ1bm5lck1hbmFnZXI8L2Rpdj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0IiBm
aWxsPSIjMDAwMDAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZvbnQt
ZmFtaWx5PSJIZWx2ZXRpY2EiPltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9zd2l0
Y2g+PC9nPjxyZWN0IHg9IjMzOCIgeT0iMjI4IiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxs
PSIjZTZkMGRlIiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgdHJh
bnNmb3JtPSJ0cmFuc2xhdGUoMzQwLDI1MSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRl
ci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVpZ2h0PSIxNSIgcmVxdWlyZWRGZWF0dXJlcz0i
aHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5Ij48ZGl2IHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogaW5saW5l
LWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiBy
Z2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aWR0
aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsiPk1hbmFn
ZXJHcm91cDwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMw
MDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9
IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+
PHJlY3QgeD0iNjU4IiB5PSI2MDgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAiIGZpbGw9IiNmZmNl
OWYiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyB0cmFuc2Zvcm09
InRyYW5zbGF0ZSg2NjAsNjMxKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50
cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAw
LCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZw
eDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+RXhlY3V0b3I8L2Rp
dj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0IiBmaWxsPSIjMDAwMDAwIiB0ZXh0
LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2Ei
PltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0IHg9IjMz
OCIgeT0iNDk4IiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxsPSJ1cmwoI214LWdyYWRpZW50
LWE5YzRlYi0xLWE5YzRlYi0xLXMtMCkiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9
Im5vbmUiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDAsNTIxKSI+PHN3aXRjaD48Zm9yZWln
bk9iamVjdCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1
aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2li
aWxpdHkiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFs
aWduOiB0b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjog
Y2VudGVyOyI+QnJvd3NlcjwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQi
IGZpbGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9u
dC1mYW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3
aXRjaD48L2c+PHBhdGggZD0iTSAzOTggMjg4IEwgMzk4IDM4MiIgZmlsbD0ibm9uZSIgc3Ryb2tl
PSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+
PHBhdGggZD0iTSAzOTggMzg3IEwgMzk1IDM4MCBMIDM5OCAzODIgTCA0MDIgMzgwIFoiIGZpbGw9
IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVy
LWV2ZW50cz0ibm9uZSIvPjxwYXRoIGQ9Ik0gMzk4IDQ0OCBMIDM5OCA0OTIiIGZpbGw9Im5vbmUi
IHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0i
bm9uZSIvPjxwYXRoIGQ9Ik0gMzk4IDQ5NyBMIDM5NSA0OTAgTCAzOTggNDkyIEwgNDAyIDQ5MCBa
IiBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIg
cG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDYxOCA1MjggTCA2ODQgNjAzIiBmaWxs
PSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1l
dmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDY4NyA2MDcgTCA2ODAgNjA0IEwgNjg0IDYwMyBMIDY4
NSA2MDAgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1p
dD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iNDk4IiB5PSI2MDgiIHdpZHRo
PSIxMjAiIGhlaWdodD0iNjAiIGZpbGw9IiNhOWM0ZWIiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRl
ci1ldmVudHM9Im5vbmUiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MDAsNjMxKSI+PHN3aXRj
aD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9
IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJl
I0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwi
IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1p
bHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZl
cnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4
dC1hbGlnbjogY2VudGVyOyI+RXhlY3V0b3JCcm93c2VyPC9kaXY+PC9mb3JlaWdub2JqZWN0Pjx0
ZXh0IHg9IjU4IiB5PSIxNCIgZmlsbD0iIzAwMDAwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9u
dC1zaXplPSIxMnB4IiBmb250LWZhbWlseT0iSGVsdmV0aWNhIj5bTm90IHN1cHBvcnRlZCBieSB2
aWV3ZXJdPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDYyNCA2MzggTCA2NTggNjM4IiBm
aWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRl
ci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDYxOSA2MzggTCA2MjYgNjM1IEwgNjI0IDYzOCBM
IDYyNiA2NDIgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJs
aW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSA0MjggNDQ4IEwgNTUy
IDQ5NiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAi
IHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJN
IDU1NyA0OTggTCA1NDkgNDk4IEwgNTUyIDQ5NiBMIDU1MiA0OTIgWiIgZmlsbD0iIzAwMDAwMCIg
c3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJu
b25lIi8+PHBhdGggZD0iTSAzOTggNTU4IEwgMzk4IDc3MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIj
MDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIgcG9p
bnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDM5OCA3NzcgTCAzOTUgNzcwIEwgMzk4IDc3
MiBMIDQwMiA3NzAgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0
ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iMzM4IiB5PSI0OCIg
d2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2U2ZDBkZSIgc3Ryb2tlPSIjMDAwMDAwIiBw
b2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM0MCw3MSkiPjxz
d2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVp
Z2h0PSIxNSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVh
dHVyZSNFeHRlbnNpYmlsaXR5Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3ho
dG1sIiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQt
ZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2
OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3aWR0aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7
IHRleHQtYWxpZ246IGNlbnRlcjsiPnJ1bl90ZXN0czwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4
dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQt
c2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmll
d2VyXTwvdGV4dD48L3N3aXRjaD48L2c+PHBhdGggZD0iTSA0NTggNzggTCA2NTIgNzgiIGZpbGw9
Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2
ZW50cz0ibm9uZSIvPjxwYXRoIGQ9Ik0gNjU3IDc4IEwgNjUwIDgyIEwgNjUyIDc4IEwgNjUwIDc1
IFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEw
IiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0IHg9IjY1OCIgeT0iNDgiIHdpZHRoPSIxMjAi
IGhlaWdodD0iNjAiIGZpbGw9IiNlNmQwZGUiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVu
dHM9Im5vbmUiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2NjAsNzEpIj48c3dpdGNoPjxmb3Jl
aWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJhbGwiIHdpZHRoPSIxMTYiIGhlaWdodD0iMTUiIHJl
cXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5z
aWJpbGl0eSI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9
ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVs
dmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yNjsgdmVydGljYWwt
YWxpZ246IHRvcDsgd2lkdGg6IDExNnB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB0ZXh0LWFsaWdu
OiBjZW50ZXI7Ij5UZXN0TG9hZGVyPC9kaXY+PC9mb3JlaWdub2JqZWN0Pjx0ZXh0IHg9IjU4IiB5
PSIxNCIgZmlsbD0iIzAwMDAwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4
IiBmb250LWZhbWlseT0iSGVsdmV0aWNhIj5bTm90IHN1cHBvcnRlZCBieSB2aWV3ZXJdPC90ZXh0
Pjwvc3dpdGNoPjwvZz48cmVjdCB4PSI3MSIgeT0iNDgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAi
IGZpbGw9IiNlNmQwZGUiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48
ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3Myw3MSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9p
bnRlci1ldmVudHM9ImFsbCIgd2lkdGg9IjExNiIgaGVpZ2h0PSIxNSIgcmVxdWlyZWRGZWF0dXJl
cz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5Ij48ZGl2
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogaW5s
aW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9y
OiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI2OyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB3
aWR0aDogMTE2cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsiPlRl
c3RFbnZpcm9ubWVudDwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZp
bGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1m
YW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRj
aD48L2c+PHJlY3QgeD0iMTUxIiB5PSI2MTgiIHdpZHRoPSIxMjAiIGhlaWdodD0iNjAiIGZpbGw9
IiNiOWUwYTUiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyB0cmFu
c2Zvcm09InRyYW5zbGF0ZSgxNTMsNjQxKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVy
LWV2ZW50cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJn
YigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRo
OiAxMTZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+d3B0c2Vy
dmU8L2Rpdj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0IiBmaWxsPSIjMDAwMDAw
IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZvbnQtZmFtaWx5PSJIZWx2
ZXRpY2EiPltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9zd2l0Y2g+PC9nPjxyZWN0
IHg9IjEiIHk9IjYxOCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2I5ZTBhNSIgc3Ry
b2tlPSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNs
YXRlKDMsNjQxKSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3
aWR0aD0iMTE2IiBoZWlnaHQ9IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9y
Zy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6
ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGlu
ZS1oZWlnaHQ6IDEuMjY7IHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgdGV4dC1hbGlnbjogY2VudGVyOyI+cHl3ZWJzb2NrZXQ8L2Rpdj48L2Zv
cmVpZ25vYmplY3Q+PHRleHQgeD0iNTgiIHk9IjE0IiBmaWxsPSIjMDAwMDAwIiB0ZXh0LWFuY2hv
cj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiPltOb3Qg
c3VwcG9ydGVkIGJ5IHZpZXdlcl08L3RleHQ+PC9zd2l0Y2g+PC9nPjxwYXRoIGQ9Ik0gMzM4IDc4
IEwgMTk3IDc4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0
PSIxMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDE5MiA3OCBMIDE5OSA3NSBM
IDE5NyA3OCBMIDE5OSA4MiBaIiBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9r
ZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDEwMSAz
MDggTCA2MiA2MTIiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGlt
aXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIzIDMiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBh
dGggZD0iTSA2MSA2MTcgTCA1OSA2MTAgTCA2MiA2MTIgTCA2NiA2MTAgWiIgZmlsbD0iIzAwMDAw
MCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRz
PSJub25lIi8+PHBhdGggZD0iTSAxNjEgMzA4IEwgMjA0IDYxMiIgZmlsbD0ibm9uZSIgc3Ryb2tl
PSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIg
cG9pbnRlci1ldmVudHM9Im5vbmUiLz48cGF0aCBkPSJNIDIwNCA2MTcgTCAyMDAgNjEwIEwgMjA0
IDYxMiBMIDIwNyA2MDkgWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Ut
bWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAzMzggODIz
IEwgNjEgNjc4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0
PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iMyAzIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxwYXRo
IGQ9Ik0gMjExIDY3OCBMIDMzOCA3OTMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ry
b2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIzIDMiIHBvaW50ZXItZXZlbnRz
PSJub25lIi8+PHBhdGggZD0iTSAzOTggMTA4IEwgMzk4IDIyMiIgZmlsbD0ibm9uZSIgc3Ryb2tl
PSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+
PHBhdGggZD0iTSAzOTggMjI3IEwgMzk1IDIyMCBMIDM5OCAyMjIgTCA0MDIgMjIwIFoiIGZpbGw9
IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVy
LWV2ZW50cz0ibm9uZSIvPjxwYXRoIGQ9Ik0gNzA2IDI4OCBMIDYxOCA1MTMiIGZpbGw9Im5vbmUi
IHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5
PSIzIDMiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iNjU4IiB5PSIzODgiIHdpZHRo
PSI3MCIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50
cz0ibm9uZSIvPjxnIGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQt
YW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCI+PHRleHQgeD0iNjkzIiB5PSI0MTIiPlF1
ZXVlLmdldDwvdGV4dD48L2c+PHBhdGggZD0iTSA0NTggODA4IEwgNzE4IDY2OCIgZmlsbD0ibm9u
ZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJy
YXk9IjMgMyIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48cmVjdCB4PSI3MSIgeT0iMjQ4IiB3aWR0
aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxsPSIjYjllMGE1IiBzdHJva2U9IiMwMDAwMDAiIHBvaW50
ZXItZXZlbnRzPSJub25lIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzMsMjcxKSI+PHN3aXRj
aD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0iYWxsIiB3aWR0aD0iMTE2IiBoZWlnaHQ9
IjE1IiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJl
I0V4dGVuc2liaWxpdHkiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwi
IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1p
bHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjY7IHZl
cnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAxMTZweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgdGV4
dC1hbGlnbjogY2VudGVyOyI+c2VydmUucHk8L2Rpdj48L2ZvcmVpZ25vYmplY3Q+PHRleHQgeD0i
NTgiIHk9IjE0IiBmaWxsPSIjMDAwMDAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9
IjEycHgiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiPltOb3Qgc3VwcG9ydGVkIGJ5IHZpZXdlcl08
L3RleHQ+PC9zd2l0Y2g+PC9nPjxwYXRoIGQ9Ik0gMTMxIDEwOCBMIDEzMSAyNDIiIGZpbGw9Im5v
bmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFy
cmF5PSIzIDMiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAxMzEgMjQ3IEwgMTI4
IDI0MCBMIDEzMSAyNDIgTCAxMzUgMjQwIFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAw
MCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxwYXRoIGQ9
Ik0gODggOTczIEwgMTMyIDk3MyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Ut
bWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAxMzcgOTcz
IEwgMTMwIDk3NyBMIDEzMiA5NzMgTCAxMzAgOTcwIFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0i
IzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxy
ZWN0IHg9IjEzOCIgeT0iMTAxOCIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIzMCIgZmlsbD0ibm9uZSIg
c3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIGZpbGw9IiMwMDAwMDAiIGZv
bnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJw
eCI+PHRleHQgeD0iMjI4IiB5PSIxMDM3Ij5Db21tdW5pY2F0aW9uIChjcm9zcyBwcm9jZXNzKTwv
dGV4dD48L2c+PHBhdGggZD0iTSA4OCAxMDAyIEwgMTMyIDEwMDIiIGZpbGw9Im5vbmUiIHN0cm9r
ZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtZGFzaGFycmF5PSIzIDMi
IHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAxMzcgMTAwMiBMIDEzMCAxMDA2IEwg
MTMyIDEwMDIgTCAxMzAgOTk5IFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ry
b2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0IHg9IjEzOCIg
eT0iOTU4IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjMwIiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUi
IHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9Ikhl
bHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4Ij48dGV4dCB4PSIy
MjgiIHk9Ijk3NyI+T3duZXJzaGlwIChzYW1lIHByb2Nlc3MpPC90ZXh0PjwvZz48cGF0aCBkPSJN
IDg4IDEwMzMgTCAxMzggMTAzMyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Ut
bWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1kYXNoYXJyYXk9IjMgMyIgcG9pbnRlci1ldmVudHM9Im5v
bmUiLz48cmVjdCB4PSIxNDMiIHk9Ijk4OCIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIzMCIgZmlsbD0i
bm9uZSIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIGZpbGw9IiMwMDAw
MDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6
ZT0iMTJweCI+PHRleHQgeD0iMjMzIiB5PSIxMDA3Ij5Pd25lcnNoaXAgKGNyb3NzIHByb2Nlc3Mp
PC90ZXh0PjwvZz48cmVjdCB4PSI0MjgiIHk9Ijk2NiIgd2lkdGg9IjUwIiBoZWlnaHQ9IjE1IiBm
aWxsPSIjZTZkMGRlIiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJl
Y3QgeD0iNDI4IiB5PSI5OTAiIHdpZHRoPSI1MCIgaGVpZ2h0PSIxNSIgZmlsbD0iI2E5YzRlYiIg
c3Ryb2tlPSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0IHg9IjQyOCIgeT0i
MTAxNSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjE1IiBmaWxsPSIjZmZjZTlmIiBzdHJva2U9IiMwMDAw
MDAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHJlY3QgeD0iNDI4IiB5PSIxMDYzIiB3aWR0aD0i
NTAiIGhlaWdodD0iMTUiIGZpbGw9IiNmMTljOTkiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1l
dmVudHM9Im5vbmUiLz48cmVjdCB4PSI0MjgiIHk9IjEwMzgiIHdpZHRoPSI1MCIgaGVpZ2h0PSIx
NSIgZmlsbD0iI2I5ZTBhNSIgc3Ryb2tlPSIjMDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIv
PjxyZWN0IHg9IjQ4NSIgeT0iOTU4IiB3aWR0aD0iOTAiIGhlaWdodD0iMzAiIGZpbGw9Im5vbmUi
IHN0cm9rZT0ibm9uZSIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyBmaWxsPSIjMDAwMDAwIiBm
b250LWZhbWlseT0iSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEy
cHgiPjx0ZXh0IHg9IjUzMCIgeT0iOTc3Ij53cHRydW5uZXIgY2xhc3M8L3RleHQ+PC9nPjxyZWN0
IHg9IjQ4NiIgeT0iOTgzIiB3aWR0aD0iMTUwIiBoZWlnaHQ9IjMwIiBmaWxsPSJub25lIiBzdHJv
a2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAwMCIgZm9udC1m
YW1pbHk9IkhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4Ij48
dGV4dCB4PSI1NjEiIHk9IjEwMDIiPlBlci1wcm9kdWN0IHdwdHJ1bm5lciBjbGFzczwvdGV4dD48
L2c+PHJlY3QgeD0iNDg2IiB5PSIxMDA4IiB3aWR0aD0iMTUwIiBoZWlnaHQ9IjMwIiBmaWxsPSJu
b25lIiBzdHJva2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAw
MCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXpl
PSIxMnB4Ij48dGV4dCB4PSI1NjEiIHk9IjEwMjciPlBlci1wcm90b2NvbCB3cHRydW5uZXIgY2xh
c3M8L3RleHQ+PC9nPjxyZWN0IHg9IjQ5MSIgeT0iMTAzMSIgd2lkdGg9IjE1MCIgaGVpZ2h0PSIz
MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIGZp
bGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUi
IGZvbnQtc2l6ZT0iMTJweCI+PHRleHQgeD0iNTY2IiB5PSIxMDUwIj5XZWItcGxhdGZvcm0tdGVz
dHMgY29tcG9uZW50PC90ZXh0PjwvZz48cmVjdCB4PSI0ODYiIHk9IjEwNTUiIHdpZHRoPSI5MCIg
aGVpZ2h0PSIzMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0ibm9u
ZSIvPjxnIGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQtYW5jaG9y
PSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCI+PHRleHQgeD0iNTMxIiB5PSIxMDc0Ij5Ccm93c2Vy
IHByb2Nlc3M8L3RleHQ+PC9nPjxwYXRoIGQ9Ik0gMzk4IDggTCAzOTggNDIiIGZpbGw9Im5vbmUi
IHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0i
bm9uZSIvPjxwYXRoIGQ9Ik0gMzk4IDQ3IEwgMzk1IDQwIEwgMzk4IDQyIEwgNDAyIDQwIFoiIGZp
bGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2lu
dGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0IHg9IjQ3OCIgeT0iMzg4IiB3aWR0aD0iMTIwIiBoZWln
aHQ9IjYwIiBmaWxsLW9wYWNpdHk9IjAuNSIgZmlsbD0iI2U2ZDBkZSIgc3Ryb2tlPSIjMDAwMDAw
IiBzdHJva2Utb3BhY2l0eT0iMC41IiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9y
bT0idHJhbnNsYXRlKDQ4MCw0MTEpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZl
bnRzPSJhbGwiIHdpZHRoPSIxMTYiIGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6
Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRpdiB4bWxucz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9j
azsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAs
IDAsIDApOyBsaW5lLWhlaWdodDogMS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDEx
NnB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5UZXN0UnVubmVy
TWFuYWdlcjwvZGl2PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMw
MDAwMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9
IkhlbHZldGljYSI+W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+
PHBhdGggZD0iTSAzOTggMjg4IEwgNTMzIDM4NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAw
IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0i
TSA1MzcgMzg3IEwgNTI5IDM4NiBMIDUzMyAzODQgTCA1MzMgMzgwIFoiIGZpbGw9IiMwMDAwMDAi
IHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0i
bm9uZSIvPjxyZWN0IHg9IjE5OCIgeT0iMzg4IiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjYwIiBmaWxs
LW9wYWNpdHk9IjAuNSIgZmlsbD0iI2U2ZDBkZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utb3Bh
Y2l0eT0iMC41IiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRl
KDIwMCw0MTEpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJhbGwiIHdp
ZHRoPSIxMTYiIGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3Jn
L1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXpl
OiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5l
LWhlaWdodDogMS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDExNnB4OyB3aGl0ZS1z
cGFjZTogbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5UZXN0UnVubmVyTWFuYWdlcjwvZGl2
PjwvZm9yZWlnbm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMwMDAwMDAiIHRleHQt
YW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSI+
W05vdCBzdXBwb3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+PHBhdGggZD0iTSAz
OTggMjg4IEwgMjYzIDM4NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0
ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSAyNTkgMzg3IEwg
MjYzIDM4MCBMIDI2MyAzODQgTCAyNjcgMzg2IFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAw
MDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxyZWN0
IHg9IjU3NSIgeT0iNzQ4IiB3aWR0aD0iMTEwIiBoZWlnaHQ9IjQwIiBmaWxsPSJub25lIiBzdHJv
a2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PGcgZmlsbD0iIzAwMDAwMCIgZm9udC1m
YW1pbHk9IkhlbHZldGljYSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1zaXplPSIxMnB4Ij48
dGV4dCB4PSI2MzAiIHk9Ijc1OCI+QnJvd3NlciBjb250cm9sPC90ZXh0Pjx0ZXh0IHg9IjYzMCIg
eT0iNzcyIj5wcm90b2NvbDwvdGV4dD48dGV4dCB4PSI2MzAiIHk9Ijc4NiI+KGUuZy4gV2ViRHJp
dmVyKTwvdGV4dD48L2c+PHJlY3QgeD0iMjU4IiB5PSI3MDgiIHdpZHRoPSI4MCIgaGVpZ2h0PSI0
MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJub25lIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIGZp
bGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIHRleHQtYW5jaG9yPSJtaWRkbGUi
IGZvbnQtc2l6ZT0iMTJweCI+PHRleHQgeD0iMjk4IiB5PSI3MzIiPkhUVFA8L3RleHQ+PC9nPjxy
ZWN0IHg9IjExMSIgeT0iNzI4IiB3aWR0aD0iODAiIGhlaWdodD0iNDAiIGZpbGw9Im5vbmUiIHN0
cm9rZT0ibm9uZSIgcG9pbnRlci1ldmVudHM9Im5vbmUiLz48ZyBmaWxsPSIjMDAwMDAwIiBmb250
LWZhbWlseT0iSGVsdmV0aWNhIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEycHgi
Pjx0ZXh0IHg9IjE1MSIgeT0iNzUyIj53ZWJzb2NrZXRzPC90ZXh0PjwvZz48cmVjdCB4PSI2NTgi
IHk9IjIyOCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2U2ZDBkZSIgc3Ryb2tlPSIj
MDAwMDAwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY2
MCwyNTEpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJhbGwiIHdpZHRo
PSIxMTYiIGhlaWdodD0iMTUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RS
L1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAx
MnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhl
aWdodDogMS4yNjsgdmVydGljYWwtYWxpZ246IHRvcDsgd2lkdGg6IDExNnB4OyB3aGl0ZS1zcGFj
ZTogbm9ybWFsOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5UZXN0cyBRdWV1ZTwvZGl2PjwvZm9yZWln
bm9iamVjdD48dGV4dCB4PSI1OCIgeT0iMTQiIGZpbGw9IiMwMDAwMDAiIHRleHQtYW5jaG9yPSJt
aWRkbGUiIGZvbnQtc2l6ZT0iMTJweCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSI+W05vdCBzdXBw
b3J0ZWQgYnkgdmlld2VyXTwvdGV4dD48L3N3aXRjaD48L2c+PHBhdGggZD0iTSA3MTggMTA4IEwg
NzE4IDIyMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0i
MTAiIHBvaW50ZXItZXZlbnRzPSJub25lIi8+PHBhdGggZD0iTSA3MTggMjI3IEwgNzE1IDIyMCBM
IDcxOCAyMjIgTCA3MjIgMjIwIFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ry
b2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjxwYXRoIGQ9Ik0gNDI4
IDk3MCBMIDQyOCA5NzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVy
bGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ibm9uZSIvPjwvZz48L3N2Zz4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL2RvY3MvY29uZi5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvY29uZi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWU1Y2M0ZjBk
MjA0MjVkN2Y3ZjIyMGFhOTZhY2U5MzE5N2I5NzAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9j
cy9jb25mLnB5CkBAIC0wLDAgKzEsMjY3IEBACisjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorIwor
IyB3cHRydW5uZXIgZG9jdW1lbnRhdGlvbiBidWlsZCBjb25maWd1cmF0aW9uIGZpbGUsIGNyZWF0
ZWQgYnkKKyMgc3BoaW54LXF1aWNrc3RhcnQgb24gTW9uIE1heSAxOSAxODoxNDoyMCAyMDE0Lgor
IworIyBUaGlzIGZpbGUgaXMgZXhlY2ZpbGUoKWQgd2l0aCB0aGUgY3VycmVudCBkaXJlY3Rvcnkg
c2V0IHRvIGl0cworIyBjb250YWluaW5nIGRpci4KKyMKKyMgTm90ZSB0aGF0IG5vdCBhbGwgcG9z
c2libGUgY29uZmlndXJhdGlvbiB2YWx1ZXMgYXJlIHByZXNlbnQgaW4gdGhpcworIyBhdXRvZ2Vu
ZXJhdGVkIGZpbGUuCisjCisjIEFsbCBjb25maWd1cmF0aW9uIHZhbHVlcyBoYXZlIGEgZGVmYXVs
dDsgdmFsdWVzIHRoYXQgYXJlIGNvbW1lbnRlZCBvdXQKKyMgc2VydmUgdG8gc2hvdyB0aGUgZGVm
YXVsdC4KKworaW1wb3J0IHN5cworaW1wb3J0IG9zCisKKyMgSWYgZXh0ZW5zaW9ucyAob3IgbW9k
dWxlcyB0byBkb2N1bWVudCB3aXRoIGF1dG9kb2MpIGFyZSBpbiBhbm90aGVyIGRpcmVjdG9yeSwK
KyMgYWRkIHRoZXNlIGRpcmVjdG9yaWVzIHRvIHN5cy5wYXRoIGhlcmUuIElmIHRoZSBkaXJlY3Rv
cnkgaXMgcmVsYXRpdmUgdG8gdGhlCisjIGRvY3VtZW50YXRpb24gcm9vdCwgdXNlIG9zLnBhdGgu
YWJzcGF0aCB0byBtYWtlIGl0IGFic29sdXRlLCBsaWtlIHNob3duIGhlcmUuCisjc3lzLnBhdGgu
aW5zZXJ0KDAsIG9zLnBhdGguYWJzcGF0aCgnLicpKQorCisjIC0tIEdlbmVyYWwgY29uZmlndXJh
dGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwor
IyBJZiB5b3VyIGRvY3VtZW50YXRpb24gbmVlZHMgYSBtaW5pbWFsIFNwaGlueCB2ZXJzaW9uLCBz
dGF0ZSBpdCBoZXJlLgorI25lZWRzX3NwaGlueCA9ICcxLjAnCisKKyMgQWRkIGFueSBTcGhpbngg
ZXh0ZW5zaW9uIG1vZHVsZSBuYW1lcyBoZXJlLCBhcyBzdHJpbmdzLiBUaGV5IGNhbiBiZQorIyBl
eHRlbnNpb25zIGNvbWluZyB3aXRoIFNwaGlueCAobmFtZWQgJ3NwaGlueC5leHQuKicpIG9yIHlv
dXIgY3VzdG9tCisjIG9uZXMuCitleHRlbnNpb25zID0gWworICAgICdzcGhpbnguZXh0LmF1dG9k
b2MnLAorICAgICdzcGhpbnguZXh0LmludGVyc3BoaW54JywKKyAgICAnc3BoaW54LmV4dC52aWV3
Y29kZScsCitdCisKKyMgQWRkIGFueSBwYXRocyB0aGF0IGNvbnRhaW4gdGVtcGxhdGVzIGhlcmUs
IHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LgordGVtcGxhdGVzX3BhdGggPSBbJ190ZW1wbGF0
ZXMnXQorCisjIFRoZSBzdWZmaXggb2Ygc291cmNlIGZpbGVuYW1lcy4KK3NvdXJjZV9zdWZmaXgg
PSAnLnJzdCcKKworIyBUaGUgZW5jb2Rpbmcgb2Ygc291cmNlIGZpbGVzLgorI3NvdXJjZV9lbmNv
ZGluZyA9ICd1dGYtOC1zaWcnCisKKyMgVGhlIG1hc3RlciB0b2N0cmVlIGRvY3VtZW50LgorbWFz
dGVyX2RvYyA9ICdpbmRleCcKKworIyBHZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9q
ZWN0LgorcHJvamVjdCA9IHUnd3B0cnVubmVyJworY29weXJpZ2h0ID0gdScnCisKKyMgVGhlIHZl
cnNpb24gaW5mbyBmb3IgdGhlIHByb2plY3QgeW91J3JlIGRvY3VtZW50aW5nLCBhY3RzIGFzIHJl
cGxhY2VtZW50IGZvcgorIyB8dmVyc2lvbnwgYW5kIHxyZWxlYXNlfCwgYWxzbyB1c2VkIGluIHZh
cmlvdXMgb3RoZXIgcGxhY2VzIHRocm91Z2hvdXQgdGhlCisjIGJ1aWx0IGRvY3VtZW50cy4KKyMK
KyMgVGhlIHNob3J0IFguWSB2ZXJzaW9uLgordmVyc2lvbiA9ICcwLjMnCisjIFRoZSBmdWxsIHZl
cnNpb24sIGluY2x1ZGluZyBhbHBoYS9iZXRhL3JjIHRhZ3MuCityZWxlYXNlID0gJzAuMycKKwor
IyBUaGUgbGFuZ3VhZ2UgZm9yIGNvbnRlbnQgYXV0b2dlbmVyYXRlZCBieSBTcGhpbnguIFJlZmVy
IHRvIGRvY3VtZW50YXRpb24KKyMgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgbGFuZ3VhZ2VzLgor
I2xhbmd1YWdlID0gTm9uZQorCisjIFRoZXJlIGFyZSB0d28gb3B0aW9ucyBmb3IgcmVwbGFjaW5n
IHx0b2RheXw6IGVpdGhlciwgeW91IHNldCB0b2RheSB0byBzb21lCisjIG5vbi1mYWxzZSB2YWx1
ZSwgdGhlbiBpdCBpcyB1c2VkOgorI3RvZGF5ID0gJycKKyMgRWxzZSwgdG9kYXlfZm10IGlzIHVz
ZWQgYXMgdGhlIGZvcm1hdCBmb3IgYSBzdHJmdGltZSBjYWxsLgorI3RvZGF5X2ZtdCA9ICclQiAl
ZCwgJVknCisKKyMgTGlzdCBvZiBwYXR0ZXJucywgcmVsYXRpdmUgdG8gc291cmNlIGRpcmVjdG9y
eSwgdGhhdCBtYXRjaCBmaWxlcyBhbmQKKyMgZGlyZWN0b3JpZXMgdG8gaWdub3JlIHdoZW4gbG9v
a2luZyBmb3Igc291cmNlIGZpbGVzLgorZXhjbHVkZV9wYXR0ZXJucyA9IFsnX2J1aWxkJ10KKwor
IyBUaGUgcmVTVCBkZWZhdWx0IHJvbGUgKHVzZWQgZm9yIHRoaXMgbWFya3VwOiBgdGV4dGApIHRv
IHVzZSBmb3IgYWxsCisjIGRvY3VtZW50cy4KKyNkZWZhdWx0X3JvbGUgPSBOb25lCisKKyMgSWYg
dHJ1ZSwgJygpJyB3aWxsIGJlIGFwcGVuZGVkIHRvIDpmdW5jOiBldGMuIGNyb3NzLXJlZmVyZW5j
ZSB0ZXh0LgorI2FkZF9mdW5jdGlvbl9wYXJlbnRoZXNlcyA9IFRydWUKKworIyBJZiB0cnVlLCB0
aGUgY3VycmVudCBtb2R1bGUgbmFtZSB3aWxsIGJlIHByZXBlbmRlZCB0byBhbGwgZGVzY3JpcHRp
b24KKyMgdW5pdCB0aXRsZXMgKHN1Y2ggYXMgLi4gZnVuY3Rpb246OikuCisjYWRkX21vZHVsZV9u
YW1lcyA9IFRydWUKKworIyBJZiB0cnVlLCBzZWN0aW9uYXV0aG9yIGFuZCBtb2R1bGVhdXRob3Ig
ZGlyZWN0aXZlcyB3aWxsIGJlIHNob3duIGluIHRoZQorIyBvdXRwdXQuIFRoZXkgYXJlIGlnbm9y
ZWQgYnkgZGVmYXVsdC4KKyNzaG93X2F1dGhvcnMgPSBGYWxzZQorCisjIFRoZSBuYW1lIG9mIHRo
ZSBQeWdtZW50cyAoc3ludGF4IGhpZ2hsaWdodGluZykgc3R5bGUgdG8gdXNlLgorcHlnbWVudHNf
c3R5bGUgPSAnc3BoaW54JworCisjIEEgbGlzdCBvZiBpZ25vcmVkIHByZWZpeGVzIGZvciBtb2R1
bGUgaW5kZXggc29ydGluZy4KKyNtb2RpbmRleF9jb21tb25fcHJlZml4ID0gW10KKworIyBJZiB0
cnVlLCBrZWVwIHdhcm5pbmdzIGFzICJzeXN0ZW0gbWVzc2FnZSIgcGFyYWdyYXBocyBpbiB0aGUg
YnVpbHQgZG9jdW1lbnRzLgorI2tlZXBfd2FybmluZ3MgPSBGYWxzZQorCisKKyMgLS0gT3B0aW9u
cyBmb3IgSFRNTCBvdXRwdXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorCisjIFRoZSB0aGVtZSB0byB1c2UgZm9yIEhUTUwgYW5kIEhUTUwgSGVscCBwYWdl
cy4gIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IKKyMgYSBsaXN0IG9mIGJ1aWx0aW4gdGhlbWVz
LgoraHRtbF90aGVtZSA9ICdkZWZhdWx0JworCisjIFRoZW1lIG9wdGlvbnMgYXJlIHRoZW1lLXNw
ZWNpZmljIGFuZCBjdXN0b21pemUgdGhlIGxvb2sgYW5kIGZlZWwgb2YgYSB0aGVtZQorIyBmdXJ0
aGVyLiAgRm9yIGEgbGlzdCBvZiBvcHRpb25zIGF2YWlsYWJsZSBmb3IgZWFjaCB0aGVtZSwgc2Vl
IHRoZQorIyBkb2N1bWVudGF0aW9uLgorI2h0bWxfdGhlbWVfb3B0aW9ucyA9IHt9CisKKyMgQWRk
IGFueSBwYXRocyB0aGF0IGNvbnRhaW4gY3VzdG9tIHRoZW1lcyBoZXJlLCByZWxhdGl2ZSB0byB0
aGlzIGRpcmVjdG9yeS4KKyNodG1sX3RoZW1lX3BhdGggPSBbXQorCisjIFRoZSBuYW1lIGZvciB0
aGlzIHNldCBvZiBTcGhpbnggZG9jdW1lbnRzLiAgSWYgTm9uZSwgaXQgZGVmYXVsdHMgdG8KKyMg
Ijxwcm9qZWN0PiB2PHJlbGVhc2U+IGRvY3VtZW50YXRpb24iLgorI2h0bWxfdGl0bGUgPSBOb25l
CisKKyMgQSBzaG9ydGVyIHRpdGxlIGZvciB0aGUgbmF2aWdhdGlvbiBiYXIuICBEZWZhdWx0IGlz
IHRoZSBzYW1lIGFzIGh0bWxfdGl0bGUuCisjaHRtbF9zaG9ydF90aXRsZSA9IE5vbmUKKworIyBU
aGUgbmFtZSBvZiBhbiBpbWFnZSBmaWxlIChyZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeSkgdG8g
cGxhY2UgYXQgdGhlIHRvcAorIyBvZiB0aGUgc2lkZWJhci4KKyNodG1sX2xvZ28gPSBOb25lCisK
KyMgVGhlIG5hbWUgb2YgYW4gaW1hZ2UgZmlsZSAod2l0aGluIHRoZSBzdGF0aWMgcGF0aCkgdG8g
dXNlIGFzIGZhdmljb24gb2YgdGhlCisjIGRvY3MuICBUaGlzIGZpbGUgc2hvdWxkIGJlIGEgV2lu
ZG93cyBpY29uIGZpbGUgKC5pY28pIGJlaW5nIDE2eDE2IG9yIDMyeDMyCisjIHBpeGVscyBsYXJn
ZS4KKyNodG1sX2Zhdmljb24gPSBOb25lCisKKyMgQWRkIGFueSBwYXRocyB0aGF0IGNvbnRhaW4g
Y3VzdG9tIHN0YXRpYyBmaWxlcyAoc3VjaCBhcyBzdHlsZSBzaGVldHMpIGhlcmUsCisjIHJlbGF0
aXZlIHRvIHRoaXMgZGlyZWN0b3J5LiBUaGV5IGFyZSBjb3BpZWQgYWZ0ZXIgdGhlIGJ1aWx0aW4g
c3RhdGljIGZpbGVzLAorIyBzbyBhIGZpbGUgbmFtZWQgImRlZmF1bHQuY3NzIiB3aWxsIG92ZXJ3
cml0ZSB0aGUgYnVpbHRpbiAiZGVmYXVsdC5jc3MiLgoraHRtbF9zdGF0aWNfcGF0aCA9IFsnX3N0
YXRpYyddCisKKyMgQWRkIGFueSBleHRyYSBwYXRocyB0aGF0IGNvbnRhaW4gY3VzdG9tIGZpbGVz
IChzdWNoIGFzIHJvYm90cy50eHQgb3IKKyMgLmh0YWNjZXNzKSBoZXJlLCByZWxhdGl2ZSB0byB0
aGlzIGRpcmVjdG9yeS4gVGhlc2UgZmlsZXMgYXJlIGNvcGllZAorIyBkaXJlY3RseSB0byB0aGUg
cm9vdCBvZiB0aGUgZG9jdW1lbnRhdGlvbi4KKyNodG1sX2V4dHJhX3BhdGggPSBbXQorCisjIElm
IG5vdCAnJywgYSAnTGFzdCB1cGRhdGVkIG9uOicgdGltZXN0YW1wIGlzIGluc2VydGVkIGF0IGV2
ZXJ5IHBhZ2UgYm90dG9tLAorIyB1c2luZyB0aGUgZ2l2ZW4gc3RyZnRpbWUgZm9ybWF0LgorI2h0
bWxfbGFzdF91cGRhdGVkX2ZtdCA9ICclYiAlZCwgJVknCisKKyMgSWYgdHJ1ZSwgU21hcnR5UGFu
dHMgd2lsbCBiZSB1c2VkIHRvIGNvbnZlcnQgcXVvdGVzIGFuZCBkYXNoZXMgdG8KKyMgdHlwb2dy
YXBoaWNhbGx5IGNvcnJlY3QgZW50aXRpZXMuCisjaHRtbF91c2Vfc21hcnR5cGFudHMgPSBUcnVl
CisKKyMgQ3VzdG9tIHNpZGViYXIgdGVtcGxhdGVzLCBtYXBzIGRvY3VtZW50IG5hbWVzIHRvIHRl
bXBsYXRlIG5hbWVzLgorI2h0bWxfc2lkZWJhcnMgPSB7fQorCisjIEFkZGl0aW9uYWwgdGVtcGxh
dGVzIHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkIHRvIHBhZ2VzLCBtYXBzIHBhZ2UgbmFtZXMgdG8K
KyMgdGVtcGxhdGUgbmFtZXMuCisjaHRtbF9hZGRpdGlvbmFsX3BhZ2VzID0ge30KKworIyBJZiBm
YWxzZSwgbm8gbW9kdWxlIGluZGV4IGlzIGdlbmVyYXRlZC4KKyNodG1sX2RvbWFpbl9pbmRpY2Vz
ID0gVHJ1ZQorCisjIElmIGZhbHNlLCBubyBpbmRleCBpcyBnZW5lcmF0ZWQuCisjaHRtbF91c2Vf
aW5kZXggPSBUcnVlCisKKyMgSWYgdHJ1ZSwgdGhlIGluZGV4IGlzIHNwbGl0IGludG8gaW5kaXZp
ZHVhbCBwYWdlcyBmb3IgZWFjaCBsZXR0ZXIuCisjaHRtbF9zcGxpdF9pbmRleCA9IEZhbHNlCisK
KyMgSWYgdHJ1ZSwgbGlua3MgdG8gdGhlIHJlU1Qgc291cmNlcyBhcmUgYWRkZWQgdG8gdGhlIHBh
Z2VzLgorI2h0bWxfc2hvd19zb3VyY2VsaW5rID0gVHJ1ZQorCisjIElmIHRydWUsICJDcmVhdGVk
IHVzaW5nIFNwaGlueCIgaXMgc2hvd24gaW4gdGhlIEhUTUwgZm9vdGVyLiBEZWZhdWx0IGlzIFRy
dWUuCisjaHRtbF9zaG93X3NwaGlueCA9IFRydWUKKworIyBJZiB0cnVlLCAiKEMpIENvcHlyaWdo
dCAuLi4iIGlzIHNob3duIGluIHRoZSBIVE1MIGZvb3Rlci4gRGVmYXVsdCBpcyBUcnVlLgorI2h0
bWxfc2hvd19jb3B5cmlnaHQgPSBUcnVlCisKKyMgSWYgdHJ1ZSwgYW4gT3BlblNlYXJjaCBkZXNj
cmlwdGlvbiBmaWxlIHdpbGwgYmUgb3V0cHV0LCBhbmQgYWxsIHBhZ2VzIHdpbGwKKyMgY29udGFp
biBhIDxsaW5rPiB0YWcgcmVmZXJyaW5nIHRvIGl0LiAgVGhlIHZhbHVlIG9mIHRoaXMgb3B0aW9u
IG11c3QgYmUgdGhlCisjIGJhc2UgVVJMIGZyb20gd2hpY2ggdGhlIGZpbmlzaGVkIEhUTUwgaXMg
c2VydmVkLgorI2h0bWxfdXNlX29wZW5zZWFyY2ggPSAnJworCisjIFRoaXMgaXMgdGhlIGZpbGUg
bmFtZSBzdWZmaXggZm9yIEhUTUwgZmlsZXMgKGUuZy4gIi54aHRtbCIpLgorI2h0bWxfZmlsZV9z
dWZmaXggPSBOb25lCisKKyMgT3V0cHV0IGZpbGUgYmFzZSBuYW1lIGZvciBIVE1MIGhlbHAgYnVp
bGRlci4KK2h0bWxoZWxwX2Jhc2VuYW1lID0gJ3dwdHJ1bm5lcmRvYycKKworCisjIC0tIE9wdGlv
bnMgZm9yIExhVGVYIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKworbGF0ZXhfZWxlbWVudHMgPSB7CisjIFRoZSBwYXBlciBzaXplICgnbGV0dGVy
cGFwZXInIG9yICdhNHBhcGVyJykuCisjJ3BhcGVyc2l6ZSc6ICdsZXR0ZXJwYXBlcicsCisKKyMg
VGhlIGZvbnQgc2l6ZSAoJzEwcHQnLCAnMTFwdCcgb3IgJzEycHQnKS4KKyMncG9pbnRzaXplJzog
JzEwcHQnLAorCisjIEFkZGl0aW9uYWwgc3R1ZmYgZm9yIHRoZSBMYVRlWCBwcmVhbWJsZS4KKyMn
cHJlYW1ibGUnOiAnJywKK30KKworIyBHcm91cGluZyB0aGUgZG9jdW1lbnQgdHJlZSBpbnRvIExh
VGVYIGZpbGVzLiBMaXN0IG9mIHR1cGxlcworIyAoc291cmNlIHN0YXJ0IGZpbGUsIHRhcmdldCBu
YW1lLCB0aXRsZSwKKyMgIGF1dGhvciwgZG9jdW1lbnRjbGFzcyBbaG93dG8sIG1hbnVhbCwgb3Ig
b3duIGNsYXNzXSkuCitsYXRleF9kb2N1bWVudHMgPSBbCisgICgnaW5kZXgnLCAnd3B0cnVubmVy
LnRleCcsIHUnd3B0cnVubmVyIERvY3VtZW50YXRpb24nLAorICAgdSdKYW1lcyBHcmFoYW0nLCAn
bWFudWFsJyksCitdCisKKyMgVGhlIG5hbWUgb2YgYW4gaW1hZ2UgZmlsZSAocmVsYXRpdmUgdG8g
dGhpcyBkaXJlY3RvcnkpIHRvIHBsYWNlIGF0IHRoZSB0b3Agb2YKKyMgdGhlIHRpdGxlIHBhZ2Uu
CisjbGF0ZXhfbG9nbyA9IE5vbmUKKworIyBGb3IgIm1hbnVhbCIgZG9jdW1lbnRzLCBpZiB0aGlz
IGlzIHRydWUsIHRoZW4gdG9wbGV2ZWwgaGVhZGluZ3MgYXJlIHBhcnRzLAorIyBub3QgY2hhcHRl
cnMuCisjbGF0ZXhfdXNlX3BhcnRzID0gRmFsc2UKKworIyBJZiB0cnVlLCBzaG93IHBhZ2UgcmVm
ZXJlbmNlcyBhZnRlciBpbnRlcm5hbCBsaW5rcy4KKyNsYXRleF9zaG93X3BhZ2VyZWZzID0gRmFs
c2UKKworIyBJZiB0cnVlLCBzaG93IFVSTCBhZGRyZXNzZXMgYWZ0ZXIgZXh0ZXJuYWwgbGlua3Mu
CisjbGF0ZXhfc2hvd191cmxzID0gRmFsc2UKKworIyBEb2N1bWVudHMgdG8gYXBwZW5kIGFzIGFu
IGFwcGVuZGl4IHRvIGFsbCBtYW51YWxzLgorI2xhdGV4X2FwcGVuZGljZXMgPSBbXQorCisjIElm
IGZhbHNlLCBubyBtb2R1bGUgaW5kZXggaXMgZ2VuZXJhdGVkLgorI2xhdGV4X2RvbWFpbl9pbmRp
Y2VzID0gVHJ1ZQorCisKKyMgLS0gT3B0aW9ucyBmb3IgbWFudWFsIHBhZ2Ugb3V0cHV0IC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjIE9uZSBlbnRyeSBwZXIgbWFu
dWFsIHBhZ2UuIExpc3Qgb2YgdHVwbGVzCisjIChzb3VyY2Ugc3RhcnQgZmlsZSwgbmFtZSwgZGVz
Y3JpcHRpb24sIGF1dGhvcnMsIG1hbnVhbCBzZWN0aW9uKS4KK21hbl9wYWdlcyA9IFsKKyAgICAo
J2luZGV4JywgJ3dwdHJ1bm5lcicsIHUnd3B0cnVubmVyIERvY3VtZW50YXRpb24nLAorICAgICBb
dSdKYW1lcyBHcmFoYW0nXSwgMSkKK10KKworIyBJZiB0cnVlLCBzaG93IFVSTCBhZGRyZXNzZXMg
YWZ0ZXIgZXh0ZXJuYWwgbGlua3MuCisjbWFuX3Nob3dfdXJscyA9IEZhbHNlCisKKworIyAtLSBP
cHRpb25zIGZvciBUZXhpbmZvIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisKKyMgR3JvdXBpbmcgdGhlIGRvY3VtZW50IHRyZWUgaW50byBUZXhpbmZv
IGZpbGVzLiBMaXN0IG9mIHR1cGxlcworIyAoc291cmNlIHN0YXJ0IGZpbGUsIHRhcmdldCBuYW1l
LCB0aXRsZSwgYXV0aG9yLAorIyAgZGlyIG1lbnUgZW50cnksIGRlc2NyaXB0aW9uLCBjYXRlZ29y
eSkKK3RleGluZm9fZG9jdW1lbnRzID0gWworICAoJ2luZGV4JywgJ3dwdHJ1bm5lcicsIHUnd3B0
cnVubmVyIERvY3VtZW50YXRpb24nLAorICAgdSdKYW1lcyBHcmFoYW0nLCAnd3B0cnVubmVyJywg
J09uZSBsaW5lIGRlc2NyaXB0aW9uIG9mIHByb2plY3QuJywKKyAgICdNaXNjZWxsYW5lb3VzJyks
CitdCisKKyMgRG9jdW1lbnRzIHRvIGFwcGVuZCBhcyBhbiBhcHBlbmRpeCB0byBhbGwgbWFudWFs
cy4KKyN0ZXhpbmZvX2FwcGVuZGljZXMgPSBbXQorCisjIElmIGZhbHNlLCBubyBtb2R1bGUgaW5k
ZXggaXMgZ2VuZXJhdGVkLgorI3RleGluZm9fZG9tYWluX2luZGljZXMgPSBUcnVlCisKKyMgSG93
IHRvIGRpc3BsYXkgVVJMIGFkZHJlc3NlczogJ2Zvb3Rub3RlJywgJ25vJywgb3IgJ2lubGluZScu
CisjdGV4aW5mb19zaG93X3VybHMgPSAnZm9vdG5vdGUnCisKKyMgSWYgdHJ1ZSwgZG8gbm90IGdl
bmVyYXRlIGEgQGRldGFpbG1lbnUgaW4gdGhlICJUb3AiIG5vZGUncyBtZW51LgorI3RleGluZm9f
bm9fZGV0YWlsbWVudSA9IEZhbHNlCisKKworIyBFeGFtcGxlIGNvbmZpZ3VyYXRpb24gZm9yIGlu
dGVyc3BoaW54OiByZWZlciB0byB0aGUgUHl0aG9uIHN0YW5kYXJkIGxpYnJhcnkuCitpbnRlcnNw
aGlueF9tYXBwaW5nID0geydweXRob24nOiAoJ2h0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvJywgTm9u
ZSksCisgICAgICAgICAgICAgICAgICAgICAgICdtb3psb2cnOiAoJ2h0dHA6Ly9tb3piYXNlLnJl
YWR0aGVkb2NzLm9yZy9lbi9sYXRlc3QvJywgTm9uZSl9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL2Rl
c2lnbi5yc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci9kb2NzL2Rlc2lnbi5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmYxMDhhMDA4N2RhMGM2
ZWMxMjMxNjljNzE1ODZmNmNlM2JmYmE3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvZGVz
aWduLnJzdApAQCAtMCwwICsxLDEwNiBAQAord3B0cnVubmVyIERlc2lnbgorPT09PT09PT09PT09
PT09PQorCitUaGUgZGVzaWduIG9mIHdwdHJ1bm5lciBpcyBpbnRlbmRlZCB0byBtZWV0IHRoZSBm
b2xsb3dpbmcKK3JlcXVpcmVtZW50czoKKworICogUG9zc2libGUgdG8gcnVuIHRlc3RzIGZyb20g
VzNDIHdlYi1wbGF0Zm9ybS10ZXN0cy4KKworICogVGVzdHMgc2hvdWxkIGJlIHJ1biBhcyBmYXN0
IGFzIHBvc3NpYmxlLiBJbiBwYXJ0aWN1bGFyIGl0IHNob3VsZAorICAgbm90IGJlIG5lY2Vzc2Fy
eSB0byByZXN0YXJ0IHRoZSBicm93c2VyIGJldHdlZW4gdGVzdHMsIG9yIHNpbWlsYXIuCisKKyAq
IEFzIGZhciBhcyBwb3NzaWJsZSwgdGhlIHRlc3RzIHNob3VsZCBydW4gaW4gYSAibm9ybWFsIiBi
cm93c2VyIGFuZAorICAgYnJvd3NpbmcgY29udGV4dC4gSW4gcGFydGljdWxhciBtYW55IHRlc3Rz
IGFzc3VtZSB0aGF0IHRoZXkgYXJlCisgICBydW5uaW5nIGluIGEgdG9wLWxldmVsIGJyb3dzaW5n
IGNvbnRleHQsIHNvIHdlIG11c3QgYXZvaWQgdGhlIHVzZQorICAgb2YgYW4gYGBpZnJhbWVgYCB0
ZXN0IGNvbnRhaW5lci4KKworICogSXQgbXVzdCBiZSBwb3NzaWJsZSB0byBkZWFsIHdpdGggYWxs
IGtpbmRzIG9mIGJlaGF2aW91ciBvZiB0aGUKKyAgIGJyb3dzZXIgcnVuZGVyIHRlc3QsIGZvciBl
eGFtcGxlLCBjcmFzaGluZywgaGFuZ2luZywgZXRjLgorCisgKiBJdCBzaG91bGQgYmUgcG9zc2li
bGUgdG8gYWRkIHN1cHBvcnQgZm9yIG5ldyBwbGF0Zm9ybXMgYW5kIGJyb3dzZXJzCisgICB3aXRo
IG1pbmltYWwgY29kZSBjaGFuZ2VzLgorCisgKiBJdCBtdXN0IGJlIHBvc3NpYmxlIHRvIHJ1biB0
ZXN0cyBpbiBwYXJhbGxlbCB0byBmdXJ0aGVyIGltcHJvdmUKKyAgIHBlcmZvcm1hbmNlLgorCisg
KiBUZXN0IG91dHB1dCBtdXN0IGJlIGluIGEgbWFjaGluZSByZWFkYWJsZSBmb3JtLgorCitBcmNo
aXRlY3R1cmUKKy0tLS0tLS0tLS0tLQorCitJbiBvcmRlciB0byBtZWV0IHRoZSBhYm92ZSByZXF1
aXJlbWVudHMsIHdwdHJ1bm5lciBpcyBkZXNpZ25lZCB0bworcHVzaCBhcyBtdWNoIG9mIHRoZSB0
ZXN0IHNjaGVkdWxpbmcgYXMgcG9zc2libGUgaW50byB0aGUgaGFybmVzcy4gVGhpcworYWxsb3dz
IHRoZSBoYXJuZXNzIHRvIG1vbml0b3IgdGhlIHN0YXRlIG9mIHRoZSBicm93c2VyIGFuZCBwZXJm
b3JtCithcHByb3ByaWF0ZSBhY3Rpb24gaWYgaXQgZ2V0cyBpbnRvIGFuIHVud2FudGVkIHN0YXRl
IGUuZy4ga2lsbCB0aGUKK2Jyb3dzZXIgaWYgaXQgYXBwZWFycyB0byBiZSBodW5nLgorCitUaGUg
aGFybmVzcyB3aWxsIHR5cGljYWxseSBjb21tdW5pY2F0ZSB3aXRoIHRoZSBicm93c2VyIHZpYSBz
b21lIHJlbW90ZQorY29udHJvbCBwcm90b2NvbCBzdWNoIGFzIFdlYkRyaXZlci4gSG93ZXZlciBm
b3IgYnJvd3NlcnMgd2hlcmUgbm8gc3VjaAorcHJvdG9jb2wgaXMgc3VwcG9ydGVkLCBvdGhlciBp
bXBsZW1lbnRhdGlvbiBzdHJhdGVnaWVzIGFyZSBwb3NzaWJsZSwKK3R5cGljYWxseSBhdCB0aGUg
ZXhwZW5zZSBvZiBzcGVlZC4KKworVGhlIG92ZXJhbGwgYXJjaGl0ZWN0dXJlIG9mIHdwdHJ1bm5l
ciBpcyBzaG93biBpbiB0aGUgZGlhZ3JhbSBiZWxvdzoKKworLi4gaW1hZ2U6OiBhcmNoaXRlY3R1
cmUuc3ZnCisKK1RoZSBtYWluIGVudHJ5IHBvaW50IHRvIHRoZSBjb2RlIGlzIDpweTpmdW5jOmBy
dW5fdGVzdHNgIGluCitgYHdwdHJ1bm5lci5weWBgLiBUaGlzIGlzIHJlc3BvbnNpYmxlIGZvciBz
ZXR0aW5nIHVwIHRoZSB0ZXN0CitlbnZpcm9ubWVudCwgbG9hZGluZyB0aGUgbGlzdCBvZiB0ZXN0
cyB0byBiZSBleGVjdXRlZCwgYW5kIGludm9raW5nCit0aGUgcmVtYWluZGVyIG9mIHRoZSBjb2Rl
IHRvIGFjdHVhbGx5IGV4ZWN1dGUgc29tZSB0ZXN0cy4KKworVGhlIHRlc3QgZW52aXJvbm1lbnQg
aXMgZW5jYXBzdWxhdGVkIGluIHRoZQorOnB5OmNsYXNzOmBUZXN0RW52aXJvbm1lbnRgIGNsYXNz
LiBUaGlzIGRlZmVycyB0byBjb2RlIGluCitgYHdlYi1wbGF0Zm9ybS10ZXN0c2BgIHdoaWNoIGFj
dHVhbGx5IHN0YXJ0cyB0aGUgcmVxdWlyZWQgc2VydmVycyB0bworcnVuIHRoZSB0ZXN0cy4KKwor
VGhlIHNldCBvZiB0ZXN0cyB0byBydW4gaXMgZGVmaW5lZCBieSB0aGUKKzpweTpjbGFzczpgVGVz
dExvYWRlcmAuIFRoaXMgaXMgY29uc3RydWN0ZWQgd2l0aCBhCis6cHk6Y2xhc3M6YFRlc3RGaWx0
ZXJgIChub3Qgc2hvd24pLCB3aGljaCB0YWtlcyBhbnkgZmlsdGVyIGFyZ3VtZW50cworZnJvbSB0
aGUgY29tbWFuZCBsaW5lIHRvIHJlc3RyaWN0IHRoZSBzZXQgb2YgdGVzdHMgdGhhdCB3aWxsIGJl
CitydW4uIFRoZSA6cHk6Y2xhc3M6YFRlc3RMb2FkZXJgIHJlYWRzIGJvdGggdGhlIGBgd2ViLXBs
YXRmb3JtLXRlc3RzYGAKK0pTT04gbWFuaWZlc3QgYW5kIHRoZSBleHBlY3RhdGlvbiBkYXRhIHN0
b3JlZCBpbiBpbmkgZmlsZXMgYW5kCitwcm9kdWNlcyBhIDpweTpjbGFzczpgbXVsdGlwcm9jZXNz
aW5nLlF1ZXVlYCBvZiB0ZXN0cyB0byBydW4sIGFuZAordGhlaXIgZXhwZWN0ZWQgcmVzdWx0cy4K
KworQWN0dWFsbHkgcnVubmluZyB0aGUgdGVzdHMgaGFwcGVucyB0aHJvdWdoIHRoZQorOnB5OmNs
YXNzOmBNYW5hZ2VyR3JvdXBgIG9iamVjdC4gVGhpcyB0YWtlcyB0aGUgOnB5OmNsYXNzOmBRdWV1
ZWAgb2YKK3Rlc3RzIHRvIGJlIHJ1biBhbmQgc3RhcnRzIGEgOnB5OmNsYXNzOmB0ZXN0cnVubmVy
LlRlc3RSdW5uZXJNYW5hZ2VyYCBmb3IgZWFjaAoraW5zdGFuY2Ugb2YgdGhlIGJyb3dzZXIgdW5k
ZXIgdGVzdCB0aGF0IHdpbGwgYmUgc3RhcnRlZC4gVGhlc2UKKzpweTpjbGFzczpgVGVzdFJ1bm5l
ck1hbmFnZXJgIGluc3RhbmNlcyBhcmUgZWFjaCBzdGFydGVkIGluIHRoZWlyIG93bgordGhyZWFk
LgorCitBIDpweTpjbGFzczpgVGVzdFJ1bm5lck1hbmFnZXJgIGNvb3JkaW5hdGVzIHN0YXJ0aW5n
IHRoZSBwcm9kdWN0IHVuZGVyCit0ZXN0LCBhbmQgb3V0cHV0dGluZyByZXN1bHRzIGZyb20gdGhl
IHRlc3QuIEluIHRoZSBjYXNlIHRoYXQgdGhlIHRlc3QKK2hhcyB0aW1lZCBvdXQgb3IgdGhlIGJy
b3dzZXIgaGFzIGNyYXNoZWQsIGl0IGhhcyB0byByZXN0YXJ0IHRoZQorYnJvd3NlciB0byBlbnN1
cmUgdGhlIHRlc3QgcnVuIGNhbiBjb250aW51ZS4gVGhlIGZ1bmN0aW9uYWxpdHkgZm9yCitpbml0
aWFsaXNpbmcgdGhlIGJyb3dzZXIgdW5kZXIgdGVzdCwgYW5kIHByb2JpbmcgaXRzIHN0YXRlCiso
ZS5nLiB3aGV0aGVyIHRoZSBwcm9jZXNzIGlzIHN0aWxsIGFsaXZlKSBpcyBpbXBsZW1lbnRlZCB0
aHJvdWdoIGEKKzpweTpjbGFzczpgQnJvd3NlcmAgb2JqZWN0LiBBbiBpbXBsZW1lbnRhdGlvbiBv
ZiB0aGlzIGNsYXNzIG11c3QgYmUKK3Byb3ZpZGVkIGZvciBlYWNoIHByb2R1Y3QgdGhhdCBpcyBz
dXBwb3J0ZWQuCisKK1RoZSBmdW5jdGlvbmFsaXR5IGZvciBhY3R1YWxseSBydW5uaW5nIHRoZSB0
ZXN0cyBpcyBwcm92aWRlZCBieSBhCis6cHk6Y2xhc3M6YFRlc3RSdW5uZXJgIG9iamVjdC4gOnB5
OmNsYXNzOmBUZXN0UnVubmVyYCBpbnN0YW5jZXMgYXJlCitydW4gaW4gdGhlaXIgb3duIGNoaWxk
IHByb2Nlc3MgY3JlYXRlZCB3aXRoIHRoZQorOnB5Om1vZDpgbXVsdGlwcm9jZXNzaW5nYCBtb2R1
bGUuIFRoaXMgYWxsb3dzIHRoZW0gdG8gcnVuIGNvbmN1cnJlbnRseQorYW5kIHRvIGJlIGtpbGxl
ZCBhbmQgcmVzdGFydGVkIGFzIHJlcXVpcmVkLiBDb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlCis6
cHk6Y2xhc3M6YFRlc3RSdW5uZXJNYW5hZ2VyYCBhbmQgdGhlIDpweTpjbGFzczpgVGVzdFJ1bm5l
cmAgaXMKK3Byb3ZpZGVkIGJ5IGEgcGFpciBvZiBxdWV1ZXMsIG9uZSBmb3Igc2VuZGluZyBtZXNz
YWdlcyBpbiBlYWNoCitkaXJlY3Rpb24uIEluIHBhcnRpY3VsYXIgdGVzdCByZXN1bHRzIGFyZSBz
ZW50IGZyb20gdGhlCis6cHk6Y2xhc3M6YFRlc3RSdW5uZXJgIHRvIHRoZSA6cHk6Y2xhc3M6YFRl
c3RSdW5uZXJNYW5hZ2VyYCB1c2luZyBvbmUKK29mIHRoZXNlIHF1ZXVlcy4KKworVGhlIDpweTpj
bGFzczpgVGVzdFJ1bm5lcmAgb2JqZWN0IGlzIGdlbmVyaWMgaW4gdGhhdCB0aGUgc2FtZQorOnB5
OmNsYXNzOmBUZXN0UnVubmVyYCBpcyB1c2VkIHJlZ2FyZGxlc3Mgb2YgdGhlIHByb2R1Y3QgdW5k
ZXIKK3Rlc3QuIEhvd2V2ZXIgdGhlIGRldGFpbHMgb2YgaG93IHRvIHJ1biB0aGUgdGVzdCBtYXkg
dmFyeSBncmVhdGx5IHdpdGgKK3RoZSBwcm9kdWN0IHNpbmNlIGRpZmZlcmVudCBwcm9kdWN0cyBz
dXBwb3J0IGRpZmZlcmVudCByZW1vdGUgY29udHJvbAorcHJvdG9jb2xzIChvciBub25lIGF0IGFs
bCkuIFRoZXNlIHByb3RvY29sLXNwZWNpZmljIHBhcnRzIGFyZSBwbGFjZWQKK2luIHRoZSA6cHk6
Y2xhc3M6YEV4ZWN1dG9yYCBvYmplY3QuIFRoZXJlIGlzIHR5cGljYWxseSBhIGRpZmZlcmVudAor
OnB5OmNsYXNzOmBFeGVjdXRvcmAgY2xhc3MgZm9yIGVhY2ggY29tYmluYXRpb24gb2YgY29udHJv
bCBwcm90b2NvbAorYW5kIHRlc3QgdHlwZS4gVGhlIDpweTpjbGFzczpgVGVzdFJ1bm5lcmAgaXMg
cmVzcG9uc2libGUgZm9yIHB1bGxpbmcKK2VhY2ggdGVzdCBvZmYgdGhlIDpweTpjbGFzczpgUXVl
dWVgIG9mIHRlc3RzIGFuZCBwYXNzaW5nIGl0IGRvd24gdG8KK3RoZSA6cHk6Y2xhc3M6YEV4ZWN1
dG9yYC4KKworVGhlIGV4ZWN1dG9yIG9mdGVuIHJlcXVpcmVzIGFjY2VzcyB0byBkZXRhaWxzIG9m
IHRoZSBwYXJ0aWN1bGFyCiticm93c2VyIGluc3RhbmNlIHRoYXQgaXQgaXMgdGVzdGluZyBzbyB0
aGF0IGl0IGtub3dzIGUuZy4gd2hpY2ggcG9ydAordG8gY29ubmVjdCB0byB0byBzZW5kIGNvbW1h
bmRzIHRvIHRoZSBicm93c2VyLiBUaGVzZSBkZXRhaWxzIGFyZQorZW5jYXBzdWxhdGVkIGluIHRo
ZSA6cHk6Y2xhc3M6YEV4ZWN1dG9yQnJvd3NlcmAgY2xhc3MuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2Nz
L2V4cGVjdGF0aW9uLnJzdCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvZXhwZWN0YXRpb24ucnN0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZh
MGM3NzY4NGEzYjgzYWJhODg0MzZlODRiMzk5ZmQ4ZmI2NGUzMjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci9kb2NzL2V4cGVjdGF0aW9uLnJzdApAQCAtMCwwICsxLDI0OCBAQAorRXhwZWN0YXRpb24g
RGF0YQorPT09PT09PT09PT09PT09PQorCitJbnRyb2R1Y3Rpb24KKy0tLS0tLS0tLS0tLQorCitG
b3IgdXNlIGluIGNvbnRpbnVvdXMgaW50ZWdyYXRpb24gc3lzdGVtcywgYW5kIG90aGVyIHNjZW5h
cmlvcyB3aGVyZQorcmVncmVzc2lvbiB0cmFja2luZyBpcyByZXF1aXJlZCwgd3B0cnVubmVyIHN1
cHBvcnRzIHN0b3JpbmcgYW5kCitsb2FkaW5nIHRoZSBleHBlY3RlZCByZXN1bHQgb2YgZWFjaCB0
ZXN0IGluIGEgdGVzdCBydW4uIFR5cGljYWxseQordGhlc2UgZXhwZWN0ZWQgcmVzdWx0cyB3aWxs
IGluaXRpYWxseSBiZSBnZW5lcmF0ZWQgYnkgcnVubmluZyB0aGUKK3Rlc3RzdWl0ZSBpbiBhIGJh
c2VsaW5lIGJ1aWxkLiBUaGV5IG1heSB0aGVuIGJlIGVkaXRlZCBieSBodW1hbnMgYXMKK25ldyBm
ZWF0dXJlcyBhcmUgYWRkZWQgdG8gdGhlIHByb2R1Y3QgdGhhdCBjaGFuZ2UgdGhlIGV4cGVjdGVk
CityZXN1bHRzLiBUaGUgZXhwZWN0ZWQgcmVzdWx0cyBtYXkgYWxzbyB2YXJ5IGZvciBhIHNpbmds
ZSBwcm9kdWN0CitkZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtIG9uIHdoaWNoIGl0IGlzIHJ1bi4g
VGhlcmVmb3JlLCB0aGUgcmF3CitzdHJ1Y3R1cmVkIGxvZyBkYXRhIGlzIG5vdCBhIHN1aXRhYmxl
IGZvcm1hdCBmb3Igc3RvcmluZyB0aGVzZQorZmlsZXMuIEluc3RlYWQgc29tZXRoaW5nIGlzIHJl
cXVpcmVkIHRoYXQgaXM6CisKKyAqIEh1bWFuIHJlYWRhYmxlCisKKyAqIEh1bWFuIGVkaXRhYmxl
CisKKyAqIE1hY2hpbmUgcmVhZGFibGUgLyB3cml0YWJsZQorCisgKiBDYXBhYmxlIG9mIHN0b3Jp
bmcgdGVzdCBpZCAvIHJlc3VsdCBwYWlycworCisgKiBTdWl0YWJsZSBmb3Igc3RvcmluZyBpbiBh
IHZlcnNpb24gY29udHJvbCBzeXN0ZW0gKGkuZS4gdGV4dC1iYXNlZCkKKworVGhlIG5lZWQgZm9y
IGRpZmZlcmVudCByZXN1bHRzIHBlciBwbGF0Zm9ybSBtZWFucyBlaXRoZXIgaGF2aW5nCittdWx0
aXBsZSBleHBlY3RhdGlvbiBmaWxlcyBmb3IgZWFjaCBwbGF0Zm9ybSwgb3IgaGF2aW5nIGEgd2F5
IHRvCitleHByZXNzIGNvbmRpdGlvbmFsIHZhbHVlcyB3aXRoaW4gYSBjZXJ0YWluIGZpbGUuIFRo
ZSBmb3JtZXIgd291bGQgYmUKK3JhdGhlciBjdW1iZXJzb21lIGZvciBodW1hbnMgdXBkYXRpbmcg
dGhlIGV4cGVjdGF0aW9uIGZpbGVzLCBzbyB0aGUKK2xhdHRlciBhcHByb2FjaCBoYXMgYmVlbiBh
ZG9wdGVkLCBsZWFkaW5nIHRvIHRoZSByZXF1aXJlbWVudDoKKworICogQ2FwYWJsZSBvZiBzdG9y
aW5nIHJlc3VsdCB2YWx1ZXMgdGhhdCBhcmUgY29uZGl0aW9uYWwgb24gdGhlIHBsYXRmb3JtLgor
CitUaGVyZSBhcmUgZmV3IGV4dGFudCBmb3JtYXRzIHRoYXQgbWVldCB0aGVzZSByZXF1aXJlbWVu
dHMsIHNvCit3cHRydW5uZXIgdXNlcyBhIGJlc3Bva2UgYGBleHBlY3RhdGlvbiBtYW5pZmVzdGBg
IGZvcm1hdCwgd2hpY2ggaXMKK2Nsb3NlbHkgYmFzZWQgb24gdGhlIHN0YW5kYXJkIGBgaW5pYGAg
Zm9ybWF0LgorCitEaXJlY3RvcnkgTGF5b3V0CistLS0tLS0tLS0tLS0tLS0tCisKK0V4cGVjdGF0
aW9uIG1hbmlmZXN0IGZpbGVzIG11c3QgYmUgc3RvcmVkIHVuZGVyIHRoZSBgYG1ldGFkYXRhYGAK
K2RpcmVjdG9yeSBwYXNzZWQgdG8gdGhlIHRlc3QgcnVubmVyLiBUaGUgZGlyZWN0b3J5IGxheW91
dCBmb2xsb3dzIHRoYXQKK29mIHdlYi1wbGF0Zm9ybS10ZXN0cyB3aXRoIGVhY2ggdGVzdCBwYXRo
IGhhdmluZyBhIGNvcnJlc3BvbmRpbmcKK21hbmlmZXN0IGZpbGUuIFRlc3RzIHRoYXQgZGlmZmVy
IG9ubHkgYnkgcXVlcnkgc3RyaW5nLCBvciByZWZ0ZXN0cword2l0aCB0aGUgc2FtZSB0ZXN0IHBh
dGggYnV0IGRpZmZlcmVudCByZWYgcGF0aHMgc2hhcmUgdGhlIHNhbWUKK3JlZmVyZW5jZSBmaWxl
LiBUaGUgZmlsZSBuYW1lIGlzIHRha2VuIGZyb20gdGhlIGxhc3QgLy1zZXBhcmF0ZWQgcGFydAor
b2YgdGhlIHBhdGgsIHN1ZmZpeGVkIHdpdGggYGAuaW5pYGAuCisKK0FzIGFuIG9wdGltaXNhdGlv
biwgZmlsZXMgd2hpY2ggcHJvZHVjZSBvbmx5IGRlZmF1bHQgcmVzdWx0cworKGkuZS4gYGBQQVNT
YGAgb3IgYGBPS2BgKSBkb24ndCByZXF1aXJlIGEgY29ycmVzcG9uZGluZyBtYW5pZmVzdCBmaWxl
LgorCitGb3IgZXhhbXBsZSBhIHRlc3Qgd2l0aCB1cmw6OgorCisgIC9zcGVjL3NlY3Rpb24vZmls
ZS5odG1sP3F1ZXJ5PXBhcmFtCisKK3dvdWxkIGhhdmUgYW4gZXhwZWN0YXRpb24gZmlsZSA6Ogor
CisgIG1ldGFkYXRhL3NwZWMvc2VjdGlvbi9maWxlLmh0bWwuaW5pCisKKworLi4gX3dwdHVwZGF0
ZS1sYWJlbDoKKworR2VuZXJhdGluZyBFeHBlY3RhdGlvbiBGaWxlcworLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorCit3cHRydW5uZXIgcHJvdmlkZXMgdGhlIHRvb2wgYGB3cHR1cGRhdGVg
YCB0byBnZW5lcmF0ZSBleHBlY3RhdGlvbgorZmlsZXMgZnJvbSB0aGUgcmVzdWx0cyBvZiBhIHNl
dCBvZiBiYXNlbGluZSB0ZXN0IHJ1bnMuIFRoZSBiYXNpYworc3ludGF4IGZvciB0aGlzIGlzOjoK
KworICB3cHR1cGRhdGUgW29wdGlvbnNdIFtsb2dmaWxlXS4uLgorCitFYWNoIGBgbG9nZmlsZWBg
IGlzIGEgc3RydWN0dXJlZCBsb2cgZmlsZSBmcm9tIGEgcHJldmlvdXMgcnVuLiBUaGVzZQorY2Fu
IGJlIGdlbmVyYXRlZCBmcm9tIHdwdHJ1bm5lciB1c2luZyB0aGUgYGAtLWxvZy1yYXdgYCBvcHRp
b24KK2UuZy4gYGAtLWxvZy1yYXc9c3RydWN0dXJlZC5sb2dgYC4gVGhlIGRlZmF1bHQgYmVoYXZp
b3VyIGlzIHRvIHVwZGF0ZQorYWxsIHRoZSB0ZXN0IGRhdGEgZm9yIHRoZSBwYXJ0aWN1bGFyIGNv
bWJpbmF0aW9uIG9mIGhhcmR3YXJlIGFuZCBPUwordXNlZCBpbiB0aGUgcnVuIGNvcnJlc3BvbmRp
bmcgdG8gdGhlIGxvZyBkYXRhLCB3aGlsc3QgbGVhdmluZyBhbnkKK290aGVyIGV4cGVjdGF0aW9u
cyB1bnRvdWNoZWQuCisKK3dwdHVwZGF0ZSB0YWtlcyBzZXZlcmFsIHVzZWZ1bCBvcHRpb25zOgor
CitgYC0tc3luY2BgCisgIFB1bGwgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHdlYi1wbGF0Zm9ybS10
ZXN0cyBmcm9tIHRoZQorICB1cHN0cmVhbSBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZyBmaWxlLiBJ
ZiB0aGlzIGlzIHNwZWNpZmllZCBpbgorICBjb21iaW5hdGlvbiB3aXRoIGxvZ2ZpbGVzLCBpdCBp
cyBhc3N1bWVkIHRoYXQgdGhlIHJlc3VsdHMgaW4gdGhlIGxvZworICBmaWxlcyBhcHBseSB0byB0
aGUgcG9zdC11cGRhdGUgdGVzdHMuCisKK2BgLS1uby1jaGVjay1jbGVhbmBgCisgIERvbid0IGF0
dGVtcHQgdG8gY2hlY2sgaWYgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IGlzIGNsZWFuIGJlZm9yZQor
ICBkb2luZyB0aGUgdXBkYXRlIChhc3N1bWluZyB0aGF0IHRoZSB3b3JraW5nIGRpcmVjdG9yeSBp
cyBhIGdpdCBvcgorICBtZXJjdXJpYWwgdHJlZSkuCisKK2BgLS1wYXRjaGBgCisgIENyZWF0ZSBh
IGEgZ2l0IGNvbW1pdCwgb3IgYSBtcSBwYXRjaCwgd2l0aCB0aGUgY2hhbmdlcyBtYWRlIGJ5IHdw
dHVwZGF0ZS4KKworYGAtLWlnbm9yZS1leGlzdGluZ2BgCisgIE92ZXJ3cml0ZSBhbGwgdGhlIGV4
cGVjdGF0aW9uIGRhdGEgZm9yIGFueSB0ZXN0cyB0aGF0IGhhdmUgYSByZXN1bHQKKyAgaW4gdGhl
IHBhc3NlZCBsb2cgZmlsZXMsIG5vdCBqdXN0IGRhdGEgZm9yIHRoZSBzYW1lIHBsYXRmb3JtLgor
CitFeGFtcGxlcworfn5+fn5+fn4KKworVXBkYXRlIHRoZSBsb2NhbCBjb3B5IG9mIHdlYi1wbGF0
Zm9ybS10ZXN0cyB3aXRob3V0IGNoYW5naW5nIHRoZQorZXhwZWN0YXRpb24gZGF0YSBhbmQgY29t
bWl0IChvciBjcmVhdGUgYSBtcSBwYXRjaCBmb3IpIHRoZSByZXN1bHQ6OgorCisgIHdwdHVwZGF0
ZSAtLXBhdGNoIC0tc3luYworCitVcGRhdGUgYWxsIHRoZSBleHBlY3RhdGlvbnMgZnJvbSBhIHNl
dCBvZiBjcm9zcy1wbGF0Zm9ybSB0ZXN0IHJ1bnM6OgorCisgIHdwdHVwZGF0ZSAtLW5vLWNoZWNr
LWNsZWFuIC0tcGF0Y2ggb3N4LmxvZyBsaW51eC5sb2cgd2luZG93cy5sb2cKKworQWRkIGV4cGVj
dGF0aW9uIGRhdGEgZm9yIHNvbWUgbmV3IHRlc3RzIHRoYXQgYXJlIGV4cGVjdGVkIHRvIGJlCitw
bGF0Zm9ybS1pbmRlcGVuZGVudDo6CisKKyAgd3B0dXBkYXRlIC0tbm8tY2hlY2stY2xlYW4gLS1w
YXRjaCAtLWlnbm9yZS1leGlzdGluZyB0ZXN0cy5sb2cKKworTWFuaWZlc3QgRm9ybWF0CistLS0t
LS0tLS0tLS0tLS0KK1RoZSBmb3JtYXQgb2YgdGhlIG1hbmlmZXN0IGZpbGVzIGlzIGJhc2VkIG9u
IHRoZSBpbmkgZm9ybWF0LiBGaWxlcyBhcmUKK2RpdmlkZWQgaW50byBzZWN0aW9ucywgZWFjaCAo
YXBhcnQgZnJvbSB0aGUgcm9vdCBzZWN0aW9uKSBoYXZpbmcgYQoraGVhZGluZyBlbmNsb3NlZCBp
biBzcXVhcmUgYnJhY2VzLiBXaXRoaW4gZWFjaCBzZWN0aW9uIGFyZSBrZXktdmFsdWUKK3BhaXJz
LiBUaGVyZSBhcmUgc2V2ZXJhbCBub3RhYmxlIGRpZmZlcmVuY2VzIGZyb20gc3RhbmRhcmQgLmlu
aSBmaWxlcywKK2hvd2V2ZXI6CisKKyAqIFNlY3Rpb25zIG1heSBiZSBoaWVyYXJjaGljYWxseSBu
ZXN0ZWQsIHdpdGggc2lnbmlmaWNhbnQgd2hpdGVzcGFjZQorICAgaW5kaWNhdGluZyBuZXN0aW5n
IGRlcHRoLgorCisgKiBPbmx5IGBgOmBgIGlzIHZhbGlkIGFzIGEga2V5L3ZhbHVlIHNlcGFyYXRv
cgorCitBIHNpbXBsZSBleGFtcGxlIG9mIGEgbWFuaWZlc3QgZmlsZSBpczo6CisKKyAgcm9vdF9r
ZXk6IHJvb3RfdmFsdWUKKworICBbc2VjdGlvbl0KKyAgICBzZWN0aW9uX2tleTogc2VjdGlvbl92
YWx1ZQorCisgICAgW3N1YnNlY3Rpb25dCisgICAgICAgc3Vic2VjdGlvbl9rZXk6IHN1YnNlY3Rp
b25fdmFsdWUKKworICBbYW5vdGhlcl9zZWN0aW9uXQorICAgIGFub3RoZXJfa2V5OiBhbm90aGVy
X3ZhbHVlCisKK0NvbmRpdGlvbmFsIFZhbHVlcworfn5+fn5+fn5+fn5+fn5+fn5+CisKK0luIG9y
ZGVyIHRvIHN1cHBvcnQgdmFsdWVzIHRoYXQgZGVwZW5kIG9uIHNvbWUgZXh0ZXJuYWwgZGF0YSwg
dGhlCityaWdodCBoYW5kIHNpZGUgb2YgYSBrZXkvdmFsdWUgcGFpciBjYW4gdGFrZSBhIHNldCBv
ZiBjb25kaXRpb25hbHMKK3JhdGhlciB0aGFuIGEgcGxhaW4gdmFsdWUuIFRoZXNlIHZhbHVlcyBh
cmUgcGxhY2VkIG9uIGEgbmV3IGxpbmUKK2ZvbGxvd2luZyB0aGUga2V5LCB3aXRoIHNpZ25pZmlj
YW50IGluZGVudGF0aW9uLiBDb25kaXRpb25hbCB2YWx1ZXMKK2FyZSBwcmVmaXhlZCB3aXRoIGBg
aWZgYCBhbmQgdGVybWluYXRlZCB3aXRoIGEgY29sb24sIGZvciBleGFtcGxlOjoKKworICBrZXk6
CisgICAgaWYgY29uZDE6IHZhbHVlMQorICAgIGlmIGNvbmQyOiB2YWx1ZTIKKyAgICB2YWx1ZTMK
KworSW4gdGhpcyBleGFtcGxlLCB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGBga2V5YGAgaXMg
ZGV0ZXJtaW5lZCBieQorZmlyc3QgZXZhbHVhdGluZyBgYGNvbmQxYGAgYWdhaW5zdCBleHRlcm5h
bCBkYXRhLiBJZiB0aGF0IGlzIHRydWUsCitgYGtleWBgIGlzIGFzc2lnbmVkIHRoZSB2YWx1ZSBg
YHZhbHVlMWBgLCBvdGhlcndpc2UgYGBjb25kMmBgIGlzCitldmFsdWF0ZWQgaW4gdGhlIHNhbWUg
d2F5LiBJZiBib3RoIGBgY29uZDFgYCBhbmQgYGBjb25kMmBgIGFyZSBmYWxzZSwKK3RoZSB1bmNv
bmRpdGlvbmFsIGBgdmFsdWUzYGAgaXMgdXNlZC4KKworQ29uZGl0aW9ucyB0aGVtc2VsdmVzIHVz
ZSBhIFB5dGhvbi1saWtlIGV4cHJlc3Npb24gc3ludGF4LiBPcGVyYW5kcworY2FuIGVpdGhlciBi
ZSB2YXJpYWJsZXMsIGNvcnJlc3BvbmRpbmcgdG8gZGF0YSBwYXNzZWQgaW4sIG51bWJlcnMKKyhp
bnRlZ2VyIG9yIGZsb2F0aW5nIHBvaW50OyBleHBvbmVudGlhbCBub3RhdGlvbiBpcyBub3Qgc3Vw
cG9ydGVkKSBvcgorcXVvdGUtZGVsaW1pdGVkIHN0cmluZ3MuIEVxdWFsaXR5IGlzIHRlc3RlZCB1
c2luZyBgYD09YGAgYW5kCitpbmVxdWFsaXR5IGJ5IGBgIT1gYC4gVGhlIG9wZXJhdG9ycyBgYGFu
ZGBgLCBgYG9yYGAgYW5kIGBgbm90YGAgYXJlCit1c2VkIGluIHRoZSBleHBlY3RlZCB3YXkuIFBh
cmVudGhlc2VzIGNhbiBhbHNvIGJlIHVzZWQgZm9yCitncm91cGluZy4gRm9yIGV4YW1wbGU6Ogor
CisgIGtleToKKyAgICBpZiAoYSA9PSAyIG9yIGEgPT0gMykgYW5kIGIgPT0gImFiYyI6IHZhbHVl
MQorICAgIGlmIGEgPT0gMSBvciBiICE9ICJhYmMiOiB2YWx1ZTIKKyAgICB2YWx1ZTMKKworSGVy
ZSBgYGFgYCBhbmQgYGBiYGAgYXJlIHZhcmlhYmxlcywgdGhlIHZhbHVlIG9mIHdoaWNoIHdpbGwg
YmUKK3N1cHBsaWVkIHdoZW4gdGhlIG1hbmlmZXN0IGlzIHVzZWQuCisKK0V4cGVjdGF0aW9uIE1h
bmlmZXN0cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doZW4gdXNlZCBmb3IgZXhwZWN0YXRp
b24gZGF0YSwgbWFuaWZlc3RzIGhhdmUgdGhlIGZvbGxvd2luZyBmb3JtYXQ6CisKKyAqIEEgc2Vj
dGlvbiBwZXIgdGVzdCBVUkwgZGVzY3JpYmVkIGJ5IHRoZSBtYW5pZmVzdCwgd2l0aCB0aGUgc2Vj
dGlvbgorICAgaGVhZGluZyBiZWluZyB0aGUgcGFydCBvZiB0aGUgdGVzdCBVUkwgZm9sbG93aW5n
IHRoZSBsYXN0IGBgL2BgIGluCisgICB0aGUgcGF0aCAodGhpcyBhbGxvd3MgbXVsdGlwbGUgdGVz
dHMgaW4gYSBzaW5nbGUgbWFuaWZlc3QgZmlsZSB3aXRoCisgICB0aGUgc2FtZSBwYXRoIHBhcnQg
b2YgdGhlIFVSTCwgYnV0IGRpZmZlcmVudCBxdWVyeSBwYXJ0cykuCisKKyAqIEEgc3Vic2VjdGlv
biBwZXIgc3VidGVzdCwgd2l0aCB0aGUgaGVhZGluZyBiZWluZyB0aGUgdGl0bGUgb2YgdGhlCisg
ICBzdWJ0ZXN0LgorCisgKiBBIGtleSBgYHR5cGVgYCBpbmRpY2F0aW5nIHRoZSB0ZXN0IHR5cGUu
IFRoaXMgdGFrZXMgdGhlIHZhbHVlcworICAgYGB0ZXN0aGFybmVzc2BgIGFuZCBgYHJlZnRlc3Rg
YC4KKworICogRm9yIHJlZnRlc3RzLCBrZXlzIGBgcmVmdHlwZWBgIGluZGljYXRpbmcgdGhlIHJl
ZmVyZW5jZSB0eXBlCisgICAoYGA9PWBgIG9yIGBgIT1gYCkgYW5kIGBgcmVmdXJsYGAgaW5kaWNh
dGluZyB0aGUgVVJMIG9mIHRoZQorICAgcmVmZXJlbmNlLgorCisgKiBBIGtleSBgYGV4cGVjdGVk
YGAgZ2l2aW5nIHRoZSBleHBlY3RhdGlvbiB2YWx1ZSBvZiBlYWNoIChzdWIpdGVzdC4KKworICog
QSBrZXkgYGBkaXNhYmxlZGBgIHdoaWNoIGNhbiBiZSBzZXQgdG8gYW55IHZhbHVlIHRvIGluZGlj
YXRlIHRoYXQKKyAgIHRoZSAoc3ViKXRlc3QgaXMgZGlzYWJsZWQgYW5kIHNob3VsZCBlaXRoZXIg
bm90IGJlIHJ1biAoZm9yIHRlc3RzKQorICAgb3IgdGhhdCBpdHMgcmVzdWx0cyBzaG91bGQgYmUg
aWdub3JlZCAoc3VidGVzdHMpLgorCisgKiBBIGtleSBgYHJlc3RhcnQtYWZ0ZXJgYCB3aGljaCBj
YW4gYmUgc2V0IHRvIGFueSB2YWx1ZSB0byBpbmRpY2F0ZSB0aGF0CisgICB0aGUgcnVubmVyIHNo
b3VsZCByZXN0YXJ0IHRoZSBicm93c2VyIGFmdGVyIHJ1bm5pbmcgdGhpcyB0ZXN0IChlLmcuIHRv
CisgICBjbGVhciBvdXQgdW53YW50ZWQgc3RhdGUpLgorCisgKiBWYXJpYWJsZXMgYGBkZWJ1Z2Bg
LCBgYG9zYGAsIGBgdmVyc2lvbmBgLCBgYHByb2Nlc3NvcmBgIGFuZAorICAgYGBiaXRzYGAgdGhh
dCBkZXNjcmliZSB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgYnJvd3NlciB1bmRlcgorICAgdGVz
dC4gYGBkZWJ1Z2BgIGlzIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgYSBidWlsZCBpcyBh
IGRlYnVnCisgICBidWlsZC4gYGBvc2BgIGlzIGEgc3RyaW5nIGluZGljYXRpbmcgdGhlIG9wZXJh
dGluZyBzeXN0ZW0sIGFuZAorICAgYGB2ZXJzaW9uYGAgYSBzdHJpbmcgaW5kaWNhdGluZyB0aGUg
cGFydGljdWxhciB2ZXJzaW9uIG9mIHRoYXQKKyAgIG9wZXJhdGluZyBzeXN0ZW0uIGBgcHJvY2Vz
c29yYGAgaXMgYSBzdHJpbmcgaW5kaWNhdGluZyB0aGUKKyAgIHByb2Nlc3NvciBhcmNoaXRlY3R1
cmUgYW5kIGBgYml0c2BgIGFuIGludGVnZXIgaW5kaWNhdGluZyB0aGUKKyAgIG51bWJlciBvZiBi
aXRzLiBUaGlzIGluZm9ybWF0aW9uIGlzIHR5cGljYWxseSBwcm92aWRlZCBieQorICAgOnB5Om1v
ZDpgbW96aW5mb2AuCisKKyAqIFRvcCBsZXZlbCBrZXlzIGFyZSB0YWtlbiBhcyBkZWZhdWx0cyBm
b3IgdGhlIHdob2xlIGZpbGUuIFNvLCBmb3IKKyAgIGV4YW1wbGUsIGEgdG9wIGxldmVsIGtleSB3
aXRoIGBgZXhwZWN0ZWQ6IEZBSUxgYCB3b3VsZCBpbmRpY2F0ZQorICAgdGhhdCBhbGwgdGVzdHMg
YW5kIHN1YnRlc3RzIGluIHRoZSBmaWxlIGFyZSBleHBlY3RlZCB0byBmYWlsLAorICAgdW5sZXNz
IHRoZXkgaGF2ZSBhbiBgYGV4cGVjdGVkYGAga2V5IG9mIHRoZWlyIG93bi4KKworQW4gc2ltcGxl
IGV4YW1wbGUgbWFuaWZlc3QgbWlnaHQgbG9vayBsaWtlOjoKKworICBbdGVzdC5odG1sP3Zhcmlh
bnQ9YmFzaWNdCisgICAgdHlwZTogdGVzdGhhcm5lc3MKKworICAgIFtUZXN0IHNvbWV0aGluZyB1
bnN1cHBvcnRlZF0KKyAgICAgICBleHBlY3RlZDogRkFJTAorCisgIFt0ZXN0Lmh0bWw/dmFyaWFu
dD1icm9rZW5dCisgICAgZXhwZWN0ZWQ6IEVSUk9SCisKKyAgW3Rlc3QuaHRtbD92YXJpYW50PXVu
c3RhYmxlXQorICAgIGRpc2FibGVkOiBodHRwOi8vdGVzdC5idWdzLmV4YW1wbGUub3JnL2J1Z3Mv
MTIzNDUKKworQSBtb3JlIGNvbXBsZXggbWFuaWZlc3Qgd2l0aCBjb25kaXRpb25hbCBwcm9wZXJ0
aWVzIG1pZ2h0IGJlOjoKKworICBbY2FudmFzX3Rlc3QuaHRtbF0KKyAgICBleHBlY3RlZDoKKyAg
ICAgIGlmIG9zID09ICJvc3giOiBGQUlMCisgICAgICBpZiBvcyA9PSAid2luZG93cyIgYW5kIHZl
cnNpb24gPT0gIlhQIjogRkFJTAorICAgICAgUEFTUworCitOb3RlIHRoYXQgYGBQQVNTYGAgaW4g
dGhlIGFib3ZlIHdvcmtzLCBidXQgaXMgdW5uZWNlc3Nhcnk7IGBgUEFTU2BgCisob3IgYGBPS2Bg
KSBpcyBhbHdheXMgdGhlIGRlZmF1bHQgZXhwZWN0YXRpb24gZm9yIChzdWIpdGVzdHMuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci9kb2NzL2luZGV4LnJzdCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvaW5kZXgucnN0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjUxNDdkM2UzMWMzYmM0NGIxMjE2ZTQ2YmJjMDNhMDRjMzgwY2IzYWQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9kb2NzL2luZGV4LnJzdApAQCAtMCwwICsxLDI0IEBACisuLiB3cHRydW5uZXIgZG9j
dW1lbnRhdGlvbiBtYXN0ZXIgZmlsZSwgY3JlYXRlZCBieQorICAgc3BoaW54LXF1aWNrc3RhcnQg
b24gTW9uIE1heSAxOSAxODoxNDoyMCAyMDE0LgorICAgWW91IGNhbiBhZGFwdCB0aGlzIGZpbGUg
Y29tcGxldGVseSB0byB5b3VyIGxpa2luZywgYnV0IGl0IHNob3VsZCBhdCBsZWFzdAorICAgY29u
dGFpbiB0aGUgcm9vdCBgdG9jdHJlZWAgZGlyZWN0aXZlLgorCitXZWxjb21lIHRvIHdwdHJ1bm5l
cidzIGRvY3VtZW50YXRpb24hCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CisKK0NvbnRlbnRzOgorCisuLiB0b2N0cmVlOjoKKyAgIDptYXhkZXB0aDogMgorCisgICB1c2Fn
ZQorICAgZXhwZWN0YXRpb24KKyAgIGRlc2lnbgorCitJbmRpY2VzIGFuZCB0YWJsZXMKKz09PT09
PT09PT09PT09PT09PQorCisqIDpyZWY6YGdlbmluZGV4YAorKiA6cmVmOmBtb2RpbmRleGAKKyog
OnJlZjpgc2VhcmNoYAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL21ha2UuYmF0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9t
YWtlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NTljMTYxNWEyODlkYjBiMWE5MGEwOTBkODk0ZmE0YjU0YjRm
YTNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9tYWtlLmJhdApAQCAtMCwwICsxLDI0MiBA
QAorQEVDSE8gT0ZGDQorDQorUkVNIENvbW1hbmQgZmlsZSBmb3IgU3BoaW54IGRvY3VtZW50YXRp
b24NCisNCitpZiAiJVNQSElOWEJVSUxEJSIgPT0gIiIgKA0KKwlzZXQgU1BISU5YQlVJTEQ9c3Bo
aW54LWJ1aWxkDQorKQ0KK3NldCBCVUlMRERJUj1fYnVpbGQNCitzZXQgQUxMU1BISU5YT1BUUz0t
ZCAlQlVJTERESVIlL2RvY3RyZWVzICVTUEhJTlhPUFRTJSAuDQorc2V0IEkxOE5TUEhJTlhPUFRT
PSVTUEhJTlhPUFRTJSAuDQoraWYgTk9UICIlUEFQRVIlIiA9PSAiIiAoDQorCXNldCBBTExTUEhJ
TlhPUFRTPS1EIGxhdGV4X3BhcGVyX3NpemU9JVBBUEVSJSAlQUxMU1BISU5YT1BUUyUNCisJc2V0
IEkxOE5TUEhJTlhPUFRTPS1EIGxhdGV4X3BhcGVyX3NpemU9JVBBUEVSJSAlSTE4TlNQSElOWE9Q
VFMlDQorKQ0KKw0KK2lmICIlMSIgPT0gIiIgZ290byBoZWxwDQorDQoraWYgIiUxIiA9PSAiaGVs
cCIgKA0KKwk6aGVscA0KKwllY2hvLlBsZWFzZSB1c2UgYG1ha2UgXjx0YXJnZXRePmAgd2hlcmUg
Xjx0YXJnZXRePiBpcyBvbmUgb2YNCisJZWNoby4gIGh0bWwgICAgICAgdG8gbWFrZSBzdGFuZGFs
b25lIEhUTUwgZmlsZXMNCisJZWNoby4gIGRpcmh0bWwgICAgdG8gbWFrZSBIVE1MIGZpbGVzIG5h
bWVkIGluZGV4Lmh0bWwgaW4gZGlyZWN0b3JpZXMNCisJZWNoby4gIHNpbmdsZWh0bWwgdG8gbWFr
ZSBhIHNpbmdsZSBsYXJnZSBIVE1MIGZpbGUNCisJZWNoby4gIHBpY2tsZSAgICAgdG8gbWFrZSBw
aWNrbGUgZmlsZXMNCisJZWNoby4gIGpzb24gICAgICAgdG8gbWFrZSBKU09OIGZpbGVzDQorCWVj
aG8uICBodG1saGVscCAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBIVE1MIGhlbHAgcHJvamVj
dA0KKwllY2hvLiAgcXRoZWxwICAgICB0byBtYWtlIEhUTUwgZmlsZXMgYW5kIGEgcXRoZWxwIHBy
b2plY3QNCisJZWNoby4gIGRldmhlbHAgICAgdG8gbWFrZSBIVE1MIGZpbGVzIGFuZCBhIERldmhl
bHAgcHJvamVjdA0KKwllY2hvLiAgZXB1YiAgICAgICB0byBtYWtlIGFuIGVwdWINCisJZWNoby4g
IGxhdGV4ICAgICAgdG8gbWFrZSBMYVRlWCBmaWxlcywgeW91IGNhbiBzZXQgUEFQRVI9YTQgb3Ig
UEFQRVI9bGV0dGVyDQorCWVjaG8uICB0ZXh0ICAgICAgIHRvIG1ha2UgdGV4dCBmaWxlcw0KKwll
Y2hvLiAgbWFuICAgICAgICB0byBtYWtlIG1hbnVhbCBwYWdlcw0KKwllY2hvLiAgdGV4aW5mbyAg
ICB0byBtYWtlIFRleGluZm8gZmlsZXMNCisJZWNoby4gIGdldHRleHQgICAgdG8gbWFrZSBQTyBt
ZXNzYWdlIGNhdGFsb2dzDQorCWVjaG8uICBjaGFuZ2VzICAgIHRvIG1ha2UgYW4gb3ZlcnZpZXcg
b3ZlciBhbGwgY2hhbmdlZC9hZGRlZC9kZXByZWNhdGVkIGl0ZW1zDQorCWVjaG8uICB4bWwgICAg
ICAgIHRvIG1ha2UgRG9jdXRpbHMtbmF0aXZlIFhNTCBmaWxlcw0KKwllY2hvLiAgcHNldWRveG1s
ICB0byBtYWtlIHBzZXVkb3htbC1YTUwgZmlsZXMgZm9yIGRpc3BsYXkgcHVycG9zZXMNCisJZWNo
by4gIGxpbmtjaGVjayAgdG8gY2hlY2sgYWxsIGV4dGVybmFsIGxpbmtzIGZvciBpbnRlZ3JpdHkN
CisJZWNoby4gIGRvY3Rlc3QgICAgdG8gcnVuIGFsbCBkb2N0ZXN0cyBlbWJlZGRlZCBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBpZiBlbmFibGVkDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0g
ImNsZWFuIiAoDQorCWZvciAvZCAlJWkgaW4gKCVCVUlMRERJUiVcKikgZG8gcm1kaXIgL3EgL3Mg
JSVpDQorCWRlbCAvcSAvcyAlQlVJTERESVIlXCoNCisJZ290byBlbmQNCispDQorDQorDQorJVNQ
SElOWEJVSUxEJSAyPiBudWwNCitpZiBlcnJvcmxldmVsIDkwMDkgKA0KKwllY2hvLg0KKwllY2hv
LlRoZSAnc3BoaW54LWJ1aWxkJyBjb21tYW5kIHdhcyBub3QgZm91bmQuIE1ha2Ugc3VyZSB5b3Ug
aGF2ZSBTcGhpbngNCisJZWNoby5pbnN0YWxsZWQsIHRoZW4gc2V0IHRoZSBTUEhJTlhCVUlMRCBl
bnZpcm9ubWVudCB2YXJpYWJsZSB0byBwb2ludA0KKwllY2hvLnRvIHRoZSBmdWxsIHBhdGggb2Yg
dGhlICdzcGhpbngtYnVpbGQnIGV4ZWN1dGFibGUuIEFsdGVybmF0aXZlbHkgeW91DQorCWVjaG8u
bWF5IGFkZCB0aGUgU3BoaW54IGRpcmVjdG9yeSB0byBQQVRILg0KKwllY2hvLg0KKwllY2hvLklm
IHlvdSBkb24ndCBoYXZlIFNwaGlueCBpbnN0YWxsZWQsIGdyYWIgaXQgZnJvbQ0KKwllY2hvLmh0
dHA6Ly9zcGhpbngtZG9jLm9yZy8NCisJZXhpdCAvYiAxDQorKQ0KKw0KK2lmICIlMSIgPT0gImh0
bWwiICgNCisJJVNQSElOWEJVSUxEJSAtYiBodG1sICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIl
L2h0bWwNCisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxk
IGZpbmlzaGVkLiBUaGUgSFRNTCBwYWdlcyBhcmUgaW4gJUJVSUxERElSJS9odG1sLg0KKwlnb3Rv
IGVuZA0KKykNCisNCitpZiAiJTEiID09ICJkaXJodG1sIiAoDQorCSVTUEhJTlhCVUlMRCUgLWIg
ZGlyaHRtbCAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9kaXJodG1sDQorCWlmIGVycm9ybGV2
ZWwgMSBleGl0IC9iIDENCisJZWNoby4NCisJZWNoby5CdWlsZCBmaW5pc2hlZC4gVGhlIEhUTUwg
cGFnZXMgYXJlIGluICVCVUlMRERJUiUvZGlyaHRtbC4NCisJZ290byBlbmQNCispDQorDQoraWYg
IiUxIiA9PSAic2luZ2xlaHRtbCIgKA0KKwklU1BISU5YQlVJTEQlIC1iIHNpbmdsZWh0bWwgJUFM
TFNQSElOWE9QVFMlICVCVUlMRERJUiUvc2luZ2xlaHRtbA0KKwlpZiBlcnJvcmxldmVsIDEgZXhp
dCAvYiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBIVE1MIHBhZ2VzIGFy
ZSBpbiAlQlVJTERESVIlL3NpbmdsZWh0bWwuDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIg
PT0gInBpY2tsZSIgKA0KKwklU1BISU5YQlVJTEQlIC1iIHBpY2tsZSAlQUxMU1BISU5YT1BUUyUg
JUJVSUxERElSJS9waWNrbGUNCisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0K
KwllY2hvLkJ1aWxkIGZpbmlzaGVkOyBub3cgeW91IGNhbiBwcm9jZXNzIHRoZSBwaWNrbGUgZmls
ZXMuDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gImpzb24iICgNCisJJVNQSElOWEJV
SUxEJSAtYiBqc29uICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL2pzb24NCisJaWYgZXJyb3Js
ZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkOyBub3cgeW91
IGNhbiBwcm9jZXNzIHRoZSBKU09OIGZpbGVzLg0KKwlnb3RvIGVuZA0KKykNCisNCitpZiAiJTEi
ID09ICJodG1saGVscCIgKA0KKwklU1BISU5YQlVJTEQlIC1iIGh0bWxoZWxwICVBTExTUEhJTlhP
UFRTJSAlQlVJTERESVIlL2h0bWxoZWxwDQorCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCisJ
ZWNoby4NCisJZWNoby5CdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuIEhUTUwgSGVscCBX
b3Jrc2hvcCB3aXRoIHRoZSBeDQorLmhocCBwcm9qZWN0IGZpbGUgaW4gJUJVSUxERElSJS9odG1s
aGVscC4NCisJZ290byBlbmQNCispDQorDQoraWYgIiUxIiA9PSAicXRoZWxwIiAoDQorCSVTUEhJ
TlhCVUlMRCUgLWIgcXRoZWxwICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL3F0aGVscA0KKwlp
ZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQ7
IG5vdyB5b3UgY2FuIHJ1biAicWNvbGxlY3Rpb25nZW5lcmF0b3IiIHdpdGggdGhlIF4NCisucWhj
cCBwcm9qZWN0IGZpbGUgaW4gJUJVSUxERElSJS9xdGhlbHAsIGxpa2UgdGhpczoNCisJZWNoby5e
PiBxY29sbGVjdGlvbmdlbmVyYXRvciAlQlVJTERESVIlXHF0aGVscFx3cHRydW5uZXIucWhjcA0K
KwllY2hvLlRvIHZpZXcgdGhlIGhlbHAgZmlsZToNCisJZWNoby5ePiBhc3Npc3RhbnQgLWNvbGxl
Y3Rpb25GaWxlICVCVUlMRERJUiVccXRoZWxwXHdwdHJ1bm5lci5naGMNCisJZ290byBlbmQNCisp
DQorDQoraWYgIiUxIiA9PSAiZGV2aGVscCIgKA0KKwklU1BISU5YQlVJTEQlIC1iIGRldmhlbHAg
JUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvZGV2aGVscA0KKwlpZiBlcnJvcmxldmVsIDEgZXhp
dCAvYiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQuDQorCWdvdG8gZW5kDQorKQ0K
Kw0KK2lmICIlMSIgPT0gImVwdWIiICgNCisJJVNQSElOWEJVSUxEJSAtYiBlcHViICVBTExTUEhJ
TlhPUFRTJSAlQlVJTERESVIlL2VwdWINCisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwll
Y2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkLiBUaGUgZXB1YiBmaWxlIGlzIGluICVCVUlMRERJ
UiUvZXB1Yi4NCisJZ290byBlbmQNCispDQorDQoraWYgIiUxIiA9PSAibGF0ZXgiICgNCisJJVNQ
SElOWEJVSUxEJSAtYiBsYXRleCAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9sYXRleA0KKwlp
ZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxDQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQ7
IHRoZSBMYVRlWCBmaWxlcyBhcmUgaW4gJUJVSUxERElSJS9sYXRleC4NCisJZ290byBlbmQNCisp
DQorDQoraWYgIiUxIiA9PSAibGF0ZXhwZGYiICgNCisJJVNQSElOWEJVSUxEJSAtYiBsYXRleCAl
QUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9sYXRleA0KKwljZCAlQlVJTERESVIlL2xhdGV4DQor
CW1ha2UgYWxsLXBkZg0KKwljZCAlQlVJTERESVIlLy4uDQorCWVjaG8uDQorCWVjaG8uQnVpbGQg
ZmluaXNoZWQ7IHRoZSBQREYgZmlsZXMgYXJlIGluICVCVUlMRERJUiUvbGF0ZXguDQorCWdvdG8g
ZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gImxhdGV4cGRmamEiICgNCisJJVNQSElOWEJVSUxEJSAt
YiBsYXRleCAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9sYXRleA0KKwljZCAlQlVJTERESVIl
L2xhdGV4DQorCW1ha2UgYWxsLXBkZi1qYQ0KKwljZCAlQlVJTERESVIlLy4uDQorCWVjaG8uDQor
CWVjaG8uQnVpbGQgZmluaXNoZWQ7IHRoZSBQREYgZmlsZXMgYXJlIGluICVCVUlMRERJUiUvbGF0
ZXguDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gInRleHQiICgNCisJJVNQSElOWEJV
SUxEJSAtYiB0ZXh0ICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL3RleHQNCisJaWYgZXJyb3Js
ZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkLiBUaGUgdGV4
dCBmaWxlcyBhcmUgaW4gJUJVSUxERElSJS90ZXh0Lg0KKwlnb3RvIGVuZA0KKykNCisNCitpZiAi
JTEiID09ICJtYW4iICgNCisJJVNQSElOWEJVSUxEJSAtYiBtYW4gJUFMTFNQSElOWE9QVFMlICVC
VUlMRERJUiUvbWFuDQorCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCisJZWNoby4NCisJZWNo
by5CdWlsZCBmaW5pc2hlZC4gVGhlIG1hbnVhbCBwYWdlcyBhcmUgaW4gJUJVSUxERElSJS9tYW4u
DQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gInRleGluZm8iICgNCisJJVNQSElOWEJV
SUxEJSAtYiB0ZXhpbmZvICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL3RleGluZm8NCisJaWYg
ZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkLiBU
aGUgVGV4aW5mbyBmaWxlcyBhcmUgaW4gJUJVSUxERElSJS90ZXhpbmZvLg0KKwlnb3RvIGVuZA0K
KykNCisNCitpZiAiJTEiID09ICJnZXR0ZXh0IiAoDQorCSVTUEhJTlhCVUlMRCUgLWIgZ2V0dGV4
dCAlSTE4TlNQSElOWE9QVFMlICVCVUlMRERJUiUvbG9jYWxlDQorCWlmIGVycm9ybGV2ZWwgMSBl
eGl0IC9iIDENCisJZWNoby4NCisJZWNoby5CdWlsZCBmaW5pc2hlZC4gVGhlIG1lc3NhZ2UgY2F0
YWxvZ3MgYXJlIGluICVCVUlMRERJUiUvbG9jYWxlLg0KKwlnb3RvIGVuZA0KKykNCisNCitpZiAi
JTEiID09ICJjaGFuZ2VzIiAoDQorCSVTUEhJTlhCVUlMRCUgLWIgY2hhbmdlcyAlQUxMU1BISU5Y
T1BUUyUgJUJVSUxERElSJS9jaGFuZ2VzDQorCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCisJ
ZWNoby4NCisJZWNoby5UaGUgb3ZlcnZpZXcgZmlsZSBpcyBpbiAlQlVJTERESVIlL2NoYW5nZXMu
DQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gImxpbmtjaGVjayIgKA0KKwklU1BISU5Y
QlVJTEQlIC1iIGxpbmtjaGVjayAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9saW5rY2hlY2sN
CisJaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkxpbmsgY2hlY2sg
Y29tcGxldGU7IGxvb2sgZm9yIGFueSBlcnJvcnMgaW4gdGhlIGFib3ZlIG91dHB1dCBeDQorb3Ig
aW4gJUJVSUxERElSJS9saW5rY2hlY2svb3V0cHV0LnR4dC4NCisJZ290byBlbmQNCispDQorDQor
aWYgIiUxIiA9PSAiZG9jdGVzdCIgKA0KKwklU1BISU5YQlVJTEQlIC1iIGRvY3Rlc3QgJUFMTFNQ
SElOWE9QVFMlICVCVUlMRERJUiUvZG9jdGVzdA0KKwlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAx
DQorCWVjaG8uDQorCWVjaG8uVGVzdGluZyBvZiBkb2N0ZXN0cyBpbiB0aGUgc291cmNlcyBmaW5p
c2hlZCwgbG9vayBhdCB0aGUgXg0KK3Jlc3VsdHMgaW4gJUJVSUxERElSJS9kb2N0ZXN0L291dHB1
dC50eHQuDQorCWdvdG8gZW5kDQorKQ0KKw0KK2lmICIlMSIgPT0gInhtbCIgKA0KKwklU1BISU5Y
QlVJTEQlIC1iIHhtbCAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS94bWwNCisJaWYgZXJyb3Js
ZXZlbCAxIGV4aXQgL2IgMQ0KKwllY2hvLg0KKwllY2hvLkJ1aWxkIGZpbmlzaGVkLiBUaGUgWE1M
IGZpbGVzIGFyZSBpbiAlQlVJTERESVIlL3htbC4NCisJZ290byBlbmQNCispDQorDQoraWYgIiUx
IiA9PSAicHNldWRveG1sIiAoDQorCSVTUEhJTlhCVUlMRCUgLWIgcHNldWRveG1sICVBTExTUEhJ
TlhPUFRTJSAlQlVJTERESVIlL3BzZXVkb3htbA0KKwlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAx
DQorCWVjaG8uDQorCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBwc2V1ZG8tWE1MIGZpbGVzIGFy
ZSBpbiAlQlVJTERESVIlL3BzZXVkb3htbC4NCisJZ290byBlbmQNCispDQorDQorOmVuZA0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL2RvY3MvdXNhZ2UucnN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy91c2FnZS5yc3QKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGU3NGE0MzIwYzgyODc2Mzc1MWIwYjE3YWUzMTNjMjMzYTkzNTkwNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL2RvY3MvdXNhZ2UucnN0CkBAIC0wLDAgKzEsMjM4IEBACitHZXR0aW5nIFN0YXJ0
ZWQKKz09PT09PT09PT09PT09PQorCitJbnN0YWxsaW5nIHdwdHJ1bm5lcgorLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKworVGhlIGVhc2llc3Qgd2F5IHRvIGluc3RhbGwgd3B0cnVubmVyIGlzIGludG8g
YSB2aXJ0dWFsZW52LCB1c2luZyBwaXA6OgorCisgIHZpcnR1YWxlbnYgd3B0cnVubmVyCisgIGNk
IHdwdHJ1bm5lcgorICBzb3VyY2UgYmluL2FjdGl2YXRlCisgIHBpcCBpbnN0YWxsIHdwdHJ1bm5l
cgorCitUaGlzIHdpbGwgaW5zdGFsbCB0aGUgYmFzZSBkZXBlbmRlbmNpZXMgZm9yIHdwdHJ1bm5l
ciwgYnV0IG5vdCBhbnkKK2V4dHJhIGRlcGVuZGVuY2llcyByZXF1aXJlZCB0byB0ZXN0IGFnYWlu
c3Qgc3BlY2lmaWMgYnJvd3NlcnMuIEluCitvcmRlciB0byBkbyB0aGlzIHlvdSBtdXN0IHVzZSB1
c2UgdGhlIGV4dHJhIHJlcXVpcmVtZW50cyBmaWxlcyBpbgorYGAkVklSVFVBTF9FTlYvcmVxdWly
ZW1lbnRzL3JlcXVpcmVtZW50c19icm93c2VyLnR4dGBgLiBGb3IgZXhhbXBsZSwKK2luIG9yZGVy
IHRvIHRlc3QgYWdhaW5zdCBGaXJlZm94IHlvdSB3b3VsZCBoYXZlIHRvIHJ1bjo6CisKKyAgcGlw
IGluc3RhbGwgLXIgcmVxdWlyZW1lbnRzL3JlcXVpcmVtZW50c19maXJlZm94LnR4dAorCitJZiB5
b3UgaW50ZW5kIHRvIHdvcmsgb24gdGhlIGNvZGUsIHRoZSBgYC1lYGAgb3B0aW9uIHRvIHBpcCBz
aG91bGQgYmUKK3VzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhIHNvdXJjZSBjaGVja291dCBpLmUu
IGluc2lkZSBhIHZpcnR1YWwKK2Vudmlyb25tZW50IGNyZWF0ZWQgYXMgYWJvdmU6OgorCisgIGdp
dCBjbG9uZSBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dwdHJ1bm5lci5naXQKKyAgY2Qgd3B0cnVu
bmVyCisgIHBpcCBpbnN0YWxsIC1lIC4vCisKK0luIGFkZGl0aW9uIHRvIHRoZSBkZXBlbmRlbmNp
ZXMgaW5zdGFsbGVkIGJ5IHBpcCwgd3B0cnVubmVyIHJlcXVpcmVzCithIGNvcHkgb2YgdGhlIHdl
Yi1wbGF0Zm9ybS10ZXN0cyByZXBvc2l0b3J5LiBUaGlzIGNhbiBiZSBsb2NhdGVkCithbnl3aGVy
ZSBvbiB0aGUgZmlsZXN5c3RlbSwgYnV0IHRoZSBlYXNpZXN0IG9wdGlvbiBpcyB0byBwdXQgaXQK
K3VuZGVyIHRoZSBzYW1lIHBhcmVudCBkaXJlY3RvcnkgYXMgdGhlIHdwdHJ1bm5lciBjaGVja291
dDo6CisKKyAgZ2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzLmdpdAorCitJdCBpcyBhbHNvIG5lY2Vzc2FyeSB0byBnZW5lcmF0ZSBhIHdlYi1wbGF0Zm9y
bS10ZXN0cyBgYE1BTklGRVNULmpzb25gYAorZmlsZS4gSXQncyByZWNvbW1lbmRlZCB0byBhbHNv
IHB1dCB0aGF0IHVuZGVyIHRoZSBzYW1lIHBhcmVudCBkaXJlY3RvcnkgYXMKK3RoZSB3cHRydW5u
ZXIgY2hlY2tvdXQsIGluIGEgZGlyZWN0b3J5IG5hbWVkIGBgbWV0YWBgOjoKKworICBta2RpciBt
ZXRhCisgIGNkIHdlYi1wbGF0Zm9ybS10ZXN0cworICBweXRob24gbWFuaWZlc3QgLS1wYXRoIC4u
L21ldGEvTUFOSUZFU1QuanNvbgorCitUaGUgYGBNQU5JRkVTVC5qc29uYGAgZmlsZSBuZWVkcyB0
byBiZSByZWdlbmVyYXRlZCBlYWNoIHRpbWUgdGhlCit3ZWItcGxhdGZvcm0tdGVzdHMgY2hlY2tv
dXQgaXMgdXBkYXRlZC4gVG8gYWlkIHdpdGggdGhlIHVwZGF0ZSBwcm9jZXNzCit0aGVyZSBpcyBh
IHRvb2wgY2FsbGVkIGBgd3B0dXBkYXRlYGAsIHdoaWNoIGlzIGRlc2NyaWJlZCBpbgorOnJlZjpg
d3B0dXBkYXRlLWxhYmVsYC4KKworUnVubmluZyB0aGUgVGVzdHMKKy0tLS0tLS0tLS0tLS0tLS0t
CisKK0EgdGVzdCBydW4gaXMgc3RhcnRlZCB1c2luZyB0aGUgYGB3cHRydW5uZXJgYCBjb21tYW5k
LiAgVGhlIGNvbW1hbmQKK3Rha2VzIG11bHRpcGxlIG9wdGlvbnMsIG9mIHdoaWNoIHRoZSBmb2xs
b3dpbmcgYXJlIG1vc3Qgc2lnbmlmaWNhbnQ6CisKK2BgLS1wcm9kdWN0YGAgKGRlZmF1bHRzIHRv
IGBmaXJlZm94YCkKKyAgVGhlIHByb2R1Y3QgdG8gdGVzdCBhZ2FpbnN0OiBgYjJnYCwgYGNocm9t
ZWAsIGBmaXJlZm94YCwgb3IgYHNlcnZvYC4KKworYGAtLWJpbmFyeWBgIChyZXF1aXJlZCBpZiBw
cm9kdWN0IGlzIGBmaXJlZm94YCBvciBgc2Vydm9gKQorICBUaGUgcGF0aCB0byBhIGJpbmFyeSBm
aWxlIGZvciB0aGUgcHJvZHVjdCAoYnJvd3NlcikgdG8gdGVzdCBhZ2FpbnN0LgorCitgYC0td2Vi
ZHJpdmVyLWJpbmFyeWBgIChyZXF1aXJlZCBpZiBwcm9kdWN0IGlzIGBjaHJvbWVgKQorICBUaGUg
cGF0aCB0byBhIGAqZHJpdmVyYCBiaW5hcnk7IGUuZy4sIGEgYGNocm9tZWRyaXZlcmAgYmluYXJ5
LgorCitgYC0tY2VydHV0aWwtYmluYXJ5YGAgKHJlcXVpcmVkIGlmIHByb2R1Y3QgaXMgYGZpcmVm
b3hgIFsjXV8pCisgIFRoZSBwYXRoIHRvIGEgYGNlcnR1dGlsYCBiaW5hcnkgKGZvciB0ZXN0cyB0
aGF0IG11c3QgYmUgcnVuIG92ZXIgaHR0cHMpLgorCitgYC0tbWV0YWRhdGFgYCAocmVxdWlyZWQg
b25seSB3aGVuIG5vdCBgdXNpbmcgZGVmYXVsdCBwYXRoc2BfKQorICBUaGUgcGF0aCB0byBhIGRp
cmVjdG9yeSBjb250YWluaW5nIHRlc3QgbWV0YWRhdGEuIFsjXV8KKworYGAtLXRlc3RzYGAgKHJl
cXVpcmVkIG9ubHkgd2hlbiBub3QgYHVzaW5nIGRlZmF1bHQgcGF0aHNgXykKKyAgVGhlIHBhdGgg
dG8gYSBkaXJlY3RvcnkgY29udGFpbmluZyBhIHdlYi1wbGF0Zm9ybS10ZXN0cyBjaGVja291dC4K
KworYGAtLXByZWZzLXJvb3RgYCAocmVxdWlyZWQgb25seSB3aGVuIHRlc3RpbmcgYSBGaXJlZm94
IGJpbmFyeSkKKyAgVGhlIHBhdGggdG8gYSBkaXJlY3RvcnkgY29udGFpbmluZyBGaXJlZm94IHRl
c3QtaGFybmVzcyBwcmVmZXJlbmNlcy4gWyNdXworCitgYC0tY29uZmlnYGAgKHNob3VsZCBkZWZh
dWx0IHRvIGB3cHRydW5uZXIuZGVmYXVsdC5pbmlgKQorICBUaGUgcGF0aCB0byB0aGUgY29uZmln
IChpbmkpIGZpbGUuCisKKy4uIFsjXSBUaGUgYGAtLWNlcnR1dGlsLWJpbmFyeWBgIG9wdGlvbiBp
cyByZXF1aXJlZCB3aGVuIHRoZSBwcm9kdWN0IGlzCisgICBgYGZpcmVmb3hgYCB1bmxlc3MgYGAt
LXNzbC10eXBlPW5vbmVgYCBpcyBzcGVjaWZpZWQuCisKKy4uIFsjXSBUaGUgYGAtLW1ldGFkYXRh
YGAgcGF0aCBpcyB0byBhIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zOgorCisgICogYSBgYE1BTklG
RVNULmpzb25gYCBmaWxlICh0aGUgd2ViLXBsYXRmb3JtLXRlc3RzIGRvY3VtZW50YXRpb24gaGFz
CisgICAgaW5zdHJ1Y3Rpb25zIG9uIGdlbmVyYXRpbmcgdGhpcyBmaWxlKQorICAqIChvcHRpb25h
bGx5KSBhbnkgZXhwZWN0YXRpb24gZmlsZXMgKHNlZSA6cmVmOmB3cHR1cGRhdGUtbGFiZWxgKQor
CisuLiBbI10gRXhhbXBsZSBgYC0tcHJlZnMtcm9vdGBgIHZhbHVlOiBgYH4vbW96aWxsYS1jZW50
cmFsL3Rlc3RpbmcvcHJvZmlsZXNgYC4KKworVGhlcmUgYXJlIGFsc28gYSB2YXJpZXR5IG9mIG90
aGVyIGNvbW1hbmQtbGluZSBvcHRpb25zIGF2YWlsYWJsZTsgdXNlCitgYC0taGVscGBgIHRvIGxp
c3QgdGhlbS4KKworVGhlIGZvbGxvd2luZyBleGFtcGxlcyBzaG93IGhvdyB0byBzdGFydCB3cHRy
dW5uZXIgd2l0aCB2YXJpb3VzIG9wdGlvbnMuCisKKy0tLS0tLS0tLS0tLS0tLS0tLQorU3RhcnRp
bmcgd3B0cnVubmVyCistLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIGV4YW1wbGVzIGJlbG93IGFz
c3VtZSB0aGUgZm9sbG93aW5nIGRpcmVjdG9yeSBsYXlvdXQsCit0aG91Z2ggbm8gc3BlY2lmaWMg
Zm9sZGVyIHN0cnVjdHVyZSBpcyByZXF1aXJlZDo6CisKKyAgfi90ZXN0dHdmL3dwdHJ1bm5lciAg
ICAgICAgICAjIHdwdHJ1bm5lciBjaGVja291dAorICB+L3Rlc3R0d2Yvd2ViLXBsYXRmb3JtLXRl
c3RzICMgd2ViLXBsYXRmb3JtLXRlc3RzIGNoZWNrb3V0CisgIH4vdGVzdHR3Zi9tZXRhICAgICAg
ICAgICAgICAgIyBtZXRhZGF0YQorCitUbyB0ZXN0IGEgRmlyZWZveCBOaWdodGx5IGJ1aWxkIGlu
IGFuIE9TIFggZW52aXJvbm1lbnQsIHlvdSBtaWdodCBzdGFydAord3B0cnVubmVyIHVzaW5nIHNv
bWV0aGluZyBzaW1pbGFyIHRvIHRoZSBmb2xsb3dpbmcgZXhhbXBsZTo6CisKKyAgd3B0cnVubmVy
IC0tbWV0YWRhdGE9fi90ZXN0dHdmL21ldGEvIC0tdGVzdHM9fi90ZXN0dHdmL3dlYi1wbGF0Zm9y
bS10ZXN0cy8gXAorICAgIC0tYmluYXJ5PX4vbW96aWxsYS1jZW50cmFsL29iai14ODZfNjQtYXBw
bGUtZGFyd2luMTQuMy4wL2Rpc3QvTmlnaHRseS5hcHAvQ29udGVudHMvTWFjT1MvZmlyZWZveCBc
CisgICAgLS1jZXJ0dXRpbC1iaW5hcnk9fi9tb3ppbGxhLWNlbnRyYWwvb2JqLXg4Nl82NC1hcHBs
ZS1kYXJ3aW4xNC4zLjAvc2VjdXJpdHkvbnNzL2NtZC9jZXJ0dXRpbC9jZXJ0dXRpbCBcCisgICAg
LS1wcmVmcy1yb290PX4vbW96aWxsYS1jZW50cmFsL3Rlc3RpbmcvcHJvZmlsZXMKKworCitBbmQg
dG8gdGVzdCBhIENocm9taXVtIGJ1aWxkIGluIGFuIE9TIFggZW52aXJvbm1lbnQsIHlvdSBtaWdo
dCBzdGFydAord3B0cnVubmVyIHVzaW5nIHNvbWV0aGluZyBzaW1pbGFyIHRvIHRoZSBmb2xsb3dp
bmcgZXhhbXBsZTo6CisKKyAgd3B0cnVubmVyIC0tbWV0YWRhdGE9fi90ZXN0dHdmL21ldGEvIC0t
dGVzdHM9fi90ZXN0dHdmL3dlYi1wbGF0Zm9ybS10ZXN0cy8gXAorICAgIC0tYmluYXJ5PX4vY2hy
b21pdW0vc3JjL291dC9SZWxlYXNlL0Nocm9taXVtLmFwcC9Db250ZW50cy9NYWNPUy9DaHJvbWl1
bSBcCisgICAgLS13ZWJkcml2ZXItYmluYXJ5PS91c3IvbG9jYWwvYmluL2Nocm9tZWRyaXZlciAt
LXByb2R1Y3Q9Y2hyb21lCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tCitSdW5uaW5nIHRlc3Qgc3Vi
c2V0cworLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVG8gcmVzdHJpY3QgYSB0ZXN0IHJ1biBqdXN0
IHRvIHRlc3RzIGluIGEgcGFydGljdWxhciB3ZWItcGxhdGZvcm0tdGVzdHMKK3N1YmRpcmVjdG9y
eSwgc3BlY2lmeSB0aGUgZGlyZWN0b3J5IG5hbWUgaW4gdGhlIHBvc2l0aW9uYWwgYXJndW1lbnRz
IGFmdGVyCit0aGUgb3B0aW9uczsgZm9yIGV4YW1wbGUsIHJ1biBqdXN0IHRoZSB0ZXN0cyBpbiB0
aGUgYGRvbWAgc3ViZGlyZWN0b3J5OjoKKworICB3cHRydW5uZXIgLS1tZXRhZGF0YT1+L3Rlc3R0
d2YvbWV0YSAtLXRlc3RzPX4vdGVzdHR3Zi93ZWItcGxhdGZvcm0tdGVzdHMvIFwKKyAgICAtLWJp
bmFyeT0vcGF0aC90by9maXJlZm94IC0tY2VydHV0aWwtYmluYXJ5PS9wYXRoL3RvL2NlcnR1dGls
IFwKKyAgICAtLXByZWZzLXJvb3Q9L3BhdGgvdG8vdGVzdGluZy9wcm9maWxlcyBcCisgICAgZG9t
CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0KK1J1bm5pbmcgaW4gcGFyYWxsZWwKKy0tLS0tLS0tLS0t
LS0tLS0tLS0KKworVG8gc3BlZWQgdXAgdGhlIHRlc3RpbmcgcHJvY2VzcywgdXNlIHRoZSBgYC0t
cHJvY2Vzc2VzYGAgb3B0aW9uIHRvIGhhdmUKK3dwdHJ1bm5lciBydW4gbXVsdGlwbGUgYnJvd3Nl
ciBpbnN0YW5jZXMgaW4gcGFyYWxsZWwuIEZvciBleGFtcGxlLCB0bworaGF2ZSB3cHRydW5uZXIg
YXR0ZW1wdCB0byBydW4gdGVzdHMgYWdhaW5zdCB3aXRoIHNpeCBicm93c2VyIGluc3RhbmNlcwor
aW4gcGFyYWxsZWwsIHNwZWNpZnkgYGAtLXByb2Nlc3Nlcz02YGAuIEJ1dCBub3RlIHRoYXQgYmVo
YXZpb3VyIGluIHRoaXMKK21vZGUgaXMgbmVjZXNzYXJpbHkgbGVzcyBkZXRlcm1pbmlzdGljIHRo
YW4gd2l0aCBgYC0tcHJvY2Vzc2VzPTFgYCAodGhlCitkZWZhdWx0KSwgc28gdGhlcmUgbWF5IGJl
IG1vcmUgbm9pc2UgaW4gdGhlIHRlc3QgcmVzdWx0cy4KKworLS0tLS0tLS0tLS0tLS0tLS0tLQor
VXNpbmcgZGVmYXVsdCBwYXRocworLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgKG90aGVyd2lz
ZS1yZXF1aXJlZCkgYGAtLXRlc3RzYGAgYW5kIGBgLS1tZXRhZGF0YWBgIGNvbW1hbmQtbGluZQor
b3B0aW9ucy9mbGFncyBiZSBvbWl0dGVkIGlmIGFueSBjb25maWd1cmF0aW9uIGZpbGUgaXMgZm91
bmQgdGhhdAorY29udGFpbnMgYSBzZWN0aW9uIHNwZWNpZnlpbmcgdGhlIGBgdGVzdHNgYCBhbmQg
YGBtZXRhZGF0YWBgIGtleXMuCisKK1NlZSB0aGUgYENvbmZpZ3VyYXRpb24gRmlsZWBfIHNlY3Rp
b24gZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQKK2NvbmZpZ3VyYXRpb24gZmlsZXMsIGluY2x1
ZGluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGVpciBleHBlY3RlZAorbG9jYXRpb25zLgorCitUaGUg
Y29udGVudCBvZiB0aGUgYGB3cHRydW5uZXIuZGVmYXVsdC5pbmlgYCBkZWZhdWx0IGNvbmZpZ3Vy
YXRpb24gZmlsZQorbWFrZXMgd3B0cnVubmVyIGxvb2sgZm9yIHRlc3RzICh0aGF0IGlzLCBhIHdl
Yi1wbGF0Zm9ybS10ZXN0cyBjaGVja291dCkKK2FzIGEgc3ViZGlyZWN0b3J5IG9mIHRoZSBjdXJy
ZW50IGRpcmVjdG9yeSBuYW1lZCBgYHRlc3RzYGAsIGFuZCBmb3IKK21ldGFkYXRhIGZpbGVzIGlu
IGEgc3ViZGlyZWN0b3J5IG9mIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBuYW1lZCBgYG1ldGFgYC4K
KworT3V0cHV0CistLS0tLS0KKword3B0cnVubmVyIHVzZXMgdGhlIDpweTptb2Q6YG1vemxvZ2Ag
cGFja2FnZSBmb3Igb3V0cHV0LiBUaGlzCitzdHJ1Y3R1cmVzIGV2ZW50cyBzdWNoIGFzIHRlc3Qg
cmVzdWx0cyBvciBsb2cgbWVzc2FnZXMgYXMgSlNPTiBvYmplY3RzCit0aGF0IGNhbiB0aGVuIGJl
IGZlZCB0byBvdGhlciB0b29scyBmb3IgaW50ZXJwcmV0YXRpb24uIE1vcmUgZGV0YWlscworYWJv
dXQgdGhlIG1lc3NhZ2UgZm9ybWF0IGFyZSBnaXZlbiBpbiB0aGUKKzpweTptb2Q6YG1vemxvZ2Ag
ZG9jdW1lbnRhdGlvbi4KKworQnkgZGVmYXVsdCB0aGUgcmF3IEpTT04gbWVzc2FnZXMgYXJlIGR1
bXBlZCB0byBzdGRvdXQuIFRoaXMgaXMKK2NvbnZlbmllbnQgZm9yIHBpcGluZyBpbnRvIG90aGVy
IHRvb2xzLCBidXQgbm90IGlkZWFsIGZvciBodW1hbnMKK3JlYWRpbmcgdGhlIG91dHB1dC4gOnB5
Om1vZDpgbW96bG9nYCBjb21lcyB3aXRoIHNldmVyYWwgb3RoZXIKK2Zvcm1hdHRlcnMsIHdoaWNo
IGFyZSBhY2Nlc3NpYmxlIHRocm91Z2ggY29tbWFuZCBsaW5lIG9wdGlvbnMuIFRoZQorZ2VuZXJh
bCBmb3JtYXQgb2YgdGhlc2Ugb3B0aW9ucyBpcyBgYC0tbG9nLW5hbWU9ZGVzdGBgLCB3aGVyZSBg
YG5hbWVgYAoraXMgdGhlIG5hbWUgb2YgdGhlIGZvcm1hdCBhbmQgYGBkZXN0YGAgaXMgYSBwYXRo
IHRvIGEgZGVzdGluYXRpb24KK2ZpbGUsIG9yIGBgLWBgIGZvciBzdGRvdXQuIFRoZSByYXcgSlNP
TiBkYXRhIGlzIHdyaXR0ZW4gYnkgdGhlIGBgcmF3YGAKK2Zvcm1hdHRlciBzbywgdGhlIGRlZmF1
bHQgc2V0dXAgY29ycmVzcG9uZHMgdG8gYGAtLWxvZy1yYXc9LWBgLgorCitBIHJlYXNvbmFibGUg
b3V0cHV0IGZvcm1hdCBmb3IgaHVtYW5zIGlzIHByb3ZpZGVkIGFzIGBgbWFjaGBgLiBTbyBpbgor
b3JkZXIgdG8gb3V0cHV0IHRoZSBmdWxsIHJhdyBsb2cgdG8gYSBmaWxlIGFuZCBhIGh1bWFuLXJl
YWRhYmxlCitzdW1tYXJ5IHRvIHN0ZG91dCwgb25lIG1pZ2h0IHBhc3MgdGhlIG9wdGlvbnM6Ogor
CisgIC0tbG9nLXJhdz1vdXRwdXQubG9nIC0tbG9nLW1hY2g9LQorCitDb25maWd1cmF0aW9uIEZp
bGUKKy0tLS0tLS0tLS0tLS0tLS0tLQorCit3cHRydW5uZXIgdXNlcyBhIGBgLmluaWBgIGZpbGUg
dG8gY29udHJvbCBzb21lIGNvbmZpZ3VyYXRpb24KK3NlY3Rpb25zLiBUaGUgZmlsZSBoYXMgdGhy
ZWUgc2VjdGlvbnM7IGBgW3Byb2R1Y3RzXWBgLAorYGBbbWFuaWZlc3Q6ZGVmYXVsdF1gYCBhbmQg
YGBbd2ViLXBsYXRmb3JtLXRlc3RzXWBgLgorCitgYFtwcm9kdWN0c11gYCBpcyB1c2VkIHRvCitk
ZWZpbmUgdGhlIHNldCBvZiBhdmFpbGFibGUgcHJvZHVjdHMuIEJ5IGRlZmF1bHQgdGhpcyBzZWN0
aW9uIGlzIGVtcHR5Cit3aGljaCBtZWFucyB0aGF0IGFsbCB0aGUgcHJvZHVjdHMgZGlzdHJpYnV0
ZWQgd2l0aCB3cHRydW5uZXIgYXJlCitlbmFibGVkIChhbHRob3VnaCB0aGVpciBkZXBlbmRlbmNp
ZXMgbWF5IG5vdCBiZSBpbnN0YWxsZWQpLiBUaGUgc2V0CitvZiBlbmFibGVkIHByb2R1Y3RzIGNh
biBiZSBzZXQgYnkgdXNpbmcgdGhlIHByb2R1Y3QgbmFtZSBhcyB0aGUKK2tleS4gRm9yIGJ1aWx0
IGluIHByb2R1Y3RzIHRoZSB2YWx1ZSBpcyBlbXB0eS4gSXQgaXMgYWxzbyBwb3NzaWJsZSB0bwor
cHJvdmlkZSB0aGUgcGF0aCB0byBhIHNjcmlwdCBpbXBsZW1lbnRpbmcgdGhlIGJyb3dzZXIgZnVu
Y3Rpb25hbGl0eQorZS5nLjo6CisKKyAgW3Byb2R1Y3RzXQorICBjaHJvbWUgPQorICBuZXRzY2Fw
ZTQgPSBwYXRoL3RvL25ldHNjYXBlLnB5CisKK2BgW21hbmlmZXN0OmRlZmF1bHRdYGAgc3BlY2lm
aWVzIHRoZSBkZWZhdWx0IHBhdGhzIGZvciB0aGUgdGVzdHMgYW5kIG1ldGFkYXRhLAorcmVsYXRp
dmUgdG8gdGhlIGNvbmZpZyBmaWxlLiBGb3IgZXhhbXBsZTo6CisKKyAgW21hbmlmZXN0OmRlZmF1
bHRdCisgIHRlc3RzID0gfi90ZXN0dHdmL3dlYi1wbGF0Zm9ybS10ZXN0cworICBtZXRhZGF0YSA9
IH4vdGVzdHR3Zi9tZXRhCisKKworYGBbd2ViLXBsYXRmb3JtLXRlc3RzXWBgIGlzIHVzZWQgdG8g
c2V0IHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSB1cHN0cmVhbQorcmVwb3NpdG9yeSB3aGVuIHVwZGF0
aW5nIHRoZSBwYXRocy4gYGByZW1vdGVfdXJsYGAgc3BlY2lmaWVzIHRoZSBnaXQKK3VybCB0byBw
dWxsIGZyb207IGBgYnJhbmNoYGAgdGhlIGJyYW5jaCB0byBzeW5jIGFnYWluc3QgYW5kCitgYHN5
bmNfcGF0aGBgIHRoZSBsb2NhbCBwYXRoLCByZWxhdGl2ZSB0byB0aGUgY29uZmlndXJhdGlvbiBm
aWxlLCB0bwordXNlIHdoZW4gY2hlY2tpbmcgb3V0IHRoZSB0ZXN0cyBlLmcuOjoKKworICBbd2Vi
LXBsYXRmb3JtLXRlc3RzXQorICByZW1vdGVfdXJsID0gaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMuZ2l0CisgIGJyYW5jaCA9IG1hc3RlcgorICBzeW5jX3BhdGggPSBz
eW5jCisKK0EgY29uZmlndXJhdGlvbiBmaWxlIG11c3QgY29udGFpbiBhbGwgdGhlIGFib3ZlIGZp
ZWxkczsgZmFsbGluZyBiYWNrCit0byB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHVuc3BlY2lmaWVk
IGZpZWxkcyBpcyBub3QgeWV0IHN1cHBvcnRlZC4KKworVGhlIGBgd3B0cnVubmVyYGAgYW5kIGBg
d3B0dXBkYXRlYGAgY29tbWFuZHMgd2lsbCB1c2UgY29uZmlndXJhdGlvbgorZmlsZXMgaW4gdGhl
IGZvbGxvd2luZyBvcmRlcjoKKworICogQW55IHBhdGggc3VwcGxpZWQgd2l0aCBhIGBgLS1jb25m
aWdgYCBmbGFnIHRvIHRoZSBjb21tYW5kLgorCisgKiBBIGZpbGUgY2FsbGVkIGBgd3B0cnVubmVy
LmluaWBgIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeQorCisgKiBUaGUgZGVmYXVsdCBjb25maWd1
cmF0aW9uIGZpbGUgKGBgd3B0cnVubmVyLmRlZmF1bHQuaW5pYGAgaW4gdGhlCisgICBzb3VyY2Ug
ZGlyZWN0b3J5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3Mv
dzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJjNjFhZjhlMmUwM2ExMzE1YmFhNjk5ZWU1ZDli
OGFiMzM3ODcxOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvdzNjLWltcG9ydC5sb2cKQEAg
LTAsMCArMSwyNCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJv
cGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9NYWtlZmlsZQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvYXJjaGl0
ZWN0dXJlLnN2ZworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL2RvY3MvY29uZi5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2RvY3MvZGVzaWduLnJzdAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL2Rv
Y3MvZXhwZWN0YXRpb24ucnN0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvZG9jcy9pbmRleC5yc3QKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9kb2NzL21ha2UuYmF0
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvZG9jcy91c2FnZS5yc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50cy50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci9yZXF1aXJlbWVudHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxOWEyZmY5ODRhYTE2NGExMTA0ZTAyNDRl
MzY0MjI4YzRjMzlkZGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHMudHh0CkBA
IC0wLDAgKzEsNCBAQAoraHRtbDVsaWIgPj0gMC45OQorbW96aW5mbyA+PSAwLjcKK21vemxvZyA+
PSAzLjMKK21vemRlYnVnID49IDAuMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX2Nocm9t
ZS50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfY2hyb21lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMmY1NDQyNWYz
ZWZkNTUyMGYxY2Y3YmViZThmOTBhMWU1N2MwZjgyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVx
dWlyZW1lbnRzX2Nocm9tZS50eHQKQEAgLTAsMCArMSwyIEBACittb3pwcm9jZXNzID49IDAuMTkK
K3NlbGVuaXVtID49IDIuNDEuMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX2ZpcmVmb3gu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvcmVxdWlyZW1lbnRzX2ZpcmVmb3gudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3OWU1MjJhY2M0
NThkYjI4MDRkNzJlYzg2YjQzNmFkMTVhYTNiMjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1
aXJlbWVudHNfZmlyZWZveC50eHQKQEAgLTAsMCArMSw1IEBACittYXJpb25ldHRlX2RyaXZlciA+
PSAwLjQKK21venByb2ZpbGUgPj0gMC4yMQorbW96cHJvY2VzcyA+PSAwLjE5Cittb3pjcmFzaCA+
PSAwLjEzCittb3pydW5uZXIgPj0gNi43CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfc2F1
Y2UudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX3NhdWNlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjgyOGY4NGIw
OGQzMzM0YTlmZjllZWZkZTIxMWE2Mjc4YjNjNTQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVx
dWlyZW1lbnRzX3NhdWNlLnR4dApAQCAtMCwwICsxLDIgQEAKK21venByb2Nlc3MgPj0gMC4xOQor
c2VsZW5pdW0gPj0gMy4zLjAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19zZXJ2by50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci9yZXF1aXJlbWVudHNfc2Vydm8udHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyYmNmYTEyM2E1NDk0MjJh
MjcxMmYyMjE4YmQ5MmFkMmQxYTNjMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVu
dHNfc2Vydm8udHh0CkBAIC0wLDAgKzEgQEAKK21venByb2Nlc3MgPj0gMC4xOQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvc2V0dXAucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci9zZXR1cC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWMxODlmZWZkOWFlZTli
NTgwOWZlOWFmNmYxODVlMTZmNTBjYTFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvc2V0dXAucHkK
QEAgLTAsMCArMSw3NCBAQAorIyBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0
aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljCisjIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBj
b3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMgZmlsZSwKKyMgWW91
IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4KKworaW1wb3J0
IGdsb2IKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRleHR3cmFwCisKK2Zyb20gc2V0
dXB0b29scyBpbXBvcnQgc2V0dXAsIGZpbmRfcGFja2FnZXMKKworaGVyZSA9IG9zLnBhdGguc3Bs
aXQoX19maWxlX18pWzBdCisKK1BBQ0tBR0VfTkFNRSA9ICd3cHRydW5uZXInCitQQUNLQUdFX1ZF
UlNJT04gPSAnMS4xNCcKKworIyBEZXBlbmRlbmNpZXMKK3dpdGggb3Blbihvcy5wYXRoLmpvaW4o
aGVyZSwgInJlcXVpcmVtZW50cy50eHQiKSkgYXMgZjoKKyAgICBkZXBzID0gZi5yZWFkKCkuc3Bs
aXRsaW5lcygpCisKKyMgQnJvd3Nlci1zcGVjaWZpYyByZXF1aXJlbWVudHMKK3JlcXVpcmVtZW50
c19maWxlcyA9IGdsb2IuZ2xvYigicmVxdWlyZW1lbnRzXyoudHh0IikKKworcHJvZmlsZV9kZXN0
ID0gTm9uZQorZGVzdF9leGlzdHMgPSBGYWxzZQorCitzZXR1cChuYW1lPVBBQ0tBR0VfTkFNRSwK
KyAgICAgIHZlcnNpb249UEFDS0FHRV9WRVJTSU9OLAorICAgICAgZGVzY3JpcHRpb249Ikhhcm5l
c3MgZm9yIHJ1bm5pbmcgdGhlIFczQyB3ZWItcGxhdGZvcm0tdGVzdHMgYWdhaW5zdCB2YXJpb3Vz
IHByb2R1Y3RzIiwKKyAgICAgIGF1dGhvcj0nTW96aWxsYSBBdXRvbWF0aW9uIGFuZCBUZXN0aW5n
IFRlYW0nLAorICAgICAgYXV0aG9yX2VtYWlsPSd0b29sc0BsaXN0cy5tb3ppbGxhLm9yZycsCisg
ICAgICBsaWNlbnNlPSdNUEwgMi4wJywKKyAgICAgIHBhY2thZ2VzPWZpbmRfcGFja2FnZXMoZXhj
bHVkZT1bInRlc3RzIiwgIm1ldGFkYXRhIiwgInByZWZzIl0pLAorICAgICAgZW50cnlfcG9pbnRz
PXsKKyAgICAgICAgICAnY29uc29sZV9zY3JpcHRzJzogWworICAgICAgICAgICAgICAnd3B0cnVu
bmVyID0gd3B0cnVubmVyLndwdHJ1bm5lcjptYWluJywKKyAgICAgICAgICAgICAgJ3dwdHVwZGF0
ZSA9IHdwdHJ1bm5lci51cGRhdGU6bWFpbicsCisgICAgICAgICAgXQorICAgICAgfSwKKyAgICAg
IHppcF9zYWZlPUZhbHNlLAorICAgICAgcGxhdGZvcm1zPVsnQW55J10sCisgICAgICBjbGFzc2lm
aWVycz1bJ0RldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YScsCisgICAgICAgICAgICAgICAg
ICAgJ0Vudmlyb25tZW50IDo6IENvbnNvbGUnLAorICAgICAgICAgICAgICAgICAgICdJbnRlbmRl
ZCBBdWRpZW5jZSA6OiBEZXZlbG9wZXJzJywKKyAgICAgICAgICAgICAgICAgICAnTGljZW5zZSA6
OiBPU0kgQXBwcm92ZWQgOjogQlNEIExpY2Vuc2UnLAorICAgICAgICAgICAgICAgICAgICdPcGVy
YXRpbmcgU3lzdGVtIDo6IE9TIEluZGVwZW5kZW50J10sCisgICAgICBwYWNrYWdlX2RhdGE9eyJ3
cHRydW5uZXIiOiBbImV4ZWN1dG9ycy90ZXN0aGFybmVzc19tYXJpb25ldHRlLmpzIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX3dlYmRy
aXZlci5qcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4ZWN1dG9ycy9y
ZWZ0ZXN0LmpzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhlY3V0b3Jz
L3JlZnRlc3Qtd2FpdC5qcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRl
c3RoYXJuZXNzcmVwb3J0LmpzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dGVzdGhhcm5lc3NfcnVubmVyLmh0bWwiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJjb25maWcuanNvbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndw
dHJ1bm5lci5kZWZhdWx0LmluaSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImJyb3dzZXJzL3NlcnZlci1sb2NhdGlvbnMudHh0IiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiYnJvd3NlcnMvYjJnX3NldHVwLyoiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJicm93c2Vycy9zYXVjZV9zZXR1cC8qIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicHJlZnMvKiJdfSwKKyAgICAgIGluY2x1ZGVfcGFja2FnZV9kYXRh
PVRydWUsCisgICAgICBkYXRhX2ZpbGVzPVsoInJlcXVpcmVtZW50cyIsIHJlcXVpcmVtZW50c19m
aWxlcyldLAorICAgICAgaW5zdGFsbF9yZXF1aXJlcz1kZXBzCisgICAgICkKKworaWYgImluc3Rh
bGwiIGluIHN5cy5hcmd2OgorICAgIHBhdGggPSBvcy5wYXRoLnJlbHBhdGgob3MucGF0aC5qb2lu
KHN5cy5wcmVmaXgsICJyZXF1aXJlbWVudHMiKSwgb3MuY3VyZGlyKQorICAgIHByaW50IHRleHR3
cmFwLmZpbGwoIiIiSW4gb3JkZXIgdG8gdXNlIHdpdGggb25lIG9mIHRoZSBidWlsdC1pbiBicm93
c2VyCitwcm9kdWN0cywgeW91IHdpbGwgbmVlZCB0byBpbnN0YWxsIHRoZSBleHRyYSBkZXBlbmRl
bmNpZXMuIFRoZXNlIGFyZSBwcm92aWRlZAorYXMgcmVxdWlyZW1lbnRzX1tuYW1lXS50eHQgaW4g
dGhlICVzIGRpcmVjdG9yeSBhbmQgY2FuIGJlIGluc3RhbGxlZCB1c2luZworZS5nLiIiIiAlIHBh
dGgsIDgwKQorCisgICAgcHJpbnQgIiIiCisKK3BpcCBpbnN0YWxsIC1yICVzL3JlcXVpcmVtZW50
c19maXJlZm94LnR4dAorIiIiICUgcGF0aApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9y
ZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRl
c3QvcmVmdGVzdF9hbmRfZmFpbC5odG1sLmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MWFlZjA0OWNkMTIyZjcz
MzJjNjZmNWEwODc5NDdlNTEyYTU5ZDBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRh
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbC5pbmkKQEAgLTAsMCArMSwzIEBACitb
cmVmdGVzdF9hbmRfZmFpbC5odG1sXQorICB0eXBlOiByZWZ0ZXN0CisgIGV4cGVjdGVkOiBGQUlM
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWls
Lmh0bWwuaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfZmFpbC5o
dG1sLmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40NzJiMzNmNzc2NGJkZTZlMmFlYTdiYzJjY2Q4YmYzNzM5YmFi
YWQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rf
Y3ljbGVfZmFpbC5odG1sLmluaQpAQCAtMCwwICsxLDMgQEAKK1tyZWZ0ZXN0X2N5Y2xlX2ZhaWwu
aHRtbF0KKyAgdHlwZTogcmVmdGVzdAorICBleHBlY3RlZDogRkFJTApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC9tZXRhZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC5odG1sLmluaSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoX2ZhaWwuaHRtbC5pbmkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjNkYzMzNjJmYWM0MWJiZThkZWQ0NDU4OWU4OThlZjU4OWNiMWE4OQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoX2ZhaWwuaHRtbC5p
bmkKQEAgLTAsMCArMSwzIEBACitbcmVmdGVzdF9tYXRjaF9mYWlsLmh0bWxdCisgIHR5cGU6IHJl
ZnRlc3QKKyAgZXhwZWN0ZWQ6IEZBSUwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwuaHRtbC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Jl
ZnRlc3QvcmVmdGVzdF9taXNtYXRjaF9mYWlsLmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwNTUzMzdl
MmQ2NWNiOGYyMWQyY2VhYzYyZTM1Y2U3YmI5OWE5NzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNtYXRjaF9mYWlsLmh0bWwuaW5pCkBAIC0w
LDAgKzEsMyBAQAorW3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC5odG1sXQorICB0eXBlOiByZWZ0ZXN0
CisgIGV4cGVjdGVkOiBGQUlMCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9yZWZfdGltZW91dC5odG1sLmluaSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X3JlZl90aW1lb3V0Lmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5MzYyNDFhZDI5Y2QxNjJm
OTYxMDc2YzJiYThlYjk2MGY3Njk4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFk
YXRhL3JlZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC5odG1sLmluaQpAQCAtMCwwICsxLDMgQEAK
K1tyZWZ0ZXN0X3JlZl90aW1lb3V0Lmh0bWxdCisgIHR5cGU6IHJlZnRlc3QKKyAgZXhwZWN0ZWQ6
IFRJTUVPVVQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3Rp
bWVvdXQuaHRtbC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVzdF90aW1lb3V0
Lmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkMWI5YmFkZTk1ZDdiMTAxYzhkYmY1MTU0N2ZmYmFlYzIy
NjBjMjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3JlZnRlc3QvcmVmdGVz
dF90aW1lb3V0Lmh0bWwuaW5pCkBAIC0wLDAgKzEsMyBAQAorW3JlZnRlc3RfdGltZW91dC5odG1s
XQorICB0eXBlOiByZWZ0ZXN0CisgIGV4cGVjdGVkOiBUSU1FT1VUCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L21ldGFkYXRhL3JlZnRlc3QvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Jl
ZnRlc3QvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWVlNGZiYjc2Mzk2ZWIyNjQxYjNhNDBm
ZjFhZmE0N2ZhYWUzZDhmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvcmVm
dGVzdC93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21l
dGFkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbC5odG1sLmluaQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRh
dGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWwuaHRtbC5pbmkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRh
L3JlZnRlc3QvcmVmdGVzdF9tYXRjaF9mYWlsLmh0bWwuaW5pCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9y
ZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC5odG1sLmluaQorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEv
cmVmdGVzdC9yZWZ0ZXN0X3JlZl90aW1lb3V0Lmh0bWwuaW5pCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS9y
ZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC5odG1sLmluaQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRh
ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L19fZGlyX18uaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90
ZXN0aGFybmVzcy9maXJlZm94L19fZGlyX18uaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5ZDE2NGNkNDE4YTJh
NzdjNzkzNjY5YzdjZjZiMDlmZmM2MThlNjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21l
dGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvX19kaXJfXy5pbmkKQEAgLTAsMCArMSwyIEBACitw
cmVmczogWyJicm93c2VyLmRpc3BsYXkuZm9yZWdyb3VuZF9jb2xvcjojRkYwMDAwIiwKKyAgICAg
ICAgImJyb3dzZXIuZGlzcGxheS5iYWNrZ3JvdW5kX2NvbG9yOiMwMDAwMDAiXQpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5l
c3MvZmlyZWZveC9zdWJkaXIvdGVzdF9wcmVmX3Jlc2V0Lmh0bWwuaW5pIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRh
ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfcmVzZXQuaHRtbC5pbmkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNmM5MTk4ZDliYmYxYzc3OWJlNDJmNDdiYjUyYzY4OTZmOWFkNjI0ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJk
aXIvdGVzdF9wcmVmX3Jlc2V0Lmh0bWwuaW5pCkBAIC0wLDAgKzEsMiBAQAorW3Rlc3RfcHJlZl9y
ZXNldC5odG1sXQorICBwcmVmczogW0BSZXNldF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRh
dGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21l
dGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3czYy1pbXBvcnQubG9nCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlkNTU5NjUwNmI3ZDg4MTI2Nzc1NDg0YzA2YTMxNDY2ODRjYzhkYzIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvc3ViZGlyL3czYy1p
bXBvcnQubG9nCkBAIC0wLDAgKzEsMTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9u
ZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVz
dGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdGVzdF9wcmVmX3Jlc2V0Lmh0bWwuaW5pCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdGVzdF9wcmVmX3NldC5o
dG1sLmluaSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC90ZXN0X3ByZWZf
c2V0Lmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjOWJmYjljNDEzOTdkYzE3ZGNhZmYwYTQ0OWRmODEw
ZWY0OWNhNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNz
L2ZpcmVmb3gvdGVzdF9wcmVmX3NldC5odG1sLmluaQpAQCAtMCwwICsxLDMgQEAKK1t0ZXN0X3By
ZWZfc2V0Lmh0bWxdCisgIHByZWZzOiBbImJyb3dzZXIuZGlzcGxheS5mb3JlZ3JvdW5kX2NvbG9y
OiMwMEZGMDAiLAorICAgICAgICAgICJicm93c2VyLmRpc3BsYXkuYmFja2dyb3VuZF9jb2xvcjoj
MDAwMDAwIl0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZv
eC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC93
M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDBmZmUxY2Q4NmFjNjllNDYyYzExOTQ4NjIxMWEx
ZjEyZThhM2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVz
cy9maXJlZm94L3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0
aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8g
Tk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29t
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciBy
ZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9fX2Rpcl9fLmluaQorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0
YWRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC90ZXN0X3ByZWZfc2V0Lmh0bWwuaW5pCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3N1YmRpci9fX2Rpcl9fLmluaSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL19fZGlyX18uaW5pCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE5MTU3ZmJjNmE5ZjRhOWE2YmIzYzg5NGIzZTA5NWJmYTUxZTMxNGMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3N1YmRpci9fX2Rpcl9fLmluaQpAQCAt
MCwwICsxIEBACitkaXNhYmxlZDogdHJ1ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3Rlc3RoYXJuZXNz
XzEuaHRtbC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3N1YmRpci90ZXN0aGFy
bmVzc18xLmh0bWwuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiOTM5Mzk4N2I2YzczZTY5MTBhZmNmMGNhMGI3
NTM4ZmNkYjkxOWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJu
ZXNzL3N1YmRpci90ZXN0aGFybmVzc18xLmh0bWwuaW5pCkBAIC0wLDAgKzEsMiBAQAorW3Rlc3Ro
YXJuZXNzXzEuaHRtbF0KKyAgZGlzYWJsZWQ6IEBGYWxzZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdzNjLWlt
cG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZjOTEzNzg5MjZlNDExNGRiN2UxMzc2ZjEzZGY4MzJhMzNi
OGZlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3Mvc3Vi
ZGlyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRp
cmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1v
ZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBw
dWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUg
dGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0
YWRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL19fZGlyX18uaW5pCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90
ZXN0aGFybmVzcy9zdWJkaXIvdGVzdGhhcm5lc3NfMS5odG1sLmluaQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc18wLmh0bWwuaW5pIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc18wLmh0bWwuaW5pCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkwYjlhNmU5ZjAxMmI1ZTIzNGMxNWQyOTgwNWM2MWY2YmU4ZDVhNTQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbC5pbmkK
QEAgLTAsMCArMSw0IEBACitbdGVzdGhhcm5lc3NfMC5odG1sXQorICB0eXBlOiB0ZXN0aGFybmVz
cworICBbVGVzdCB0aGF0IHNob3VsZCBmYWlsXQorICAgIGV4cGVjdGVkOiBGQUlMCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX2Vycm9yLmh0bWwu
aW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc19lcnJvci5odG1s
LmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mYTUzZTA3MzNhYmNiMTczOTE5YjNkNDhhNzc2N2I1YmJhZDhiMGU4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFy
bmVzc19lcnJvci5odG1sLmluaQpAQCAtMCwwICsxLDMgQEAKK1t0ZXN0aGFybmVzc19lcnJvci5o
dG1sXQorICB0eXBlOiB0ZXN0aGFybmVzcworICBleHBlY3RlZDogRVJST1IKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfdGltZW91dC5odG1sLmlu
aSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfdGltZW91dC5odG1s
LmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NWVjYTUxOTFhYjFmYTZjNWQ1NTMxYTFlMDViOTkyZDA5NzIzZGVm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC9tZXRhZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFy
bmVzc190aW1lb3V0Lmh0bWwuaW5pCkBAIC0wLDAgKzEsMyBAQAorW3Rlc3RoYXJuZXNzX3RpbWVv
dXQuaHRtbF0KKyAgdHlwZTogdGVzdGhhcm5lc3MKKyAgZXhwZWN0ZWQ6IFRJTUVPVVQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwZGI1
NTdlNjBiMzJmMTQ1OTU0YzgzODYzODQ4N2ZkNWJkN2RiOTcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTkg
QEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKwor
RG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1By
b3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVl
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0
IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfMC5o
dG1sLmluaQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvbWV0YWRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfZXJyb3Iu
aHRtbC5pbmkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L21ldGFkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVv
dXQuaHRtbC5pbmkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdC5jZmcuZXhhbXBsZSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdC5jZmcuZXhhbXBsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjQ4MjI2MjE2YzMwZWI3ZDhiMDc4MTg5
NjM2OTY0YjdmN2NlNTIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0LmNmZy5leGFt
cGxlCkBAIC0wLDAgKzEsMjAgQEAKK1tnZW5lcmFsXQordGVzdHM9L3BhdGgvdG8vd2ViLXBsYXRm
b3JtLXRlc3RzLworbWV0YWRhdGE9L3BhdGgvdG8vd2ViLXBsYXRmb3JtLXRlc3RzLworc3NsLXR5
cGU9bm9uZQorCisjIFtmaXJlZm94XQorIyBiaW5hcnk9L3BhdGgvdG8vZmlyZWZveAorIyBwcmVm
cy1yb290PS9wYXRoL3RvL2dlY2tvLXNyYy90ZXN0aW5nL3Byb2ZpbGVzLworCisjIFtzZXJ2b10K
KyMgYmluYXJ5PS9wYXRoL3RvL3NlcnZvLXNyYy90YXJnZXQvcmVsZWFzZS9zZXJ2bworIyBleGNs
dWRlPXRlc3RoYXJuZXNzICMgQmVjYXVzZSBpdCBuZWVkcyBhIHNwZWNpYWwgdGVzdGhhcm5lc3Mu
anMKKworIyBbc2Vydm9kcml2ZXJdCisjIGJpbmFyeT0vcGF0aC90by9zZXJ2by1zcmMvdGFyZ2V0
L3JlbGVhc2Uvc2Vydm8KKyMgZXhjbHVkZT10ZXN0aGFybmVzcyAjIEJlY2F1c2UgaXQgbmVlZHMg
YSBzcGVjaWFsIHRlc3RoYXJuZXNzLmpzCisKKyMgW2Nocm9tZV0KKyMgYmluYXJ5PS9wYXRoL3Rv
L2Nocm9tZQorIyB3ZWJkcml2ZXItYmluYXJ5PS9wYXRoL3RvL2Nocm9tZWRyaXZlcgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0LnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzNGUz
MTdiZDUyZjA4NjUxODAwMWFlMDgwOGY4MDc5ZGZjZWIwOGUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3QucHkKQEAgLTAsMCArMSwxNjYgQEAKK2ltcG9ydCBDb25maWdQYXJzZXIKK2lt
cG9ydCBhcmdwYXJzZQoraW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0
IHRlbXBmaWxlCitpbXBvcnQgdGhyZWFkaW5nCitpbXBvcnQgdGltZQorZnJvbSBTdHJpbmdJTyBp
bXBvcnQgU3RyaW5nSU8KKworZnJvbSBtb3psb2cgaW1wb3J0IHN0cnVjdHVyZWRsb2csIHJlYWRl
cgorZnJvbSBtb3psb2cuaGFuZGxlcnMgaW1wb3J0IEJhc2VIYW5kbGVyLCBTdHJlYW1IYW5kbGVy
LCBTdGF0dXNIYW5kbGVyCitmcm9tIG1vemxvZy5mb3JtYXR0ZXJzIGltcG9ydCBNYWNoRm9ybWF0
dGVyCitmcm9tIHdwdHJ1bm5lciBpbXBvcnQgd3B0Y29tbWFuZGxpbmUsIHdwdHJ1bm5lcgorCito
ZXJlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpCisKK2RlZiBz
ZXR1cF93cHRydW5uZXJfbG9nZ2luZyhsb2dnZXIpOgorICAgIHN0cnVjdHVyZWRsb2cuc2V0X2Rl
ZmF1bHRfbG9nZ2VyKGxvZ2dlcikKKyAgICB3cHRydW5uZXIubG9nZ2VyID0gbG9nZ2VyCisgICAg
d3B0cnVubmVyLndwdGxvZ2dpbmcuc2V0dXBfc3RkbGliX2xvZ2dlcigpCisKK2NsYXNzIFJlc3Vs
dEhhbmRsZXIoQmFzZUhhbmRsZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2ZXJib3NlPUZh
bHNlLCBsb2dnZXI9Tm9uZSk6CisgICAgICAgIHNlbGYuaW5uZXIgPSBTdHJlYW1IYW5kbGVyKHN5
cy5zdGRvdXQsIE1hY2hGb3JtYXR0ZXIoKSkKKyAgICAgICAgQmFzZUhhbmRsZXIuX19pbml0X18o
c2VsZiwgc2VsZi5pbm5lcikKKyAgICAgICAgc2VsZi5wcm9kdWN0ID0gTm9uZQorICAgICAgICBz
ZWxmLnZlcmJvc2UgPSB2ZXJib3NlCisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCisKKyAg
ICAgICAgc2VsZi5yZWdpc3Rlcl9tZXNzYWdlX2hhbmRsZXJzKCJ3cHRydW5uZXItdGVzdCIsIHsi
c2V0LXByb2R1Y3QiOiBzZWxmLnNldF9wcm9kdWN0fSkKKworICAgIGRlZiBzZXRfcHJvZHVjdChz
ZWxmLCBwcm9kdWN0KToKKyAgICAgICAgc2VsZi5wcm9kdWN0ID0gcHJvZHVjdAorCisgICAgZGVm
IF9fY2FsbF9fKHNlbGYsIGRhdGEpOgorICAgICAgICBpZiBzZWxmLnByb2R1Y3QgaXMgbm90IE5v
bmUgYW5kIGRhdGFbImFjdGlvbiJdIGluIFsic3VpdGVfc3RhcnQiLCAic3VpdGVfZW5kIl06Cisg
ICAgICAgICAgICAjIEhhY2s6IG1vemxvZyBzZXRzIHNvbWUgaW50ZXJuYWwgc3RhdGUgdG8gcHJl
dmVudCBtdWx0aXBsZSBzdWl0ZV9zdGFydCBvcgorICAgICAgICAgICAgIyBzdWl0ZV9lbmQgbWVz
c2FnZXMuIFdlIGFjdHVhbGx5IHdhbnQgdGhhdCBoZXJlIChvbmUgZnJvbSB0aGUgbWV0YWhhcm5l
c3MKKyAgICAgICAgICAgICMgYW5kIG9uZSBmcm9tIHRoZSBpbmRpdmlkdWFsIHRlc3QgdHlwZSBo
YXJuZXNzKSwgc28gb3ZlcnJpZGUgdGhhdCBpbnRlcm5hbAorICAgICAgICAgICAgIyBzdGF0ZSAo
YSBiZXR0ZXIgc29sdXRpb24gbWlnaHQgYmUgdG8gbm90IHNoYXJlIGxvZ2dlcnMsIGJ1dCB0aGlz
IHdvcmtzIHdlbGwKKyAgICAgICAgICAgICMgZW5vdWdoKQorICAgICAgICAgICAgc2VsZi5sb2dn
ZXIuX3N0YXRlLnN1aXRlX3N0YXJ0ZWQgPSBUcnVlCisgICAgICAgICAgICByZXR1cm4KKworICAg
ICAgICBpZiAobm90IHNlbGYudmVyYm9zZSBhbmQKKyAgICAgICAgICAgIChkYXRhWyJhY3Rpb24i
XSA9PSAicHJvY2Vzc19vdXRwdXQiIG9yCisgICAgICAgICAgICAgZGF0YVsiYWN0aW9uIl0gPT0g
ImxvZyIgYW5kIGRhdGFbImxldmVsIl0gbm90IGluIFsiZXJyb3IiLCAiY3JpdGljYWwiXSkpOgor
ICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgaWYgInRlc3QiIGluIGRhdGE6CisgICAgICAg
ICAgICBkYXRhID0gZGF0YS5jb3B5KCkKKyAgICAgICAgICAgIGRhdGFbInRlc3QiXSA9ICIlczog
JXMiICUgKHNlbGYucHJvZHVjdCwgZGF0YVsidGVzdCJdKQorCisgICAgICAgIHJldHVybiBzZWxm
LmlubmVyKGRhdGEpCisKK2RlZiB0ZXN0X3NldHRpbmdzKCk6CisgICAgcmV0dXJuIHsKKyAgICAg
ICAgImluY2x1ZGUiOiAiX3Rlc3QiLAorICAgICAgICAibWFuaWZlc3QtdXBkYXRlIjogIiIsCisg
ICAgICAgICJuby1jYXB0dXJlLXN0ZGlvIjogIiIKKyAgICB9CisKK2RlZiByZWFkX2NvbmZpZygp
OgorICAgIHBhcnNlciA9IENvbmZpZ1BhcnNlci5Db25maWdQYXJzZXIoKQorICAgIHBhcnNlci5y
ZWFkKCJ0ZXN0LmNmZyIpCisKKyAgICBydiA9IHsiZ2VuZXJhbCI6e30sCisgICAgICAgICAgInBy
b2R1Y3RzIjp7fX0KKworICAgIHJ2WyJnZW5lcmFsIl0udXBkYXRlKGRpY3QocGFyc2VyLml0ZW1z
KCJnZW5lcmFsIikpKQorCisgICAgIyBUaGlzIG9ubHkgYWxsb3dzIG9uZSBwcm9kdWN0IHBlciB3
aGF0ZXZlciBmb3Igbm93CisgICAgZm9yIHByb2R1Y3QgaW4gcGFyc2VyLnNlY3Rpb25zKCk6Cisg
ICAgICAgIGlmIHByb2R1Y3QgIT0gImdlbmVyYWwiOgorICAgICAgICAgICAgZGVzdCA9IHJ2WyJw
cm9kdWN0cyJdW3Byb2R1Y3RdID0ge30KKyAgICAgICAgICAgIGZvciBrZXksIHZhbHVlIGluIHBh
cnNlci5pdGVtcyhwcm9kdWN0KToKKyAgICAgICAgICAgICAgICBydlsicHJvZHVjdHMiXVtwcm9k
dWN0XVtrZXldID0gdmFsdWUKKworICAgIHJldHVybiBydgorCitkZWYgcnVuX3Rlc3RzKHByb2R1
Y3QsIGt3YXJncyk6CisgICAga3dhcmdzWyJ0ZXN0X3BhdGhzIl1bIi9fdGVzdC8iXSA9IHsidGVz
dHNfcGF0aCI6IG9zLnBhdGguam9pbihoZXJlLCAidGVzdGRhdGEiKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJtZXRhZGF0YV9wYXRoIjogb3MucGF0aC5qb2luKGhl
cmUsICJtZXRhZGF0YSIpfQorCisgICAgd3B0cnVubmVyLnJ1bl90ZXN0cygqKmt3YXJncykKKwor
ZGVmIHNldHRpbmdzX3RvX2FyZ3Yoc2V0dGluZ3MpOgorICAgIHJ2ID0gW10KKyAgICBmb3IgbmFt
ZSwgdmFsdWUgaW4gc2V0dGluZ3MuaXRlcml0ZW1zKCk6CisgICAgICAgIGtleSA9ICItLSVzIiAl
IG5hbWUKKyAgICAgICAgaWYgbm90IHZhbHVlOgorICAgICAgICAgICAgcnYuYXBwZW5kKGtleSkK
KyAgICAgICAgZWxpZiBpc2luc3RhbmNlKHZhbHVlLCBsaXN0KToKKyAgICAgICAgICAgIGZvciBp
dGVtIGluIHZhbHVlOgorICAgICAgICAgICAgICAgIHJ2LmV4dGVuZChba2V5LCBpdGVtXSkKKyAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgIHJ2LmV4dGVuZChba2V5LCB2YWx1ZV0pCisgICAgcmV0
dXJuIHJ2CisKK2RlZiBzZXRfZnJvbV9hcmdzKHNldHRpbmdzLCBhcmdzKToKKyAgICBpZiBhcmdz
LnRlc3Q6CisgICAgICAgIHNldHRpbmdzWyJpbmNsdWRlIl0gPSBhcmdzLnRlc3QKKyAgICBpZiBh
cmdzLnRhZ3M6CisgICAgICAgIHNldHRpbmdzWyJ0YWdzIl0gPSBhcmdzLnRhZ3MKKworZGVmIHJ1
bihjb25maWcsIGFyZ3MpOgorICAgIGxvZ2dlciA9IHN0cnVjdHVyZWRsb2cuU3RydWN0dXJlZExv
Z2dlcigid2ViLXBsYXRmb3JtLXRlc3RzIikKKyAgICBsb2dnZXIuYWRkX2hhbmRsZXIoUmVzdWx0
SGFuZGxlcihsb2dnZXI9bG9nZ2VyLCB2ZXJib3NlPWFyZ3MudmVyYm9zZSkpCisgICAgc2V0dXBf
d3B0cnVubmVyX2xvZ2dpbmcobG9nZ2VyKQorCisgICAgcGFyc2VyID0gd3B0Y29tbWFuZGxpbmUu
Y3JlYXRlX3BhcnNlcigpCisKKyAgICBsb2dnZXIuc3VpdGVfc3RhcnQodGVzdHM9W10pCisKKyAg
ICBmb3IgcHJvZHVjdCwgcHJvZHVjdF9zZXR0aW5ncyBpbiBjb25maWdbInByb2R1Y3RzIl0uaXRl
cml0ZW1zKCk6CisgICAgICAgIGlmIGFyZ3MucHJvZHVjdCBhbmQgcHJvZHVjdCBub3QgaW4gYXJn
cy5wcm9kdWN0OgorICAgICAgICAgICAgY29udGludWUKKworICAgICAgICBzZXR0aW5ncyA9IHRl
c3Rfc2V0dGluZ3MoKQorICAgICAgICBzZXR0aW5ncy51cGRhdGUoY29uZmlnWyJnZW5lcmFsIl0p
CisgICAgICAgIHNldHRpbmdzLnVwZGF0ZShwcm9kdWN0X3NldHRpbmdzKQorICAgICAgICBzZXR0
aW5nc1sicHJvZHVjdCJdID0gcHJvZHVjdAorICAgICAgICBzZXRfZnJvbV9hcmdzKHNldHRpbmdz
LCBhcmdzKQorCisgICAgICAgIGt3YXJncyA9IHZhcnMocGFyc2VyLnBhcnNlX2FyZ3Moc2V0dGlu
Z3NfdG9fYXJndihzZXR0aW5ncykpKQorICAgICAgICB3cHRjb21tYW5kbGluZS5jaGVja19hcmdz
KGt3YXJncykKKworICAgICAgICBsb2dnZXIuc2VuZF9tZXNzYWdlKCJ3cHRydW5uZXItdGVzdCIs
ICJzZXQtcHJvZHVjdCIsIHByb2R1Y3QpCisKKyAgICAgICAgcnVuX3Rlc3RzKHByb2R1Y3QsIGt3
YXJncykKKworICAgIGxvZ2dlci5zZW5kX21lc3NhZ2UoIndwdHJ1bm5lci10ZXN0IiwgInNldC1w
cm9kdWN0IiwgTm9uZSkKKyAgICBsb2dnZXIuc3VpdGVfZW5kKCkKKworZGVmIGdldF9wYXJzZXIo
KToKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCisgICAgcGFyc2VyLmFk
ZF9hcmd1bWVudCgiLXYiLCAiLS12ZXJib3NlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVs
dD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9InZlcmJvc2UgbG9nIG91dHB1
dCIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1wcm9kdWN0IiwgYWN0aW9uPSJhcHBlbmQi
LAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU3BlY2lmaWMgcHJvZHVjdCB0byBpbmNs
dWRlIGluIHRlc3QgcnVuIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXBkYiIsIGFjdGlv
bj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJJbnZva2UgcGRi
IG9uIHVuY2F1Z2h0IGV4Y2VwdGlvbiIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS10YWci
LCBhY3Rpb249ImFwcGVuZCIsIGRlc3Q9InRhZ3MiLAorICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0idGFncyB0byBzZWxlY3QgdGVzdHMiKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoInRl
c3QiLCBuYXJncz0iKiIsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJTcGVjaWZpYyB0
ZXN0cyB0byBpbmNsdWRlIGluIHRlc3QgcnVuIikKKyAgICByZXR1cm4gcGFyc2VyCisKK2RlZiBt
YWluKCk6CisgICAgY29uZmlnID0gcmVhZF9jb25maWcoKQorCisgICAgYXJncyA9IGdldF9wYXJz
ZXIoKS5wYXJzZV9hcmdzKCkKKworICAgIHRyeToKKyAgICAgICAgcnVuKGNvbmZpZywgYXJncykK
KyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICBpZiBhcmdzLnBkYjoKKyAgICAgICAgICAg
IGltcG9ydCBwZGIsIHRyYWNlYmFjaworICAgICAgICAgICAgcHJpbnQgdHJhY2ViYWNrLmZvcm1h
dF9leGMoKQorICAgICAgICAgICAgcGRiLnBvc3RfbW9ydGVtKCkKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIHJhaXNlCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgbWFpbigp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4tZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjBlMTQ1ZDYwYjU1YjM1MDI2MzlkMTVmMTBkNGQ2M2E2YjBmNzliN2QKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4tZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDQgQEAKKzxsaW5rIHJlbD1tYXRjaCBocmVmPWdyZWVuLmh0bWw+Cis8c3R5bGU+Cis6
cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLXJl
Zi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLXJlZi1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4MTY3YmI1OGQ1NzFlNzVmNTQ5MDgxNjZjNTQyYWNhODQ3
MzFhZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4t
cmVmLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6cm9vdCB7YmFja2dy
b3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLXJlZi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L2dyZWVuLXJlZi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMTQ1ZDYw
YjU1YjM1MDI2MzlkMTVmMTBkNGQ2M2E2YjBmNzliN2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4tcmVmLmh0bWwKQEAgLTAsMCArMSw0IEBACis8bGlu
ayByZWw9bWF0Y2ggaHJlZj1ncmVlbi5odG1sPgorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQt
Y29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L2dyZWVuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzgxNjdiYjU4ZDU3MWU3NWY1NDkw
ODE2NmM1NDJhY2E4NDczMWFlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
cmVmdGVzdC9ncmVlbi5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJvb3Qge2JhY2tn
cm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjY3N2UwMDYzNGJjZDE2YzMy
YmE4ZDAyOWNjYWIwNDBmMDE2NzgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS9yZWZ0ZXN0L3JlZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJvb3Qge2JhY2tn
cm91bmQtY29sb3I6cmVkfQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdC5odHRwcy1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0cHMtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zODE2N2JiNThkNTcxZTc1ZjU0OTA4MTY2YzU0MmFjYTg0NzMxYWVj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0
cHMtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMgQEAKKzxzdHlsZT4KKzpyb290IHtiYWNrZ3Jv
dW5kLWNvbG9yOmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdC5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
YTQ1ZjEwZjM1ZWI0NzJlYzEzY2M1ZGQyNDdmZjhkZjVjMjY1Mzg1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0cHMuaHRtbApAQCAtMCwwICsx
LDkgQEAKKzxsaW5rIHJlbD1tYXRjaCBocmVmPWdyZWVuLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7
YmFja2dyb3VuZC1jb2xvcjpyZWR9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubG9j
YXRpb24ucHJvdG9jb2wgPT09ICJodHRwczoiKSB7CisgICBkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKK30KKzwvc2NyaXB0PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVz
dC9yZWZ0ZXN0X2FuZF9mYWlsLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRl
c3QvcmVmdGVzdF9hbmRfZmFpbC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0ZmI5YWExNTE3
NmU2MTkxZGVkNWVjY2Y0NDJmY2ZkNmNkY2Y1NjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbC1leHBlY3RlZC5odG1sCkBAIC0wLDAg
KzEsNSBAQAorPHRpdGxlPlJlZnRlc3QgY2hhaW4gdGhhdCBzaG91bGQgZmFpbDwvdGl0bGU+Cis8
bGluayByZWw9bWF0Y2ggaHJlZj1yZWQuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5k
LWNvbG9yOmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yOTYwMTk1MzU2MjM4ZjAzNTQzMjA3ZTllNmEzNTk5MzYxZGFlYjkxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbApAQCAt
MCwwICsxLDUgQEAKKzx0aXRsZT5SZWZ0ZXN0IGNoYWluIHRoYXQgc2hvdWxkIGZhaWw8L3RpdGxl
PgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVmdGVzdF9hbmRfZmFpbF8wLXJlZi5odG1sPgorPHN0
eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X2FuZF9mYWlsXzAtcmVmLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Jl
ZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJi
Njc3ZTAwNjM0YmNkMTZjMzJiYThkMDI5Y2NhYjA0MGYwMTY3ODAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6
cmVkfQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWxfMC1yZWYuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wNGZiOWFhMTUxNzZlNjE5MWRlZDVlY2NmNDQyZmNmZDZjZGNmNTY2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWxfMC1yZWYu
aHRtbApAQCAtMCwwICsxLDUgQEAKKzx0aXRsZT5SZWZ0ZXN0IGNoYWluIHRoYXQgc2hvdWxkIGZh
aWw8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVkLmh0bWw+Cis8c3R5bGU+Cis6cm9v
dCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3lj
bGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xl
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE4YmZkODg0NDdiNDgyMTJhZjI5ZTU0ODYxYmI2
ZDUwOWE1ZTFiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X2N5Y2xlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+T1IgbWF0
Y2ggdGhhdCBzaG91bGQgcGFzczwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1yZWZ0ZXN0
X2N5Y2xlXzEtcmVmLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpncmVl
bn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE4NGEzYjY3NDFlZTQx
ZmU2MTg3YTliZGM3NjZkNzQ5MjA2YzgzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+
UmVmdGVzdCB3aXRoIGN5Y2xlLCBhbGwgbWF0Y2g8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNoIGhy
ZWY9cmVmdGVzdF9jeWNsZV8wLXJlZi5odG1sPgorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQt
Y29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlXzAtcmVmLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV8wLXJlZi1l
eHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5YmUwYjY0MWRlZjZiZDczYTBjY2E3MmYxN2QzMzA0
NjQxYjQ4ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVm
dGVzdF9jeWNsZV8wLXJlZi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxlPlJl
ZnRlc3Qgd2l0aCBjeWNsZSwgYWxsIG1hdGNoPC90aXRsZT4KKzxsaW5rIHJlbD1tYXRjaCBocmVm
PXJlZnRlc3RfY3ljbGUuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdy
ZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV8wLXJlZi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVz
dC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMC1yZWYuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MThiZmQ4ODQ0N2I0ODIxMmFmMjllNTQ4NjFiYjZkNTA5YTVlMWIxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMC1yZWYuaHRtbApAQCAt
MCwwICsxLDUgQEAKKzx0aXRsZT5PUiBtYXRjaCB0aGF0IHNob3VsZCBwYXNzPC90aXRsZT4KKzxs
aW5rIHJlbD1tYXRjaCBocmVmPXJlZnRlc3RfY3ljbGVfMS1yZWYuaHRtbD4KKzxzdHlsZT4KKzpy
b290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9j
eWNsZV8xLXJlZi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRl
c3RfY3ljbGVfMS1yZWYtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTg0YTNiNjc0MWVlNDFm
ZTYxODdhOWJkYzc2NmQ3NDkyMDZjODNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfMS1yZWYtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDUgQEAKKzx0aXRsZT5SZWZ0ZXN0IHdpdGggY3ljbGUsIGFsbCBtYXRjaDwvdGl0bGU+Cis8bGlu
ayByZWw9bWF0Y2ggaHJlZj1yZWZ0ZXN0X2N5Y2xlXzAtcmVmLmh0bWw+Cis8c3R5bGU+Cis6cm9v
dCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3lj
bGVfMS1yZWYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlXzEt
cmVmLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTliZTBiNjQxZGVmNmJkNzNhMGNjYTcyZjE3ZDMzMDQ2NDFi
NDhlYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X2N5Y2xlXzEtcmVmLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+UmVmdGVzdCB3aXRoIGN5
Y2xlLCBhbGwgbWF0Y2g8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVmdGVzdF9jeWNs
ZS5odG1sPgorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxl
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jOGU1NDhjNDYyMjU1NjM4YTMyYzQ3NGExNzc3NTlmZjZkN2NjZWFmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGVfZmFpbC1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxlPlJlZnRlc3Qgd2l0aCBjeWNsZSwgZmFpbHM8
L3RpdGxlPgorPGxpbmsgcmVsPW1pc21hdGNoIGhyZWY9cmVmdGVzdF9jeWNsZV9mYWlsLmh0bWw+
Cis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0
ZXN0L3JlZnRlc3RfY3ljbGVfZmFpbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfY3ljbGVfZmFpbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3NWU3NmM0Y2M5YmI3NjVmOGZjOGRm
YzM0NDU1YWQyZWI5YmM0MDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Jl
ZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsLmh0bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+UmVm
dGVzdCB3aXRoIGN5Y2xlLCBmYWlsczwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1yZWZ0
ZXN0X2N5Y2xlX2ZhaWxfMC1yZWYuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNv
bG9yOmdyZWVufQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWlsXzAtcmVmLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9jeWNsZV9mYWls
XzAtcmVmLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTc1ZTc2YzRjYzliYjc2NWY4ZmM4ZGZj
MzQ0NTVhZDJlYjliYzQwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X2N5Y2xlX2ZhaWxfMC1yZWYtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDUg
QEAKKzx0aXRsZT5SZWZ0ZXN0IHdpdGggY3ljbGUsIGZhaWxzPC90aXRsZT4KKzxsaW5rIHJlbD1t
YXRjaCBocmVmPXJlZnRlc3RfY3ljbGVfZmFpbF8wLXJlZi5odG1sPgorPHN0eWxlPgorOnJvb3Qg
e2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xl
X2ZhaWxfMC1yZWYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X2N5Y2xl
X2ZhaWxfMC1yZWYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOGU1NDhjNDYyMjU1NjM4YTMyYzQ3NGExNzc3
NTlmZjZkN2NjZWFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfY3ljbGVfZmFpbF8wLXJlZi5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxlPlJl
ZnRlc3Qgd2l0aCBjeWNsZSwgZmFpbHM8L3RpdGxlPgorPGxpbmsgcmVsPW1pc21hdGNoIGhyZWY9
cmVmdGVzdF9jeWNsZV9mYWlsLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xv
cjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2gtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzgxNjdiYjU4ZDU3MWU3NWY1NDkwODE2NmM1NDJhY2E4NDczMWFlYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6cm9vdCB7YmFja2dyb3VuZC1jb2xv
cjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2guaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMzY2M2YzFl
Y2RmMjAwMGU0YjExODU2NTY2MTc2MWI4NzZhNzI5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoLmh0bWwKQEAgLTAsMCArMSw1IEBACis8
dGl0bGU+cmVsPW1hdGNoIHRoYXQgc2hvdWxkIHBhc3M8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNo
IGhyZWY9Z3JlZW4uaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVu
fQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9tYXRjaF9mYWlsLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9tYXRjaF9mYWlsLWV4cGVjdGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmI2NzdlMDA2MzRiY2QxNmMzMmJhOGQwMjljY2FiMDQwZjAxNjc4MAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21hdGNoX2Zh
aWwtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMgQEAKKzxzdHlsZT4KKzpyb290IHtiYWNrZ3Jv
dW5kLWNvbG9yOnJlZH0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWF0Y2hfZmFpbC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE5MjcyZWY3NGRhODczMzdhMDIyM2ZjYjAwZjA1M2NlYmE1ZmI1MmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9tYXRjaF9mYWlsLmh0
bWwKQEAgLTAsMCArMSw1IEBACis8dGl0bGU+cmVsPW1hdGNoIHRoYXQgc2hvdWxkIGZhaWw8L3Rp
dGxlPgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVkLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7YmFj
a2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2gt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNo
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmI2NzdlMDA2MzRiY2QxNmMzMmJhOGQwMjljY2Fi
MDQwZjAxNjc4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X21pc21hdGNoLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6
cm9vdCB7YmFja2dyb3VuZC1jb2xvcjpyZWR9Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21p
c21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNtYXRjaC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFmNWZhMDc1MGQ4M2I2NzU5YzMwZWE0MzRmYzUwOTI1NTI0NmNmODMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNt
YXRjaC5odG1sCkBAIC0wLDAgKzEsNSBAQAorPHRpdGxlPnJlbD1taXNtYXRjaCB0aGF0IHNob3Vs
ZCBwYXNzPC90aXRsZT4KKzxsaW5rIHJlbD1taXNtYXRjaCBocmVmPXJlZC5odG1sPgorPHN0eWxl
PgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0
ZXN0X21pc21hdGNoX2ZhaWwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVz
dC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODE2N2Ji
NThkNTcxZTc1ZjU0OTA4MTY2YzU0MmFjYTg0NzMxYWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59
Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
ZDE2MGM0ZmMyMDBjYTk3NjMxYjE4NTA1ODQ3ZDUxZmQ3NjJhYmE5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0Y2hfZmFpbC5odG1sCkBA
IC0wLDAgKzEsNSBAQAorPHRpdGxlPnJlbD1taXNtYXRjaCB0aGF0IHNob3VsZCBmYWlsPC90aXRs
ZT4KKzxsaW5rIHJlbD1taXNtYXRjaCBocmVmPWdyZWVuLmh0bWw+Cis8c3R5bGU+Cis6cm9vdCB7
YmFja2dyb3VuZC1jb2xvcjpncmVlbn0KKzwvc3R5bGU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfb3JfMC1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfb3JfMC1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiNjc3ZTAwNjM0YmNkMTZjMzJiYThkMDI5Y2NhYjA0MGYw
MTY3ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVz
dF9vcl8wLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzIEBACis8c3R5bGU+Cis6cm9vdCB7YmFj
a2dyb3VuZC1jb2xvcjpyZWR9Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X29yXzAuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X29yXzAuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
YTUxZGUyMTY0NDEwM2E5M2Y1OWQ0YzU2NTQyOGNjMmQxNjA2ZTU0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfb3JfMC5odG1sCkBAIC0wLDAgKzEs
NiBAQAorPHRpdGxlPk9SIG1hdGNoIHRoYXQgc2hvdWxkIHBhc3M8L3RpdGxlPgorPGxpbmsgcmVs
PW1hdGNoIGhyZWY9cmVkLmh0bWw+Cis8bGluayByZWw9bWF0Y2ggaHJlZj1ncmVlbi5odG1sPgor
PHN0eWxlPgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVz
dC9yZWZ0ZXN0X3JlZl90aW1lb3V0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Jl
ZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0Y2Ji
NzFlMGMzYzQyODZjMDBkNGMwMWVjZTZhYjFhMWJlYzYxYjgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsNiBAQAorPGh0bWwgY2xhc3M9InJlZnRlc3Qtd2FpdCI+Cis8dGl0bGU+cmVs
PW1hdGNoIHRoYXQgc2hvdWxkIHRpbWUgb3V0IGluIHRoZSByZWY8L3RpdGxlPgorPGxpbmsgcmVs
PW1hdGNoIGhyZWY9cmVmdGVzdF9yZWZfdGltZW91dC1yZWYuaHRtbD4KKzxzdHlsZT4KKzpyb290
IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufQorPC9zdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3JlZl90aW1lb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhZjY4ZjVj
YjVmYTA0Y2QzNjVhNzE5MWVlY2VhZmEzNWNjM2NlNGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC5odG1sCkBAIC0wLDAgKzEs
NiBAQAorPGh0bWw+Cis8dGl0bGU+cmVsPW1hdGNoIHRoYXQgc2hvdWxkIHRpbWUgb3V0IGluIHRo
ZSByZWY8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNoIGhyZWY9cmVmdGVzdF9yZWZfdGltZW91dC1y
ZWYuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVufQorPC9zdHls
ZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3RpbWVvdXQt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3RpbWVvdXQt
ZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODE2N2JiNThkNTcxZTc1ZjU0OTA4MTY2YzU0MmFj
YTg0NzMxYWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfdGltZW91dC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHN0eWxlPgorOnJv
b3Qge2JhY2tncm91bmQtY29sb3I6Z3JlZW59Cis8L3N0eWxlPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3Rp
bWVvdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3RpbWVvdXQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iMTBlNjc2YmYwMDUyZTdiY2JlMmU5MjE0YTY5MGIzY2U2NjVkYTg4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91
dC5odG1sCkBAIC0wLDAgKzEsNiBAQAorPGh0bWwgY2xhc3M9InJlZnRlc3Qtd2FpdCI+Cis8dGl0
bGU+cmVsPW1hdGNoIHRoYXQgc2hvdWxkIHRpbWVvdXQ8L3RpdGxlPgorPGxpbmsgcmVsPW1hdGNo
IGhyZWY9Z3JlZW4uaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOmdyZWVu
fQorPC9zdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0
X3dhaXRfMC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rf
d2FpdF8wLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmI2NzdlMDA2MzRiY2QxNmMzMmJhOGQw
MjljY2FiMDQwZjAxNjc4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X3dhaXRfMC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHN0eWxl
PgorOnJvb3Qge2JhY2tncm91bmQtY29sb3I6cmVkfQorPC9zdHlsZT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVz
dF93YWl0XzAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3dhaXRfMC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjRmOTI3MTVjNjFlN2Q5MjJhOTQ5NWU5NzM3Yzk5NmU3YzA2YzM3ZDQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF93YWl0
XzAuaHRtbApAQCAtMCwwICsxLDEzIEBACis8aHRtbCBjbGFzcz0icmVmdGVzdC13YWl0Ij4KKzx0
aXRsZT5yZWw9bWF0Y2ggdGhhdCBzaG91bGQgZmFpbDwvdGl0bGU+Cis8bGluayByZWw9bWF0Y2gg
aHJlZj1yZWQuaHRtbD4KKzxzdHlsZT4KKzpyb290IHtiYWNrZ3JvdW5kLWNvbG9yOnJlZH0KKzwv
c3R5bGU+Cis8c2NyaXB0Pgorc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgIGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5jbGFzc05hbWUgPSAiIjsKK30sIDIwMDApOworPC9zY3JpcHQ+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWVkMTAwODE0MWVjZWJmNWQzN2FiMDQyMjgxZDI1NGViMDZjZmM0YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDUz
IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgor
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisK
K0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQ
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlz
dCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvZ3JlZW4tZXhwZWN0ZWQuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1yZWYtZXhwZWN0ZWQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9ncmVlbi1yZWYuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
cmVmdGVzdC9ncmVlbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3QuaHR0cHMtZXhwZWN0ZWQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbC1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfYW5kX2ZhaWwuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVm
dGVzdC9yZWZ0ZXN0X2FuZF9mYWlsXzAtcmVmLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF9hbmRfZmFpbF8wLXJlZi5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS9yZWZ0ZXN0L3JlZnRlc3RfY3ljbGUtZXhwZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
cmVmdGVzdC9yZWZ0ZXN0X2N5Y2xlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVm
dGVzdF9jeWNsZV8wLXJlZi1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfY3ljbGVfMC1yZWYuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0
ZXN0X2N5Y2xlXzEtcmVmLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3Qv
cmVmdGVzdF9jeWNsZV8xLXJlZi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRl
c3RfY3ljbGVfZmFpbC1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3Jl
ZnRlc3RfY3ljbGVfZmFpbC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rf
Y3ljbGVfZmFpbF8wLXJlZi1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfY3ljbGVfZmFpbF8wLXJlZi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0
L3JlZnRlc3RfbWF0Y2gtZXhwZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9y
ZWZ0ZXN0X21hdGNoLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9tYXRj
aF9mYWlsLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9t
YXRjaF9mYWlsLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9taXNtYXRj
aC1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfbWlzbWF0
Y2guaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNoX2ZhaWwt
ZXhwZWN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X21pc21hdGNo
X2ZhaWwuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X29yXzAtZXhwZWN0
ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X29yXzAuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvcmVmdGVzdC9yZWZ0ZXN0X3JlZl90aW1lb3V0LWV4cGVjdGVkLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci90ZXN0L3Rlc3RkYXRhL3JlZnRlc3QvcmVmdGVzdF9yZWZfdGltZW91dC5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC1leHBlY3RlZC5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS9yZWZ0ZXN0L3JlZnRlc3RfdGltZW91dC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS9yZWZ0ZXN0L3JlZnRlc3Rfd2FpdF8wLWV4cGVjdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3JlZnRlc3QvcmVmdGVzdF93YWl0XzAuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfaW5oZXJpdC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfaW5o
ZXJpdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwYjI4NTE5NGI0YWUwMTBjNjk5YzdhZWNmNzdkNzcxYzIy
MTMyZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2Zp
cmVmb3gvc3ViZGlyL3Rlc3RfcHJlZl9pbmhlcml0Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFk
b2N0eXBlIGh0bWw+Cis8dGl0bGU+RXhhbXBsZSBwcmVmIHRlc3Q8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHA+VGVzdCByZXF1aXJl
cyB0aGUgcHJlZiBicm93c2VyLmRpc3BsYXkuZm9yZWdyb3VuZF9jb2xvciB0byBiZSBzZXQgdG8g
IzAwRkYwMDwvcD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxz
KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuY29sb3IsICJyZ2IoMjU1LCAwLCAwKSIp
OworfSwgIlRlc3QgdGhhdCBwcmVmIHdhcyBzZXQiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfcmVz
ZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdGVz
dF9wcmVmX3Jlc2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWM3NWMxMTYwNTIyY2U4MTQxNGVkZGVlNGI5
NGNjYWUyMTc4NWEyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhh
cm5lc3MvZmlyZWZveC9zdWJkaXIvdGVzdF9wcmVmX3Jlc2V0Lmh0bWwKQEAgLTAsMCArMSwxMCBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+RXhhbXBsZSBwcmVmIHRlc3Q8L3RpdGxlPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHA+VGVzdCBy
ZXF1aXJlcyB0aGUgcHJlZiBicm93c2VyLmRpc3BsYXkuZm9yZWdyb3VuZF9jb2xvciB0byBiZSBz
ZXQgdG8gIzAwRkYwMDwvcD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuY29sb3IsICJyZ2IoMCwgMCwg
MCkiKTsKK30sICJUZXN0IHRoYXQgcHJlZiB3YXMgcmVzZXQiKTsKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC9zdWJkaXIvdzNj
LWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjM2N2FiMzhhNjAzZmZkZTlmNTY5MDdiZjlhZGNhZmQ0
YmM2Y2ZmNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mv
ZmlyZWZveC9zdWJkaXIvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOCBAQAorVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90ZXN0X3ByZWZfaW5o
ZXJpdC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3N1YmRpci90
ZXN0X3ByZWZfcmVzZXQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFy
bmVzcy9maXJlZm94L3Rlc3RfcHJlZl9kaXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhh
cm5lc3MvZmlyZWZveC90ZXN0X3ByZWZfZGlyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTA1ZDkwNzBjOWRj
ZWFkY2RiMGNjNjQ3MTM4OTY3OGM4ZDI3MTlhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3Qv
dGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC90ZXN0X3ByZWZfZGlyLmh0bWwKQEAgLTAsMCAr
MSwxMCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+RXhhbXBsZSBwcmVmIHRlc3Q8L3RpdGxl
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHA+
VGVzdCByZXF1aXJlcyB0aGUgcHJlZiBicm93c2VyLmRpc3BsYXkuZm9yZWdyb3VuZF9jb2xvciB0
byBiZSBzZXQgdG8gI0ZGMDAwMDwvcD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBh
c3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuY29sb3IsICJyZ2Io
MjU1LCAwLCAwKSIpOworfSwgIlRlc3QgdGhhdCBwcmVmIHdhcyBzZXQiKTsKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3Rlc3RfcHJl
Zl9zZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZveC90ZXN0X3By
ZWZfc2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGU1ZTI5ODliZjcyOTlmNDIyYzlkYzBjMTNmMmM3Mjk4
ZjBkZmY1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mv
ZmlyZWZveC90ZXN0X3ByZWZfc2V0Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8dGl0bGU+RXhhbXBsZSBwcmVmIHRlc3Q8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHA+VGVzdCByZXF1aXJlcyB0aGUgcHJl
ZiBicm93c2VyLmRpc3BsYXkuZm9yZWdyb3VuZF9jb2xvciB0byBiZSBzZXQgdG8gIzAwRkYwMDwv
cD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKGdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuY29sb3IsICJyZ2IoMCwgMjU1LCAwKSIpOworfSwgIlRl
c3QgdGhhdCBwcmVmIHdhcyBzZXQiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90
ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0
ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94L3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1OWRk
MGUwNjFiZGY5MDMwN2YyODgyYTEwMjI1MTdjNjJlZjRhNTkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL2ZpcmVmb3gvdzNjLWltcG9ydC5sb2cKQEAgLTAs
MCArMSwxOCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy9maXJlZm94
L3Rlc3RfcHJlZl9kaXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvZmlyZWZv
eC90ZXN0X3ByZWZfc2V0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhh
cm5lc3Mvc3ViZGlyL3Rlc3RoYXJuZXNzXzEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhh
cm5lc3Mvc3ViZGlyL3Rlc3RoYXJuZXNzXzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDJmYzQzMWQzOTk5
OGQ2YmZhNjNiYzBlM2I3ODg0NzkxMDE0YzMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90
ZXN0ZGF0YS90ZXN0aGFybmVzcy9zdWJkaXIvdGVzdGhhcm5lc3NfMS5odG1sCkBAIC0wLDAgKzEs
OSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+VGVzdCBzaG91bGQgYmUgZW5hYmxlZDwvdGl0
bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X3RydWUodHJ1ZSk7Cit9LCAiVGVz
dCB0aGF0IHNob3VsZCBwYXNzIik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0
YS90ZXN0aGFybmVzcy9zdWJkaXIvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBiNjEzNWZh
MDg3YjM5M2ZkY2I2NGJmM2U0OWVkMmExMzYwMDUyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEs
MTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
KworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZh
bHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitM
aXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mvc3ViZGlyL3Rlc3Ro
YXJuZXNzXzEuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90
ZXN0aGFybmVzcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0
aGFybmVzcy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4NzFlYWMwMDE0OGQ0NGE4YmViZGM0Mzk0
ZTFjYjhiNGQ1OGRhYzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3Ro
YXJuZXNzL3Rlc3RoYXJuZXNzLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8dGl0bGU+RXhhbXBsZSBodHRwcyB0ZXN0PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0
aW9uKCkgeworICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCwgImh0dHBz
OiIpOworfSwgIlRlc3QgdGhhdCBmaWxlIHdhcyBsb2FkZWQgd2l0aCB0aGUgY29ycmVjdCBwcm90
b2NvbCIpOworCis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfMC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZmMDY1NGNiOWEwOTI1MWFkMDA4MmU4ZDg0OTE4YjIwNjhjMTJlMWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci90ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbApAQCAt
MCwwICsxLDkgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPlRlc3Qgc2hvdWxkIGJlIGRpc2Fi
bGVkPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfdHJ1ZShmYWxzZSk7
Cit9LCAiVGVzdCB0aGF0IHNob3VsZCBmYWlsIik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfZXJyb3IuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rl
c3QvdGVzdGRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfZXJyb3IuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wYWM1YmE0NmEzMzA1ZjZmYmM2M2RkOGQxZmM3NDk2MDM0ZGE5YWZlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc19lcnJvci5odG1s
CkBAIC0wLDAgKzEsNyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+dGVzdGhhcm5lc3MuanMg
dGVzdCB0aGF0IHNob3VsZCBlcnJvcjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordW5kZWZpbmVkX2Z1bmN0aW9uKCkK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0
aGFybmVzc19sb25nX3RpbWVvdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEvdGVzdGhhcm5lc3Mv
dGVzdGhhcm5lc3NfbG9uZ190aW1lb3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM5NGUwNTViZTBjNTU0
NTRjMTJlMDg1MDFjYzk4MWZkYWY0NTgzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVz
dGRhdGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfbG9uZ190aW1lb3V0Lmh0bWwKQEAgLTAsMCAr
MSw5IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT50ZXN0aGFybmVzcy5qcyB0ZXN0IHdpdGgg
bG9uZyB0aW1lb3V0PC90aXRsZT4KKzxtZXRhIG5hbWU9dGltZW91dCBjb250ZW50PWxvbmc+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgordmFyIHQgPSBhc3luY190ZXN0KCJMb25nIHRpbWVvdXQgdGVzdCIpOworc2V0VGltZW91dCh0
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKCkge2Fzc2VydF90cnVlKHRydWUpfSksIDE1KjEwMDAp
OworPC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc190aW1lb3V0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVvdXQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iOTk5MTVhYzc0NTM5NTJhYTE5OWM3YWMyNGU5MTk0NTlmNjY1YTQyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0aGFybmVzcy90ZXN0aGFybmVzc190aW1lb3V0
Lmh0bWwKQEAgLTAsMCArMSw2IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5TaW1wbGUgdGVz
dGhhcm5lc3MuanMgdXNhZ2U8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorCisvLyBUaGlzIGZpbGUgc2hvdWxkIHRpbWUgb3V0LCBvYnZp
b3VzbHkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rl
c3RkYXRhL3Rlc3RoYXJuZXNzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90ZXN0
aGFybmVzcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZjkyNTVkMGYxNzlmODEyZjM3OGY5
ZDQ4NGI1MjUzZjk1YjM2M2RjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0ZGF0YS90
ZXN0aGFybmVzcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIxIEBACitUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0Rv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
ZXN0L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzLmh0dHBzLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3RkYXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzXzAuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRh
dGEvdGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfZXJyb3IuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdGRhdGEv
dGVzdGhhcm5lc3MvdGVzdGhhcm5lc3NfbG9uZ190aW1lb3V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3Rk
YXRhL3Rlc3RoYXJuZXNzL3Rlc3RoYXJuZXNzX3RpbWVvdXQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTQ5OThmMDgwZGJlMzZiMzcyNDU5OTMxOWZmNTcyNTA0MjUwZmJiMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3Rlc3QvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOCBAQAorVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9y
IHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0LmNmZy5leGFtcGxlCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdGVzdC90ZXN0LnB5CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90
b3guaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvdG94LmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OGRmZTc5ZGM1ZDFjMTAxMjU2NTZiYmIy
ZTE1OTllNTFmZDRiNTY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdG94LmluaQpAQCAtMCwwICsx
LDE2IEBACitbcHl0ZXN0XQoreGZhaWxfc3RyaWN0PXRydWUKKworW3RveF0KK2Vudmxpc3QgPSB7
cHkyNyxweXB5fS17YmFzZSxiMmcsY2hyb21lLGZpcmVmb3gsc2Vydm99CisKK1t0ZXN0ZW52XQor
ZGVwcyA9CisgICAgIHB5dGVzdD49Mi45CisgICAgIHB5dGVzdC1jb3YKKyAgICAgLXJ7dG94aW5p
ZGlyfS9yZXF1aXJlbWVudHMudHh0CisgICAgIGNocm9tZTogLXJ7dG94aW5pZGlyfS9yZXF1aXJl
bWVudHNfY2hyb21lLnR4dAorICAgICBmaXJlZm94OiAtcnt0b3hpbmlkaXJ9L3JlcXVpcmVtZW50
c19maXJlZm94LnR4dAorICAgICBzZXJ2bzogLXJ7dG94aW5pZGlyfS9yZXF1aXJlbWVudHNfc2Vy
dm8udHh0CisKK2NvbW1hbmRzID0gcHl0ZXN0IC0tY292CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4ZWUxMmM0ZjJmY2Q4Nzhk
YWQ3NTUyMDM5MzhkN2Q0NzNkMDRjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93M2MtaW1wb3J0
LmxvZwpAQCAtMCwwICsxLDI3IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKwor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitO
b25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9MSUNFTlNFCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvTUFOSUZFU1Qu
aW4KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9SRUFETUUucnN0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzLnR4dAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50
c19jaHJvbWUudHh0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRzX2ZpcmVmb3gudHh0CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1l
bnRzX3NhdWNlLnR4dAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19zZXJ2by50eHQKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9zZXR1cC5weQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3RveC5pbmkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIuZGVmYXVsdC5pbmkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci5kZWZhdWx0LmluaSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci5kZWZhdWx0LmluaQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zNGQyNWY4MDU2YjBjZjcwZjY4YTgyMjYwOGU0NzRmNjNiMDY2NmY1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyLmRlZmF1bHQuaW5pCkBAIC0wLDAgKzEsMTEgQEAKK1twcm9kdWN0
c10KKworW3dlYi1wbGF0Zm9ybS10ZXN0c10KK3JlbW90ZV91cmwgPSBodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy5naXQKK2JyYW5jaCA9IG1hc3Rlcgorc3luY19wYXRo
ID0gJShwd2Qpcy9zeW5jCisKK1ttYW5pZmVzdDpkZWZhdWx0XQordGVzdHMgPSAlKHB3ZClzL3Rl
c3RzCittZXRhZGF0YSA9ICUocHdkKXMvbWV0YQordXJsX2Jhc2UgPSAvClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL19faW5pdF9fLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ODM0YjgyODVhNTZiZWYwZTE1NDNm
ZDkwMWM3ZTZmMmY4YmMyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvX19pbml0
X18ucHkKQEAgLTAsMCArMSBAQAorIyBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFB5dGhvbiB0
byBzZWFyY2ggdGhpcyBkaXJlY3RvcnkgZm9yIG1vZHVsZXMuClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL19faW5pdF9fLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL2Jyb3dzZXJzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzNjA2ZDIzY2Yw
Y2M2ZmRjM2Y2NTQ1ZWRjZWZlMWQzZGExYjE5ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvYnJvd3NlcnMvX19pbml0X18ucHkKQEAgLTAsMCArMSwzMCBAQAorIiIiU3VicGFja2Fn
ZSB3aGVyZSBlYWNoIHByb2R1Y3QgaXMgZGVmaW5lZC4gRWFjaCBwcm9kdWN0IGlzIGNyZWF0ZWQg
YnkgYWRkaW5nIGEKK2EgLnB5IGZpbGUgY29udGFpbmluZyBhIF9fd3B0cnVubmVyX18gdmFyaWFi
bGUgaW4gdGhlIGdsb2JhbCBzY29wZS4gVGhpcyBtdXN0IGJlCithIGRpY3Rpb25hcnkgd2l0aCB0
aGUgZmllbGRzCisKKyJwcm9kdWN0IjogTmFtZSBvZiB0aGUgcHJvZHVjdCwgYXNzdW1lZCB0byBi
ZSB1bmlxdWUuCisiYnJvd3NlciI6IFN0cmluZyBpbmRpY2F0aW5nIHRoZSBCcm93c2VyIGltcGxl
bWVudGF0aW9uIHVzZWQgdG8gbGF1bmNoIHRoYXQKKyAgICAgICAgICAgcHJvZHVjdC4KKyJleGVj
dXRvciI6IERpY3Rpb25hcnkgd2l0aCBrZXlzIGFzIHN1cHBvcnRlZCB0ZXN0IHR5cGVzIGFuZCB2
YWx1ZXMgYXMgdGhlIG5hbWUKKyAgICAgICAgICAgIG9mIHRoZSBFeGVjdXRvciBpbXBsZW1hbnRh
dGlvbiB0aGF0IHdpbGwgYmUgdXNlZCB0byBydW4gdGhhdCB0ZXN0CisgICAgICAgICAgICB0eXBl
LgorImJyb3dzZXJfa3dhcmdzIjogU3RyaW5nIG5hbWluZyBmdW5jdGlvbiB0aGF0IHRha2VzIHBy
b2R1Y3QsIGJpbmFyeSwKKyAgICAgICAgICAgICAgICAgIHByZWZzX3Jvb3QgYW5kIHRoZSB3cHRy
dW5uZXIucnVuX3Rlc3RzIGt3YXJncyBkaWN0IGFzIGFyZ3VtZW50cworICAgICAgICAgICAgICAg
ICAgYW5kIHJldHVybnMgYSBkaWN0aW9uYXJ5IG9mIGt3YXJncyB0byB1c2Ugd2hlbiBjcmVhdGlu
ZyB0aGUKKyAgICAgICAgICAgICAgICAgIEJyb3dzZXIgY2xhc3MuCisiZXhlY3V0b3Jfa3dhcmdz
IjogU3RyaW5nIG5hbWluZyBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgaHR0cCBzZXJ2ZXIgdXJsIGFu
ZAorICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgbXVsdGlwbGllciBhbmQgcmV0dXJucyBrd2Fy
Z3MgdG8gdXNlIHdoZW4gY3JlYXRpbmcKKyAgICAgICAgICAgICAgICAgICB0aGUgZXhlY3V0b3Ig
Y2xhc3MuCisiZW52X29wdGlvbnMiOiBTdHJpbmcgbmFtaW5nIGEgZnVudGlvbiBvZiBubyBhcmd1
bWVudHMgdGhhdCByZXR1cm5zIHRoZQorICAgICAgICAgICAgICAgYXJndW1lbnRzIHBhc3NlZCB0
byB0aGUgVGVzdEVudmlyb25tZW50LgorCitBbGwgY2xhc3NlcyBhbmQgZnVuY3Rpb25zIG5hbWVk
IGluIHRoZSBhYm92ZSBkaWN0IG11c3QgYmUgaW1wb3J0ZWQgaW50byB0aGUKK21vZHVsZSBnbG9i
YWwgc2NvcGUuCisiIiIKKworcHJvZHVjdF9saXN0ID0gWyJjaHJvbWUiLAorICAgICAgICAgICAg
ICAgICJlZGdlIiwKKyAgICAgICAgICAgICAgICAiZmlyZWZveCIsCisgICAgICAgICAgICAgICAg
InNhdWNlIiwKKyAgICAgICAgICAgICAgICAic2Vydm8iLAorICAgICAgICAgICAgICAgICJzZXJ2
b2RyaXZlciJdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYjJnX3NldHVwL2Nl
cnR0ZXN0X2FwcC56aXAgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYjJnX3NldHVwL2NlcnR0ZXN0
X2FwcC56aXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjljYmQ1MzAwYWQ2NTBmODM2OWFiMDJhNGFkYzg4NjZhNWYw
ZGVhMQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTIzNwp6Y21XSVdXQFpzI1V8YF4yRmp2V09E
ZnpUfXRxWUpCMTtrdG9HN09ue0RYQTVEODZ+K25wJl5fTSUkbWpXIUtPRDkKemdHKCM4ODVtaTxH
QlBsTF49PU9JSXE5I3JRcFkzb2d2UUNVOHl8MEszfCFmJVMhU2o+UWBLXjFuYnxKYERWPFpQCnps
YyZyTiR+P1l3IUdrJGJBd3JYKVZpckEhMnNuX3NtfHVgPjZfWWUwTGpjP3pWaW9tblZqbiluY2Bg
RkY/Qlpmegp6OzBMLVJIISZ8V0V3IzhydVJKdj12N2k5IzcjVE9JUDxiRm1iSWpaQC1+N2lHSmJT
LX5iNkVEenM/Sy1TdWZBOC0KeiRTVCZ7c0MwM29mVHhJeClqWGV6fE15TEtkISo9YipgPUs8MX1E
fClZO0IpQF8zUThya1RjXj9gcG5XOXIhY3ZxCnpyfHxSSWlXZWc2e2J+S1ZJeHtaakQ3O1Fsal55
RXZuZnptaystMWlNbytVWEFDUU5mKUhSYVgyeGFLbkU8UWpiVgp6eWlmSzBJZC17JmlCQ1NUZT5+
TjtZUT1RMUJhMmw2Pk5yeVVyXmdnLWFXUztkKn1tOElNc0AlR0hOfiZ3RjR6Nk8KekE/VzIpUWhC
Jnh5Q1MzZit1VTw4MUBuUzZtUVJ4M2NZb1BwUU5mbXRZajBrWT48KEooNSE+WVk7WUNJJCRBYyNZ
CnpIJXhPck97QEhIUXZNZ1MrV0lAez9+TGwhVWh8JmFHPlB9TyhMdyRARVBQNGI0P3xxdk90RV8t
VHoycFRrN0R3dgp6KSNyRiNXfCZeRnlVeTZaVkA+ZmspaTw5UEZgVHZiUyFMRXhFVkhhOVleVTVZ
MlhTOWo+KjtHdnBLT311JWFyO24KemgxMllqJSppWCgwPn1FKmtgJll1dj9YcVNiSSljRktYPEEx
T3BFOCtobDw2YkMpWF53QEBNbXpvZDtaM2JCcEZfCnpsYCtiXmBlfThoe05ea0QjVVZZfUQtQ3ZC
PyNaa1BJeHtpTHQ9Z2VJSmJDTX10R0JsK21WTm1iVF90SyFtfSsrKgp6djtBPyRkOXtBKSpBM1RZ
OXJtOSMre0Z8aUlOXzlDcT44dThmfHxEe21UMUpRXlBqelNYND4yMEdjMFEmUGd7d2sKekYhaSUr
Tj8mP3RVeSl1KiVDPTg/bj1iczZVMi1+aFd+KS10ZWgtMSZHNTJUbHhZVSY5RTRZMHR5KEhyKHRI
NjZ9CnooZ3Z+cVBVZnZvcipRdCtVO2o3dXJpYzU/Sz19bzZQaUp7ZV99WDM5Y1k/UG5fNE8zeT9i
a3kjcjdROU00TzY9egp6U3tDPHkmMiNQOE5jfnJfNS0lNDc8OzdqRktSXkJhUmBvWlQ5fnRIQGVm
JXN1YEBrN2lpSHdsdkZPRWxlSVFFUDMKel8/X298K35yO1F6anRUY142Z0xtTXdpRT5hUEg3cGFZ
UkJAUmtYLWg9ZHdGSCVYYTc4ODQrdCFlMEtOP20qejJWCnozVFUhNWBrWm9EZUVvJEw4fjw/NGVn
NjZBcGBUSn16ailIT0szbCtTZW5RJTh6SDhSd3NhcUJ2NDA7cnpSQDFkWQp6JnVEK351QnBlO2Rm
aCRaVFApOUwrWk8hIW9fS2s0VVREbWhnZiZ7UlBpSVlkZkFaS3JKKWllZVUrOFg0ST8hMXAKej0r
Zi1UXjJXOH4pc2YhPE9UVytEekg7YEN8N00jJHQreypVP21XPldlT0hBUElBWCZtWkxqSGlQfT1k
X1FLNEAzCnptclp9QlhUR24kQFopTEUmZFB0RTZUS2R7Y0trR2RKS2VrVGQpYXNVMEI9U25JYzhq
Q2c5TmFJVXw7fjIwMVFoUwp3S2BpOHdmKSFGeXBrKypDXkR5JWB2VXdkcV5EdUhlJmA/bTAkMXMk
WTRQLXFONUgxRE1RWTtgSTBMNjkhM0lHNUEKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9iMmdfc2V0dXAvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvYjJnX3NldHVwL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM5ZjBlZGEwNmFiMjAzMThiMTQ5YmQxNGQ2Y2M3Y2RkZTEyZjJjYTAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYjJnX3NldHVwL3czYy1pbXBvcnQubG9nCkBAIC0w
LDAgKzEsMTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3Bl
cnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9iMmdfc2V0dXAvY2Vy
dHRlc3RfYXBwLnppcApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2Jhc2UucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYmFzZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODNjYTBkNmNkZWQx
ZTA1NTJlNmQyNDBjMDRmM2JiZmU1ZmU2MjA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2Jyb3dzZXJzL2Jhc2UucHkKQEAgLTAsMCArMSwxNTkgQEAKK2ltcG9ydCBvcworaW1wb3J0
IHBsYXRmb3JtCitpbXBvcnQgc29ja2V0Citmcm9tIGFiYyBpbXBvcnQgQUJDTWV0YSwgYWJzdHJh
Y3RtZXRob2QKKworZnJvbSAuLndwdGNvbW1hbmRsaW5lIGltcG9ydCByZXF1aXJlX2FyZworCito
ZXJlID0gb3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0KKworCitkZWYgY21kX2FyZyhuYW1lLCB2
YWx1ZT1Ob25lKToKKyAgICBwcmVmaXggPSAiLSIgaWYgcGxhdGZvcm0uc3lzdGVtKCkgPT0gIldp
bmRvd3MiIGVsc2UgIi0tIgorICAgIHJ2ID0gcHJlZml4ICsgbmFtZQorICAgIGlmIHZhbHVlIGlz
IG5vdCBOb25lOgorICAgICAgICBydiArPSAiPSIgKyB2YWx1ZQorICAgIHJldHVybiBydgorCisK
K2RlZiBnZXRfZnJlZV9wb3J0KHN0YXJ0X3BvcnQsIGV4Y2x1ZGU9Tm9uZSk6CisgICAgIiIiR2V0
IHRoZSBmaXJzdCBwb3J0IG51bWJlciBhZnRlciBzdGFydF9wb3J0IChpbmNsdXNpdmUpIHRoYXQg
aXMKKyAgICBub3QgY3VycmVudGx5IGJvdW5kLgorCisgICAgOnBhcmFtIHN0YXJ0X3BvcnQ6IElu
dGVnZXIgcG9ydCBudW1iZXIgYXQgd2hpY2ggdG8gc3RhcnQgdGVzdGluZy4KKyAgICA6cGFyYW0g
ZXhjbHVkZTogU2V0IG9mIHBvcnQgbnVtYmVycyB0byBza2lwIiIiCisgICAgcG9ydCA9IHN0YXJ0
X3BvcnQKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICBpZiBleGNsdWRlIGFuZCBwb3J0IGluIGV4
Y2x1ZGU6CisgICAgICAgICAgICBwb3J0ICs9IDEKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAg
ICAgIHMgPSBzb2NrZXQuc29ja2V0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcy5iaW5k
KCgiMTI3LjAuMC4xIiwgcG9ydCkpCisgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAg
ICAgICAgICBwb3J0ICs9IDEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBwb3J0
CisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzLmNsb3NlKCkKKworZGVmIGJyb3dzZXJf
Y29tbWFuZChiaW5hcnksIGFyZ3MsIGRlYnVnX2luZm8pOgorICAgIGlmIGRlYnVnX2luZm86Cisg
ICAgICAgIGlmIGRlYnVnX2luZm8ucmVxdWlyZXNFc2NhcGVkQXJnczoKKyAgICAgICAgICAgIGFy
Z3MgPSBbaXRlbS5yZXBsYWNlKCImIiwgIlxcJiIpIGZvciBpdGVtIGluIGFyZ3NdCisgICAgICAg
IGRlYnVnX2FyZ3MgPSBbZGVidWdfaW5mby5wYXRoXSArIGRlYnVnX2luZm8uYXJncworICAgIGVs
c2U6CisgICAgICAgIGRlYnVnX2FyZ3MgPSBbXQorCisgICAgY29tbWFuZCA9IFtiaW5hcnldICsg
YXJncworCisgICAgcmV0dXJuIGRlYnVnX2FyZ3MsIGNvbW1hbmQKKworCitjbGFzcyBCcm93c2Vy
RXJyb3IoRXhjZXB0aW9uKToKKyAgICBwYXNzCisKKworY2xhc3MgQnJvd3NlcihvYmplY3QpOgor
ICAgIF9fbWV0YWNsYXNzX18gPSBBQkNNZXRhCisKKyAgICBwcm9jZXNzX2NscyA9IE5vbmUKKyAg
ICBpbml0X3RpbWVvdXQgPSAzMAorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlcik6Cisg
ICAgICAgICIiIkFic3RyYWN0IGNsYXNzIHNlcnZpbmcgYXMgdGhlIGJhc2lzIGZvciBCcm93c2Vy
IGltcGxlbWVudGF0aW9ucy4KKworICAgICAgICBUaGUgQnJvd3NlciBpcyB1c2VkIGluIHRoZSBU
ZXN0UnVubmVyTWFuYWdlciB0byBzdGFydCBhbmQgc3RvcCB0aGUgYnJvd3NlcgorICAgICAgICBw
cm9jZXNzLCBhbmQgdG8gY2hlY2sgdGhlIHN0YXRlIG9mIHRoYXQgcHJvY2Vzcy4gVGhpcyBjbGFz
cyBhbHNvIGFjdHMgYXMgYQorICAgICAgICBjb250ZXh0IG1hbmFnZXIsIGVuYWJsaW5nIGl0IHRv
IGRvIGJyb3dzZXItc3BlY2lmaWMgc2V0dXAgYXQgdGhlIHN0YXJ0IG9mCisgICAgICAgIHRoZSB0
ZXN0cnVuIGFuZCBjbGVhbnVwIGFmdGVyIHRoZSBydW4gaXMgY29tcGxldGUuCisKKyAgICAgICAg
OnBhcmFtIGxvZ2dlcjogU3RydWN0dXJlZCBsb2dnZXIgdG8gdXNlIGZvciBvdXRwdXQuCisgICAg
ICAgICIiIgorICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgorCisgICAgZGVmIF9fZW50ZXJf
XyhzZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cCgpCisgICAgICAgIHJldHVybiBzZWxmCisKKyAg
ICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5jbGVh
bnVwKCkKKworICAgIGRlZiBzZXR1cChzZWxmKToKKyAgICAgICAgIiIiVXNlZCBmb3IgYnJvd3Nl
ci1zcGVjaWZpYyBzZXR1cCB0aGF0IGhhcHBlbnMgYXQgdGhlIHN0YXJ0IG9mIGEgdGVzdCBydW4i
IiIKKyAgICAgICAgcGFzcworCisgICAgQGFic3RyYWN0bWV0aG9kCisgICAgZGVmIHN0YXJ0KHNl
bGYpOgorICAgICAgICAiIiJMYXVuY2ggdGhlIGJyb3dzZXIgb2JqZWN0IGFuZCBnZXQgaXQgaW50
byBhIHN0YXRlIHdoZXJlIGlzIGlzIHJlYWR5IHRvIHJ1biB0ZXN0cyIiIgorICAgICAgICBwYXNz
CisKKyAgICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgc3RvcChzZWxmLCBmb3JjZT1GYWxzZSk6
CisgICAgICAgICIiIlN0b3AgdGhlIHJ1bm5pbmcgYnJvd3NlciBwcm9jZXNzLiIiIgorICAgICAg
ICBwYXNzCisKKyAgICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgcGlkKHNlbGYpOgorICAgICAg
ICAiIiJwaWQgb2YgdGhlIGJyb3dzZXIgcHJvY2VzcyBvciBOb25lIGlmIHRoZXJlIGlzIG5vIHBp
ZCIiIgorICAgICAgICBwYXNzCisKKyAgICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgaXNfYWxp
dmUoc2VsZik6CisgICAgICAgICIiIkJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBicm93
c2VyIHByb2Nlc3MgaXMgc3RpbGwgcnVubmluZyIiIgorICAgICAgICBwYXNzCisKKyAgICBkZWYg
c2V0dXBfc3NsKHNlbGYsIGhvc3RzKToKKyAgICAgICAgIiIiUmV0dXJuIGEgY2VydGlmaWNhdGUg
dG8gdXNlIGZvciB0ZXN0cyByZXF1aXJpbmcgc3NsIHRoYXQgd2lsbCBiZSB0cnVzdGVkIGJ5IHRo
ZSBicm93c2VyIiIiCisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoInNzbCB0ZXN0
aW5nIG5vdCBzdXBwb3J0ZWQiKQorCisgICAgZGVmIGNsZWFudXAoc2VsZik6CisgICAgICAgICIi
IkJyb3dzZXItc3BlY2lmaWMgY2xlYW51cCB0aGF0IGlzIHJ1biBhZnRlciB0aGUgdGVzdHJ1biBp
cyBmaW5pc2hlZCIiIgorICAgICAgICBwYXNzCisKKyAgICBkZWYgZXhlY3V0b3JfYnJvd3Nlcihz
ZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgRXhlY3V0b3JCcm93c2VyIHN1YmNsYXNzIGZv
ciB0aGlzIEJyb3dzZXIgc3ViY2xhc3MgYW5kIHRoZSBrZXl3b3JkIGFyZ3VtZW50cworICAgICAg
ICB3aXRoIHdoaWNoIGl0IHNob3VsZCBiZSBpbnN0YW50aWF0ZWQiIiIKKyAgICAgICAgcmV0dXJu
IEV4ZWN1dG9yQnJvd3Nlciwge30KKworICAgIGRlZiBsb2dfY3Jhc2goc2VsZiwgcHJvY2Vzcywg
dGVzdCk6CisgICAgICAgICIiIlJldHVybiBhIGxpc3Qgb2YgZGljdGlvbmFyaWVzIGNvbnRhaW5p
bmcgaW5mb3JtYXRpb24gYWJvdXQgY3Jhc2hlcyB0aGF0IGhhcHBlbmQKKyAgICAgICAgaW4gdGhl
IGJyb3dzZXIsIG9yIGFuIGVtcHR5IGxpc3QgaWYgbm8gY3Jhc2hlcyBvY2N1cnJlZCIiIgorICAg
ICAgICBzZWxmLmxvZ2dlci5jcmFzaChwcm9jZXNzLCB0ZXN0KQorCisKK2NsYXNzIE51bGxCcm93
c2VyKEJyb3dzZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsICoqa3dhcmdzKToK
KyAgICAgICAgc3VwZXIoTnVsbEJyb3dzZXIsIHNlbGYpLl9faW5pdF9fKGxvZ2dlcikKKworICAg
IGRlZiBzdGFydChzZWxmKToKKyAgICAgICAgIiIiTm8tb3AgYnJvd3NlciB0byB1c2UgaW4gc2Nl
bmFyaW9zIHdoZXJlIHRoZSBUZXN0UnVubmVyTWFuYWdlciBzaG91bGRuJ3QKKyAgICAgICAgYWN0
dWFsbHkgb3duIHRoZSBicm93c2VyIHByb2Nlc3MgKGUuZy4gU2Vydm8gd2hlcmUgd2Ugc3RhcnQg
b25lIGJyb3dzZXIKKyAgICAgICAgcGVyIHRlc3QpIiIiCisgICAgICAgIHBhc3MKKworICAgIGRl
ZiBzdG9wKHNlbGYsIGZvcmNlPUZhbHNlKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIHBpZChz
ZWxmKToKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBpc19hbGl2ZShzZWxmKToKKyAg
ICAgICAgcmV0dXJuIFRydWUKKworICAgIGRlZiBvbl9vdXRwdXQoc2VsZiwgbGluZSk6CisgICAg
ICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKworCitjbGFzcyBFeGVjdXRvckJyb3dzZXIo
b2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKiprd2FyZ3MpOgorICAgICAgICAiIiJW
aWV3IG9mIHRoZSBCcm93c2VyIHVzZWQgYnkgdGhlIEV4ZWN1dG9yIG9iamVjdC4KKyAgICAgICAg
VGhpcyBpcyBuZWVkZWQgYmVjYXVzZSB0aGUgRXhlY3V0b3IgcnVucyBpbiBhIGNoaWxkIHByb2Nl
c3MgYW5kCisgICAgICAgIHdlIGNhbid0IHNoaXAgQnJvd3NlciBpbnN0YW5jZXMgYmV0d2VlbiBw
cm9jZXNzZXMgb24gV2luZG93cy4KKworICAgICAgICBUeXBpY2FsbHkgdGhpcyB3aWxsIGhhdmUg
YSBmZXcgcHJvZHVjdC1zcGVjaWZpYyBwcm9wZXJ0aWVzIHNldCwKKyAgICAgICAgYnV0IGluIHNv
bWUgY2FzZXMgaXQgbWF5IGhhdmUgbW9yZSBlbGFib3JhdGUgbWV0aG9kcyBmb3Igc2V0dGluZwor
ICAgICAgICB1cCB0aGUgYnJvd3NlciBmcm9tIHRoZSBydW5uZXIgcHJvY2Vzcy4KKyAgICAgICAg
IiIiCisgICAgICAgIGZvciBrLCB2IGluIGt3YXJncy5pdGVyaXRlbXMoKToKKyAgICAgICAgICAg
IHNldGF0dHIoc2VsZiwgaywgdikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9j
aHJvbWUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvY2hyb21lLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNi
ZDIyN2IzMmY1NTA4ZjYxMTM1ZjllMTYxZmE3NjBiYjExMmYyZWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvYnJvd3NlcnMvY2hyb21lLnB5CkBAIC0wLDAgKzEsOTQgQEAKK2Zyb20g
LmJhc2UgaW1wb3J0IEJyb3dzZXIsIEV4ZWN1dG9yQnJvd3NlciwgcmVxdWlyZV9hcmcKK2Zyb20g
Li53ZWJkcml2ZXJfc2VydmVyIGltcG9ydCBDaHJvbWVEcml2ZXJTZXJ2ZXIKK2Zyb20gLi5leGVj
dXRvcnMgaW1wb3J0IGV4ZWN1dG9yX2t3YXJncyBhcyBiYXNlX2V4ZWN1dG9yX2t3YXJncworZnJv
bSAuLmV4ZWN1dG9ycy5leGVjdXRvcnNlbGVuaXVtIGltcG9ydCAoU2VsZW5pdW1UZXN0aGFybmVz
c0V4ZWN1dG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2Vs
ZW5pdW1SZWZUZXN0RXhlY3V0b3IpCisKKworX193cHRydW5uZXJfXyA9IHsicHJvZHVjdCI6ICJj
aHJvbWUiLAorICAgICAgICAgICAgICAgICAiY2hlY2tfYXJncyI6ICJjaGVja19hcmdzIiwKKyAg
ICAgICAgICAgICAgICAgImJyb3dzZXIiOiAiQ2hyb21lQnJvd3NlciIsCisgICAgICAgICAgICAg
ICAgICJleGVjdXRvciI6IHsidGVzdGhhcm5lc3MiOiAiU2VsZW5pdW1UZXN0aGFybmVzc0V4ZWN1
dG9yIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWZ0ZXN0IjogIlNlbGVuaXVt
UmVmVGVzdEV4ZWN1dG9yIn0sCisgICAgICAgICAgICAgICAgICJicm93c2VyX2t3YXJncyI6ICJi
cm93c2VyX2t3YXJncyIsCisgICAgICAgICAgICAgICAgICJleGVjdXRvcl9rd2FyZ3MiOiAiZXhl
Y3V0b3Jfa3dhcmdzIiwKKyAgICAgICAgICAgICAgICAgImVudl9leHRyYXMiOiAiZW52X2V4dHJh
cyIsCisgICAgICAgICAgICAgICAgICJlbnZfb3B0aW9ucyI6ICJlbnZfb3B0aW9ucyJ9CisKKwor
ZGVmIGNoZWNrX2FyZ3MoKiprd2FyZ3MpOgorICAgIHJlcXVpcmVfYXJnKGt3YXJncywgIndlYmRy
aXZlcl9iaW5hcnkiKQorCisKK2RlZiBicm93c2VyX2t3YXJncygqKmt3YXJncyk6CisgICAgcmV0
dXJuIHsiYmluYXJ5Ijoga3dhcmdzWyJiaW5hcnkiXSwKKyAgICAgICAgICAgICJ3ZWJkcml2ZXJf
YmluYXJ5Ijoga3dhcmdzWyJ3ZWJkcml2ZXJfYmluYXJ5Il0sCisgICAgICAgICAgICAid2ViZHJp
dmVyX2FyZ3MiOiBrd2FyZ3MuZ2V0KCJ3ZWJkcml2ZXJfYXJncyIpfQorCisKK2RlZiBleGVjdXRv
cl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29uZmlnLCBjYWNoZV9tYW5hZ2VyLCBydW5faW5m
b19kYXRhLAorICAgICAgICAgICAgICAgICAgICAqKmt3YXJncyk6CisgICAgZnJvbSBzZWxlbml1
bS53ZWJkcml2ZXIgaW1wb3J0IERlc2lyZWRDYXBhYmlsaXRpZXMKKworICAgIGV4ZWN1dG9yX2t3
YXJncyA9IGJhc2VfZXhlY3V0b3Jfa3dhcmdzKHRlc3RfdHlwZSwgc2VydmVyX2NvbmZpZywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZV9tYW5hZ2VyLCAq
Kmt3YXJncykKKyAgICBleGVjdXRvcl9rd2FyZ3NbImNsb3NlX2FmdGVyX2RvbmUiXSA9IFRydWUK
KyAgICBjYXBhYmlsaXRpZXMgPSBkaWN0KERlc2lyZWRDYXBhYmlsaXRpZXMuQ0hST01FLml0ZW1z
KCkpCisgICAgY2FwYWJpbGl0aWVzLnNldGRlZmF1bHQoImNocm9tZU9wdGlvbnMiLCB7fSlbInBy
ZWZzIl0gPSB7CisgICAgICAgICJwcm9maWxlIjogeworICAgICAgICAgICAgImRlZmF1bHRfY29u
dGVudF9zZXR0aW5nX3ZhbHVlcyI6IHsKKyAgICAgICAgICAgICAgICAicG9wdXBzIjogMQorICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIGZvciAoa3dhcmcsIGNhcGFiaWxpdHkp
IGluIFsoImJpbmFyeSIsICJiaW5hcnkiKSwgKCJiaW5hcnlfYXJncyIsICJhcmdzIildOgorICAg
ICAgICBpZiBrd2FyZ3Nba3dhcmddIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgY2FwYWJpbGl0
aWVzWyJjaHJvbWVPcHRpb25zIl1bY2FwYWJpbGl0eV0gPSBrd2FyZ3Nba3dhcmddCisgICAgZXhl
Y3V0b3Jfa3dhcmdzWyJjYXBhYmlsaXRpZXMiXSA9IGNhcGFiaWxpdGllcworICAgIHJldHVybiBl
eGVjdXRvcl9rd2FyZ3MKKworCitkZWYgZW52X2V4dHJhcygqKmt3YXJncyk6CisgICAgcmV0dXJu
IFtdCisKKworZGVmIGVudl9vcHRpb25zKCk6CisgICAgcmV0dXJuIHsiaG9zdCI6ICJ3ZWItcGxh
dGZvcm0udGVzdCIsCisgICAgICAgICAgICAiYmluZF9ob3N0bmFtZSI6ICJ0cnVlIn0KKworCitj
bGFzcyBDaHJvbWVCcm93c2VyKEJyb3dzZXIpOgorICAgICIiIkNocm9tZSBpcyBiYWNrZWQgYnkg
Y2hyb21lZHJpdmVyLCB3aGljaCBpcyBzdXBwbGllZCB0aHJvdWdoCisgICAgYGB3cHRydW5uZXIu
d2ViZHJpdmVyLkNocm9tZURyaXZlclNlcnZlcmBgLgorICAgICIiIgorCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIGxvZ2dlciwgYmluYXJ5LCB3ZWJkcml2ZXJfYmluYXJ5PSJjaHJvbWVkcml2ZXIi
LAorICAgICAgICAgICAgICAgICB3ZWJkcml2ZXJfYXJncz1Ob25lKToKKyAgICAgICAgIiIiQ3Jl
YXRlcyBhIG5ldyByZXByZXNlbnRhdGlvbiBvZiBDaHJvbWUuICBUaGUgYGJpbmFyeWAgYXJndW1l
bnQgZ2l2ZXMKKyAgICAgICAgdGhlIGJyb3dzZXIgYmluYXJ5IHRvIHVzZSBmb3IgdGVzdGluZy4i
IiIKKyAgICAgICAgQnJvd3Nlci5fX2luaXRfXyhzZWxmLCBsb2dnZXIpCisgICAgICAgIHNlbGYu
YmluYXJ5ID0gYmluYXJ5CisgICAgICAgIHNlbGYuc2VydmVyID0gQ2hyb21lRHJpdmVyU2VydmVy
KHNlbGYubG9nZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
aW5hcnk9d2ViZHJpdmVyX2JpbmFyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYXJncz13ZWJkcml2ZXJfYXJncykKKworICAgIGRlZiBzdGFydChzZWxmKToKKyAg
ICAgICAgc2VsZi5zZXJ2ZXIuc3RhcnQoYmxvY2s9RmFsc2UpCisKKyAgICBkZWYgc3RvcChzZWxm
LCBmb3JjZT1GYWxzZSk6CisgICAgICAgIHNlbGYuc2VydmVyLnN0b3AoZm9yY2U9Zm9yY2UpCisK
KyAgICBkZWYgcGlkKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5zZXJ2ZXIucGlkCisKKyAg
ICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgICMgVE9ETyhhdG8pOiBUaGlzIG9ubHkgaW5k
aWNhdGVzIHRoZSBkcml2ZXIgaXMgYWxpdmUsCisgICAgICAgICMgYW5kIGRvZXNuJ3Qgc2F5IGFu
eXRoaW5nIGFib3V0IHdoZXRoZXIgYSBicm93c2VyIHNlc3Npb24KKyAgICAgICAgIyBpcyBhY3Rp
dmUuCisgICAgICAgIHJldHVybiBzZWxmLnNlcnZlci5pc19hbGl2ZSgpCisKKyAgICBkZWYgY2xl
YW51cChzZWxmKToKKyAgICAgICAgc2VsZi5zdG9wKCkKKworICAgIGRlZiBleGVjdXRvcl9icm93
c2VyKHNlbGYpOgorICAgICAgICByZXR1cm4gRXhlY3V0b3JCcm93c2VyLCB7IndlYmRyaXZlcl91
cmwiOiBzZWxmLnNlcnZlci51cmx9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMv
ZWRnZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9lZGdlLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1NGVk
YjNiYWIxMjQ0YzEyMTY2MzJkNzA0NzAxMWViMDgzMDE4N2EKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvZWRnZS5weQpAQCAtMCwwICsxLDc0IEBACitmcm9tIC5iYXNl
IGltcG9ydCBCcm93c2VyLCBFeGVjdXRvckJyb3dzZXIsIHJlcXVpcmVfYXJnCitmcm9tIC4ud2Vi
ZHJpdmVyX3NlcnZlciBpbXBvcnQgRWRnZURyaXZlclNlcnZlcgorZnJvbSAuLmV4ZWN1dG9ycyBp
bXBvcnQgZXhlY3V0b3Jfa3dhcmdzIGFzIGJhc2VfZXhlY3V0b3Jfa3dhcmdzCitmcm9tIC4uZXhl
Y3V0b3JzLmV4ZWN1dG9yc2VsZW5pdW0gaW1wb3J0IChTZWxlbml1bVRlc3RoYXJuZXNzRXhlY3V0
b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlbml1bVJl
ZlRlc3RFeGVjdXRvcikKKworX193cHRydW5uZXJfXyA9IHsicHJvZHVjdCI6ICJlZGdlIiwKKyAg
ICAgICAgICAgICAgICAgImNoZWNrX2FyZ3MiOiAiY2hlY2tfYXJncyIsCisgICAgICAgICAgICAg
ICAgICJicm93c2VyIjogIkVkZ2VCcm93c2VyIiwKKyAgICAgICAgICAgICAgICAgImV4ZWN1dG9y
IjogeyJ0ZXN0aGFybmVzcyI6ICJTZWxlbml1bVRlc3RoYXJuZXNzRXhlY3V0b3IiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInJlZnRlc3QiOiAiU2VsZW5pdW1SZWZUZXN0RXhlY3V0
b3IifSwKKyAgICAgICAgICAgICAgICAgImJyb3dzZXJfa3dhcmdzIjogImJyb3dzZXJfa3dhcmdz
IiwKKyAgICAgICAgICAgICAgICAgImV4ZWN1dG9yX2t3YXJncyI6ICJleGVjdXRvcl9rd2FyZ3Mi
LAorICAgICAgICAgICAgICAgICAiZW52X2V4dHJhcyI6ICJlbnZfZXh0cmFzIiwKKyAgICAgICAg
ICAgICAgICAgImVudl9vcHRpb25zIjogImVudl9vcHRpb25zIn0KKworCitkZWYgY2hlY2tfYXJn
cygqKmt3YXJncyk6CisgICAgcmVxdWlyZV9hcmcoa3dhcmdzLCAid2ViZHJpdmVyX2JpbmFyeSIp
CisKK2RlZiBicm93c2VyX2t3YXJncygqKmt3YXJncyk6CisgICAgcmV0dXJuIHsid2ViZHJpdmVy
X2JpbmFyeSI6IGt3YXJnc1sid2ViZHJpdmVyX2JpbmFyeSJdLAorICAgICAgICAgICAgIndlYmRy
aXZlcl9hcmdzIjoga3dhcmdzLmdldCgid2ViZHJpdmVyX2FyZ3MiKX0KKworZGVmIGV4ZWN1dG9y
X2t3YXJncyh0ZXN0X3R5cGUsIHNlcnZlcl9jb25maWcsIGNhY2hlX21hbmFnZXIsIHJ1bl9pbmZv
X2RhdGEsCisgICAgICAgICAgICAgICAgICAgICoqa3dhcmdzKToKKyAgICBmcm9tIHNlbGVuaXVt
LndlYmRyaXZlciBpbXBvcnQgRGVzaXJlZENhcGFiaWxpdGllcworCisgICAgZXhlY3V0b3Jfa3dh
cmdzID0gYmFzZV9leGVjdXRvcl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29uZmlnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlX21hbmFnZXIsICoq
a3dhcmdzKQorICAgIGV4ZWN1dG9yX2t3YXJnc1siY2xvc2VfYWZ0ZXJfZG9uZSJdID0gVHJ1ZQor
ICAgIGV4ZWN1dG9yX2t3YXJnc1siY2FwYWJpbGl0aWVzIl0gPSBkaWN0KERlc2lyZWRDYXBhYmls
aXRpZXMuRURHRS5pdGVtcygpKQorICAgIHJldHVybiBleGVjdXRvcl9rd2FyZ3MKKworZGVmIGVu
dl9leHRyYXMoKiprd2FyZ3MpOgorICAgIHJldHVybiBbXQorCitkZWYgZW52X29wdGlvbnMoKToK
KyAgICByZXR1cm4geyJob3N0IjogIndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAgICAgICAgICAgICJi
aW5kX2hvc3RuYW1lIjogInRydWUiLAorICAgICAgICAgICAgInN1cHBvcnRzX2RlYnVnZ2VyIjog
RmFsc2V9CisKK2NsYXNzIEVkZ2VCcm93c2VyKEJyb3dzZXIpOgorICAgIHVzZWRfcG9ydHMgPSBz
ZXQoKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgd2ViZHJpdmVyX2JpbmFyeSwg
d2ViZHJpdmVyX2FyZ3M9Tm9uZSk6CisgICAgICAgIEJyb3dzZXIuX19pbml0X18oc2VsZiwgbG9n
Z2VyKQorICAgICAgICBzZWxmLnNlcnZlciA9IEVkZ2VEcml2ZXJTZXJ2ZXIoc2VsZi5sb2dnZXIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5hcnk9d2ViZHJpdmVy
X2JpbmFyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M9d2Vi
ZHJpdmVyX2FyZ3MpCisgICAgICAgIHNlbGYud2ViZHJpdmVyX2hvc3QgPSAibG9jYWxob3N0Igor
ICAgICAgICBzZWxmLndlYmRyaXZlcl9wb3J0ID0gc2VsZi5zZXJ2ZXIucG9ydAorCisgICAgZGVm
IHN0YXJ0KHNlbGYpOgorICAgICAgICBwcmludCBzZWxmLnNlcnZlci51cmwKKyAgICAgICAgc2Vs
Zi5zZXJ2ZXIuc3RhcnQoKQorCisgICAgZGVmIHN0b3Aoc2VsZik6CisgICAgICAgIHNlbGYuc2Vy
dmVyLnN0b3AoKQorCisgICAgZGVmIHBpZChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuc2Vy
dmVyLnBpZAorCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICAjIFRPRE8oYXRvKTog
VGhpcyBvbmx5IGluZGljYXRlcyB0aGUgc2VydmVyIGlzIGFsaXZlLAorICAgICAgICAjIGFuZCBk
b2Vzbid0IHNheSBhbnl0aGluZyBhYm91dCB3aGV0aGVyIGEgYnJvd3NlciBzZXNzaW9uCisgICAg
ICAgICMgaXMgYWN0aXZlLgorICAgICAgICByZXR1cm4gc2VsZi5zZXJ2ZXIuaXNfYWxpdmUoKQor
CisgICAgZGVmIGNsZWFudXAoc2VsZik6CisgICAgICAgIHNlbGYuc3RvcCgpCisKKyAgICBkZWYg
ZXhlY3V0b3JfYnJvd3NlcihzZWxmKToKKyAgICAgICAgcmV0dXJuIEV4ZWN1dG9yQnJvd3Nlciwg
eyJ3ZWJkcml2ZXJfdXJsIjogc2VsZi5zZXJ2ZXIudXJsfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2Jyb3dzZXJzL2ZpcmVmb3gucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvZmlyZWZveC5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43MTUyZmQ3YzFjMjBjMDk5ZWQ4NzRiYzIzMmE4MTliOTk5MDU5OTllCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2ZpcmVmb3gucHkKQEAgLTAs
MCArMSwzMDggQEAKK2ltcG9ydCBvcworaW1wb3J0IHBsYXRmb3JtCitpbXBvcnQgc2lnbmFsCitp
bXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworCitpbXBvcnQgbW96aW5mbworZnJvbSBtb3pw
cm9jZXNzIGltcG9ydCBQcm9jZXNzSGFuZGxlcgorZnJvbSBtb3pwcm9maWxlIGltcG9ydCBGaXJl
Zm94UHJvZmlsZSwgUHJlZmVyZW5jZXMKK2Zyb20gbW96cHJvZmlsZS5wZXJtaXNzaW9ucyBpbXBv
cnQgU2VydmVyTG9jYXRpb25zCitmcm9tIG1venJ1bm5lciBpbXBvcnQgRmlyZWZveFJ1bm5lcgor
ZnJvbSBtb3pydW5uZXIudXRpbHMgaW1wb3J0IGdldF9zdGFja19maXhlcl9mdW5jdGlvbgorZnJv
bSBtb3pjcmFzaCBpbXBvcnQgbW96Y3Jhc2gKKworZnJvbSAuYmFzZSBpbXBvcnQgKGdldF9mcmVl
X3BvcnQsCisgICAgICAgICAgICAgICAgICAgQnJvd3NlciwKKyAgICAgICAgICAgICAgICAgICBF
eGVjdXRvckJyb3dzZXIsCisgICAgICAgICAgICAgICAgICAgcmVxdWlyZV9hcmcsCisgICAgICAg
ICAgICAgICAgICAgY21kX2FyZywKKyAgICAgICAgICAgICAgICAgICBicm93c2VyX2NvbW1hbmQp
Citmcm9tIC4uZXhlY3V0b3JzIGltcG9ydCBleGVjdXRvcl9rd2FyZ3MgYXMgYmFzZV9leGVjdXRv
cl9rd2FyZ3MKK2Zyb20gLi5leGVjdXRvcnMuZXhlY3V0b3JtYXJpb25ldHRlIGltcG9ydCAoTWFy
aW9uZXR0ZVRlc3RoYXJuZXNzRXhlY3V0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE1hcmlvbmV0dGVSZWZUZXN0RXhlY3V0b3IsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hcmlvbmV0dGVXZHNwZWNFeGVjdXRvcikK
K2Zyb20gLi5lbnZpcm9ubWVudCBpbXBvcnQgaG9zdG5hbWVzCisKKworaGVyZSA9IG9zLnBhdGgu
am9pbihvcy5wYXRoLnNwbGl0KF9fZmlsZV9fKVswXSkKKworX193cHRydW5uZXJfXyA9IHsicHJv
ZHVjdCI6ICJmaXJlZm94IiwKKyAgICAgICAgICAgICAgICAgImNoZWNrX2FyZ3MiOiAiY2hlY2tf
YXJncyIsCisgICAgICAgICAgICAgICAgICJicm93c2VyIjogIkZpcmVmb3hCcm93c2VyIiwKKyAg
ICAgICAgICAgICAgICAgImV4ZWN1dG9yIjogeyJ0ZXN0aGFybmVzcyI6ICJNYXJpb25ldHRlVGVz
dGhhcm5lc3NFeGVjdXRvciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVmdGVz
dCI6ICJNYXJpb25ldHRlUmVmVGVzdEV4ZWN1dG9yIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ3ZHNwZWMiOiAiTWFyaW9uZXR0ZVdkc3BlY0V4ZWN1dG9yIn0sCisgICAgICAgICAg
ICAgICAgICJicm93c2VyX2t3YXJncyI6ICJicm93c2VyX2t3YXJncyIsCisgICAgICAgICAgICAg
ICAgICJleGVjdXRvcl9rd2FyZ3MiOiAiZXhlY3V0b3Jfa3dhcmdzIiwKKyAgICAgICAgICAgICAg
ICAgImVudl9leHRyYXMiOiAiZW52X2V4dHJhcyIsCisgICAgICAgICAgICAgICAgICJlbnZfb3B0
aW9ucyI6ICJlbnZfb3B0aW9ucyIsCisgICAgICAgICAgICAgICAgICJydW5faW5mb19leHRyYXMi
OiAicnVuX2luZm9fZXh0cmFzIiwKKyAgICAgICAgICAgICAgICAgInVwZGF0ZV9wcm9wZXJ0aWVz
IjogInVwZGF0ZV9wcm9wZXJ0aWVzIn0KKworCitkZWYgY2hlY2tfYXJncygqKmt3YXJncyk6Cisg
ICAgcmVxdWlyZV9hcmcoa3dhcmdzLCAiYmluYXJ5IikKKyAgICBpZiBrd2FyZ3NbInNzbF90eXBl
Il0gIT0gIm5vbmUiOgorICAgICAgICByZXF1aXJlX2FyZyhrd2FyZ3MsICJjZXJ0dXRpbF9iaW5h
cnkiKQorCisKK2RlZiBicm93c2VyX2t3YXJncygqKmt3YXJncyk6CisgICAgcmV0dXJuIHsiYmlu
YXJ5Ijoga3dhcmdzWyJiaW5hcnkiXSwKKyAgICAgICAgICAgICJwcmVmc19yb290Ijoga3dhcmdz
WyJwcmVmc19yb290Il0sCisgICAgICAgICAgICAiZXh0cmFfcHJlZnMiOiBrd2FyZ3NbImV4dHJh
X3ByZWZzIl0sCisgICAgICAgICAgICAiZGVidWdfaW5mbyI6IGt3YXJnc1siZGVidWdfaW5mbyJd
LAorICAgICAgICAgICAgInN5bWJvbHNfcGF0aCI6IGt3YXJnc1sic3ltYm9sc19wYXRoIl0sCisg
ICAgICAgICAgICAic3RhY2t3YWxrX2JpbmFyeSI6IGt3YXJnc1sic3RhY2t3YWxrX2JpbmFyeSJd
LAorICAgICAgICAgICAgImNlcnR1dGlsX2JpbmFyeSI6IGt3YXJnc1siY2VydHV0aWxfYmluYXJ5
Il0sCisgICAgICAgICAgICAiY2FfY2VydGlmaWNhdGVfcGF0aCI6IGt3YXJnc1sic3NsX2VudiJd
LmNhX2NlcnRfcGF0aCgpLAorICAgICAgICAgICAgImUxMHMiOiBrd2FyZ3NbImdlY2tvX2UxMHMi
XSwKKyAgICAgICAgICAgICJzdGFja2ZpeF9kaXIiOiBrd2FyZ3NbInN0YWNrZml4X2RpciJdLAor
ICAgICAgICAgICAgImJpbmFyeV9hcmdzIjoga3dhcmdzWyJiaW5hcnlfYXJncyJdfQorCisKK2Rl
ZiBleGVjdXRvcl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29uZmlnLCBjYWNoZV9tYW5hZ2Vy
LCBydW5faW5mb19kYXRhLAorICAgICAgICAgICAgICAgICAgICAqKmt3YXJncyk6CisgICAgZXhl
Y3V0b3Jfa3dhcmdzID0gYmFzZV9leGVjdXRvcl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29u
ZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlX21h
bmFnZXIsICoqa3dhcmdzKQorICAgIGV4ZWN1dG9yX2t3YXJnc1siY2xvc2VfYWZ0ZXJfZG9uZSJd
ID0gdGVzdF90eXBlICE9ICJyZWZ0ZXN0IgorICAgIGlmIGt3YXJnc1sidGltZW91dF9tdWx0aXBs
aWVyIl0gaXMgTm9uZToKKyAgICAgICAgaWYgdGVzdF90eXBlID09ICJyZWZ0ZXN0IjoKKyAgICAg
ICAgICAgIGlmIHJ1bl9pbmZvX2RhdGFbImRlYnVnIl0gb3IgcnVuX2luZm9fZGF0YS5nZXQoImFz
YW4iKToKKyAgICAgICAgICAgICAgICBleGVjdXRvcl9rd2FyZ3NbInRpbWVvdXRfbXVsdGlwbGll
ciJdID0gNAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBleGVjdXRvcl9rd2Fy
Z3NbInRpbWVvdXRfbXVsdGlwbGllciJdID0gMgorICAgICAgICBlbGlmIHJ1bl9pbmZvX2RhdGFb
ImRlYnVnIl0gb3IgcnVuX2luZm9fZGF0YS5nZXQoImFzYW4iKToKKyAgICAgICAgICAgIGV4ZWN1
dG9yX2t3YXJnc1sidGltZW91dF9tdWx0aXBsaWVyIl0gPSAzCisgICAgaWYgdGVzdF90eXBlID09
ICJ3ZHNwZWMiOgorICAgICAgICBleGVjdXRvcl9rd2FyZ3NbImJpbmFyeSJdID0ga3dhcmdzWyJi
aW5hcnkiXQorICAgICAgICBleGVjdXRvcl9rd2FyZ3NbIndlYmRyaXZlcl9iaW5hcnkiXSA9IGt3
YXJncy5nZXQoIndlYmRyaXZlcl9iaW5hcnkiKQorICAgICAgICBleGVjdXRvcl9rd2FyZ3NbIndl
YmRyaXZlcl9hcmdzIl0gPSBrd2FyZ3MuZ2V0KCJ3ZWJkcml2ZXJfYXJncyIpCisgICAgICAgIGZ4
T3B0aW9ucyA9IHt9CisgICAgICAgIGlmIGt3YXJnc1siYmluYXJ5Il06CisgICAgICAgICAgICBm
eE9wdGlvbnNbImJpbmFyeSJdID0ga3dhcmdzWyJiaW5hcnkiXQorICAgICAgICBpZiBrd2FyZ3Nb
ImJpbmFyeV9hcmdzIl06CisgICAgICAgICAgICBmeE9wdGlvbnNbImFyZ3MiXSA9IGt3YXJnc1si
YmluYXJ5X2FyZ3MiXQorICAgICAgICBmeE9wdGlvbnNbInByZWZzIl0gPSB7CisgICAgICAgICAg
ICAibmV0d29yay5kbnMubG9jYWxEb21haW5zIjogIiwiLmpvaW4oaG9zdG5hbWVzKQorICAgICAg
ICB9CisgICAgICAgIGNhcGFiaWxpdGllcyA9IHsibW96OmZpcmVmb3hPcHRpb25zIjogZnhPcHRp
b25zfQorICAgICAgICBleGVjdXRvcl9rd2FyZ3NbImNhcGFiaWxpdGllcyJdID0gY2FwYWJpbGl0
aWVzCisgICAgcmV0dXJuIGV4ZWN1dG9yX2t3YXJncworCisKK2RlZiBlbnZfZXh0cmFzKCoqa3dh
cmdzKToKKyAgICByZXR1cm4gW10KKworCitkZWYgZW52X29wdGlvbnMoKToKKyAgICByZXR1cm4g
eyJob3N0IjogIjEyNy4wLjAuMSIsCisgICAgICAgICAgICAiZXh0ZXJuYWxfaG9zdCI6ICJ3ZWIt
cGxhdGZvcm0udGVzdCIsCisgICAgICAgICAgICAiYmluZF9ob3N0bmFtZSI6ICJmYWxzZSIsCisg
ICAgICAgICAgICAiY2VydGlmaWNhdGVfZG9tYWluIjogIndlYi1wbGF0Zm9ybS50ZXN0IiwKKyAg
ICAgICAgICAgICJzdXBwb3J0c19kZWJ1Z2dlciI6IFRydWV9CisKKworZGVmIHJ1bl9pbmZvX2V4
dHJhcygqKmt3YXJncyk6CisgICAgcmV0dXJuIHsiZTEwcyI6IGt3YXJnc1siZ2Vja29fZTEwcyJd
fQorCisKK2RlZiB1cGRhdGVfcHJvcGVydGllcygpOgorICAgIHJldHVybiBbImRlYnVnIiwgImUx
MHMiLCAib3MiLCAidmVyc2lvbiIsICJwcm9jZXNzb3IiLCAiYml0cyJdLCB7ImRlYnVnIiwgImUx
MHMifQorCisKK2NsYXNzIEZpcmVmb3hCcm93c2VyKEJyb3dzZXIpOgorICAgIHVzZWRfcG9ydHMg
PSBzZXQoKQorICAgIGluaXRfdGltZW91dCA9IDYwCisgICAgc2h1dGRvd25fdGltZW91dCA9IDYw
CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBiaW5hcnksIHByZWZzX3Jvb3QsIGV4
dHJhX3ByZWZzPU5vbmUsIGRlYnVnX2luZm89Tm9uZSwKKyAgICAgICAgICAgICAgICAgc3ltYm9s
c19wYXRoPU5vbmUsIHN0YWNrd2Fsa19iaW5hcnk9Tm9uZSwgY2VydHV0aWxfYmluYXJ5PU5vbmUs
CisgICAgICAgICAgICAgICAgIGNhX2NlcnRpZmljYXRlX3BhdGg9Tm9uZSwgZTEwcz1GYWxzZSwg
c3RhY2tmaXhfZGlyPU5vbmUsCisgICAgICAgICAgICAgICAgIGJpbmFyeV9hcmdzPU5vbmUpOgor
ICAgICAgICBCcm93c2VyLl9faW5pdF9fKHNlbGYsIGxvZ2dlcikKKyAgICAgICAgc2VsZi5iaW5h
cnkgPSBiaW5hcnkKKyAgICAgICAgc2VsZi5wcmVmc19yb290ID0gcHJlZnNfcm9vdAorICAgICAg
ICBzZWxmLmV4dHJhX3ByZWZzID0gZXh0cmFfcHJlZnMKKyAgICAgICAgc2VsZi5tYXJpb25ldHRl
X3BvcnQgPSBOb25lCisgICAgICAgIHNlbGYucnVubmVyID0gTm9uZQorICAgICAgICBzZWxmLmRl
YnVnX2luZm8gPSBkZWJ1Z19pbmZvCisgICAgICAgIHNlbGYucHJvZmlsZSA9IE5vbmUKKyAgICAg
ICAgc2VsZi5zeW1ib2xzX3BhdGggPSBzeW1ib2xzX3BhdGgKKyAgICAgICAgc2VsZi5zdGFja3dh
bGtfYmluYXJ5ID0gc3RhY2t3YWxrX2JpbmFyeQorICAgICAgICBzZWxmLmNhX2NlcnRpZmljYXRl
X3BhdGggPSBjYV9jZXJ0aWZpY2F0ZV9wYXRoCisgICAgICAgIHNlbGYuY2VydHV0aWxfYmluYXJ5
ID0gY2VydHV0aWxfYmluYXJ5CisgICAgICAgIHNlbGYuZTEwcyA9IGUxMHMKKyAgICAgICAgc2Vs
Zi5iaW5hcnlfYXJncyA9IGJpbmFyeV9hcmdzCisgICAgICAgIGlmIHNlbGYuc3ltYm9sc19wYXRo
IGFuZCBzdGFja2ZpeF9kaXI6CisgICAgICAgICAgICBzZWxmLnN0YWNrX2ZpeGVyID0gZ2V0X3N0
YWNrX2ZpeGVyX2Z1bmN0aW9uKHN0YWNrZml4X2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zeW1ib2xzX3BhdGgpCisgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnN0YWNrX2ZpeGVyID0gTm9uZQorCisgICAgZGVm
IHN0YXJ0KHNlbGYpOgorICAgICAgICBzZWxmLm1hcmlvbmV0dGVfcG9ydCA9IGdldF9mcmVlX3Bv
cnQoMjgyOCwgZXhjbHVkZT1zZWxmLnVzZWRfcG9ydHMpCisgICAgICAgIHNlbGYudXNlZF9wb3J0
cy5hZGQoc2VsZi5tYXJpb25ldHRlX3BvcnQpCisKKyAgICAgICAgZW52ID0gb3MuZW52aXJvbi5j
b3B5KCkKKyAgICAgICAgZW52WyJNT1pfRElTQUJMRV9OT05MT0NBTF9DT05ORUNUSU9OUyJdID0g
IjEiCisKKyAgICAgICAgbG9jYXRpb25zID0gU2VydmVyTG9jYXRpb25zKGZpbGVuYW1lPW9zLnBh
dGguam9pbihoZXJlLCAic2VydmVyLWxvY2F0aW9ucy50eHQiKSkKKworICAgICAgICBwcmVmZXJl
bmNlcyA9IHNlbGYubG9hZF9wcmVmcygpCisKKyAgICAgICAgc2VsZi5wcm9maWxlID0gRmlyZWZv
eFByb2ZpbGUobG9jYXRpb25zPWxvY2F0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcHJlZmVyZW5jZXM9cHJlZmVyZW5jZXMpCisgICAgICAgIHNlbGYucHJvZmls
ZS5zZXRfcHJlZmVyZW5jZXMoeyJtYXJpb25ldHRlLmVuYWJsZWQiOiBUcnVlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWFyaW9uZXR0ZS5wb3J0Ijogc2VsZi5tYXJp
b25ldHRlX3BvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb20u
ZGlzYWJsZV9vcGVuX2R1cmluZ19sb2FkIjogRmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJuZXR3b3JrLmRucy5sb2NhbERvbWFpbnMiOiAiLCIuam9pbihob3N0
bmFtZXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmV0d29yay5w
cm94eS50eXBlIjogMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBs
YWNlcy5oaXN0b3J5LmVuYWJsZWQiOiBGYWxzZX0pCisgICAgICAgIGlmIHNlbGYuZTEwczoKKyAg
ICAgICAgICAgIHNlbGYucHJvZmlsZS5zZXRfcHJlZmVyZW5jZXMoeyJicm93c2VyLnRhYnMucmVt
b3RlLmF1dG9zdGFydCI6IFRydWV9KQorCisgICAgICAgICMgQnVnIDEyNjI5NTQ6IHdpbnhwICsg
ZTEwcywgZGlzYWJsZSBod2FjY2VsCisgICAgICAgIGlmIChzZWxmLmUxMHMgYW5kIHBsYXRmb3Jt
LnN5c3RlbSgpIGluICgiV2luZG93cyIsICJNaWNyb3NvZnQiKSBhbmQKKyAgICAgICAgICAgICc1
LjEnIGluIHBsYXRmb3JtLnZlcnNpb24oKSk6CisgICAgICAgICAgICBzZWxmLnByb2ZpbGUuc2V0
X3ByZWZlcmVuY2VzKHsibGF5ZXJzLmFjY2VsZXJhdGlvbi5kaXNhYmxlZCI6IFRydWV9KQorCisg
ICAgICAgIGlmIHNlbGYuY2FfY2VydGlmaWNhdGVfcGF0aCBpcyBub3QgTm9uZToKKyAgICAgICAg
ICAgIHNlbGYuc2V0dXBfc3NsKCkKKworICAgICAgICBkZWJ1Z19hcmdzLCBjbWQgPSBicm93c2Vy
X2NvbW1hbmQoc2VsZi5iaW5hcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxmLmJpbmFyeV9hcmdzIGlmIHNlbGYuYmluYXJ5X2FyZ3MgZWxzZSBbXSArCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY21kX2FyZygibWFyaW9u
ZXR0ZSIpLCAiYWJvdXQ6YmxhbmsiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlbGYuZGVidWdfaW5mbykKKworICAgICAgICBzZWxmLnJ1bm5lciA9IEZpcmVm
b3hSdW5uZXIocHJvZmlsZT1zZWxmLnByb2ZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBiaW5hcnk9Y21kWzBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY21kYXJncz1jbWRbMTpdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZW52PWVudiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Nf
Y2xhc3M9UHJvY2Vzc0hhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwcm9jZXNzX2FyZ3M9eyJwcm9jZXNzT3V0cHV0TGluZSI6IFtzZWxmLm9uX291dHB1dF19KQor
CisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJTdGFydGluZyBGaXJlZm94IikKKworICAgICAg
ICBzZWxmLnJ1bm5lci5zdGFydChkZWJ1Z19hcmdzPWRlYnVnX2FyZ3MsIGludGVyYWN0aXZlPXNl
bGYuZGVidWdfaW5mbyBhbmQgc2VsZi5kZWJ1Z19pbmZvLmludGVyYWN0aXZlKQorICAgICAgICBz
ZWxmLmxvZ2dlci5kZWJ1ZygiRmlyZWZveCBTdGFydGVkIikKKworICAgIGRlZiBsb2FkX3ByZWZz
KHNlbGYpOgorICAgICAgICBwcmVmcyA9IFByZWZlcmVuY2VzKCkKKworICAgICAgICBwcmVmc19w
YXRoID0gb3MucGF0aC5qb2luKHNlbGYucHJlZnNfcm9vdCwgInByZWZzX2dlbmVyYWwuanMiKQor
ICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwcmVmc19wYXRoKToKKyAgICAgICAgICAgIHByZWZz
LmFkZChQcmVmZXJlbmNlcy5yZWFkX3ByZWZzKHByZWZzX3BhdGgpKQorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgc2VsZi5sb2dnZXIud2FybmluZygiRmFpbGVkIHRvIGZpbmQgYmFzZSBwcmVm
cyBmaWxlIGluICVzIiAlIHByZWZzX3BhdGgpCisKKyAgICAgICAgIyBBZGQgYW55IGN1c3RvbSBw
cmVmZXJlbmNlcworICAgICAgICBwcmVmcy5hZGQoc2VsZi5leHRyYV9wcmVmcywgY2FzdD1UcnVl
KQorCisgICAgICAgIHJldHVybiBwcmVmcygpCisKKyAgICBkZWYgc3RvcChzZWxmLCBmb3JjZT1G
YWxzZSk6CisgICAgICAgIGlmIHNlbGYucnVubmVyIGlzIG5vdCBOb25lIGFuZCBzZWxmLnJ1bm5l
ci5pc19ydW5uaW5nKCk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIyBGb3Ig
RmlyZWZveCB3ZSBhc3N1bWUgdGhhdCBzdG9wcGluZyB0aGUgcnVubmVyIHByb21wdHMgdGhlCisg
ICAgICAgICAgICAgICAgIyBicm93c2VyIHRvIHNodXQgZG93bi4gVGhpcyBhbGxvd3MgdGhlIGxl
YWsgbG9nIHRvIGJlIHdyaXR0ZW4KKyAgICAgICAgICAgICAgICBmb3IgY2xlYW4sIHN0b3BfZiBp
biBbKFRydWUsIGxhbWJkYTogc2VsZi5ydW5uZXIud2FpdChzZWxmLnNodXRkb3duX3RpbWVvdXQp
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEZhbHNlLCBsYW1iZGE6
IHNlbGYucnVubmVyLnN0b3Aoc2lnbmFsLlNJR1RFUk0pKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKEZhbHNlLCBsYW1iZGE6IHNlbGYucnVubmVyLnN0b3Aoc2lnbmFs
LlNJR0tJTEwpKV06CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBmb3JjZSBvciBub3QgY2xl
YW46CisgICAgICAgICAgICAgICAgICAgICAgICByZXRjb2RlID0gc3RvcF9mKCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIHJldGNvZGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiQnJvd3NlciBleGl0ZWQgd2l0aCByZXR1cm4g
Y29kZSAlcyIgJSByZXRjb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisg
ICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICAjIFRoaXMgY2FuIGhh
cHBlbiBvbiBXaW5kb3dzIGlmIHRoZSBwcm9jZXNzIGlzIGFscmVhZHkgZGVhZAorICAgICAgICAg
ICAgICAgIHBhc3MKKworICAgIGRlZiBwaWQoc2VsZik6CisgICAgICAgIGlmIHNlbGYucnVubmVy
LnByb2Nlc3NfaGFuZGxlciBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAg
ICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5ydW5uZXIucHJvY2Vzc19oYW5kbGVy
LnBpZAorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICByZXR1cm4g
Tm9uZQorCisgICAgZGVmIG9uX291dHB1dChzZWxmLCBsaW5lKToKKyAgICAgICAgIiIiV3JpdGUg
YSBsaW5lIG9mIG91dHB1dCBmcm9tIHRoZSBmaXJlZm94IHByb2Nlc3MgdG8gdGhlIGxvZyIiIgor
ICAgICAgICBkYXRhID0gbGluZS5kZWNvZGUoInV0ZjgiLCAicmVwbGFjZSIpCisgICAgICAgIGlm
IHNlbGYuc3RhY2tfZml4ZXI6CisgICAgICAgICAgICBkYXRhID0gc2VsZi5zdGFja19maXhlcihk
YXRhKQorICAgICAgICBzZWxmLmxvZ2dlci5wcm9jZXNzX291dHB1dChzZWxmLnBpZCgpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb21tYW5kPSIgIi5qb2luKHNlbGYucnVubmVyLmNvbW1hbmQpKQor
CisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICBpZiBzZWxmLnJ1bm5lcjoKKyAgICAg
ICAgICAgIHJldHVybiBzZWxmLnJ1bm5lci5pc19ydW5uaW5nKCkKKyAgICAgICAgcmV0dXJuIEZh
bHNlCisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgc2VsZi5zdG9wKCkKKworICAg
IGRlZiBleGVjdXRvcl9icm93c2VyKHNlbGYpOgorICAgICAgICBhc3NlcnQgc2VsZi5tYXJpb25l
dHRlX3BvcnQgaXMgbm90IE5vbmUKKyAgICAgICAgcmV0dXJuIEV4ZWN1dG9yQnJvd3NlciwgeyJt
YXJpb25ldHRlX3BvcnQiOiBzZWxmLm1hcmlvbmV0dGVfcG9ydH0KKworICAgIGRlZiBsb2dfY3Jh
c2goc2VsZiwgcHJvY2VzcywgdGVzdCk6CisgICAgICAgIGR1bXBfZGlyID0gb3MucGF0aC5qb2lu
KHNlbGYucHJvZmlsZS5wcm9maWxlLCAibWluaWR1bXBzIikKKworICAgICAgICBtb3pjcmFzaC5s
b2dfY3Jhc2hlcyhzZWxmLmxvZ2dlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVt
cF9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbHNfcGF0aD1zZWxmLnN5
bWJvbHNfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2t3YWxrX2JpbmFy
eT1zZWxmLnN0YWNrd2Fsa19iaW5hcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBy
b2Nlc3M9cHJvY2VzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdD10ZXN0KQor
CisgICAgZGVmIHNldHVwX3NzbChzZWxmKToKKyAgICAgICAgIiIiQ3JlYXRlIGEgY2VydGlmaWNh
dGUgZGF0YWJhc2UgdG8gdXNlIGluIHRoZSB0ZXN0IHByb2ZpbGUuIFRoaXMgaXMgY29uZmlndXJl
ZAorICAgICAgICB0byB0cnVzdCB0aGUgQ0EgQ2VydGlmaWNhdGUgdGhhdCBoYXMgc2lnbmVkIHRo
ZSB3ZWItcGxhdGZvcm0udGVzdCBzZXJ2ZXIKKyAgICAgICAgY2VydGlmaWNhdGUuIiIiCisKKyAg
ICAgICAgc2VsZi5sb2dnZXIuaW5mbygiU2V0dGluZyB1cCBzc2wiKQorCisgICAgICAgICMgTWFr
ZSBzdXJlIHRoZSBjZXJ0dXRpbCBsaWJyYXJpZXMgZnJvbSB0aGUgc291cmNlIHRyZWUgYXJlIGxv
YWRlZCB3aGVuIHVzaW5nIGEKKyAgICAgICAgIyBsb2NhbCBjb3B5IG9mIGNlcnR1dGlsCisgICAg
ICAgICMgVE9ETzogTWF5YmUgb25seSBzZXQgdGhpcyBpZiBjZXJ0dXRpbCB3b24ndCBsYXVuY2g/
CisgICAgICAgIGVudiA9IG9zLmVudmlyb24uY29weSgpCisgICAgICAgIGNlcnR1dGlsX2RpciA9
IG9zLnBhdGguZGlybmFtZShzZWxmLmJpbmFyeSkKKyAgICAgICAgaWYgbW96aW5mby5pc01hYzoK
KyAgICAgICAgICAgIGVudl92YXIgPSAiRFlMRF9MSUJSQVJZX1BBVEgiCisgICAgICAgIGVsaWYg
bW96aW5mby5pc1VuaXg6CisgICAgICAgICAgICBlbnZfdmFyID0gIkxEX0xJQlJBUllfUEFUSCIK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGVudl92YXIgPSAiUEFUSCIKKworCisgICAgICAg
IGVudltlbnZfdmFyXSA9IChvcy5wYXRoLnBhdGhzZXAuam9pbihbY2VydHV0aWxfZGlyLCBlbnZb
ZW52X3Zhcl1dKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgZW52X3ZhciBpbiBlbnYgZWxz
ZSBjZXJ0dXRpbF9kaXIpLmVuY29kZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3lzLmdldGZpbGVzeXN0ZW1lbmNvZGluZygpIG9yICd1dGYtOCcsICdyZXBsYWNlJykKKworICAg
ICAgICBkZWYgY2VydHV0aWwoKmFyZ3MpOgorICAgICAgICAgICAgY21kID0gW3NlbGYuY2VydHV0
aWxfYmluYXJ5XSArIGxpc3QoYXJncykKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLnByb2Nlc3Nf
b3V0cHV0KCJjZXJ0dXRpbCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChjbWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9ZW52LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rk
ZXJyPXN1YnByb2Nlc3MuU1RET1VUKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICIgIi5qb2luKGNtZCkpCisKKyAgICAgICAgcHdfcGF0aCA9IG9zLnBhdGguam9pbihz
ZWxmLnByb2ZpbGUucHJvZmlsZSwgIi5jcnRkYnB3IikKKyAgICAgICAgd2l0aCBvcGVuKHB3X3Bh
dGgsICJ3IikgYXMgZjoKKyAgICAgICAgICAgICMgVXNlIGVtcHR5IHBhc3N3b3JkIGZvciBjZXJ0
aWZpY2F0ZSBkYgorICAgICAgICAgICAgZi53cml0ZSgiXG4iKQorCisgICAgICAgIGNlcnRfZGJf
cGF0aCA9IHNlbGYucHJvZmlsZS5wcm9maWxlCisKKyAgICAgICAgIyBDcmVhdGUgYSBuZXcgY2Vy
dGlmaWNhdGUgZGIKKyAgICAgICAgY2VydHV0aWwoIi1OIiwgIi1kIiwgY2VydF9kYl9wYXRoLCAi
LWYiLCBwd19wYXRoKQorCisgICAgICAgICMgQWRkIHRoZSBDQSBjZXJ0aWZpY2F0ZSB0byB0aGUg
ZGF0YWJhc2UgYW5kIG1hcmsgYXMgdHJ1c3RlZCB0byBpc3N1ZSBzZXJ2ZXIgY2VydHMKKyAgICAg
ICAgY2VydHV0aWwoIi1BIiwgIi1kIiwgY2VydF9kYl9wYXRoLCAiLWYiLCBwd19wYXRoLCAiLXQi
LCAiQ1QsLCIsCisgICAgICAgICAgICAgICAgICItbiIsICJ3ZWItcGxhdGZvcm0tdGVzdHMiLCAi
LWkiLCBzZWxmLmNhX2NlcnRpZmljYXRlX3BhdGgpCisKKyAgICAgICAgIyBMaXN0IGFsbCBjZXJ0
cyBpbiB0aGUgZGF0YWJhc2UKKyAgICAgICAgY2VydHV0aWwoIi1MIiwgIi1kIiwgY2VydF9kYl9w
YXRoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlLnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL2Jyb3dzZXJzL3NhdWNlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczMDBiNmFmZWZiOGI1ZmViY2Ux
NTY0OGZiZGFjMzIzOTA3OWVkZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJv
d3NlcnMvc2F1Y2UucHkKQEAgLTAsMCArMSwyMDggQEAKKyMgVGhpcyBTb3VyY2UgQ29kZSBGb3Jt
IGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpYworIyBMaWNlbnNl
LCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0
aGlzIGZpbGUsCisjIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBM
LzIuMC8uCisKK2ltcG9ydCBnbG9iCitpbXBvcnQgb3MKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCBz
dWJwcm9jZXNzCitpbXBvcnQgdGFyZmlsZQoraW1wb3J0IHRlbXBmaWxlCitpbXBvcnQgdGltZQor
ZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPIGFzIENTdHJpbmdJTworCitpbXBvcnQgcmVx
dWVzdHMKKworZnJvbSAuYmFzZSBpbXBvcnQgQnJvd3NlciwgRXhlY3V0b3JCcm93c2VyLCByZXF1
aXJlX2FyZworZnJvbSAuLmV4ZWN1dG9ycyBpbXBvcnQgZXhlY3V0b3Jfa3dhcmdzIGFzIGJhc2Vf
ZXhlY3V0b3Jfa3dhcmdzCitmcm9tIC4uZXhlY3V0b3JzLmV4ZWN1dG9yc2VsZW5pdW0gaW1wb3J0
IChTZWxlbml1bVRlc3RoYXJuZXNzRXhlY3V0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTZWxlbml1bVJlZlRlc3RFeGVjdXRvcikKKworaGVyZSA9IG9zLnBh
dGguc3BsaXQoX19maWxlX18pWzBdCisKKworX193cHRydW5uZXJfXyA9IHsicHJvZHVjdCI6ICJz
YXVjZSIsCisgICAgICAgICAgICAgICAgICJjaGVja19hcmdzIjogImNoZWNrX2FyZ3MiLAorICAg
ICAgICAgICAgICAgICAiYnJvd3NlciI6ICJTYXVjZUJyb3dzZXIiLAorICAgICAgICAgICAgICAg
ICAiZXhlY3V0b3IiOiB7InRlc3RoYXJuZXNzIjogIlNlbGVuaXVtVGVzdGhhcm5lc3NFeGVjdXRv
ciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVmdGVzdCI6ICJTZWxlbml1bVJl
ZlRlc3RFeGVjdXRvciJ9LAorICAgICAgICAgICAgICAgICAiYnJvd3Nlcl9rd2FyZ3MiOiAiYnJv
d3Nlcl9rd2FyZ3MiLAorICAgICAgICAgICAgICAgICAiZXhlY3V0b3Jfa3dhcmdzIjogImV4ZWN1
dG9yX2t3YXJncyIsCisgICAgICAgICAgICAgICAgICJlbnZfZXh0cmFzIjogImVudl9leHRyYXMi
LAorICAgICAgICAgICAgICAgICAiZW52X29wdGlvbnMiOiAiZW52X29wdGlvbnMifQorCisKK2Rl
ZiBnZXRfY2FwYWJpbGl0aWVzKCoqa3dhcmdzKToKKyAgICBicm93c2VyX25hbWUgPSBrd2FyZ3Nb
InNhdWNlX2Jyb3dzZXIiXQorICAgIHBsYXRmb3JtID0ga3dhcmdzWyJzYXVjZV9wbGF0Zm9ybSJd
CisgICAgdmVyc2lvbiA9IGt3YXJnc1sic2F1Y2VfdmVyc2lvbiJdCisgICAgYnVpbGQgPSBrd2Fy
Z3NbInNhdWNlX2J1aWxkIl0KKyAgICB0YWdzID0ga3dhcmdzWyJzYXVjZV90YWdzIl0KKyAgICB0
dW5uZWxfaWQgPSBrd2FyZ3NbInNhdWNlX3R1bm5lbF9pZCJdCisgICAgcHJlcnVuX3NjcmlwdCA9
IHsKKyAgICAgICAgIk1pY3Jvc29mdEVkZ2UiOiB7CisgICAgICAgICAgICAiZXhlY3V0YWJsZSI6
ICJzYXVjZS1zdG9yYWdlOmVkZ2UtcHJlcnVuLmJhdCIsCisgICAgICAgICAgICAiYmFja2dyb3Vu
ZCI6IEZhbHNlLAorICAgICAgICB9LAorICAgICAgICAic2FmYXJpIjogeworICAgICAgICAgICAg
ImV4ZWN1dGFibGUiOiAic2F1Y2Utc3RvcmFnZTpzYWZhcmktcHJlcnVuLnNoIiwKKyAgICAgICAg
ICAgICJiYWNrZ3JvdW5kIjogRmFsc2UsCisgICAgICAgIH0KKyAgICB9CisgICAgY2FwYWJpbGl0
aWVzID0geworICAgICAgICAiYnJvd3Nlck5hbWUiOiBicm93c2VyX25hbWUsCisgICAgICAgICJi
dWlsZCI6IGJ1aWxkLAorICAgICAgICAiZGlzYWJsZVBvcHVwSGFuZGxlciI6IFRydWUsCisgICAg
ICAgICJuYW1lIjogIiVzICVzIG9uICVzIiAlIChicm93c2VyX25hbWUsIHZlcnNpb24sIHBsYXRm
b3JtKSwKKyAgICAgICAgInBsYXRmb3JtIjogcGxhdGZvcm0sCisgICAgICAgICJwdWJsaWMiOiAi
cHVibGljIiwKKyAgICAgICAgInNlbGVuaXVtLXZlcnNpb24iOiAiMy4zLjEiLAorICAgICAgICAi
dGFncyI6IHRhZ3MsCisgICAgICAgICJ0dW5uZWwtaWRlbnRpZmllciI6IHR1bm5lbF9pZCwKKyAg
ICAgICAgInZlcnNpb24iOiB2ZXJzaW9uLAorICAgICAgICAicHJlcnVuIjogcHJlcnVuX3Njcmlw
dC5nZXQoYnJvd3Nlcl9uYW1lKQorICAgIH0KKworICAgIGlmIGJyb3dzZXJfbmFtZSA9PSAnTWlj
cm9zb2Z0RWRnZSc6CisgICAgICAgIGNhcGFiaWxpdGllc1snc2VsZW5pdW0tdmVyc2lvbiddID0g
JzIuNC44JworCisgICAgcmV0dXJuIGNhcGFiaWxpdGllcworCisKK2RlZiBnZXRfc2F1Y2VfY29u
ZmlnKCoqa3dhcmdzKToKKyAgICBicm93c2VyX25hbWUgPSBrd2FyZ3NbInNhdWNlX2Jyb3dzZXIi
XQorICAgIHNhdWNlX3VzZXIgPSBrd2FyZ3NbInNhdWNlX3VzZXIiXQorICAgIHNhdWNlX2tleSA9
IGt3YXJnc1sic2F1Y2Vfa2V5Il0KKworICAgIGh1Yl91cmwgPSAiJXM6JXNAbG9jYWxob3N0OjQ0
NDUiICUgKHNhdWNlX3VzZXIsIHNhdWNlX2tleSkKKyAgICBkYXRhID0geworICAgICAgICAidXJs
IjogImh0dHA6Ly8lcy93ZC9odWIiICUgaHViX3VybCwKKyAgICAgICAgImJyb3dzZXJOYW1lIjog
YnJvd3Nlcl9uYW1lLAorICAgICAgICAiY2FwYWJpbGl0aWVzIjogZ2V0X2NhcGFiaWxpdGllcygq
Kmt3YXJncykKKyAgICB9CisKKyAgICByZXR1cm4gZGF0YQorCisKK2RlZiBjaGVja19hcmdzKCoq
a3dhcmdzKToKKyAgICByZXF1aXJlX2FyZyhrd2FyZ3MsICJzYXVjZV9icm93c2VyIikKKyAgICBy
ZXF1aXJlX2FyZyhrd2FyZ3MsICJzYXVjZV9wbGF0Zm9ybSIpCisgICAgcmVxdWlyZV9hcmcoa3dh
cmdzLCAic2F1Y2VfdmVyc2lvbiIpCisgICAgcmVxdWlyZV9hcmcoa3dhcmdzLCAic2F1Y2VfdXNl
ciIpCisgICAgcmVxdWlyZV9hcmcoa3dhcmdzLCAic2F1Y2Vfa2V5IikKKworCitkZWYgYnJvd3Nl
cl9rd2FyZ3MoKiprd2FyZ3MpOgorICAgIHNhdWNlX2NvbmZpZyA9IGdldF9zYXVjZV9jb25maWco
Kiprd2FyZ3MpCisKKyAgICByZXR1cm4geyJzYXVjZV9jb25maWciOiBzYXVjZV9jb25maWd9CisK
KworZGVmIGV4ZWN1dG9yX2t3YXJncyh0ZXN0X3R5cGUsIHNlcnZlcl9jb25maWcsIGNhY2hlX21h
bmFnZXIsIHJ1bl9pbmZvX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICoqa3dhcmdzKToKKyAg
ICBleGVjdXRvcl9rd2FyZ3MgPSBiYXNlX2V4ZWN1dG9yX2t3YXJncyh0ZXN0X3R5cGUsIHNlcnZl
cl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fj
aGVfbWFuYWdlciwgKiprd2FyZ3MpCisKKyAgICBleGVjdXRvcl9rd2FyZ3NbImNhcGFiaWxpdGll
cyJdID0gZ2V0X2NhcGFiaWxpdGllcygqKmt3YXJncykKKworICAgIHJldHVybiBleGVjdXRvcl9r
d2FyZ3MKKworCitkZWYgZW52X2V4dHJhcygqKmt3YXJncyk6CisgICAgcmV0dXJuIFtTYXVjZUNv
bm5lY3QoKiprd2FyZ3MpXQorCisKK2RlZiBlbnZfb3B0aW9ucygpOgorICAgIHJldHVybiB7Imhv
c3QiOiAid2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgImJpbmRfaG9zdG5hbWUiOiAi
dHJ1ZSIsCisgICAgICAgICAgICAic3VwcG9ydHNfZGVidWdnZXIiOiBGYWxzZX0KKworCitkZWYg
Z2V0X3Rhcih1cmwsIGRlc3QpOgorICAgIHJlc3AgPSByZXF1ZXN0cy5nZXQodXJsLCBzdHJlYW09
VHJ1ZSkKKyAgICByZXNwLnJhaXNlX2Zvcl9zdGF0dXMoKQorICAgIHdpdGggdGFyZmlsZS5vcGVu
KGZpbGVvYmo9Q1N0cmluZ0lPKHJlc3AucmF3LnJlYWQoKSkpIGFzIGY6CisgICAgICAgIGYuZXh0
cmFjdGFsbChwYXRoPWRlc3QpCisKKworY2xhc3MgU2F1Y2VDb25uZWN0KCk6CisKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnNhdWNlX3VzZXIgPSBrd2Fy
Z3NbInNhdWNlX3VzZXIiXQorICAgICAgICBzZWxmLnNhdWNlX2tleSA9IGt3YXJnc1sic2F1Y2Vf
a2V5Il0KKyAgICAgICAgc2VsZi5zYXVjZV90dW5uZWxfaWQgPSBrd2FyZ3NbInNhdWNlX3R1bm5l
bF9pZCJdCisgICAgICAgIHNlbGYuc2F1Y2VfY29ubmVjdF9iaW5hcnkgPSBrd2FyZ3MuZ2V0KCJz
YXVjZV9jb25uZWN0X2JpbmFyeSIpCisgICAgICAgIHNlbGYuc2NfcHJvY2VzcyA9IE5vbmUKKyAg
ICAgICAgc2VsZi50ZW1wX2RpciA9IE5vbmUKKworICAgIGRlZiBfX2VudGVyX18oc2VsZiwgb3B0
aW9ucyk6CisgICAgICAgIGlmIG5vdCBzZWxmLnNhdWNlX2Nvbm5lY3RfYmluYXJ5OgorICAgICAg
ICAgICAgc2VsZi50ZW1wX2RpciA9IHRlbXBmaWxlLm1rZHRlbXAoKQorICAgICAgICAgICAgZ2V0
X3RhcigiaHR0cHM6Ly9zYXVjZWxhYnMuY29tL2Rvd25sb2Fkcy9zYy1sYXRlc3QtbGludXgudGFy
Lmd6Iiwgc2VsZi50ZW1wX2RpcikKKyAgICAgICAgICAgIHNlbGYuc2F1Y2VfY29ubmVjdF9iaW5h
cnkgPSBnbG9iLmdsb2Iob3MucGF0aC5qb2luKHNlbGYudGVtcF9kaXIsICJzYy0qLWxpbnV4L2Jp
bi9zYyIpKVswXQorCisgICAgICAgIHNlbGYudXBsb2FkX3ByZXJ1bl9leGVjKCdlZGdlLXByZXJ1
bi5iYXQnKQorICAgICAgICBzZWxmLnVwbG9hZF9wcmVydW5fZXhlYygnc2FmYXJpLXByZXJ1bi5z
aCcpCisKKyAgICAgICAgc2VsZi5zY19wcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihbCisgICAg
ICAgICAgICBzZWxmLnNhdWNlX2Nvbm5lY3RfYmluYXJ5LAorICAgICAgICAgICAgIi0tdXNlcj0l
cyIgJSBzZWxmLnNhdWNlX3VzZXIsCisgICAgICAgICAgICAiLS1hcGkta2V5PSVzIiAlIHNlbGYu
c2F1Y2Vfa2V5LAorICAgICAgICAgICAgIi0tbm8tcmVtb3ZlLWNvbGxpZGluZy10dW5uZWxzIiwK
KyAgICAgICAgICAgICItLXR1bm5lbC1pZGVudGlmaWVyPSVzIiAlIHNlbGYuc2F1Y2VfdHVubmVs
X2lkLAorICAgICAgICAgICAgIi0tcmVhZHlmaWxlPS4vc2F1Y2VfaXNfcmVhZHkiLAorICAgICAg
ICAgICAgIi0tdHVubmVsLWRvbWFpbnMiLAorICAgICAgICAgICAgIndlYi1wbGF0Zm9ybS50ZXN0
IiwKKyAgICAgICAgICAgICIqLndlYi1wbGF0Zm9ybS50ZXN0IgorICAgICAgICBdKQorICAgICAg
ICB3aGlsZSBub3Qgb3MucGF0aC5leGlzdHMoJy4vc2F1Y2VfaXNfcmVhZHknKSBhbmQgbm90IHNl
bGYuc2NfcHJvY2Vzcy5wb2xsKCk6CisgICAgICAgICAgICB0aW1lLnNsZWVwKDUpCisKKyAgICAg
ICAgaWYgc2VsZi5zY19wcm9jZXNzLnJldHVybmNvZGUgaXMgbm90IE5vbmUgYW5kIHNlbGYuc2Nf
cHJvY2Vzcy5yZXR1cm5jb2RlID4gMDoKKyAgICAgICAgICAgIHJhaXNlIFNhdWNlRXhjZXB0aW9u
KCJVbmFibGUgdG8gc3RhcnQgU2F1Y2UgQ29ubmVjdCBQcm94eS4gUHJvY2VzcyBleGl0ZWQgd2l0
aCBjb2RlICVzIiwgc2VsZi5zY19wcm9jZXNzLnJldHVybmNvZGUpCisKKyAgICBkZWYgX19leGl0
X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICBzZWxmLnNjX3Byb2Nlc3MudGVybWluYXRlKCkKKyAg
ICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi50ZW1wX2Rpcik6CisgICAgICAgICAgICB0cnk6
CisgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLnRlbXBfZGlyKQorICAgICAgICAg
ICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworCisgICAgZGVmIHVwbG9h
ZF9wcmVydW5fZXhlYyhzZWxmLCBmaWxlX25hbWUpOgorICAgICAgICBhdXRoID0gKHNlbGYuc2F1
Y2VfdXNlciwgc2VsZi5zYXVjZV9rZXkpCisgICAgICAgIHVybCA9ICJodHRwczovL3NhdWNlbGFi
cy5jb20vcmVzdC92MS9zdG9yYWdlLyVzLyVzP292ZXJ3cml0ZT10cnVlIiAlIChzZWxmLnNhdWNl
X3VzZXIsIGZpbGVfbmFtZSkKKworICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGhlcmUs
ICdzYXVjZV9zZXR1cCcsIGZpbGVfbmFtZSksICdyYicpIGFzIGY6CisgICAgICAgICAgICByZXF1
ZXN0cy5wb3N0KHVybCwgZGF0YT1mLCBhdXRoPWF1dGgpCisKKworY2xhc3MgU2F1Y2VFeGNlcHRp
b24oRXhjZXB0aW9uKToKKyAgICBwYXNzCisKKworY2xhc3MgU2F1Y2VCcm93c2VyKEJyb3dzZXIp
OgorICAgIGluaXRfdGltZW91dCA9IDMwMAorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dl
ciwgc2F1Y2VfY29uZmlnKToKKyAgICAgICAgQnJvd3Nlci5fX2luaXRfXyhzZWxmLCBsb2dnZXIp
CisgICAgICAgIHNlbGYuc2F1Y2VfY29uZmlnID0gc2F1Y2VfY29uZmlnCisKKyAgICBkZWYgc3Rh
cnQoc2VsZik6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBzdG9wKHNlbGYsIGZvcmNlPUZhbHNl
KToKKyAgICAgICAgcGFzcworCisgICAgZGVmIHBpZChzZWxmKToKKyAgICAgICAgcmV0dXJuIE5v
bmUKKworICAgIGRlZiBpc19hbGl2ZShzZWxmKToKKyAgICAgICAgIyBUT0RPOiBTaG91bGQgdGhp
cyBjaGVjayBzb21ldGhpbmcgYWJvdXQgdGhlIGNvbm5lY3Rpb24/CisgICAgICAgIHJldHVybiBU
cnVlCisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIGV4
ZWN1dG9yX2Jyb3dzZXIoc2VsZik6CisgICAgICAgIHJldHVybiBFeGVjdXRvckJyb3dzZXIsIHsi
d2ViZHJpdmVyX3VybCI6IHNlbGYuc2F1Y2VfY29uZmlnWyJ1cmwiXX0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZV9zZXR1cC9lZGdlLXByZXJ1bi5iYXQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0dXAvZWRnZS1wcmVydW4uYmF0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1
NTQ4OTQ4OTZiOTgwZTNkM2FiODhmNzM5ZjY0OWMwMGJlMTdiOTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0dXAvZWRnZS1wcmVydW4uYmF0CkBAIC0w
LDAgKzEsMiBAQAorQGVjaG8gb2ZmCityZWcgYWRkICJIS0NVXFNvZnR3YXJlXENsYXNzZXNcTG9j
YWwgU2V0dGluZ3NcU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cQXBw
Q29udGFpbmVyXFN0b3JhZ2VcbWljcm9zb2Z0Lm1pY3Jvc29mdGVkZ2VfOHdla3liM2Q4YmJ3ZVxN
aWNyb3NvZnRFZGdlXE5ldyBXaW5kb3dzIiAvdiAiUG9wdXBNZ3IiIC90IFJFR19TWiAvZCBubwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlX3NldHVwL3NhZmFyaS1wcmVy
dW4uc2ggYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2Vfc2V0dXAvc2FmYXJpLXByZXJ1bi5z
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NWM3MmU2YmU2YTA3Y2NmYWJiODk1ODg3ZTFjOGFhM2ZlZWY2OWVjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlX3NldHVwL3NhZmFy
aS1wcmVydW4uc2gKQEAgLTAsMCArMSwyIEBACisjIS9iaW4vYmFzaAorZGVmYXVsdHMgd3JpdGUg
Y29tLmFwcGxlLlNhZmFyaSBjb20uYXBwbGUuU2FmYXJpLkNvbnRlbnRQYWdlR3JvdXBJZGVudGlm
aWVyLldlYktpdDJKYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5IC1ib29sIHRy
dWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZV9zZXR1cC93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZV9zZXR1cC93M2MtaW1wb3J0Lmxv
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zNGYxYzE2ZWM4YmQ0NzhkNmNhOGZkN2RiYmE2YzgwMTlkMThlNDRiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlX3NldHVwL3czYy1p
bXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9u
ZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vy
cy9zYXVjZV9zZXR1cC9lZGdlLXByZXJ1bi5iYXQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1
Y2Vfc2V0dXAvc2FmYXJpLXByZXJ1bi5zaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dz
ZXJzL3NlcnZlci1sb2NhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NlcnZlci1s
b2NhdGlvbnMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkY2FmNGJiNmE0Y2MyYjkwMzZiYjQwNmE1YWY2YzVl
ZjExMjA3MjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2VydmVy
LWxvY2F0aW9ucy50eHQKQEAgLTAsMCArMSwzMSBAQAoraHR0cDovL2xvY2FsaG9zdDo4MDAwICAg
IHByaW1hcnkKKworaHR0cDovL3dlYi1wbGF0Zm9ybS50ZXN0OjgwMDAKK2h0dHA6Ly93d3cud2Vi
LXBsYXRmb3JtLnRlc3Q6ODAwMAoraHR0cDovL3d3dzEud2ViLXBsYXRmb3JtLnRlc3Q6ODAwMAor
aHR0cDovL3d3dzIud2ViLXBsYXRmb3JtLnRlc3Q6ODAwMAoraHR0cDovL3huLS1uOGo2ZHM1M2x3
d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0OjgwMDAKK2h0dHA6Ly94bi0tbHZlLTZsYWQud2Vi
LXBsYXRmb3JtLnRlc3Q6ODAwMAorCitodHRwOi8vd2ViLXBsYXRmb3JtLnRlc3Q6ODAwMQoraHR0
cDovL3d3dy53ZWItcGxhdGZvcm0udGVzdDo4MDAxCitodHRwOi8vd3d3MS53ZWItcGxhdGZvcm0u
dGVzdDo4MDAxCitodHRwOi8vd3d3Mi53ZWItcGxhdGZvcm0udGVzdDo4MDAxCitodHRwOi8veG4t
LW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3Q6ODAwMQoraHR0cDovL3huLS1s
dmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdDo4MDAxCisKK2h0dHBzOi8vd2ViLXBsYXRmb3JtLnRl
c3Q6ODQ0MworaHR0cHM6Ly93d3cud2ViLXBsYXRmb3JtLnRlc3Q6ODQ0MworaHR0cHM6Ly93d3cx
LndlYi1wbGF0Zm9ybS50ZXN0Ojg0NDMKK2h0dHBzOi8vd3d3Mi53ZWItcGxhdGZvcm0udGVzdDo4
NDQzCitodHRwczovL3huLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0Ojg0
NDMKK2h0dHBzOi8veG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0Ojg0NDMKKworIyBUaGVz
ZSBhcmUgYWN0dWFsbHkgd3Mgc2VydmVycywgYnV0IHVudGlsIG1venByb2ZpbGUgaXMKKyMgZml4
ZWQgd2UgaGF2ZSB0byBwcmV0ZW5kIHRoYXQgdGhleSBhcmUgaHR0cCBzZXJ2ZXJzCitodHRwOi8v
d2ViLXBsYXRmb3JtLnRlc3Q6ODg4OAoraHR0cDovL3d3dy53ZWItcGxhdGZvcm0udGVzdDo4ODg4
CitodHRwOi8vd3d3MS53ZWItcGxhdGZvcm0udGVzdDo4ODg4CitodHRwOi8vd3d3Mi53ZWItcGxh
dGZvcm0udGVzdDo4ODg4CitodHRwOi8veG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRm
b3JtLnRlc3Q6ODg4OAoraHR0cDovL3huLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdDo4ODg4
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2Vydm8ucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvYnJvd3NlcnMvc2Vydm8ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTI0ZTRkZmQ5ZGZlOWUwMTdlYzU5YTM3
ZTgwMTJhNzA3YzU3ZTU4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vy
cy9zZXJ2by5weQpAQCAtMCwwICsxLDgxIEBACitpbXBvcnQgb3MKKworZnJvbSAuYmFzZSBpbXBv
cnQgTnVsbEJyb3dzZXIsIEV4ZWN1dG9yQnJvd3NlciwgcmVxdWlyZV9hcmcKK2Zyb20gLi5leGVj
dXRvcnMgaW1wb3J0IGV4ZWN1dG9yX2t3YXJncyBhcyBiYXNlX2V4ZWN1dG9yX2t3YXJncworZnJv
bSAuLmV4ZWN1dG9ycy5leGVjdXRvcnNlcnZvIGltcG9ydCBTZXJ2b1Rlc3RoYXJuZXNzRXhlY3V0
b3IsIFNlcnZvUmVmVGVzdEV4ZWN1dG9yLCBTZXJ2b1dkc3BlY0V4ZWN1dG9yCisKK2hlcmUgPSBv
cy5wYXRoLmpvaW4ob3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0pCisKK19fd3B0cnVubmVyX18g
PSB7CisgICAgInByb2R1Y3QiOiAic2Vydm8iLAorICAgICJjaGVja19hcmdzIjogImNoZWNrX2Fy
Z3MiLAorICAgICJicm93c2VyIjogIlNlcnZvQnJvd3NlciIsCisgICAgImV4ZWN1dG9yIjogewor
ICAgICAgICAidGVzdGhhcm5lc3MiOiAiU2Vydm9UZXN0aGFybmVzc0V4ZWN1dG9yIiwKKyAgICAg
ICAgInJlZnRlc3QiOiAiU2Vydm9SZWZUZXN0RXhlY3V0b3IiLAorICAgICAgICAid2RzcGVjIjog
IlNlcnZvV2RzcGVjRXhlY3V0b3IiLAorICAgIH0sCisgICAgImJyb3dzZXJfa3dhcmdzIjogImJy
b3dzZXJfa3dhcmdzIiwKKyAgICAiZXhlY3V0b3Jfa3dhcmdzIjogImV4ZWN1dG9yX2t3YXJncyIs
CisgICAgImVudl9leHRyYXMiOiAiZW52X2V4dHJhcyIsCisgICAgImVudl9vcHRpb25zIjogImVu
dl9vcHRpb25zIiwKKyAgICAidXBkYXRlX3Byb3BlcnRpZXMiOiAidXBkYXRlX3Byb3BlcnRpZXMi
LAorfQorCisKK2RlZiBjaGVja19hcmdzKCoqa3dhcmdzKToKKyAgICByZXF1aXJlX2FyZyhrd2Fy
Z3MsICJiaW5hcnkiKQorCisKK2RlZiBicm93c2VyX2t3YXJncygqKmt3YXJncyk6CisgICAgcmV0
dXJuIHsKKyAgICAgICAgImJpbmFyeSI6IGt3YXJnc1siYmluYXJ5Il0sCisgICAgICAgICJkZWJ1
Z19pbmZvIjoga3dhcmdzWyJkZWJ1Z19pbmZvIl0sCisgICAgICAgICJiaW5hcnlfYXJncyI6IGt3
YXJnc1siYmluYXJ5X2FyZ3MiXSwKKyAgICAgICAgInVzZXJfc3R5bGVzaGVldHMiOiBrd2FyZ3Mu
Z2V0KCJ1c2VyX3N0eWxlc2hlZXRzIiksCisgICAgICAgICJjYV9jZXJ0aWZpY2F0ZV9wYXRoIjog
a3dhcmdzWyJzc2xfZW52Il0uY2FfY2VydF9wYXRoKCksCisgICAgfQorCisKK2RlZiBleGVjdXRv
cl9rd2FyZ3ModGVzdF90eXBlLCBzZXJ2ZXJfY29uZmlnLCBjYWNoZV9tYW5hZ2VyLCBydW5faW5m
b19kYXRhLAorICAgICAgICAgICAgICAgICAgICAqKmt3YXJncyk6CisgICAgcnYgPSBiYXNlX2V4
ZWN1dG9yX2t3YXJncyh0ZXN0X3R5cGUsIHNlcnZlcl9jb25maWcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjYWNoZV9tYW5hZ2VyLCAqKmt3YXJncykKKyAgICBydlsicGF1c2VfYWZ0
ZXJfdGVzdCJdID0ga3dhcmdzWyJwYXVzZV9hZnRlcl90ZXN0Il0KKyAgICByZXR1cm4gcnYKKwor
CitkZWYgZW52X2V4dHJhcygqKmt3YXJncyk6CisgICAgcmV0dXJuIFtdCisKKworZGVmIGVudl9v
cHRpb25zKCk6CisgICAgcmV0dXJuIHsiaG9zdCI6ICIxMjcuMC4wLjEiLAorICAgICAgICAgICAg
ImV4dGVybmFsX2hvc3QiOiAid2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgImJpbmRf
aG9zdG5hbWUiOiAidHJ1ZSIsCisgICAgICAgICAgICAidGVzdGhhcm5lc3NyZXBvcnQiOiAidGVz
dGhhcm5lc3NyZXBvcnQtc2Vydm8uanMiLAorICAgICAgICAgICAgInN1cHBvcnRzX2RlYnVnZ2Vy
IjogVHJ1ZX0KKworCitkZWYgdXBkYXRlX3Byb3BlcnRpZXMoKToKKyAgICByZXR1cm4gWyJkZWJ1
ZyIsICJvcyIsICJ2ZXJzaW9uIiwgInByb2Nlc3NvciIsICJiaXRzIl0sIE5vbmUKKworCitjbGFz
cyBTZXJ2b0Jyb3dzZXIoTnVsbEJyb3dzZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dn
ZXIsIGJpbmFyeSwgZGVidWdfaW5mbz1Ob25lLCBiaW5hcnlfYXJncz1Ob25lLAorICAgICAgICAg
ICAgICAgICB1c2VyX3N0eWxlc2hlZXRzPU5vbmUsIGNhX2NlcnRpZmljYXRlX3BhdGg9Tm9uZSk6
CisgICAgICAgIE51bGxCcm93c2VyLl9faW5pdF9fKHNlbGYsIGxvZ2dlcikKKyAgICAgICAgc2Vs
Zi5iaW5hcnkgPSBiaW5hcnkKKyAgICAgICAgc2VsZi5kZWJ1Z19pbmZvID0gZGVidWdfaW5mbwor
ICAgICAgICBzZWxmLmJpbmFyeV9hcmdzID0gYmluYXJ5X2FyZ3Mgb3IgW10KKyAgICAgICAgc2Vs
Zi51c2VyX3N0eWxlc2hlZXRzID0gdXNlcl9zdHlsZXNoZWV0cyBvciBbXQorICAgICAgICBzZWxm
LmNhX2NlcnRpZmljYXRlX3BhdGggPSBjYV9jZXJ0aWZpY2F0ZV9wYXRoCisKKyAgICBkZWYgZXhl
Y3V0b3JfYnJvd3NlcihzZWxmKToKKyAgICAgICAgcmV0dXJuIEV4ZWN1dG9yQnJvd3Nlciwgewor
ICAgICAgICAgICAgImJpbmFyeSI6IHNlbGYuYmluYXJ5LAorICAgICAgICAgICAgImRlYnVnX2lu
Zm8iOiBzZWxmLmRlYnVnX2luZm8sCisgICAgICAgICAgICAiYmluYXJ5X2FyZ3MiOiBzZWxmLmJp
bmFyeV9hcmdzLAorICAgICAgICAgICAgInVzZXJfc3R5bGVzaGVldHMiOiBzZWxmLnVzZXJfc3R5
bGVzaGVldHMsCisgICAgICAgICAgICAiY2FfY2VydGlmaWNhdGVfcGF0aCI6IHNlbGYuY2FfY2Vy
dGlmaWNhdGVfcGF0aCwKKyAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dz
ZXJzL3NlcnZvZHJpdmVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NlcnZvZHJpdmVyLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk1NzVlMGZiZmY5ZGM5NmRhMjNlM2JhNGVlOWI5YmRjNDMzYTFiMDIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2Vydm9kcml2ZXIucHkKQEAg
LTAsMCArMSwxNjUgQEAKK2ltcG9ydCBvcworaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCB0ZW1w
ZmlsZQorCitmcm9tIG1venByb2Nlc3MgaW1wb3J0IFByb2Nlc3NIYW5kbGVyCisKK2Zyb20gLmJh
c2UgaW1wb3J0IEJyb3dzZXIsIHJlcXVpcmVfYXJnLCBnZXRfZnJlZV9wb3J0LCBicm93c2VyX2Nv
bW1hbmQsIEV4ZWN1dG9yQnJvd3NlcgorZnJvbSAuLmV4ZWN1dG9ycyBpbXBvcnQgZXhlY3V0b3Jf
a3dhcmdzIGFzIGJhc2VfZXhlY3V0b3Jfa3dhcmdzCitmcm9tIC4uZXhlY3V0b3JzLmV4ZWN1dG9y
c2Vydm9kcml2ZXIgaW1wb3J0IChTZXJ2b1dlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3IsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXJ2b1dlYkRyaXZl
clJlZlRlc3RFeGVjdXRvcikKKworaGVyZSA9IG9zLnBhdGguam9pbihvcy5wYXRoLnNwbGl0KF9f
ZmlsZV9fKVswXSkKKworX193cHRydW5uZXJfXyA9IHsKKyAgICAicHJvZHVjdCI6ICJzZXJ2b2Ry
aXZlciIsCisgICAgImNoZWNrX2FyZ3MiOiAiY2hlY2tfYXJncyIsCisgICAgImJyb3dzZXIiOiAi
U2Vydm9XZWJEcml2ZXJCcm93c2VyIiwKKyAgICAiZXhlY3V0b3IiOiB7CisgICAgICAgICJ0ZXN0
aGFybmVzcyI6ICJTZXJ2b1dlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3IiLAorICAgICAgICAi
cmVmdGVzdCI6ICJTZXJ2b1dlYkRyaXZlclJlZlRlc3RFeGVjdXRvciIsCisgICAgfSwKKyAgICAi
YnJvd3Nlcl9rd2FyZ3MiOiAiYnJvd3Nlcl9rd2FyZ3MiLAorICAgICJleGVjdXRvcl9rd2FyZ3Mi
OiAiZXhlY3V0b3Jfa3dhcmdzIiwKKyAgICAiZW52X2V4dHJhcyI6ICJlbnZfZXh0cmFzIiwKKyAg
ICAiZW52X29wdGlvbnMiOiAiZW52X29wdGlvbnMiLAorICAgICJ1cGRhdGVfcHJvcGVydGllcyI6
ICJ1cGRhdGVfcHJvcGVydGllcyIsCit9CisKK2hvc3RzX3RleHQgPSAiIiIxMjcuMC4wLjEgd2Vi
LXBsYXRmb3JtLnRlc3QKKzEyNy4wLjAuMSB3d3cud2ViLXBsYXRmb3JtLnRlc3QKKzEyNy4wLjAu
MSB3d3cxLndlYi1wbGF0Zm9ybS50ZXN0CisxMjcuMC4wLjEgd3d3Mi53ZWItcGxhdGZvcm0udGVz
dAorMTI3LjAuMC4xIHhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0Cisx
MjcuMC4wLjEgeG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0CisiIiIKKworCitkZWYgY2hl
Y2tfYXJncygqKmt3YXJncyk6CisgICAgcmVxdWlyZV9hcmcoa3dhcmdzLCAiYmluYXJ5IikKKwor
CitkZWYgYnJvd3Nlcl9rd2FyZ3MoKiprd2FyZ3MpOgorICAgIHJldHVybiB7CisgICAgICAgICJi
aW5hcnkiOiBrd2FyZ3NbImJpbmFyeSJdLAorICAgICAgICAiZGVidWdfaW5mbyI6IGt3YXJnc1si
ZGVidWdfaW5mbyJdLAorICAgICAgICAidXNlcl9zdHlsZXNoZWV0cyI6IGt3YXJncy5nZXQoInVz
ZXJfc3R5bGVzaGVldHMiKSwKKyAgICB9CisKKworZGVmIGV4ZWN1dG9yX2t3YXJncyh0ZXN0X3R5
cGUsIHNlcnZlcl9jb25maWcsIGNhY2hlX21hbmFnZXIsIHJ1bl9pbmZvX2RhdGEsICoqa3dhcmdz
KToKKyAgICBydiA9IGJhc2VfZXhlY3V0b3Jfa3dhcmdzKHRlc3RfdHlwZSwgc2VydmVyX2NvbmZp
ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlX21hbmFnZXIsICoqa3dhcmdz
KQorICAgIHJldHVybiBydgorCisKK2RlZiBlbnZfZXh0cmFzKCoqa3dhcmdzKToKKyAgICByZXR1
cm4gW10KKworCitkZWYgZW52X29wdGlvbnMoKToKKyAgICByZXR1cm4geyJob3N0IjogIjEyNy4w
LjAuMSIsCisgICAgICAgICAgICAiZXh0ZXJuYWxfaG9zdCI6ICJ3ZWItcGxhdGZvcm0udGVzdCIs
CisgICAgICAgICAgICAiYmluZF9ob3N0bmFtZSI6ICJ0cnVlIiwKKyAgICAgICAgICAgICJ0ZXN0
aGFybmVzc3JlcG9ydCI6ICJ0ZXN0aGFybmVzc3JlcG9ydC1zZXJ2b2RyaXZlci5qcyIsCisgICAg
ICAgICAgICAic3VwcG9ydHNfZGVidWdnZXIiOiBUcnVlfQorCisKK2RlZiB1cGRhdGVfcHJvcGVy
dGllcygpOgorICAgIHJldHVybiBbImRlYnVnIiwgIm9zIiwgInZlcnNpb24iLCAicHJvY2Vzc29y
IiwgImJpdHMiXSwgTm9uZQorCisKK2RlZiBtYWtlX2hvc3RzX2ZpbGUoKToKKyAgICBob3N0c19m
ZCwgaG9zdHNfcGF0aCA9IHRlbXBmaWxlLm1rc3RlbXAoKQorICAgIHdpdGggb3MuZmRvcGVuKGhv
c3RzX2ZkLCAidyIpIGFzIGY6CisgICAgICAgIGYud3JpdGUoaG9zdHNfdGV4dCkKKyAgICByZXR1
cm4gaG9zdHNfcGF0aAorCisKK2NsYXNzIFNlcnZvV2ViRHJpdmVyQnJvd3NlcihCcm93c2VyKToK
KyAgICB1c2VkX3BvcnRzID0gc2V0KCkKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIs
IGJpbmFyeSwgZGVidWdfaW5mbz1Ob25lLCB3ZWJkcml2ZXJfaG9zdD0iMTI3LjAuMC4xIiwKKyAg
ICAgICAgICAgICAgICAgdXNlcl9zdHlsZXNoZWV0cz1Ob25lKToKKyAgICAgICAgQnJvd3Nlci5f
X2luaXRfXyhzZWxmLCBsb2dnZXIpCisgICAgICAgIHNlbGYuYmluYXJ5ID0gYmluYXJ5CisgICAg
ICAgIHNlbGYud2ViZHJpdmVyX2hvc3QgPSB3ZWJkcml2ZXJfaG9zdAorICAgICAgICBzZWxmLndl
YmRyaXZlcl9wb3J0ID0gTm9uZQorICAgICAgICBzZWxmLnByb2MgPSBOb25lCisgICAgICAgIHNl
bGYuZGVidWdfaW5mbyA9IGRlYnVnX2luZm8KKyAgICAgICAgc2VsZi5ob3N0c19wYXRoID0gbWFr
ZV9ob3N0c19maWxlKCkKKyAgICAgICAgc2VsZi5jb21tYW5kID0gTm9uZQorICAgICAgICBzZWxm
LnVzZXJfc3R5bGVzaGVldHMgPSB1c2VyX3N0eWxlc2hlZXRzIGlmIHVzZXJfc3R5bGVzaGVldHMg
ZWxzZSBbXQorCisgICAgZGVmIHN0YXJ0KHNlbGYpOgorICAgICAgICBzZWxmLndlYmRyaXZlcl9w
b3J0ID0gZ2V0X2ZyZWVfcG9ydCg0NDQ0LCBleGNsdWRlPXNlbGYudXNlZF9wb3J0cykKKyAgICAg
ICAgc2VsZi51c2VkX3BvcnRzLmFkZChzZWxmLndlYmRyaXZlcl9wb3J0KQorCisgICAgICAgIGVu
diA9IG9zLmVudmlyb24uY29weSgpCisgICAgICAgIGVudlsiSE9TVF9GSUxFIl0gPSBzZWxmLmhv
c3RzX3BhdGgKKyAgICAgICAgZW52WyJSVVNUX0JBQ0tUUkFDRSJdID0gIjEiCisKKyAgICAgICAg
ZGVidWdfYXJncywgY29tbWFuZCA9IGJyb3dzZXJfY29tbWFuZCgKKyAgICAgICAgICAgIHNlbGYu
YmluYXJ5LAorICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICItLWhhcmQtZmFpbCIsCisg
ICAgICAgICAgICAgICAgIi0td2ViZHJpdmVyIiwgc3RyKHNlbGYud2ViZHJpdmVyX3BvcnQpLAor
ICAgICAgICAgICAgICAgICJhYm91dDpibGFuayIsCisgICAgICAgICAgICBdLAorICAgICAgICAg
ICAgc2VsZi5kZWJ1Z19pbmZvCisgICAgICAgICkKKworICAgICAgICBmb3Igc3R5bGVzaGVldCBp
biBzZWxmLnVzZXJfc3R5bGVzaGVldHM6CisgICAgICAgICAgICBjb21tYW5kICs9IFsiLS11c2Vy
LXN0eWxlc2hlZXQiLCBzdHlsZXNoZWV0XQorCisgICAgICAgIHNlbGYuY29tbWFuZCA9IGNvbW1h
bmQKKworICAgICAgICBzZWxmLmNvbW1hbmQgPSBkZWJ1Z19hcmdzICsgc2VsZi5jb21tYW5kCisK
KyAgICAgICAgaWYgbm90IHNlbGYuZGVidWdfaW5mbyBvciBub3Qgc2VsZi5kZWJ1Z19pbmZvLmlu
dGVyYWN0aXZlOgorICAgICAgICAgICAgc2VsZi5wcm9jID0gUHJvY2Vzc0hhbmRsZXIoc2VsZi5j
b21tYW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc091
dHB1dExpbmU9W3NlbGYub25fb3V0cHV0XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVudj1lbnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdG9yZU91dHB1dD1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYucHJvYy5ydW4oKQorICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgc2VsZi5wcm9jID0gc3VicHJvY2Vzcy5Qb3BlbihzZWxmLmNv
bW1hbmQsIGVudj1lbnYpCisKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlNlcnZvIFN0YXJ0
ZWQiKQorCisgICAgZGVmIHN0b3Aoc2VsZiwgZm9yY2U9RmFsc2UpOgorICAgICAgICBzZWxmLmxv
Z2dlci5kZWJ1ZygiU3RvcHBpbmcgYnJvd3NlciIpCisgICAgICAgIGlmIHNlbGYucHJvYyBpcyBu
b3QgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnByb2Mua2ls
bCgpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICAjIFRoaXMg
Y2FuIGhhcHBlbiBvbiBXaW5kb3dzIGlmIHRoZSBwcm9jZXNzIGlzIGFscmVhZHkgZGVhZAorICAg
ICAgICAgICAgICAgIHBhc3MKKworICAgIGRlZiBwaWQoc2VsZik6CisgICAgICAgIGlmIHNlbGYu
cHJvYyBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICB0cnk6Cisg
ICAgICAgICAgICByZXR1cm4gc2VsZi5wcm9jLnBpZAorICAgICAgICBleGNlcHQgQXR0cmlidXRl
RXJyb3I6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIG9uX291dHB1dChzZWxm
LCBsaW5lKToKKyAgICAgICAgIiIiV3JpdGUgYSBsaW5lIG9mIG91dHB1dCBmcm9tIHRoZSBwcm9j
ZXNzIHRvIHRoZSBsb2ciIiIKKyAgICAgICAgc2VsZi5sb2dnZXIucHJvY2Vzc19vdXRwdXQoc2Vs
Zi5waWQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS5kZWNvZGUo
InV0ZjgiLCAicmVwbGFjZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b21tYW5kPSIgIi5qb2luKHNlbGYuY29tbWFuZCkpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6
CisgICAgICAgIGlmIHNlbGYucnVubmVyOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVubmVy
LmlzX3J1bm5pbmcoKQorICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRlZiBjbGVhbnVwKHNl
bGYpOgorICAgICAgICBzZWxmLnN0b3AoKQorCisgICAgZGVmIGV4ZWN1dG9yX2Jyb3dzZXIoc2Vs
Zik6CisgICAgICAgIGFzc2VydCBzZWxmLndlYmRyaXZlcl9wb3J0IGlzIG5vdCBOb25lCisgICAg
ICAgIHJldHVybiBFeGVjdXRvckJyb3dzZXIsIHsid2ViZHJpdmVyX2hvc3QiOiBzZWxmLndlYmRy
aXZlcl9ob3N0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndlYmRyaXZlcl9w
b3J0Ijogc2VsZi53ZWJkcml2ZXJfcG9ydH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93
c2Vycy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy93M2MtaW1wb3J0Lmxv
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNmQwZDhlZDgwNTZmZDg4ZWMyYzkyZWRhZTEyNDg4MjkwNTY3MmUyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3czYy1pbXBvcnQubG9nCkBA
IC0wLDAgKzEsMjUgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQ
VCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKwor
VGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8g
cmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1By
b3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9fX2luaXRfXy5w
eQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9iYXNlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJz
L2Nocm9tZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9lZGdlLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2Jyb3dzZXJzL2ZpcmVmb3gucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2UucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvc2VydmVyLWxvY2F0aW9ucy50eHQKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
YnJvd3NlcnMvc2Vydm8ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2Vydm9kcml2ZXIucHkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9jb25maWcuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9jb25m
aWcuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMTQ2NDI0YTBmMDhjNTQ3N2UxY2Q1ZWIzZjk5MGQ2YmRiNWRk
OGJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2NvbmZpZy5qc29uCkBAIC0wLDAg
KzEsNyBAQAoreyJob3N0IjogIiUoaG9zdClzIiwKKyAicG9ydHMiOnsiaHR0cCI6WzgwMDAsIDgw
MDFdLAorICAgICAgICAgICJodHRwcyI6Wzg0NDNdLAorICAgICAgICAgICJ3cyI6Wzg4ODhdfSwK
KyAiY2hlY2tfc3ViZG9tYWlucyI6ZmFsc2UsCisgImJpbmRfaG9zdG5hbWUiOiUoYmluZF9ob3N0
bmFtZSlzLAorICJzc2wiOnt9fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2NvbmZpZy5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9jb25maWcucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJkM2Y0NjdmM2VkYTVmNTY0Y2E1
YzUxNTQwZjIzYjI1MjFhMmE1OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9jb25m
aWcucHkKQEAgLTAsMCArMSw2MCBAQAoraW1wb3J0IENvbmZpZ1BhcnNlcgoraW1wb3J0IG9zCitp
bXBvcnQgc3lzCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBPcmRlcmVkRGljdAorCitoZXJlID0g
b3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0KKworY2xhc3MgQ29uZmlnRGljdChkaWN0KToKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgYmFzZV9wYXRoLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAg
ICBzZWxmLmJhc2VfcGF0aCA9IGJhc2VfcGF0aAorICAgICAgICBkaWN0Ll9faW5pdF9fKHNlbGYs
ICphcmdzLCAqKmt3YXJncykKKworICAgIGRlZiBnZXRfcGF0aChzZWxmLCBrZXksIGRlZmF1bHQ9
Tm9uZSk6CisgICAgICAgIGlmIGtleSBub3QgaW4gc2VsZjoKKyAgICAgICAgICAgIHJldHVybiBk
ZWZhdWx0CisgICAgICAgIHBhdGggPSBzZWxmW2tleV0KKyAgICAgICAgb3MucGF0aC5leHBhbmR1
c2VyKHBhdGgpCisgICAgICAgIHJldHVybiBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHNl
bGYuYmFzZV9wYXRoLCBwYXRoKSkKKworZGVmIHJlYWQoY29uZmlnX3BhdGgpOgorICAgIGNvbmZp
Z19wYXRoID0gb3MucGF0aC5hYnNwYXRoKGNvbmZpZ19wYXRoKQorICAgIGNvbmZpZ19yb290ID0g
b3MucGF0aC5zcGxpdChjb25maWdfcGF0aClbMF0KKyAgICBwYXJzZXIgPSBDb25maWdQYXJzZXIu
U2FmZUNvbmZpZ1BhcnNlcigpCisgICAgc3VjY2VzcyA9IHBhcnNlci5yZWFkKGNvbmZpZ19wYXRo
KQorICAgIGFzc2VydCBjb25maWdfcGF0aCBpbiBzdWNjZXNzLCBzdWNjZXNzCisKKyAgICBzdWJu
cyA9IHsicHdkIjogb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguY3VyZGlyKX0KKworICAgIHJ2ID0g
T3JkZXJlZERpY3QoKQorICAgIGZvciBzZWN0aW9uIGluIHBhcnNlci5zZWN0aW9ucygpOgorICAg
ICAgICBydltzZWN0aW9uXSA9IENvbmZpZ0RpY3QoY29uZmlnX3Jvb3QpCisgICAgICAgIGZvciBr
ZXkgaW4gcGFyc2VyLm9wdGlvbnMoc2VjdGlvbik6CisgICAgICAgICAgICBydltzZWN0aW9uXVtr
ZXldID0gcGFyc2VyLmdldChzZWN0aW9uLCBrZXksIEZhbHNlLCBzdWJucykKKworICAgIHJldHVy
biBydgorCitkZWYgcGF0aChhcmd2PU5vbmUpOgorICAgIGlmIGFyZ3YgaXMgTm9uZToKKyAgICAg
ICAgYXJndiA9IFtdCisgICAgcGF0aCA9IE5vbmUKKworICAgIGZvciBpLCBhcmcgaW4gZW51bWVy
YXRlKGFyZ3YpOgorICAgICAgICBpZiBhcmcgPT0gIi0tY29uZmlnIjoKKyAgICAgICAgICAgIGlm
IGkgKyAxIDwgbGVuKGFyZ3YpOgorICAgICAgICAgICAgICAgIHBhdGggPSBhcmd2W2kgKyAxXQor
ICAgICAgICBlbGlmIGFyZy5zdGFydHN3aXRoKCItLWNvbmZpZz0iKToKKyAgICAgICAgICAgIHBh
dGggPSBhcmcuc3BsaXQoIj0iLCAxKVsxXQorICAgICAgICBpZiBwYXRoIGlzIG5vdCBOb25lOgor
ICAgICAgICAgICAgYnJlYWsKKworICAgIGlmIHBhdGggaXMgTm9uZToKKyAgICAgICAgaWYgb3Mu
cGF0aC5leGlzdHMoIndwdHJ1bm5lci5pbmkiKToKKyAgICAgICAgICAgIHBhdGggPSBvcy5wYXRo
LmFic3BhdGgoIndwdHJ1bm5lci5pbmkiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcGF0
aCA9IG9zLnBhdGguam9pbihoZXJlLCAiLi4iLCAid3B0cnVubmVyLmRlZmF1bHQuaW5pIikKKwor
ICAgIHJldHVybiBvcy5wYXRoLmFic3BhdGgocGF0aCkKKworZGVmIGxvYWQoKToKKyAgICByZXR1
cm4gcmVhZChwYXRoKHN5cy5hcmd2KSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9lbnZpcm9u
bWVudC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9lbnZpcm9ubWVudC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDU4ODk0
OTA4OGVkZjNhOGVlZjllZWVjYTYyZmZmYWM5MzRjZWMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2Vudmlyb25tZW50LnB5CkBAIC0wLDAgKzEsMjE2IEBACitpbXBvcnQganNvbgor
aW1wb3J0IG9zCitpbXBvcnQgbXVsdGlwcm9jZXNzaW5nCitpbXBvcnQgc2lnbmFsCitpbXBvcnQg
c29ja2V0CitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQorCitmcm9tIG1vemxvZyBpbXBvcnQgZ2V0
X2RlZmF1bHRfbG9nZ2VyLCBoYW5kbGVycworCitmcm9tIHdwdGxvZ2dpbmcgaW1wb3J0IExvZ0xl
dmVsUmV3cml0ZXIKKworaGVyZSA9IG9zLnBhdGguc3BsaXQoX19maWxlX18pWzBdCisKK3NlcnZl
ID0gTm9uZQorc3NsdXRpbHMgPSBOb25lCisKKworaG9zdG5hbWVzID0gWyJ3ZWItcGxhdGZvcm0u
dGVzdCIsCisgICAgICAgICAgICAgInd3dy53ZWItcGxhdGZvcm0udGVzdCIsCisgICAgICAgICAg
ICAgInd3dzEud2ViLXBsYXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgICJ3d3cyLndlYi1wbGF0
Zm9ybS50ZXN0IiwKKyAgICAgICAgICAgICAieG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBs
YXRmb3JtLnRlc3QiLAorICAgICAgICAgICAgICJ4bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRl
c3QiXQorCisKK2RlZiBkb19kZWxheWVkX2ltcG9ydHMobG9nZ2VyLCB0ZXN0X3BhdGhzKToKKyAg
ICBnbG9iYWwgc2VydmUsIHNzbHV0aWxzCisKKyAgICBzZXJ2ZV9yb290ID0gc2VydmVfcGF0aCh0
ZXN0X3BhdGhzKQorICAgIHN5cy5wYXRoLmluc2VydCgwLCBzZXJ2ZV9yb290KQorCisgICAgZmFp
bGVkID0gW10KKworICAgIHRyeToKKyAgICAgICAgZnJvbSB0b29scy5zZXJ2ZSBpbXBvcnQgc2Vy
dmUKKyAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgIGZyb20gd3B0X3Rvb2xzLnNlcnZl
IGltcG9ydCBzZXJ2ZQorICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgZmFpbGVkLmFw
cGVuZCgic2VydmUiKQorCisgICAgdHJ5OgorICAgICAgICBpbXBvcnQgc3NsdXRpbHMKKyAgICBl
eGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgIGZhaWxlZC5hcHBlbmQoInNzbHV0aWxzIikKKwor
ICAgIGlmIGZhaWxlZDoKKyAgICAgICAgbG9nZ2VyLmNyaXRpY2FsKAorICAgICAgICAgICAgIkZh
aWxlZCB0byBpbXBvcnQgJXMuIEVuc3VyZSB0aGF0IHRlc3RzIHBhdGggJXMgY29udGFpbnMgd2Vi
LXBsYXRmb3JtLXRlc3RzIiAlCisgICAgICAgICAgICAoIiwgIi5qb2luKGZhaWxlZCksIHNlcnZl
X3Jvb3QpKQorICAgICAgICBzeXMuZXhpdCgxKQorCisKK2RlZiBzZXJ2ZV9wYXRoKHRlc3RfcGF0
aHMpOgorICAgIHJldHVybiB0ZXN0X3BhdGhzWyIvIl1bInRlc3RzX3BhdGgiXQorCisKK2RlZiBn
ZXRfc3NsX2t3YXJncygqKmt3YXJncyk6CisgICAgaWYga3dhcmdzWyJzc2xfdHlwZSJdID09ICJv
cGVuc3NsIjoKKyAgICAgICAgYXJncyA9IHsib3BlbnNzbF9iaW5hcnkiOiBrd2FyZ3NbIm9wZW5z
c2xfYmluYXJ5Il19CisgICAgZWxpZiBrd2FyZ3NbInNzbF90eXBlIl0gPT0gInByZWdlbmVyYXRl
ZCI6CisgICAgICAgIGFyZ3MgPSB7Imhvc3Rfa2V5X3BhdGgiOiBrd2FyZ3NbImhvc3Rfa2V5X3Bh
dGgiXSwKKyAgICAgICAgICAgICAgICAiaG9zdF9jZXJ0X3BhdGgiOiBrd2FyZ3NbImhvc3RfY2Vy
dF9wYXRoIl0sCisgICAgICAgICAgICAgICAgICJjYV9jZXJ0X3BhdGgiOiBrd2FyZ3NbImNhX2Nl
cnRfcGF0aCJdfQorICAgIGVsc2U6CisgICAgICAgIGFyZ3MgPSB7fQorICAgIHJldHVybiBhcmdz
CisKKworZGVmIHNzbF9lbnYobG9nZ2VyLCAqKmt3YXJncyk6CisgICAgc3NsX2Vudl9jbHMgPSBz
c2x1dGlscy5lbnZpcm9ubWVudHNba3dhcmdzWyJzc2xfdHlwZSJdXQorICAgIHJldHVybiBzc2xf
ZW52X2Nscyhsb2dnZXIsICoqZ2V0X3NzbF9rd2FyZ3MoKiprd2FyZ3MpKQorCisKK2NsYXNzIFRl
c3RFbnZpcm9ubWVudEVycm9yKEV4Y2VwdGlvbik6CisgICAgcGFzcworCisKK2NsYXNzIFRlc3RF
bnZpcm9ubWVudChvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0X3BhdGhzLCBz
c2xfZW52LCBwYXVzZV9hZnRlcl90ZXN0LCBkZWJ1Z19pbmZvLCBvcHRpb25zLCBlbnZfZXh0cmFz
KToKKyAgICAgICAgIiIiQ29udGV4dCBtYW5hZ2VyIHRoYXQgb3ducyB0aGUgdGVzdCBlbnZpcm9u
bWVudCBpLmUuIHRoZSBodHRwIGFuZAorICAgICAgICB3ZWJzb2NrZXRzIHNlcnZlcnMiIiIKKyAg
ICAgICAgc2VsZi50ZXN0X3BhdGhzID0gdGVzdF9wYXRocworICAgICAgICBzZWxmLnNzbF9lbnYg
PSBzc2xfZW52CisgICAgICAgIHNlbGYuc2VydmVyID0gTm9uZQorICAgICAgICBzZWxmLmNvbmZp
ZyA9IE5vbmUKKyAgICAgICAgc2VsZi5leHRlcm5hbF9jb25maWcgPSBOb25lCisgICAgICAgIHNl
bGYucGF1c2VfYWZ0ZXJfdGVzdCA9IHBhdXNlX2FmdGVyX3Rlc3QKKyAgICAgICAgc2VsZi50ZXN0
X3NlcnZlcl9wb3J0ID0gb3B0aW9ucy5wb3AoInRlc3Rfc2VydmVyX3BvcnQiLCBUcnVlKQorICAg
ICAgICBzZWxmLmRlYnVnX2luZm8gPSBkZWJ1Z19pbmZvCisgICAgICAgIHNlbGYub3B0aW9ucyA9
IG9wdGlvbnMgaWYgb3B0aW9ucyBpcyBub3QgTm9uZSBlbHNlIHt9CisKKyAgICAgICAgc2VsZi5j
YWNoZV9tYW5hZ2VyID0gbXVsdGlwcm9jZXNzaW5nLk1hbmFnZXIoKQorICAgICAgICBzZWxmLnN0
YXNoID0gc2VydmUuc3Rhc2guU3Rhc2hTZXJ2ZXIoKQorICAgICAgICBzZWxmLmVudl9leHRyYXMg
PSBlbnZfZXh0cmFzCisKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHNlbGYu
c3Rhc2guX19lbnRlcl9fKCkKKyAgICAgICAgc2VsZi5zc2xfZW52Ll9fZW50ZXJfXygpCisgICAg
ICAgIHNlbGYuY2FjaGVfbWFuYWdlci5fX2VudGVyX18oKQorICAgICAgICBmb3IgY20gaW4gc2Vs
Zi5lbnZfZXh0cmFzOgorICAgICAgICAgICAgY20uX19lbnRlcl9fKHNlbGYub3B0aW9ucykKKyAg
ICAgICAgc2VsZi5zZXR1cF9zZXJ2ZXJfbG9nZ2luZygpCisgICAgICAgIHNlbGYuY29uZmlnID0g
c2VsZi5sb2FkX2NvbmZpZygpCisgICAgICAgIHNlcnZlLnNldF9jb21wdXRlZF9kZWZhdWx0cyhz
ZWxmLmNvbmZpZykKKyAgICAgICAgc2VsZi5leHRlcm5hbF9jb25maWcsIHNlbGYuc2VydmVycyA9
IHNlcnZlLnN0YXJ0KHNlbGYuY29uZmlnLCBzZWxmLnNzbF9lbnYsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmdldF9yb3V0ZXMo
KSkKKyAgICAgICAgaWYgc2VsZi5vcHRpb25zLmdldCgic3VwcG9ydHNfZGVidWdnZXIiKSBhbmQg
c2VsZi5kZWJ1Z19pbmZvIGFuZCBzZWxmLmRlYnVnX2luZm8uaW50ZXJhY3RpdmU6CisgICAgICAg
ICAgICBzZWxmLmlnbm9yZV9pbnRlcnJ1cHRzKCkKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAg
IGRlZiBfX2V4aXRfXyhzZWxmLCBleGNfdHlwZSwgZXhjX3ZhbCwgZXhjX3RiKToKKyAgICAgICAg
c2VsZi5wcm9jZXNzX2ludGVycnVwdHMoKQorCisgICAgICAgIGZvciBzY2hlbWUsIHNlcnZlcnMg
aW4gc2VsZi5zZXJ2ZXJzLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgZm9yIHBvcnQsIHNlcnZl
ciBpbiBzZXJ2ZXJzOgorICAgICAgICAgICAgICAgIHNlcnZlci5raWxsKCkKKyAgICAgICAgZm9y
IGNtIGluIHNlbGYuZW52X2V4dHJhczoKKyAgICAgICAgICAgIGNtLl9fZXhpdF9fKCkKKyAgICAg
ICAgc2VsZi5jYWNoZV9tYW5hZ2VyLl9fZXhpdF9fKGV4Y190eXBlLCBleGNfdmFsLCBleGNfdGIp
CisgICAgICAgIHNlbGYuc3NsX2Vudi5fX2V4aXRfXyhleGNfdHlwZSwgZXhjX3ZhbCwgZXhjX3Ri
KQorICAgICAgICBzZWxmLnN0YXNoLl9fZXhpdF9fKCkKKworICAgIGRlZiBpZ25vcmVfaW50ZXJy
dXB0cyhzZWxmKToKKyAgICAgICAgc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHSU5ULCBzaWduYWwu
U0lHX0lHTikKKworICAgIGRlZiBwcm9jZXNzX2ludGVycnVwdHMoc2VsZik6CisgICAgICAgIHNp
Z25hbC5zaWduYWwoc2lnbmFsLlNJR0lOVCwgc2lnbmFsLlNJR19ERkwpCisKKyAgICBkZWYgbG9h
ZF9jb25maWcoc2VsZik6CisgICAgICAgIGRlZmF1bHRfY29uZmlnX3BhdGggPSBvcy5wYXRoLmpv
aW4oc2VydmVfcGF0aChzZWxmLnRlc3RfcGF0aHMpLCAiY29uZmlnLmRlZmF1bHQuanNvbiIpCisg
ICAgICAgIGxvY2FsX2NvbmZpZ19wYXRoID0gb3MucGF0aC5qb2luKGhlcmUsICJjb25maWcuanNv
biIpCisKKyAgICAgICAgd2l0aCBvcGVuKGRlZmF1bHRfY29uZmlnX3BhdGgpIGFzIGY6CisgICAg
ICAgICAgICBkZWZhdWx0X2NvbmZpZyA9IGpzb24ubG9hZChmKQorCisgICAgICAgIHdpdGggb3Bl
bihsb2NhbF9jb25maWdfcGF0aCkgYXMgZjoKKyAgICAgICAgICAgIGRhdGEgPSBmLnJlYWQoKQor
ICAgICAgICAgICAgbG9jYWxfY29uZmlnID0ganNvbi5sb2FkcyhkYXRhICUgc2VsZi5vcHRpb25z
KQorCisgICAgICAgICNUT0RPOiBhbGxvdyBub24tZGVmYXVsdCBjb25maWd1cmF0aW9uIGZvciBz
c2wKKworICAgICAgICBsb2NhbF9jb25maWdbImV4dGVybmFsX2hvc3QiXSA9IHNlbGYub3B0aW9u
cy5nZXQoImV4dGVybmFsX2hvc3QiLCBOb25lKQorICAgICAgICBsb2NhbF9jb25maWdbInNzbCJd
WyJlbmNyeXB0X2FmdGVyX2Nvbm5lY3QiXSA9IHNlbGYub3B0aW9ucy5nZXQoImVuY3J5cHRfYWZ0
ZXJfY29ubmVjdCIsIEZhbHNlKQorCisgICAgICAgIGNvbmZpZyA9IHNlcnZlLm1lcmdlX2pzb24o
ZGVmYXVsdF9jb25maWcsIGxvY2FsX2NvbmZpZykKKyAgICAgICAgY29uZmlnWyJkb2Nfcm9vdCJd
ID0gc2VydmVfcGF0aChzZWxmLnRlc3RfcGF0aHMpCisKKyAgICAgICAgaWYgbm90IHNlbGYuc3Ns
X2Vudi5zc2xfZW5hYmxlZDoKKyAgICAgICAgICAgIGNvbmZpZ1sicG9ydHMiXVsiaHR0cHMiXSA9
IFtOb25lXQorCisgICAgICAgIGhvc3QgPSBzZWxmLm9wdGlvbnMuZ2V0KCJjZXJ0aWZpY2F0ZV9k
b21haW4iLCBjb25maWdbImhvc3QiXSkKKyAgICAgICAgaG9zdHMgPSBbaG9zdF0KKyAgICAgICAg
aG9zdHMuZXh0ZW5kKCIlcy4lcyIgJSAoaXRlbVswXSwgaG9zdCkgZm9yIGl0ZW0gaW4gc2VydmUu
Z2V0X3N1YmRvbWFpbnMoaG9zdCkudmFsdWVzKCkpCisgICAgICAgIGtleV9maWxlLCBjZXJ0aWZp
Y2F0ZSA9IHNlbGYuc3NsX2Vudi5ob3N0X2NlcnRfcGF0aChob3N0cykKKworICAgICAgICBjb25m
aWdbImtleV9maWxlIl0gPSBrZXlfZmlsZQorICAgICAgICBjb25maWdbImNlcnRpZmljYXRlIl0g
PSBjZXJ0aWZpY2F0ZQorCisgICAgICAgIHJldHVybiBjb25maWcKKworICAgIGRlZiBzZXR1cF9z
ZXJ2ZXJfbG9nZ2luZyhzZWxmKToKKyAgICAgICAgc2VydmVyX2xvZ2dlciA9IGdldF9kZWZhdWx0
X2xvZ2dlcihjb21wb25lbnQ9IndwdHNlcnZlIikKKyAgICAgICAgYXNzZXJ0IHNlcnZlcl9sb2dn
ZXIgaXMgbm90IE5vbmUKKyAgICAgICAgbG9nX2ZpbHRlciA9IGhhbmRsZXJzLkxvZ0xldmVsRmls
dGVyKGxhbWJkYSB4OngsICJpbmZvIikKKyAgICAgICAgIyBEb3duZ3JhZGUgZXJyb3JzIHRvIHdh
cm5pbmdzIGZvciB0aGUgc2VydmVyCisgICAgICAgIGxvZ19maWx0ZXIgPSBMb2dMZXZlbFJld3Jp
dGVyKGxvZ19maWx0ZXIsIFsiZXJyb3IiXSwgIndhcm5pbmciKQorICAgICAgICBzZXJ2ZXJfbG9n
Z2VyLmNvbXBvbmVudF9maWx0ZXIgPSBsb2dfZmlsdGVyCisKKyAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgI1NldCBhcyB0aGUgZGVmYXVsdCBsb2dnZXIgZm9yIHdwdHNlcnZlCisgICAgICAgICAg
ICBzZXJ2ZS5zZXRfbG9nZ2VyKHNlcnZlcl9sb2dnZXIpCisgICAgICAgICAgICBzZXJ2ZS5sb2dn
ZXIgPSBzZXJ2ZXJfbG9nZ2VyCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAg
ICAjIFRoaXMgaGFwcGVucyBpZiBsb2dnaW5nIGhhcyBhbHJlYWR5IGJlZW4gc2V0IHVwIGZvciB3
cHRzZXJ2ZQorICAgICAgICAgICAgcGFzcworCisgICAgZGVmIGdldF9yb3V0ZXMoc2VsZik6Cisg
ICAgICAgIHJvdXRlX2J1aWxkZXIgPSBzZXJ2ZS5Sb3V0ZXNCdWlsZGVyKCkKKworICAgICAgICBm
b3IgcGF0aCwgZm9ybWF0X2FyZ3MsIGNvbnRlbnRfdHlwZSwgcm91dGUgaW4gWworICAgICAgICAg
ICAgICAgICgidGVzdGhhcm5lc3NfcnVubmVyLmh0bWwiLCB7fSwgInRleHQvaHRtbCIsICIvdGVz
dGhhcm5lc3NfcnVubmVyLmh0bWwiKSwKKyAgICAgICAgICAgICAgICAoc2VsZi5vcHRpb25zLmdl
dCgidGVzdGhhcm5lc3NyZXBvcnQiLCAidGVzdGhhcm5lc3NyZXBvcnQuanMiKSwKKyAgICAgICAg
ICAgICAgICAgeyJvdXRwdXQiOiBzZWxmLnBhdXNlX2FmdGVyX3Rlc3R9LCAidGV4dC9qYXZhc2Ny
aXB0IiwKKyAgICAgICAgICAgICAgICAgIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
KV06CisgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oaGVy
ZSwgcGF0aCkpCisgICAgICAgICAgICByb3V0ZV9idWlsZGVyLmFkZF9zdGF0aWMocGF0aCwgZm9y
bWF0X2FyZ3MsIGNvbnRlbnRfdHlwZSwgcm91dGUpCisKKyAgICAgICAgZm9yIHVybF9iYXNlLCBw
YXRocyBpbiBzZWxmLnRlc3RfcGF0aHMuaXRlcml0ZW1zKCk6CisgICAgICAgICAgICBpZiB1cmxf
YmFzZSA9PSAiLyI6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHJvdXRl
X2J1aWxkZXIuYWRkX21vdW50X3BvaW50KHVybF9iYXNlLCBwYXRoc1sidGVzdHNfcGF0aCJdKQor
CisgICAgICAgIGlmICIvIiBub3QgaW4gc2VsZi50ZXN0X3BhdGhzOgorICAgICAgICAgICAgZGVs
IHJvdXRlX2J1aWxkZXIubW91bnRwb2ludF9yb3V0ZXNbIi8iXQorCisgICAgICAgIHJldHVybiBy
b3V0ZV9idWlsZGVyLmdldF9yb3V0ZXMoKQorCisgICAgZGVmIGVuc3VyZV9zdGFydGVkKHNlbGYp
OgorICAgICAgICAjIFBhdXNlIGZvciBhIHdoaWxlIHRvIGVuc3VyZSB0aGF0IHRoZSBzZXJ2ZXIg
aGFzIGEgY2hhbmNlIHRvIHN0YXJ0CisgICAgICAgIHRpbWUuc2xlZXAoMikKKyAgICAgICAgZm9y
IHNjaGVtZSwgc2VydmVycyBpbiBzZWxmLnNlcnZlcnMuaXRlcml0ZW1zKCk6CisgICAgICAgICAg
ICBmb3IgcG9ydCwgc2VydmVyIGluIHNlcnZlcnM6CisgICAgICAgICAgICAgICAgaWYgc2VsZi50
ZXN0X3NlcnZlcl9wb3J0OgorICAgICAgICAgICAgICAgICAgICBzID0gc29ja2V0LnNvY2tldCgp
CisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIHMuY29u
bmVjdCgoc2VsZi5jb25maWdbImhvc3QiXSwgcG9ydCkpCisgICAgICAgICAgICAgICAgICAgIGV4
Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBFbnZpcm9u
bWVudEVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBzZXJ2ZXIgb24gcG9y
dCAlZCBmYWlsZWQgdG8gc3RhcnQiICUgKHNjaGVtZSwgcG9ydCkpCisgICAgICAgICAgICAgICAg
ICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgICAgICAgICBzLmNsb3NlKCkKKworICAgICAg
ICAgICAgICAgIGlmIG5vdCBzZXJ2ZXIuaXNfYWxpdmUoKToKKyAgICAgICAgICAgICAgICAgICAg
cmFpc2UgRW52aXJvbm1lbnRFcnJvcigiJXMgc2VydmVyIG9uIHBvcnQgJWQgZmFpbGVkIHRvIHN0
YXJ0IiAlIChzY2hlbWUsIHBvcnQpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9y
cy9fX2luaXRfXy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvX19pbml0X18ucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjQ3NjFiODM4MzA5NGRjMmM4MzA3NWE5M2Q5MjRhYTRkNDY2ZDBmOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvX19pbml0X18ucHkKQEAgLTAsMCArMSw0
IEBACitmcm9tIGJhc2UgaW1wb3J0IChleGVjdXRvcl9rd2FyZ3MsCisgICAgICAgICAgICAgICAg
ICB0ZXN0aGFybmVzc19yZXN1bHRfY29udmVydGVyLAorICAgICAgICAgICAgICAgICAgcmVmdGVz
dF9yZXN1bHRfY29udmVydGVyLAorICAgICAgICAgICAgICAgICAgVGVzdEV4ZWN1dG9yKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9iYXNlLnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4
ZWN1dG9ycy9iYXNlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0YmRhNGZhYWZhZTkxYzNlN2M5ZDQ1NjUxMDQ0
NTljOTAyM2RiNDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2Jh
c2UucHkKQEAgLTAsMCArMSwzMjUgQEAKK2ltcG9ydCBoYXNobGliCitpbXBvcnQganNvbgoraW1w
b3J0IG9zCitpbXBvcnQgdHJhY2ViYWNrCitpbXBvcnQgdXJscGFyc2UKK2Zyb20gYWJjIGltcG9y
dCBBQkNNZXRhLCBhYnN0cmFjdG1ldGhvZAorCitmcm9tIC4udGVzdHJ1bm5lciBpbXBvcnQgU3Rv
cAorCitoZXJlID0gb3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0KKworCitkZWYgZXhlY3V0b3Jf
a3dhcmdzKHRlc3RfdHlwZSwgc2VydmVyX2NvbmZpZywgY2FjaGVfbWFuYWdlciwgKiprd2FyZ3Mp
OgorICAgIHRpbWVvdXRfbXVsdGlwbGllciA9IGt3YXJnc1sidGltZW91dF9tdWx0aXBsaWVyIl0K
KyAgICBpZiB0aW1lb3V0X211bHRpcGxpZXIgaXMgTm9uZToKKyAgICAgICAgdGltZW91dF9tdWx0
aXBsaWVyID0gMQorCisgICAgZXhlY3V0b3Jfa3dhcmdzID0geyJzZXJ2ZXJfY29uZmlnIjogc2Vy
dmVyX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgInRpbWVvdXRfbXVsdGlwbGllciI6
IHRpbWVvdXRfbXVsdGlwbGllciwKKyAgICAgICAgICAgICAgICAgICAgICAgImRlYnVnX2luZm8i
OiBrd2FyZ3NbImRlYnVnX2luZm8iXX0KKworICAgIGlmIHRlc3RfdHlwZSA9PSAicmVmdGVzdCI6
CisgICAgICAgIGV4ZWN1dG9yX2t3YXJnc1sic2NyZWVuc2hvdF9jYWNoZSJdID0gY2FjaGVfbWFu
YWdlci5kaWN0KCkKKworICAgIHJldHVybiBleGVjdXRvcl9rd2FyZ3MKKworCitkZWYgc3RyaXBf
c2VydmVyKHVybCk6CisgICAgIiIiUmVtb3ZlIHRoZSBzY2hlbWUgYW5kIG5ldGxvYyBmcm9tIGEg
dXJsLCBsZWF2aW5nIG9ubHkgdGhlIHBhdGggYW5kIGFueSBxdWVyeQorICAgIG9yIGZyYWdtZW50
LgorCisgICAgdXJsIC0gdGhlIHVybCB0byBzdHJpcAorCisgICAgZS5nLiBodHRwOi8vZXhhbXBs
ZS5vcmc6ODAwMC90ZXN0cz9pZD0xIzIgYmVjb21lcyAvdGVzdHM/aWQ9MSMyIiIiCisKKyAgICB1
cmxfcGFydHMgPSBsaXN0KHVybHBhcnNlLnVybHNwbGl0KHVybCkpCisgICAgdXJsX3BhcnRzWzBd
ID0gIiIKKyAgICB1cmxfcGFydHNbMV0gPSAiIgorICAgIHJldHVybiB1cmxwYXJzZS51cmx1bnNw
bGl0KHVybF9wYXJ0cykKKworCitjbGFzcyBUZXN0aGFybmVzc1Jlc3VsdENvbnZlcnRlcihvYmpl
Y3QpOgorICAgIGhhcm5lc3NfY29kZXMgPSB7MDogIk9LIiwKKyAgICAgICAgICAgICAgICAgICAg
IDE6ICJFUlJPUiIsCisgICAgICAgICAgICAgICAgICAgICAyOiAiVElNRU9VVCJ9CisKKyAgICB0
ZXN0X2NvZGVzID0gezA6ICJQQVNTIiwKKyAgICAgICAgICAgICAgICAgIDE6ICJGQUlMIiwKKyAg
ICAgICAgICAgICAgICAgIDI6ICJUSU1FT1VUIiwKKyAgICAgICAgICAgICAgICAgIDM6ICJOT1RS
VU4ifQorCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIHRlc3QsIHJlc3VsdCk6CisgICAgICAgICIi
IkNvbnZlcnQgYSBKU09OIHJlc3VsdCBpbnRvIGEgKFRlc3RSZXN1bHQsIFtTdWJ0ZXN0UmVzdWx0
XSkgdHVwbGUiIiIKKyAgICAgICAgcmVzdWx0X3VybCwgc3RhdHVzLCBtZXNzYWdlLCBzdGFjaywg
c3VidGVzdF9yZXN1bHRzID0gcmVzdWx0CisgICAgICAgIGFzc2VydCByZXN1bHRfdXJsID09IHRl
c3QudXJsLCAoIkdvdCByZXN1bHRzIGZyb20gJXMsIGV4cGVjdGVkICVzIiAlCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXN1bHRfdXJsLCB0ZXN0LnVybCkpCisgICAg
ICAgIGhhcm5lc3NfcmVzdWx0ID0gdGVzdC5yZXN1bHRfY2xzKHNlbGYuaGFybmVzc19jb2Rlc1tz
dGF0dXNdLCBtZXNzYWdlKQorICAgICAgICByZXR1cm4gKGhhcm5lc3NfcmVzdWx0LAorICAgICAg
ICAgICAgICAgIFt0ZXN0LnN1YnRlc3RfcmVzdWx0X2NscyhuYW1lLCBzZWxmLnRlc3RfY29kZXNb
c3RhdHVzXSwgbWVzc2FnZSwgc3RhY2spCisgICAgICAgICAgICAgICAgIGZvciBuYW1lLCBzdGF0
dXMsIG1lc3NhZ2UsIHN0YWNrIGluIHN1YnRlc3RfcmVzdWx0c10pCisKKwordGVzdGhhcm5lc3Nf
cmVzdWx0X2NvbnZlcnRlciA9IFRlc3RoYXJuZXNzUmVzdWx0Q29udmVydGVyKCkKKworCitkZWYg
cmVmdGVzdF9yZXN1bHRfY29udmVydGVyKHNlbGYsIHRlc3QsIHJlc3VsdCk6CisgICAgcmV0dXJu
ICh0ZXN0LnJlc3VsdF9jbHMocmVzdWx0WyJzdGF0dXMiXSwgcmVzdWx0WyJtZXNzYWdlIl0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmE9cmVzdWx0LmdldCgiZXh0cmEiKSksIFtd
KQorCisKK2RlZiBweXRlc3RfcmVzdWx0X2NvbnZlcnRlcihzZWxmLCB0ZXN0LCBkYXRhKToKKyAg
ICBoYXJuZXNzX2RhdGEsIHN1YnRlc3RfZGF0YSA9IGRhdGEKKworICAgIGlmIHN1YnRlc3RfZGF0
YSBpcyBOb25lOgorICAgICAgICBzdWJ0ZXN0X2RhdGEgPSBbXQorCisgICAgaGFybmVzc19yZXN1
bHQgPSB0ZXN0LnJlc3VsdF9jbHMoKmhhcm5lc3NfZGF0YSkKKyAgICBzdWJ0ZXN0X3Jlc3VsdHMg
PSBbdGVzdC5zdWJ0ZXN0X3Jlc3VsdF9jbHMoKml0ZW0pIGZvciBpdGVtIGluIHN1YnRlc3RfZGF0
YV0KKworICAgIHJldHVybiAoaGFybmVzc19yZXN1bHQsIHN1YnRlc3RfcmVzdWx0cykKKworCitj
bGFzcyBFeGVjdXRvckV4Y2VwdGlvbihFeGNlcHRpb24pOgorICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBzdGF0dXMsIG1lc3NhZ2UpOgorICAgICAgICBzZWxmLnN0YXR1cyA9IHN0YXR1cworICAgICAg
ICBzZWxmLm1lc3NhZ2UgPSBtZXNzYWdlCisKKworY2xhc3MgVGVzdEV4ZWN1dG9yKG9iamVjdCk6
CisgICAgX19tZXRhY2xhc3NfXyA9IEFCQ01ldGEKKworICAgIHRlc3RfdHlwZSA9IE5vbmUKKyAg
ICBjb252ZXJ0X3Jlc3VsdCA9IE5vbmUKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2Vy
LCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKKyAgICAgICAgICAgICAgICAg
ZGVidWdfaW5mbz1Ob25lKToKKyAgICAgICAgIiIiQWJzdHJhY3QgQmFzZSBjbGFzcyBmb3Igb2Jq
ZWN0IHRoYXQgYWN0dWFsbHkgZXhlY3V0ZXMgdGhlIHRlc3RzIGluIGEKKyAgICAgICAgc3BlY2lm
aWMgYnJvd3Nlci4gVHlwaWNhbGx5IHRoZXJlIHdpbGwgYmUgYSBkaWZmZXJlbnQgVGVzdEV4ZWN1
dG9yCisgICAgICAgIHN1YmNsYXNzIGZvciBlYWNoIHRlc3QgdHlwZSBhbmQgbWV0aG9kIG9mIGV4
ZWN1dGluZyB0ZXN0cy4KKworICAgICAgICA6cGFyYW0gYnJvd3NlcjogRXhlY3V0b3JCcm93c2Vy
IGluc3RhbmNlIHByb3ZpZGluZyBwcm9wZXJ0aWVzIG9mIHRoZQorICAgICAgICAgICAgICAgICAg
ICAgICAgYnJvd3NlciB0aGF0IHdpbGwgYmUgdGVzdGVkLgorICAgICAgICA6cGFyYW0gc2VydmVy
X2NvbmZpZzogRGljdGlvbmFyeSBvZiB3cHRzZXJ2ZSBzZXJ2ZXIgY29uZmlndXJhdGlvbiBvZiB0
aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm0gc3RvcmVkIGluIFRlc3RFbnZp
cm9ubWVudC5leHRlcm5hbF9jb25maWcKKyAgICAgICAgOnBhcmFtIHRpbWVvdXRfbXVsdGlwbGll
cjogTXVsdGlwbGllciByZWxhdGl2ZSB0byBiYXNlIHRpbWVvdXQgdG8gdXNlCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gc2V0dGluZyB0ZXN0IHRpbWVvdXQuCisgICAg
ICAgICIiIgorICAgICAgICBzZWxmLnJ1bm5lciA9IE5vbmUKKyAgICAgICAgc2VsZi5icm93c2Vy
ID0gYnJvd3NlcgorICAgICAgICBzZWxmLnNlcnZlcl9jb25maWcgPSBzZXJ2ZXJfY29uZmlnCisg
ICAgICAgIHNlbGYudGltZW91dF9tdWx0aXBsaWVyID0gdGltZW91dF9tdWx0aXBsaWVyCisgICAg
ICAgIHNlbGYuZGVidWdfaW5mbyA9IGRlYnVnX2luZm8KKyAgICAgICAgc2VsZi5sYXN0X2Vudmly
b25tZW50ID0geyJwcm90b2NvbCI6ICJodHRwIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJwcmVmcyI6IHt9fQorICAgICAgICBzZWxmLnByb3RvY29sID0gTm9uZSAjIFRoaXMg
bXVzdCBiZSBzZXQgaW4gc3ViY2xhc3NlcworCisgICAgQHByb3BlcnR5CisgICAgZGVmIGxvZ2dl
cihzZWxmKToKKyAgICAgICAgIiIiU3RydWN0dXJlZExvZ2dlciBmb3IgdGhpcyBleGVjdXRvciIi
IgorICAgICAgICBpZiBzZWxmLnJ1bm5lciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJldHVy
biBzZWxmLnJ1bm5lci5sb2dnZXIKKworICAgIGRlZiBzZXR1cChzZWxmLCBydW5uZXIpOgorICAg
ICAgICAiIiJSdW4gc3RlcHMgbmVlZGVkIGJlZm9yZSB0ZXN0cyBjYW4gYmUgc3RhcnRlZCBlLmcu
IGNvbm5lY3RpbmcgdG8KKyAgICAgICAgYnJvd3NlciBpbnN0YW5jZQorCisgICAgICAgIDpwYXJh
bSBydW5uZXI6IFRlc3RSdW5uZXIgaW5zdGFuY2UgdGhhdCBpcyBnb2luZyB0byBydW4gdGhlIHRl
c3RzIiIiCisgICAgICAgIHNlbGYucnVubmVyID0gcnVubmVyCisgICAgICAgIGlmIHNlbGYucHJv
dG9jb2wgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLnByb3RvY29sLnNldHVwKHJ1bm5l
cikKKworICAgIGRlZiB0ZWFyZG93bihzZWxmKToKKyAgICAgICAgIiIiUnVuIGNsZWFudXAgc3Rl
cHMgYWZ0ZXIgdGVzdHMgaGF2ZSBmaW5pc2hlZCIiIgorICAgICAgICBpZiBzZWxmLnByb3RvY29s
IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5wcm90b2NvbC50ZWFyZG93bigpCisKKyAg
ICBkZWYgcnVuX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgICIiIlJ1biBhIHBhcnRpY3VsYXIg
dGVzdC4KKworICAgICAgICA6cGFyYW0gdGVzdDogVGhlIHRlc3QgdG8gcnVuIiIiCisgICAgICAg
IGlmIHRlc3QuZW52aXJvbm1lbnQgIT0gc2VsZi5sYXN0X2Vudmlyb25tZW50OgorICAgICAgICAg
ICAgc2VsZi5vbl9lbnZpcm9ubWVudF9jaGFuZ2UodGVzdC5lbnZpcm9ubWVudCkKKworICAgICAg
ICB0cnk6CisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmRvX3Rlc3QodGVzdCkKKyAgICAgICAg
ZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5yZXN1bHRf
ZnJvbV9leGNlcHRpb24odGVzdCwgZSkKKworICAgICAgICBpZiByZXN1bHQgaXMgU3RvcDoKKyAg
ICAgICAgICAgIHJldHVybiByZXN1bHQKKworICAgICAgICAjIGxvZyByZXN1bHQgb2YgcGFyZW50
IHRlc3QKKyAgICAgICAgaWYgcmVzdWx0WzBdLnN0YXR1cyA9PSAiRVJST1IiOgorICAgICAgICAg
ICAgc2VsZi5sb2dnZXIuZGVidWcocmVzdWx0WzBdLm1lc3NhZ2UpCisKKyAgICAgICAgc2VsZi5s
YXN0X2Vudmlyb25tZW50ID0gdGVzdC5lbnZpcm9ubWVudAorCisgICAgICAgIHNlbGYucnVubmVy
LnNlbmRfbWVzc2FnZSgidGVzdF9lbmRlZCIsIHRlc3QsIHJlc3VsdCkKKworICAgIGRlZiBzZXJ2
ZXJfdXJsKHNlbGYsIHByb3RvY29sKToKKyAgICAgICAgcmV0dXJuICIlczovLyVzOiVzIiAlIChw
cm90b2NvbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9jb25m
aWdbImhvc3QiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9j
b25maWdbInBvcnRzIl1bcHJvdG9jb2xdWzBdKQorCisgICAgZGVmIHRlc3RfdXJsKHNlbGYsIHRl
c3QpOgorICAgICAgICByZXR1cm4gdXJscGFyc2UudXJsam9pbihzZWxmLnNlcnZlcl91cmwodGVz
dC5lbnZpcm9ubWVudFsicHJvdG9jb2wiXSksIHRlc3QudXJsKQorCisgICAgQGFic3RyYWN0bWV0
aG9kCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgICIiIlRlc3QtdHlwZSBh
bmQgcHJvdG9jb2wgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgcnVubmluZyBhCisgICAgICAg
IHNwZWNpZmljIHRlc3QuCisKKyAgICAgICAgOnBhcmFtIHRlc3Q6IFRoZSB0ZXN0IHRvIHJ1bi4i
IiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIG9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLCBu
ZXdfZW52aXJvbm1lbnQpOgorICAgICAgICBwYXNzCisKKyAgICBkZWYgcmVzdWx0X2Zyb21fZXhj
ZXB0aW9uKHNlbGYsIHRlc3QsIGUpOgorICAgICAgICBpZiBoYXNhdHRyKGUsICJzdGF0dXMiKSBh
bmQgZS5zdGF0dXMgaW4gdGVzdC5yZXN1bHRfY2xzLnN0YXR1c2VzOgorICAgICAgICAgICAgc3Rh
dHVzID0gZS5zdGF0dXMKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHN0YXR1cyA9ICJFUlJP
UiIKKyAgICAgICAgbWVzc2FnZSA9IHVuaWNvZGUoZ2V0YXR0cihlLCAibWVzc2FnZSIsICIiKSkK
KyAgICAgICAgaWYgbWVzc2FnZToKKyAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgorICAgICAg
ICBtZXNzYWdlICs9IHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpCisgICAgICAgIHJldHVybiB0ZXN0
LnJlc3VsdF9jbHMoc3RhdHVzLCBtZXNzYWdlKSwgW10KKworCitjbGFzcyBUZXN0aGFybmVzc0V4
ZWN1dG9yKFRlc3RFeGVjdXRvcik6CisgICAgY29udmVydF9yZXN1bHQgPSB0ZXN0aGFybmVzc19y
ZXN1bHRfY29udmVydGVyCisKKworY2xhc3MgUmVmVGVzdEV4ZWN1dG9yKFRlc3RFeGVjdXRvcik6
CisgICAgY29udmVydF9yZXN1bHQgPSByZWZ0ZXN0X3Jlc3VsdF9jb252ZXJ0ZXIKKworICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxp
ZXI9MSwgc2NyZWVuc2hvdF9jYWNoZT1Ob25lLAorICAgICAgICAgICAgICAgICBkZWJ1Z19pbmZv
PU5vbmUpOgorICAgICAgICBUZXN0RXhlY3V0b3IuX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2Vy
dmVyX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXVsdGlw
bGllcj10aW1lb3V0X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
ZWJ1Z19pbmZvPWRlYnVnX2luZm8pCisKKyAgICAgICAgc2VsZi5zY3JlZW5zaG90X2NhY2hlID0g
c2NyZWVuc2hvdF9jYWNoZQorCisKK2NsYXNzIFJlZlRlc3RJbXBsZW1lbnRhdGlvbihvYmplY3Qp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRvcik6CisgICAgICAgIHNlbGYudGltZW91
dF9tdWx0aXBsaWVyID0gZXhlY3V0b3IudGltZW91dF9tdWx0aXBsaWVyCisgICAgICAgIHNlbGYu
ZXhlY3V0b3IgPSBleGVjdXRvcgorICAgICAgICAjIENhY2hlIG9mIHVybDooc2NyZWVuc2hvdCBo
YXNoLCBzY3JlZW5zaG90KS4gVHlwaWNhbGx5IHRoZQorICAgICAgICAjIHNjcmVlbnNob3QgaXMg
Tm9uZSwgYnV0IHdlIHNldCB0aGlzIHZhbHVlIGlmIGEgdGVzdCBmYWlscworICAgICAgICAjIGFu
ZCB0aGUgc2NyZWVuc2hvdCB3YXMgdGFrZW4gZnJvbSB0aGUgY2FjaGUgc28gdGhhdCB3ZSBtYXkK
KyAgICAgICAgIyByZXRyaWV2ZSB0aGUgc2NyZWVuc2hvdCBmcm9tIHRoZSBjYWNoZSBkaXJlY3Rs
eSBpbiB0aGUgZnV0dXJlCisgICAgICAgIHNlbGYuc2NyZWVuc2hvdF9jYWNoZSA9IHNlbGYuZXhl
Y3V0b3Iuc2NyZWVuc2hvdF9jYWNoZQorICAgICAgICBzZWxmLm1lc3NhZ2UgPSBOb25lCisKKyAg
ICBAcHJvcGVydHkKKyAgICBkZWYgbG9nZ2VyKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5l
eGVjdXRvci5sb2dnZXIKKworICAgIGRlZiBnZXRfaGFzaChzZWxmLCB0ZXN0LCB2aWV3cG9ydF9z
aXplLCBkcGkpOgorICAgICAgICB0aW1lb3V0ID0gdGVzdC50aW1lb3V0ICogc2VsZi50aW1lb3V0
X211bHRpcGxpZXIKKyAgICAgICAga2V5ID0gKHRlc3QudXJsLCB2aWV3cG9ydF9zaXplLCBkcGkp
CisKKyAgICAgICAgaWYga2V5IG5vdCBpbiBzZWxmLnNjcmVlbnNob3RfY2FjaGU6CisgICAgICAg
ICAgICBzdWNjZXNzLCBkYXRhID0gc2VsZi5leGVjdXRvci5zY3JlZW5zaG90KHRlc3QsIHZpZXdw
b3J0X3NpemUsIGRwaSkKKworICAgICAgICAgICAgaWYgbm90IHN1Y2Nlc3M6CisgICAgICAgICAg
ICAgICAgcmV0dXJuIEZhbHNlLCBkYXRhCisKKyAgICAgICAgICAgIHNjcmVlbnNob3QgPSBkYXRh
CisgICAgICAgICAgICBoYXNoX3ZhbHVlID0gaGFzaGxpYi5zaGExKHNjcmVlbnNob3QpLmhleGRp
Z2VzdCgpCisKKyAgICAgICAgICAgIHNlbGYuc2NyZWVuc2hvdF9jYWNoZVtrZXldID0gKGhhc2hf
dmFsdWUsIE5vbmUpCisKKyAgICAgICAgICAgIHJ2ID0gKGhhc2hfdmFsdWUsIHNjcmVlbnNob3Qp
CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBydiA9IHNlbGYuc2NyZWVuc2hvdF9jYWNoZVtr
ZXldCisKKyAgICAgICAgc2VsZi5tZXNzYWdlLmFwcGVuZCgiJXMgJXMiICUgKHRlc3QudXJsLCBy
dlswXSkpCisgICAgICAgIHJldHVybiBUcnVlLCBydgorCisgICAgZGVmIGlzX3Bhc3Moc2VsZiwg
bGhzX2hhc2gsIHJoc19oYXNoLCByZWxhdGlvbik6CisgICAgICAgIGFzc2VydCByZWxhdGlvbiBp
biAoIj09IiwgIiE9IikKKyAgICAgICAgc2VsZi5tZXNzYWdlLmFwcGVuZCgiVGVzdGluZyAlcyAl
cyAlcyIgJSAobGhzX2hhc2gsIHJlbGF0aW9uLCByaHNfaGFzaCkpCisgICAgICAgIHJldHVybiAo
KHJlbGF0aW9uID09ICI9PSIgYW5kIGxoc19oYXNoID09IHJoc19oYXNoKSBvcgorICAgICAgICAg
ICAgICAgIChyZWxhdGlvbiA9PSAiIT0iIGFuZCBsaHNfaGFzaCAhPSByaHNfaGFzaCkpCisKKyAg
ICBkZWYgcnVuX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgIHZpZXdwb3J0X3NpemUgPSB0ZXN0
LnZpZXdwb3J0X3NpemUKKyAgICAgICAgZHBpID0gdGVzdC5kcGkKKyAgICAgICAgc2VsZi5tZXNz
YWdlID0gW10KKworICAgICAgICAjIERlcHRoLWZpcnN0IHNlYXJjaCBvZiByZWZlcmVuY2UgdHJl
ZSwgd2l0aCB0aGUgZ29hbAorICAgICAgICAjIG9mIHJlYWNoaW5ncyBhIGxlYWYgbm9kZSB3aXRo
IG9ubHkgcGFzcyByZXN1bHRzCisKKyAgICAgICAgc3RhY2sgPSBsaXN0KCgodGVzdCwgaXRlbVsw
XSksIGl0ZW1bMV0pIGZvciBpdGVtIGluIHJldmVyc2VkKHRlc3QucmVmZXJlbmNlcykpCisgICAg
ICAgIHdoaWxlIHN0YWNrOgorICAgICAgICAgICAgaGFzaGVzID0gW05vbmUsIE5vbmVdCisgICAg
ICAgICAgICBzY3JlZW5zaG90cyA9IFtOb25lLCBOb25lXQorCisgICAgICAgICAgICBub2Rlcywg
cmVsYXRpb24gPSBzdGFjay5wb3AoKQorCisgICAgICAgICAgICBmb3IgaSwgbm9kZSBpbiBlbnVt
ZXJhdGUobm9kZXMpOgorICAgICAgICAgICAgICAgIHN1Y2Nlc3MsIGRhdGEgPSBzZWxmLmdldF9o
YXNoKG5vZGUsIHZpZXdwb3J0X3NpemUsIGRwaSkKKyAgICAgICAgICAgICAgICBpZiBzdWNjZXNz
IGlzIEZhbHNlOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4geyJzdGF0dXMiOiBkYXRhWzBd
LCAibWVzc2FnZSI6IGRhdGFbMV19CisKKyAgICAgICAgICAgICAgICBoYXNoZXNbaV0sIHNjcmVl
bnNob3RzW2ldID0gZGF0YQorCisgICAgICAgICAgICBpZiBzZWxmLmlzX3Bhc3MoaGFzaGVzWzBd
LCBoYXNoZXNbMV0sIHJlbGF0aW9uKToKKyAgICAgICAgICAgICAgICBpZiBub2Rlc1sxXS5yZWZl
cmVuY2VzOgorICAgICAgICAgICAgICAgICAgICBzdGFjay5leHRlbmQobGlzdCgoKG5vZGVzWzFd
LCBpdGVtWzBdKSwgaXRlbVsxXSkgZm9yIGl0ZW0gaW4gcmV2ZXJzZWQobm9kZXNbMV0ucmVmZXJl
bmNlcykpKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgV2Ug
cGFzc2VkCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB7InN0YXR1cyI6IlBBU1MiLCAibWVz
c2FnZSI6IE5vbmV9CisKKyAgICAgICAgIyBXZSBmYWlsZWQsIHNvIGNvbnN0cnVjdCBhIGZhaWx1
cmUgbWVzc2FnZQorCisgICAgICAgIGZvciBpLCAobm9kZSwgc2NyZWVuc2hvdCkgaW4gZW51bWVy
YXRlKHppcChub2Rlcywgc2NyZWVuc2hvdHMpKToKKyAgICAgICAgICAgIGlmIHNjcmVlbnNob3Qg
aXMgTm9uZToKKyAgICAgICAgICAgICAgICBzdWNjZXNzLCBzY3JlZW5zaG90ID0gc2VsZi5yZXRh
a2Vfc2NyZWVuc2hvdChub2RlLCB2aWV3cG9ydF9zaXplLCBkcGkpCisgICAgICAgICAgICAgICAg
aWYgc3VjY2VzczoKKyAgICAgICAgICAgICAgICAgICAgc2NyZWVuc2hvdHNbaV0gPSBzY3JlZW5z
aG90CisKKyAgICAgICAgbG9nX2RhdGEgPSBbeyJ1cmwiOiBub2Rlc1swXS51cmwsICJzY3JlZW5z
aG90Ijogc2NyZWVuc2hvdHNbMF19LCByZWxhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgeyJ1
cmwiOiBub2Rlc1sxXS51cmwsICJzY3JlZW5zaG90Ijogc2NyZWVuc2hvdHNbMV19XQorCisgICAg
ICAgIHJldHVybiB7InN0YXR1cyI6ICJGQUlMIiwKKyAgICAgICAgICAgICAgICAibWVzc2FnZSI6
ICJcbiIuam9pbihzZWxmLm1lc3NhZ2UpLAorICAgICAgICAgICAgICAgICJleHRyYSI6IHsicmVm
dGVzdF9zY3JlZW5zaG90cyI6IGxvZ19kYXRhfX0KKworICAgIGRlZiByZXRha2Vfc2NyZWVuc2hv
dChzZWxmLCBub2RlLCB2aWV3cG9ydF9zaXplLCBkcGkpOgorICAgICAgICBzdWNjZXNzLCBkYXRh
ID0gc2VsZi5leGVjdXRvci5zY3JlZW5zaG90KG5vZGUsIHZpZXdwb3J0X3NpemUsIGRwaSkKKyAg
ICAgICAgaWYgbm90IHN1Y2Nlc3M6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UsIGRhdGEKKwor
ICAgICAgICBrZXkgPSAobm9kZS51cmwsIHZpZXdwb3J0X3NpemUsIGRwaSkKKyAgICAgICAgaGFz
aF92YWwsIF8gPSBzZWxmLnNjcmVlbnNob3RfY2FjaGVba2V5XQorICAgICAgICBzZWxmLnNjcmVl
bnNob3RfY2FjaGVba2V5XSA9IGhhc2hfdmFsLCBkYXRhCisgICAgICAgIHJldHVybiBUcnVlLCBk
YXRhCisKKworY2xhc3MgV2RzcGVjRXhlY3V0b3IoVGVzdEV4ZWN1dG9yKToKKyAgICBjb252ZXJ0
X3Jlc3VsdCA9IHB5dGVzdF9yZXN1bHRfY29udmVydGVyCisKKworY2xhc3MgUHJvdG9jb2wob2Jq
ZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZXhlY3V0b3IsIGJyb3dzZXIpOgorICAgICAg
ICBzZWxmLmV4ZWN1dG9yID0gZXhlY3V0b3IKKyAgICAgICAgc2VsZi5icm93c2VyID0gYnJvd3Nl
cgorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGxvZ2dlcihzZWxmKToKKyAgICAgICAgcmV0dXJu
IHNlbGYuZXhlY3V0b3IubG9nZ2VyCisKKyAgICBkZWYgc2V0dXAoc2VsZiwgcnVubmVyKToKKyAg
ICAgICAgcGFzcworCisgICAgZGVmIHRlYXJkb3duKHNlbGYpOgorICAgICAgICBwYXNzCisKKyAg
ICBkZWYgd2FpdChzZWxmKToKKyAgICAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy9leGVjdXRvcm1hcmlvbmV0dGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3Jz
L2V4ZWN1dG9ybWFyaW9uZXR0ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMWU2NTA5YWYxNjczODljYWViY2U4
MmJmNGI0ZDhkNDAwMmZhMzE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1
dG9ycy9leGVjdXRvcm1hcmlvbmV0dGUucHkKQEAgLTAsMCArMSw2MTggQEAKK2ltcG9ydCBoYXNo
bGliCitpbXBvcnQgaHR0cGxpYgoraW1wb3J0IG9zCitpbXBvcnQgc29ja2V0CitpbXBvcnQgdGhy
ZWFkaW5nCitpbXBvcnQgdGltZQoraW1wb3J0IHRyYWNlYmFjaworaW1wb3J0IHVybHBhcnNlCitp
bXBvcnQgdXVpZAorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3QKKworZnJvbSAu
LndwdHRlc3QgaW1wb3J0IFdkc3BlY1Jlc3VsdCwgV2RzcGVjU3VidGVzdFJlc3VsdAorCitlcnJv
cnMgPSBOb25lCittYXJpb25ldHRlID0gTm9uZQorcHl0ZXN0cnVubmVyID0gTm9uZQorCitoZXJl
ID0gb3MucGF0aC5qb2luKG9zLnBhdGguc3BsaXQoX19maWxlX18pWzBdKQorCitmcm9tIC5iYXNl
IGltcG9ydCAoRXhlY3V0b3JFeGNlcHRpb24sCisgICAgICAgICAgICAgICAgICAgUHJvdG9jb2ws
CisgICAgICAgICAgICAgICAgICAgUmVmVGVzdEV4ZWN1dG9yLAorICAgICAgICAgICAgICAgICAg
IFJlZlRlc3RJbXBsZW1lbnRhdGlvbiwKKyAgICAgICAgICAgICAgICAgICBUZXN0RXhlY3V0b3Is
CisgICAgICAgICAgICAgICAgICAgVGVzdGhhcm5lc3NFeGVjdXRvciwKKyAgICAgICAgICAgICAg
ICAgICB0ZXN0aGFybmVzc19yZXN1bHRfY29udmVydGVyLAorICAgICAgICAgICAgICAgICAgIHJl
ZnRlc3RfcmVzdWx0X2NvbnZlcnRlciwKKyAgICAgICAgICAgICAgICAgICBzdHJpcF9zZXJ2ZXIs
CisgICAgICAgICAgICAgICAgICAgV2RzcGVjRXhlY3V0b3IpCitmcm9tIC4udGVzdHJ1bm5lciBp
bXBvcnQgU3RvcAorZnJvbSAuLndlYmRyaXZlcl9zZXJ2ZXIgaW1wb3J0IEdlY2tvRHJpdmVyU2Vy
dmVyCisKKyMgRXh0cmEgdGltZW91dCB0byB1c2UgYWZ0ZXIgaW50ZXJuYWwgdGVzdCB0aW1lb3V0
IGF0IHdoaWNoIHRoZSBoYXJuZXNzCisjIHNob3VsZCBmb3JjZSBhIHRpbWVvdXQKK2V4dHJhX3Rp
bWVvdXQgPSA1ICMgc2Vjb25kcworCisKK2RlZiBkb19kZWxheWVkX2ltcG9ydHMoKToKKyAgICBn
bG9iYWwgZXJyb3JzLCBtYXJpb25ldHRlCisKKyAgICAjIE1hcmlvbmV0dGUgY2xpZW50IHVzZWQg
dG8gYmUgY2FsbGVkIG1hcmlvbmV0dGUsIHJlY2VudGx5IGl0IGNoYW5nZWQKKyAgICAjIHRvIG1h
cmlvbmV0dGVfZHJpdmVyIGZvciB1bmZhdGhvbWFibGUgcmVhc29ucworICAgIHRyeToKKyAgICAg
ICAgaW1wb3J0IG1hcmlvbmV0dGUKKyAgICAgICAgZnJvbSBtYXJpb25ldHRlIGltcG9ydCBlcnJv
cnMKKyAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgIGZyb20gbWFyaW9uZXR0ZV9kcml2
ZXIgaW1wb3J0IG1hcmlvbmV0dGUsIGVycm9ycworCisKK2NsYXNzIE1hcmlvbmV0dGVQcm90b2Nv
bChQcm90b2NvbCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4ZWN1dG9yLCBicm93c2VyKToK
KyAgICAgICAgZG9fZGVsYXllZF9pbXBvcnRzKCkKKworICAgICAgICBQcm90b2NvbC5fX2luaXRf
XyhzZWxmLCBleGVjdXRvciwgYnJvd3NlcikKKyAgICAgICAgc2VsZi5tYXJpb25ldHRlID0gTm9u
ZQorICAgICAgICBzZWxmLm1hcmlvbmV0dGVfcG9ydCA9IGJyb3dzZXIubWFyaW9uZXR0ZV9wb3J0
CisgICAgICAgIHNlbGYudGltZW91dCA9IE5vbmUKKyAgICAgICAgc2VsZi5ydW5uZXJfaGFuZGxl
ID0gTm9uZQorCisgICAgZGVmIHNldHVwKHNlbGYsIHJ1bm5lcik6CisgICAgICAgICIiIkNvbm5l
Y3QgdG8gYnJvd3NlciB2aWEgTWFyaW9uZXR0ZS4iIiIKKyAgICAgICAgUHJvdG9jb2wuc2V0dXAo
c2VsZiwgcnVubmVyKQorCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJDb25uZWN0aW5nIHRv
IE1hcmlvbmV0dGUgb24gcG9ydCAlaSIgJSBzZWxmLm1hcmlvbmV0dGVfcG9ydCkKKyAgICAgICAg
c2VsZi5tYXJpb25ldHRlID0gbWFyaW9uZXR0ZS5NYXJpb25ldHRlKGhvc3Q9J2xvY2FsaG9zdCcs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0PXNl
bGYubWFyaW9uZXR0ZV9wb3J0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc29ja2V0X3RpbWVvdXQ9Tm9uZSkKKworICAgICAgICAjIFhYWCBNb3ZlIHRo
aXMgdGltZW91dCBzb21ld2hlcmUKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIldhaXRpbmcg
Zm9yIE1hcmlvbmV0dGUgY29ubmVjdGlvbiIpCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAg
ICAgICBzdWNjZXNzID0gc2VsZi5tYXJpb25ldHRlLndhaXRfZm9yX3BvcnQoNjApCisgICAgICAg
ICAgICAjV2hlbiBydW5uaW5nIGluIGEgZGVidWdnZXIgd2FpdCBpbmRlZmluaXRlbHkgZm9yIGZp
cmVmb3ggdG8gc3RhcnQKKyAgICAgICAgICAgIGlmIHN1Y2Nlc3Mgb3Igc2VsZi5leGVjdXRvci5k
ZWJ1Z19pbmZvIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICBzZXNz
aW9uX3N0YXJ0ZWQgPSBGYWxzZQorICAgICAgICBpZiBzdWNjZXNzOgorICAgICAgICAgICAgdHJ5
OgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJTdGFydGluZyBNYXJpb25ldHRl
IHNlc3Npb24iKQorICAgICAgICAgICAgICAgIHNlbGYubWFyaW9uZXR0ZS5zdGFydF9zZXNzaW9u
KCkKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICBz
ZWxmLmxvZ2dlci53YXJuaW5nKCJTdGFydGluZyBtYXJpb25ldHRlIHNlc3Npb24gZmFpbGVkOiAl
cyIgJSBlKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5k
ZWJ1ZygiTWFyaW9uZXR0ZSBzZXNzaW9uIHN0YXJ0ZWQiKQorICAgICAgICAgICAgICAgIHNlc3Np
b25fc3RhcnRlZCA9IFRydWUKKworICAgICAgICBpZiBub3Qgc3VjY2VzcyBvciBub3Qgc2Vzc2lv
bl9zdGFydGVkOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIud2FybmluZygiRmFpbGVkIHRvIGNv
bm5lY3QgdG8gTWFyaW9uZXR0ZSIpCisgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yLnJ1bm5lci5z
ZW5kX21lc3NhZ2UoImluaXRfZmFpbGVkIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHRy
eToKKyAgICAgICAgICAgICAgICBzZWxmLmFmdGVyX2Nvbm5lY3QoKQorICAgICAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKCJQb3N0
LWNvbm5lY3Rpb24gc3RlcHMgZmFpbGVkIikKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5l
cnJvcih0cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0
b3IucnVubmVyLnNlbmRfbWVzc2FnZSgiaW5pdF9mYWlsZWQiKQorICAgICAgICAgICAgZWxzZToK
KyAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yLnJ1bm5lci5zZW5kX21lc3NhZ2UoImluaXRf
c3VjY2VlZGVkIikKKworICAgIGRlZiB0ZWFyZG93bihzZWxmKToKKyAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgc2VsZi5tYXJpb25ldHRlLl9yZXF1ZXN0X2luX2FwcF9zaHV0ZG93bigpCisgICAg
ICAgICAgICBzZWxmLm1hcmlvbmV0dGUuZGVsZXRlX3Nlc3Npb24oc2VuZF9yZXF1ZXN0PUZhbHNl
LCByZXNldF9zZXNzaW9uX2lkPVRydWUpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAg
ICAgICAgICAjIFRoaXMgaXMgdHlwaWNhbGx5IGJlY2F1c2UgdGhlIHNlc3Npb24gbmV2ZXIgc3Rh
cnRlZAorICAgICAgICAgICAgcGFzcworICAgICAgICBpZiBzZWxmLm1hcmlvbmV0dGUgaXMgbm90
IE5vbmU6CisgICAgICAgICAgICBkZWwgc2VsZi5tYXJpb25ldHRlCisKKyAgICBAcHJvcGVydHkK
KyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgICIiIkNoZWNrIGlmIHRoZSBNYXJpb25l
dHRlIGNvbm5lY3Rpb24gaXMgc3RpbGwgYWN0aXZlLiIiIgorICAgICAgICB0cnk6CisgICAgICAg
ICAgICBzZWxmLm1hcmlvbmV0dGUuY3VycmVudF93aW5kb3dfaGFuZGxlCisgICAgICAgIGV4Y2Vw
dCBFeGNlcHRpb246CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRy
dWUKKworICAgIGRlZiBhZnRlcl9jb25uZWN0KHNlbGYpOgorICAgICAgICBzZWxmLmxvYWRfcnVu
bmVyKHNlbGYuZXhlY3V0b3IubGFzdF9lbnZpcm9ubWVudFsicHJvdG9jb2wiXSkKKworICAgIGRl
ZiBzZXRfdGltZW91dChzZWxmLCB0aW1lb3V0KToKKyAgICAgICAgIiIiU2V0IHRoZSBNYXJpb25l
dHRlIHNjcmlwdCB0aW1lb3V0LgorCisgICAgICAgIDpwYXJhbSB0aW1lb3V0OiBTY3JpcHQgdGlt
ZW91dCBpbiBzZWNvbmRzCisKKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYubWFyaW9uZXR0ZS50
aW1lb3V0LnNjcmlwdCA9IHRpbWVvdXQKKyAgICAgICAgc2VsZi50aW1lb3V0ID0gdGltZW91dAor
CisgICAgZGVmIGxvYWRfcnVubmVyKHNlbGYsIHByb3RvY29sKToKKyAgICAgICAgIyBDaGVjayBp
ZiB3ZSBwcmV2aW91c2x5IGhhZCBhIHRlc3Qgd2luZG93IG9wZW4sIGFuZCBpZiB3ZSBkaWQgbWFr
ZSBzdXJlIGl0J3MgY2xvc2VkCisgICAgICAgIHNlbGYubWFyaW9uZXR0ZS5leGVjdXRlX3Njcmlw
dCgiaWYgKHdpbmRvdy53cmFwcGVkSlNPYmplY3Qud2luKSB7d2luZG93LndyYXBwZWRKU09iamVj
dC53aW4uY2xvc2UoKX0iKQorICAgICAgICB1cmwgPSB1cmxwYXJzZS51cmxqb2luKHNlbGYuZXhl
Y3V0b3Iuc2VydmVyX3VybChwcm90b2NvbCksICIvdGVzdGhhcm5lc3NfcnVubmVyLmh0bWwiKQor
ICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiTG9hZGluZyAlcyIgJSB1cmwpCisgICAgICAgIHNl
bGYucnVubmVyX2hhbmRsZSA9IHNlbGYubWFyaW9uZXR0ZS5jdXJyZW50X3dpbmRvd19oYW5kbGUK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRlLm5hdmlnYXRlKHVybCkK
KyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIu
Y3JpdGljYWwoCisgICAgICAgICAgICAgICAgIkxvYWRpbmcgaW5pdGlhbCBwYWdlICVzIGZhaWxl
ZC4gRW5zdXJlIHRoYXQgdGhlICIKKyAgICAgICAgICAgICAgICAidGhlcmUgYXJlIG5vIG90aGVy
IHByb2dyYW1zIGJvdW5kIHRvIHRoaXMgcG9ydCBhbmQgIgorICAgICAgICAgICAgICAgICJ0aGF0
IHlvdXIgZmlyZXdhbGwgcnVsZXMgb3IgbmV0d29yayBzZXR1cCBkb2VzIG5vdCAiCisgICAgICAg
ICAgICAgICAgInByZXZlbnQgYWNjZXNzLlxlJXMiICUgKHVybCwgdHJhY2ViYWNrLmZvcm1hdF9l
eGMoZSkpKQorICAgICAgICBzZWxmLm1hcmlvbmV0dGUuZXhlY3V0ZV9zY3JpcHQoCisgICAgICAg
ICAgICAiZG9jdW1lbnQudGl0bGUgPSAnJXMnIiAlIHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgp
Lm5hbWUucmVwbGFjZSgiJyIsICciJykpCisKKyAgICBkZWYgY2xvc2Vfb2xkX3dpbmRvd3Moc2Vs
ZiwgcHJvdG9jb2wpOgorICAgICAgICBoYW5kbGVzID0gc2VsZi5tYXJpb25ldHRlLndpbmRvd19o
YW5kbGVzCisgICAgICAgIHJ1bm5lcl9oYW5kbGUgPSBOb25lCisgICAgICAgIHRyeToKKyAgICAg
ICAgICAgIGhhbmRsZXMucmVtb3ZlKHNlbGYucnVubmVyX2hhbmRsZSkKKyAgICAgICAgICAgIHJ1
bm5lcl9oYW5kbGUgPSBzZWxmLnJ1bm5lcl9oYW5kbGUKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJy
b3I6CisgICAgICAgICAgICAjIFRoZSBydW5uZXIgd2luZG93IHByb2JhYmx5IGNoYW5nZWQgaWQg
YnV0IHdlIGNhbiByZXN0b3JlIGl0CisgICAgICAgICAgICAjIFRoaXMgaXNuJ3Qgc3VwcG9zZWQg
dG8gaGFwcGVuLCBidXQgbWFyaW9uZXR0ZSBpZHMgYXJlIG5vdCB5ZXQgc3RhYmxlCisgICAgICAg
ICAgICAjIFdlIGFzc3VtZSB0aGF0IHRoZSBmaXJzdCBoYW5kbGUgcmV0dXJuZWQgY29ycmVzcG9u
ZHMgdG8gdGhlIHJ1bm5lciwKKyAgICAgICAgICAgICMgYnV0IGl0IGhvcGVmdWxseSBkb2Vzbid0
IG1hdHRlciB0b28gbXVjaCBpZiB0aGF0IGFzc3VtcHRpb24gaXMKKyAgICAgICAgICAgICMgd3Jv
bmcgc2luY2Ugd2UgcmVsb2FkIHRoZSBydW5uZXIgaW4gdGhhdCB0YWIgYW55d2F5LgorICAgICAg
ICAgICAgcnVubmVyX2hhbmRsZSA9IGhhbmRsZXMucG9wKDApCisKKyAgICAgICAgZm9yIGhhbmRs
ZSBpbiBoYW5kbGVzOgorICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRlLnN3aXRjaF90b193aW5k
b3coaGFuZGxlKQorICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRlLmNsb3NlKCkKKworICAgICAg
ICBzZWxmLm1hcmlvbmV0dGUuc3dpdGNoX3RvX3dpbmRvdyhydW5uZXJfaGFuZGxlKQorICAgICAg
ICBpZiBydW5uZXJfaGFuZGxlICE9IHNlbGYucnVubmVyX2hhbmRsZToKKyAgICAgICAgICAgIHNl
bGYubG9hZF9ydW5uZXIocHJvdG9jb2wpCisKKyAgICBkZWYgd2FpdChzZWxmKToKKyAgICAgICAg
c29ja2V0X3RpbWVvdXQgPSBzZWxmLm1hcmlvbmV0dGUuY2xpZW50LnNvY2suZ2V0dGltZW91dCgp
CisgICAgICAgIGlmIHNvY2tldF90aW1lb3V0OgorICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRl
LnRpbWVvdXQuc2NyaXB0ID0gc29ja2V0X3RpbWVvdXQgLyAyCisKKyAgICAgICAgd2hpbGUgVHJ1
ZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLm1hcmlvbmV0dGUuZXhl
Y3V0ZV9hc3luY19zY3JpcHQoIiIpCisgICAgICAgICAgICBleGNlcHQgZXJyb3JzLlNjcmlwdFRp
bWVvdXRFeGNlcHRpb246CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlNjcmlw
dCB0aW1lZCBvdXQiKQorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGV4Y2VwdCAo
c29ja2V0LnRpbWVvdXQsIElPRXJyb3IpOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRl
YnVnKCJTb2NrZXQgY2xvc2VkIikKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAg
ZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9y
KHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpKQorICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICBk
ZWYgb25fZW52aXJvbm1lbnRfY2hhbmdlKHNlbGYsIG9sZF9lbnZpcm9ubWVudCwgbmV3X2Vudmly
b25tZW50KToKKyAgICAgICAgI1Vuc2V0IGFsbCB0aGUgb2xkIHByZWZzCisgICAgICAgIGZvciBu
YW1lIGluIG9sZF9lbnZpcm9ubWVudC5nZXQoInByZWZzIiwge30pLml0ZXJrZXlzKCk6CisgICAg
ICAgICAgICB2YWx1ZSA9IHNlbGYuZXhlY3V0b3Iub3JpZ2luYWxfcHJlZl92YWx1ZXNbbmFtZV0K
KyAgICAgICAgICAgIGlmIHZhbHVlIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgc2VsZi5jbGVh
cl91c2VyX3ByZWYobmFtZSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2Vs
Zi5zZXRfcHJlZihuYW1lLCB2YWx1ZSkKKworICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4gbmV3
X2Vudmlyb25tZW50LmdldCgicHJlZnMiLCB7fSkuaXRlcml0ZW1zKCk6CisgICAgICAgICAgICBz
ZWxmLmV4ZWN1dG9yLm9yaWdpbmFsX3ByZWZfdmFsdWVzW25hbWVdID0gc2VsZi5nZXRfcHJlZihu
YW1lKQorICAgICAgICAgICAgc2VsZi5zZXRfcHJlZihuYW1lLCB2YWx1ZSkKKworICAgIGRlZiBz
ZXRfcHJlZihzZWxmLCBuYW1lLCB2YWx1ZSk6CisgICAgICAgIGlmIHZhbHVlLmxvd2VyKCkgbm90
IGluICgidHJ1ZSIsICJmYWxzZSIpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAg
IGludCh2YWx1ZSkKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAg
ICAgIHZhbHVlID0gIiclcyciICUgdmFsdWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHZh
bHVlID0gdmFsdWUubG93ZXIoKQorCisgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oIlNldHRpbmcg
cHJlZiAlcyAoJXMpIiAlIChuYW1lLCB2YWx1ZSkpCisKKyAgICAgICAgc2NyaXB0ID0gIiIiCisg
ICAgICAgICAgICBsZXQgcHJlZkludGVyZmFjZSA9IENvbXBvbmVudHMuY2xhc3Nlc1siQG1vemls
bGEub3JnL3ByZWZlcmVuY2VzLXNlcnZpY2U7MSJdCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAuZ2V0U2VydmljZShDb21wb25lbnRzLmludGVyZmFjZXMubnNJUHJl
ZkJyYW5jaCk7CisgICAgICAgICAgICBsZXQgcHJlZiA9ICclcyc7CisgICAgICAgICAgICBsZXQg
dHlwZSA9IHByZWZJbnRlcmZhY2UuZ2V0UHJlZlR5cGUocHJlZik7CisgICAgICAgICAgICBsZXQg
dmFsdWUgPSAlczsKKyAgICAgICAgICAgIHN3aXRjaCh0eXBlKSB7CisgICAgICAgICAgICAgICAg
Y2FzZSBwcmVmSW50ZXJmYWNlLlBSRUZfU1RSSU5HOgorICAgICAgICAgICAgICAgICAgICBwcmVm
SW50ZXJmYWNlLnNldENoYXJQcmVmKHByZWYsIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBwcmVmSW50ZXJmYWNlLlBSRUZfQk9PTDoKKyAg
ICAgICAgICAgICAgICAgICAgcHJlZkludGVyZmFjZS5zZXRCb29sUHJlZihwcmVmLCB2YWx1ZSk7
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgcHJlZklu
dGVyZmFjZS5QUkVGX0lOVDoKKyAgICAgICAgICAgICAgICAgICAgcHJlZkludGVyZmFjZS5zZXRJ
bnRQcmVmKHByZWYsIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAiIiIgJSAobmFtZSwgdmFsdWUpCisgICAgICAgIHdpdGggc2Vs
Zi5tYXJpb25ldHRlLnVzaW5nX2NvbnRleHQoc2VsZi5tYXJpb25ldHRlLkNPTlRFWFRfQ0hST01F
KToKKyAgICAgICAgICAgIHNlbGYubWFyaW9uZXR0ZS5leGVjdXRlX3NjcmlwdChzY3JpcHQpCisK
KyAgICBkZWYgY2xlYXJfdXNlcl9wcmVmKHNlbGYsIG5hbWUpOgorICAgICAgICBzZWxmLmxvZ2dl
ci5pbmZvKCJDbGVhcmluZyBwcmVmICVzIiAlIChuYW1lKSkKKyAgICAgICAgc2NyaXB0ID0gIiIi
CisgICAgICAgICAgICBsZXQgcHJlZkludGVyZmFjZSA9IENvbXBvbmVudHMuY2xhc3Nlc1siQG1v
emlsbGEub3JnL3ByZWZlcmVuY2VzLXNlcnZpY2U7MSJdCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmljZShDb21wb25lbnRzLmludGVyZmFjZXMubnNJ
UHJlZkJyYW5jaCk7CisgICAgICAgICAgICBsZXQgcHJlZiA9ICclcyc7CisgICAgICAgICAgICBw
cmVmSW50ZXJmYWNlLmNsZWFyVXNlclByZWYocHJlZik7CisgICAgICAgICAgICAiIiIgJSBuYW1l
CisgICAgICAgIHdpdGggc2VsZi5tYXJpb25ldHRlLnVzaW5nX2NvbnRleHQoc2VsZi5tYXJpb25l
dHRlLkNPTlRFWFRfQ0hST01FKToKKyAgICAgICAgICAgIHNlbGYubWFyaW9uZXR0ZS5leGVjdXRl
X3NjcmlwdChzY3JpcHQpCisKKyAgICBkZWYgZ2V0X3ByZWYoc2VsZiwgbmFtZSk6CisgICAgICAg
IHNjcmlwdCA9ICIiIgorICAgICAgICAgICAgbGV0IHByZWZJbnRlcmZhY2UgPSBDb21wb25lbnRz
LmNsYXNzZXNbIkBtb3ppbGxhLm9yZy9wcmVmZXJlbmNlcy1zZXJ2aWNlOzEiXQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldFNlcnZpY2UoQ29tcG9uZW50cy5p
bnRlcmZhY2VzLm5zSVByZWZCcmFuY2gpOworICAgICAgICAgICAgbGV0IHByZWYgPSAnJXMnOwor
ICAgICAgICAgICAgbGV0IHR5cGUgPSBwcmVmSW50ZXJmYWNlLmdldFByZWZUeXBlKHByZWYpOwor
ICAgICAgICAgICAgc3dpdGNoKHR5cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlIHByZWZJbnRl
cmZhY2UuUFJFRl9TVFJJTkc6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmVmSW50ZXJm
YWNlLmdldENoYXJQcmVmKHByZWYpOworICAgICAgICAgICAgICAgIGNhc2UgcHJlZkludGVyZmFj
ZS5QUkVGX0JPT0w6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmVmSW50ZXJmYWNlLmdl
dEJvb2xQcmVmKHByZWYpOworICAgICAgICAgICAgICAgIGNhc2UgcHJlZkludGVyZmFjZS5QUkVG
X0lOVDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZJbnRlcmZhY2UuZ2V0SW50UHJl
ZihwcmVmKTsKKyAgICAgICAgICAgICAgICBjYXNlIHByZWZJbnRlcmZhY2UuUFJFRl9JTlZBTElE
OgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICIiIiAlIG5hbWUKKyAgICAgICAgd2l0aCBzZWxmLm1hcmlvbmV0dGUudXNpbmdfY29u
dGV4dChzZWxmLm1hcmlvbmV0dGUuQ09OVEVYVF9DSFJPTUUpOgorICAgICAgICAgICAgc2VsZi5t
YXJpb25ldHRlLmV4ZWN1dGVfc2NyaXB0KHNjcmlwdCkKKworICAgIGRlZiBjbGVhcl9vcmlnaW4o
c2VsZiwgdXJsKToKKyAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiQ2xlYXJpbmcgb3JpZ2luICVz
IiAlICh1cmwpKQorICAgICAgICBzY3JpcHQgPSAiIiIKKyAgICAgICAgICAgIGxldCB1cmwgPSAn
JXMnOworICAgICAgICAgICAgbGV0IHVyaSA9IENvbXBvbmVudHMuY2xhc3Nlc1siQG1vemlsbGEu
b3JnL25ldHdvcmsvaW8tc2VydmljZTsxIl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLmdldFNlcnZpY2UoQ2kubnNJSU9TZXJ2aWNlKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAubmV3VVJJKHVybCk7CisgICAgICAgICAgICBsZXQgc3NtID0gQ29tcG9uZW50cy5j
bGFzc2VzWyJAbW96aWxsYS5vcmcvc2NyaXB0c2VjdXJpdHltYW5hZ2VyOzEiXQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmljZShDaS5uc0lTY3JpcHRTZWN1cml0eU1h
bmFnZXIpOworICAgICAgICAgICAgbGV0IHByaW5jaXBhbCA9IHNzbS5jcmVhdGVDb2RlYmFzZVBy
aW5jaXBhbCh1cmksIHt9KTsKKyAgICAgICAgICAgIGxldCBxbXMgPSBDb21wb25lbnRzLmNsYXNz
ZXNbIkBtb3ppbGxhLm9yZy9kb20vcXVvdGEtbWFuYWdlci1zZXJ2aWNlOzEiXQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmljZShDb21wb25lbnRzLmludGVyZmFjZXMu
bnNJUXVvdGFNYW5hZ2VyU2VydmljZSk7CisgICAgICAgICAgICBxbXMuY2xlYXJTdG9yYWdlc0Zv
clByaW5jaXBhbChwcmluY2lwYWwsICJkZWZhdWx0IiwgdHJ1ZSk7CisgICAgICAgICAgICAiIiIg
JSB1cmwKKyAgICAgICAgd2l0aCBzZWxmLm1hcmlvbmV0dGUudXNpbmdfY29udGV4dChzZWxmLm1h
cmlvbmV0dGUuQ09OVEVYVF9DSFJPTUUpOgorICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRlLmV4
ZWN1dGVfc2NyaXB0KHNjcmlwdCkKKworCitjbGFzcyBSZW1vdGVNYXJpb25ldHRlUHJvdG9jb2wo
UHJvdG9jb2wpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGVjdXRvciwgYnJvd3Nlcik6Cisg
ICAgICAgIGRvX2RlbGF5ZWRfaW1wb3J0cygpCisgICAgICAgIFByb3RvY29sLl9faW5pdF9fKHNl
bGYsIGV4ZWN1dG9yLCBicm93c2VyKQorICAgICAgICBzZWxmLndlYmRyaXZlcl9iaW5hcnkgPSBl
eGVjdXRvci53ZWJkcml2ZXJfYmluYXJ5CisgICAgICAgIHNlbGYud2ViZHJpdmVyX2FyZ3MgPSBl
eGVjdXRvci53ZWJkcml2ZXJfYXJncworICAgICAgICBzZWxmLmNhcGFiaWxpdGllcyA9IHNlbGYu
ZXhlY3V0b3IuY2FwYWJpbGl0aWVzCisgICAgICAgIHNlbGYuc2Vzc2lvbl9jb25maWcgPSBOb25l
CisgICAgICAgIHNlbGYuc2VydmVyID0gTm9uZQorCisgICAgZGVmIHNldHVwKHNlbGYsIHJ1bm5l
cik6CisgICAgICAgICIiIkNvbm5lY3QgdG8gYnJvd3NlciB2aWEgdGhlIE1hcmlvbmV0dGUgSFRU
UCBzZXJ2ZXIuIiIiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuc2VydmVyID0gR2Vj
a29Ecml2ZXJTZXJ2ZXIoCisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIsCisgICAgICAgICAg
ICAgICAgYmluYXJ5PXNlbGYud2ViZHJpdmVyX2JpbmFyeSwKKyAgICAgICAgICAgICAgICBhcmdz
PXNlbGYud2ViZHJpdmVyX2FyZ3MpCisgICAgICAgICAgICBzZWxmLnNlcnZlci5zdGFydChibG9j
az1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oCisgICAgICAgICAgICAgICAg
IldlYkRyaXZlciBIVFRQIHNlcnZlciBsaXN0ZW5pbmcgYXQgJXMiICUgc2VsZi5zZXJ2ZXIudXJs
KQorICAgICAgICAgICAgc2VsZi5zZXNzaW9uX2NvbmZpZyA9IHsiaG9zdCI6IHNlbGYuc2VydmVy
Lmhvc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3J0Ijogc2VsZi5z
ZXJ2ZXIucG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNhcGFiaWxp
dGllcyI6IHNlbGYuY2FwYWJpbGl0aWVzfQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAg
ICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IodHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICAg
ICAgICAgIHNlbGYuZXhlY3V0b3IucnVubmVyLnNlbmRfbWVzc2FnZSgiaW5pdF9mYWlsZWQiKQor
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5leGVjdXRvci5ydW5uZXIuc2VuZF9tZXNz
YWdlKCJpbml0X3N1Y2NlZWRlZCIpCisKKyAgICBkZWYgdGVhcmRvd24oc2VsZik6CisgICAgICAg
IGlmIHNlbGYuc2VydmVyIGlzIG5vdCBOb25lIGFuZCBzZWxmLnNlcnZlci5pc19hbGl2ZToKKyAg
ICAgICAgICAgIHNlbGYuc2VydmVyLnN0b3AoKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGlz
X2FsaXZlKHNlbGYpOgorICAgICAgICAiIiJUZXN0IHRoYXQgdGhlIE1hcmlvbmV0dGUgY29ubmVj
dGlvbiBpcyBzdGlsbCBhbGl2ZS4KKworICAgICAgICBCZWNhdXNlIHRoZSByZW1vdGUgY29tbXVu
aWNhdGlvbiBoYXBwZW5zIG92ZXIgSFRUUCB3ZSBuZWVkIHRvCisgICAgICAgIG1ha2UgYW4gZXhw
bGljaXQgcmVxdWVzdCB0byB0aGUgcmVtb3RlLiAgSXQgaXMgYWxsb3dlZCBmb3IKKyAgICAgICAg
V2ViRHJpdmVyIHNwZWMgdGVzdHMgdG8gbm90IGhhdmUgYSBXZWJEcml2ZXIgc2Vzc2lvbiwgc2lu
Y2UgdGhpcworICAgICAgICBtYXkgYmUgd2hhdCBpcyB0ZXN0ZWQuCisKKyAgICAgICAgQW4gSFRU
UCByZXF1ZXN0IHRvIGFuIGludmFsaWQgcGF0aCB0aGF0IHJlc3VsdHMgaW4gYSA0MDQgaXMKKyAg
ICAgICAgcHJvb2YgZW5vdWdoIHRvIHVzIHRoYXQgdGhlIHNlcnZlciBpcyBhbGl2ZSBhbmQga2lj
a2luZy4KKyAgICAgICAgIiIiCisgICAgICAgIGNvbm4gPSBodHRwbGliLkhUVFBDb25uZWN0aW9u
KHNlbGYuc2VydmVyLmhvc3QsIHNlbGYuc2VydmVyLnBvcnQpCisgICAgICAgIGNvbm4ucmVxdWVz
dCgiSEVBRCIsIHNlbGYuc2VydmVyLmJhc2VfcGF0aCArICJpbnZhbGlkIikKKyAgICAgICAgcmVz
ID0gY29ubi5nZXRyZXNwb25zZSgpCisgICAgICAgIHJldHVybiByZXMuc3RhdHVzID09IDQwNAor
CisKK2NsYXNzIEV4ZWN1dGVBc3luY1NjcmlwdFJ1bihvYmplY3QpOgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBsb2dnZXIsIGZ1bmMsIHByb3RvY29sLCB1cmwsIHRpbWVvdXQpOgorICAgICAgICBz
ZWxmLmxvZ2dlciA9IGxvZ2dlcgorICAgICAgICBzZWxmLnJlc3VsdCA9IChOb25lLCBOb25lKQor
ICAgICAgICBzZWxmLnByb3RvY29sID0gcHJvdG9jb2wKKyAgICAgICAgc2VsZi5tYXJpb25ldHRl
ID0gcHJvdG9jb2wubWFyaW9uZXR0ZQorICAgICAgICBzZWxmLmZ1bmMgPSBmdW5jCisgICAgICAg
IHNlbGYudXJsID0gdXJsCisgICAgICAgIHNlbGYudGltZW91dCA9IHRpbWVvdXQKKyAgICAgICAg
c2VsZi5yZXN1bHRfZmxhZyA9IHRocmVhZGluZy5FdmVudCgpCisKKyAgICBkZWYgcnVuKHNlbGYp
OgorICAgICAgICBpbmRleCA9IHNlbGYudXJsLnJmaW5kKCIvc3RvcmFnZS8iKTsKKyAgICAgICAg
aWYgaW5kZXggIT0gLTE6CisgICAgICAgICAgICAjIENsZWFyIHN0b3JhZ2UKKyAgICAgICAgICAg
IHNlbGYucHJvdG9jb2wuY2xlYXJfb3JpZ2luKHNlbGYudXJsKQorCisgICAgICAgIHRpbWVvdXQg
PSBzZWxmLnRpbWVvdXQKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiB0aW1lb3V0IGlz
IG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGlmIHRpbWVvdXQgKyBleHRyYV90aW1lb3V0ICE9
IHNlbGYucHJvdG9jb2wudGltZW91dDoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm90b2Nv
bC5zZXRfdGltZW91dCh0aW1lb3V0ICsgZXh0cmFfdGltZW91dCkKKyAgICAgICAgICAgIGVsc2U6
CisgICAgICAgICAgICAgICAgIyBXZSBqdXN0IHdhbnQgaXQgdG8gbmV2ZXIgdGltZSBvdXQsIHJl
YWxseSwgYnV0IG1hcmlvbmV0dGUgZG9lc24ndAorICAgICAgICAgICAgICAgICMgbWFrZSB0aGF0
IHBvc3NpYmxlLiBJdCBhbHNvIHNlZW1zIHRvIHRpbWUgb3V0IGltbWVkaWF0ZWx5IGlmIHRoZQor
ICAgICAgICAgICAgICAgICMgdGltZW91dCBpcyBzZXQgdG9vIGhpZ2guIFRoaXMgd29ya3MgYXQg
bGVhc3QuCisgICAgICAgICAgICAgICAgc2VsZi5wcm90b2NvbC5zZXRfdGltZW91dCgyKioyOCAt
IDEpCisgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJy
b3IoIkxvc3QgbWFyaW9uZXR0ZSBjb25uZWN0aW9uIGJlZm9yZSBzdGFydGluZyB0ZXN0IikKKyAg
ICAgICAgICAgIHJldHVybiBTdG9wCisKKyAgICAgICAgZXhlY3V0b3IgPSB0aHJlYWRpbmcuVGhy
ZWFkKHRhcmdldCA9IHNlbGYuX3J1bikKKyAgICAgICAgZXhlY3V0b3Iuc3RhcnQoKQorCisgICAg
ICAgIGlmIHRpbWVvdXQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICB3YWl0X3RpbWVvdXQgPSB0
aW1lb3V0ICsgMiAqIGV4dHJhX3RpbWVvdXQKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHdh
aXRfdGltZW91dCA9IE5vbmUKKworICAgICAgICBmbGFnID0gc2VsZi5yZXN1bHRfZmxhZy53YWl0
KHdhaXRfdGltZW91dCkKKyAgICAgICAgaWYgc2VsZi5yZXN1bHRbMV0gaXMgTm9uZToKKyAgICAg
ICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJUaW1lZCBvdXQgd2FpdGluZyBmb3IgYSByZXN1bHQi
KQorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFWFRFUk5BTC1USU1FT1VUIiwg
Tm9uZSkKKyAgICAgICAgcmV0dXJuIHNlbGYucmVzdWx0CisKKyAgICBkZWYgX3J1bihzZWxmKToK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBUcnVlLCBzZWxmLmZ1bmMo
c2VsZi5tYXJpb25ldHRlLCBzZWxmLnVybCwgc2VsZi50aW1lb3V0KQorICAgICAgICBleGNlcHQg
ZXJyb3JzLlNjcmlwdFRpbWVvdXRFeGNlcHRpb246CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5k
ZWJ1ZygiR290IGEgbWFyaW9uZXR0ZSB0aW1lb3V0IikKKyAgICAgICAgICAgIHNlbGYucmVzdWx0
ID0gRmFsc2UsICgiRVhURVJOQUwtVElNRU9VVCIsIE5vbmUpCisgICAgICAgIGV4Y2VwdCAoc29j
a2V0LnRpbWVvdXQsIElPRXJyb3IpOgorICAgICAgICAgICAgIyBUaGlzIGNhbiBoYXBwZW4gb24g
YSBjcmFzaAorICAgICAgICAgICAgIyBBbHNvLCBzaG91bGQgY2hlY2sgYWZ0ZXIgdGhlIHRlc3Qg
aWYgdGhlIGZpcmVmb3ggcHJvY2VzcyBpcyBzdGlsbCBydW5uaW5nCisgICAgICAgICAgICAjIGFu
ZCBvdGhlcndpc2UgaWdub3JlIGFueSBvdGhlciByZXN1bHQgYW5kIHNldCBpdCB0byBjcmFzaAor
ICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJDUkFTSCIsIE5vbmUpCisgICAgICAg
IGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIG1lc3NhZ2UgPSBnZXRhdHRyKGUs
ICJtZXNzYWdlIiwgIiIpCisgICAgICAgICAgICBpZiBtZXNzYWdlOgorICAgICAgICAgICAgICAg
IG1lc3NhZ2UgKz0gIlxuIgorICAgICAgICAgICAgbWVzc2FnZSArPSB0cmFjZWJhY2suZm9ybWF0
X2V4YyhlKQorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFUlJPUiIsIGUpCisK
KyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYucmVzdWx0X2ZsYWcuc2V0KCkKKwor
CitjbGFzcyBNYXJpb25ldHRlVGVzdGhhcm5lc3NFeGVjdXRvcihUZXN0aGFybmVzc0V4ZWN1dG9y
KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywgdGltZW91
dF9tdWx0aXBsaWVyPTEsCisgICAgICAgICAgICAgICAgIGNsb3NlX2FmdGVyX2RvbmU9VHJ1ZSwg
ZGVidWdfaW5mbz1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgICIiIk1hcmlvbmV0dGUtYmFzZWQg
ZXhlY3V0b3IgZm9yIHRlc3RoYXJuZXNzLmpzIHRlc3RzIiIiCisgICAgICAgIFRlc3RoYXJuZXNz
RXhlY3V0b3IuX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0X211bHRpcGxpZXI9dGltZW91dF9t
dWx0aXBsaWVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2lu
Zm89ZGVidWdfaW5mbykKKworICAgICAgICBzZWxmLnByb3RvY29sID0gTWFyaW9uZXR0ZVByb3Rv
Y29sKHNlbGYsIGJyb3dzZXIpCisgICAgICAgIHNlbGYuc2NyaXB0ID0gb3Blbihvcy5wYXRoLmpv
aW4oaGVyZSwgInRlc3RoYXJuZXNzX21hcmlvbmV0dGUuanMiKSkucmVhZCgpCisgICAgICAgIHNl
bGYuY2xvc2VfYWZ0ZXJfZG9uZSA9IGNsb3NlX2FmdGVyX2RvbmUKKyAgICAgICAgc2VsZi53aW5k
b3dfaWQgPSBzdHIodXVpZC51dWlkNCgpKQorCisgICAgICAgIHNlbGYub3JpZ2luYWxfcHJlZl92
YWx1ZXMgPSB7fQorCisgICAgICAgIGlmIG1hcmlvbmV0dGUgaXMgTm9uZToKKyAgICAgICAgICAg
IGRvX2RlbGF5ZWRfaW1wb3J0cygpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAg
IHJldHVybiBzZWxmLnByb3RvY29sLmlzX2FsaXZlCisKKyAgICBkZWYgb25fZW52aXJvbm1lbnRf
Y2hhbmdlKHNlbGYsIG5ld19lbnZpcm9ubWVudCk6CisgICAgICAgIHNlbGYucHJvdG9jb2wub25f
ZW52aXJvbm1lbnRfY2hhbmdlKHNlbGYubGFzdF9lbnZpcm9ubWVudCwgbmV3X2Vudmlyb25tZW50
KQorCisgICAgICAgIGlmIG5ld19lbnZpcm9ubWVudFsicHJvdG9jb2wiXSAhPSBzZWxmLmxhc3Rf
ZW52aXJvbm1lbnRbInByb3RvY29sIl06CisgICAgICAgICAgICBzZWxmLnByb3RvY29sLmxvYWRf
cnVubmVyKG5ld19lbnZpcm9ubWVudFsicHJvdG9jb2wiXSkKKworICAgIGRlZiBkb190ZXN0KHNl
bGYsIHRlc3QpOgorICAgICAgICB0aW1lb3V0ID0gKHRlc3QudGltZW91dCAqIHNlbGYudGltZW91
dF9tdWx0aXBsaWVyIGlmIHNlbGYuZGVidWdfaW5mbyBpcyBOb25lCisgICAgICAgICAgICAgICAg
ICAgZWxzZSBOb25lKQorCisgICAgICAgIHN1Y2Nlc3MsIGRhdGEgPSBFeGVjdXRlQXN5bmNTY3Jp
cHRSdW4oc2VsZi5sb2dnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5kb190ZXN0aGFybmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLnByb3RvY29sLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGVzdF91cmwodGVzdCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCkucnVuKCkKKyAgICAg
ICAgaWYgc3VjY2VzczoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbnZlcnRfcmVzdWx0KHRl
c3QsIGRhdGEpCisKKyAgICAgICAgcmV0dXJuICh0ZXN0LnJlc3VsdF9jbHMoKmRhdGEpLCBbXSkK
KworICAgIGRlZiBkb190ZXN0aGFybmVzcyhzZWxmLCBtYXJpb25ldHRlLCB1cmwsIHRpbWVvdXQp
OgorICAgICAgICBpZiBzZWxmLmNsb3NlX2FmdGVyX2RvbmU6CisgICAgICAgICAgICBtYXJpb25l
dHRlLmV4ZWN1dGVfc2NyaXB0KCJpZiAod2luZG93LndyYXBwZWRKU09iamVjdC53aW4pIHt3aW5k
b3cud3JhcHBlZEpTT2JqZWN0Lndpbi5jbG9zZSgpfSIpCisgICAgICAgICAgICBzZWxmLnByb3Rv
Y29sLmNsb3NlX29sZF93aW5kb3dzKHNlbGYucHJvdG9jb2wpCisKKyAgICAgICAgaWYgdGltZW91
dCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHRpbWVvdXRfbXMgPSBzdHIodGltZW91dCAqIDEw
MDApCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB0aW1lb3V0X21zID0gIm51bGwiCisKKyAg
ICAgICAgc2NyaXB0ID0gc2VsZi5zY3JpcHQgJSB7ImFic191cmwiOiB1cmwsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1cmwiOiBzdHJpcF9zZXJ2ZXIodXJsKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIndpbmRvd19pZCI6IHNlbGYud2luZG93X2lkLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZW91dF9tdWx0aXBsaWVyIjogc2VsZi50
aW1lb3V0X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1l
b3V0IjogdGltZW91dF9tcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGxp
Y2l0X3RpbWVvdXQiOiB0aW1lb3V0IGlzIE5vbmV9CisKKyAgICAgICAgcnYgPSBtYXJpb25ldHRl
LmV4ZWN1dGVfYXN5bmNfc2NyaXB0KHNjcmlwdCwgbmV3X3NhbmRib3g9RmFsc2UpCisgICAgICAg
IHJldHVybiBydgorCisKK2NsYXNzIE1hcmlvbmV0dGVSZWZUZXN0RXhlY3V0b3IoUmVmVGVzdEV4
ZWN1dG9yKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywg
dGltZW91dF9tdWx0aXBsaWVyPTEsCisgICAgICAgICAgICAgICAgIHNjcmVlbnNob3RfY2FjaGU9
Tm9uZSwgY2xvc2VfYWZ0ZXJfZG9uZT1UcnVlLAorICAgICAgICAgICAgICAgICBkZWJ1Z19pbmZv
PU5vbmUsICoqa3dhcmdzKToKKworICAgICAgICAiIiJNYXJpb25ldHRlLWJhc2VkIGV4ZWN1dG9y
IGZvciByZWZ0ZXN0cyIiIgorICAgICAgICBSZWZUZXN0RXhlY3V0b3IuX19pbml0X18oc2VsZiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2NyZWVuc2hvdF9jYWNoZT1zY3JlZW5zaG90X2NhY2hlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVyPXRpbWVvdXRfbXVsdGlw
bGllciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnX2luZm89ZGVidWdf
aW5mbykKKyAgICAgICAgc2VsZi5wcm90b2NvbCA9IE1hcmlvbmV0dGVQcm90b2NvbChzZWxmLCBi
cm93c2VyKQorICAgICAgICBzZWxmLmltcGxlbWVudGF0aW9uID0gUmVmVGVzdEltcGxlbWVudGF0
aW9uKHNlbGYpCisgICAgICAgIHNlbGYuY2xvc2VfYWZ0ZXJfZG9uZSA9IGNsb3NlX2FmdGVyX2Rv
bmUKKyAgICAgICAgc2VsZi5oYXNfd2luZG93ID0gRmFsc2UKKyAgICAgICAgc2VsZi5vcmlnaW5h
bF9wcmVmX3ZhbHVlcyA9IHt9CisKKyAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihoZXJl
LCAicmVmdGVzdC5qcyIpKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5zY3JpcHQgPSBmLnJlYWQo
KQorICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGhlcmUsICJyZWZ0ZXN0LXdhaXQuanMi
KSkgYXMgZjoKKyAgICAgICAgICAgIHNlbGYud2FpdF9zY3JpcHQgPSBmLnJlYWQoKQorCisgICAg
ZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5wcm90b2NvbC5pc19hbGl2
ZQorCisgICAgZGVmIG9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLCBuZXdfZW52aXJvbm1lbnQp
OgorICAgICAgICBzZWxmLnByb3RvY29sLm9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLmxhc3Rf
ZW52aXJvbm1lbnQsIG5ld19lbnZpcm9ubWVudCkKKworICAgIGRlZiBkb190ZXN0KHNlbGYsIHRl
c3QpOgorICAgICAgICBpZiBzZWxmLmNsb3NlX2FmdGVyX2RvbmUgYW5kIHNlbGYuaGFzX3dpbmRv
dzoKKyAgICAgICAgICAgIHNlbGYucHJvdG9jb2wubWFyaW9uZXR0ZS5jbG9zZSgpCisgICAgICAg
ICAgICBzZWxmLnByb3RvY29sLm1hcmlvbmV0dGUuc3dpdGNoX3RvX3dpbmRvdygKKyAgICAgICAg
ICAgICAgICBzZWxmLnByb3RvY29sLm1hcmlvbmV0dGUud2luZG93X2hhbmRsZXNbLTFdKQorICAg
ICAgICAgICAgc2VsZi5oYXNfd2luZG93ID0gRmFsc2UKKworICAgICAgICBpZiBub3Qgc2VsZi5o
YXNfd2luZG93OgorICAgICAgICAgICAgc2VsZi5wcm90b2NvbC5tYXJpb25ldHRlLmV4ZWN1dGVf
c2NyaXB0KHNlbGYuc2NyaXB0KQorICAgICAgICAgICAgc2VsZi5wcm90b2NvbC5tYXJpb25ldHRl
LnN3aXRjaF90b193aW5kb3coc2VsZi5wcm90b2NvbC5tYXJpb25ldHRlLndpbmRvd19oYW5kbGVz
Wy0xXSkKKyAgICAgICAgICAgIHNlbGYuaGFzX3dpbmRvdyA9IFRydWUKKworICAgICAgICByZXN1
bHQgPSBzZWxmLmltcGxlbWVudGF0aW9uLnJ1bl90ZXN0KHRlc3QpCisgICAgICAgIHJldHVybiBz
ZWxmLmNvbnZlcnRfcmVzdWx0KHRlc3QsIHJlc3VsdCkKKworICAgIGRlZiBzY3JlZW5zaG90KHNl
bGYsIHRlc3QsIHZpZXdwb3J0X3NpemUsIGRwaSk6CisgICAgICAgICMgaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93cHRydW5uZXIvaXNzdWVzLzE2NgorICAgICAgICBhc3NlcnQgdmlld3BvcnRfc2l6
ZSBpcyBOb25lCisgICAgICAgIGFzc2VydCBkcGkgaXMgTm9uZQorCisgICAgICAgIHRpbWVvdXQg
PSAgc2VsZi50aW1lb3V0X211bHRpcGxpZXIgKiB0ZXN0LnRpbWVvdXQgaWYgc2VsZi5kZWJ1Z19p
bmZvIGlzIE5vbmUgZWxzZSBOb25lCisKKyAgICAgICAgdGVzdF91cmwgPSBzZWxmLnRlc3RfdXJs
KHRlc3QpCisKKyAgICAgICAgcmV0dXJuIEV4ZWN1dGVBc3luY1NjcmlwdFJ1bihzZWxmLmxvZ2dl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2NyZWVuc2hvdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm90b2NvbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdF91cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVv
dXQpLnJ1bigpCisKKyAgICBkZWYgX3NjcmVlbnNob3Qoc2VsZiwgbWFyaW9uZXR0ZSwgdXJsLCB0
aW1lb3V0KToKKyAgICAgICAgbWFyaW9uZXR0ZS5uYXZpZ2F0ZSh1cmwpCisKKyAgICAgICAgbWFy
aW9uZXR0ZS5leGVjdXRlX2FzeW5jX3NjcmlwdChzZWxmLndhaXRfc2NyaXB0KQorCisgICAgICAg
IHNjcmVlbnNob3QgPSBtYXJpb25ldHRlLnNjcmVlbnNob3QoZnVsbD1GYWxzZSkKKyAgICAgICAg
IyBzdHJpcCBvZmYgdGhlIGRhdGE6aW1nL3BuZywgcGFydCBvZiB0aGUgdXJsCisgICAgICAgIGlm
IHNjcmVlbnNob3Quc3RhcnRzd2l0aCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LCIpOgorICAgICAg
ICAgICAgc2NyZWVuc2hvdCA9IHNjcmVlbnNob3Quc3BsaXQoIiwiLCAxKVsxXQorCisgICAgICAg
IHJldHVybiBzY3JlZW5zaG90CisKKworY2xhc3MgV2RzcGVjUnVuKG9iamVjdCk6CisgICAgZGVm
IF9faW5pdF9fKHNlbGYsIGZ1bmMsIHNlc3Npb24sIHBhdGgsIHRpbWVvdXQpOgorICAgICAgICBz
ZWxmLmZ1bmMgPSBmdW5jCisgICAgICAgIHNlbGYucmVzdWx0ID0gKE5vbmUsIE5vbmUpCisgICAg
ICAgIHNlbGYuc2Vzc2lvbiA9IHNlc3Npb24KKyAgICAgICAgc2VsZi5wYXRoID0gcGF0aAorICAg
ICAgICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CisgICAgICAgIHNlbGYucmVzdWx0X2ZsYWcgPSB0
aHJlYWRpbmcuRXZlbnQoKQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgIiIiUnVucyBm
dW5jdGlvbiBpbiBhIHRocmVhZCBhbmQgaW50ZXJydXB0cyBpdCBpZiBpdCBleGNlZWRzIHRoZQor
ICAgICAgICBnaXZlbiB0aW1lb3V0LiAgUmV0dXJucyAoVHJ1ZSwgKFJlc3VsdCwgW1N1YnRlc3RS
ZXN1bHQgLi4uXSkpIGluCisgICAgICAgIGNhc2Ugb2Ygc3VjY2Vzcywgb3IgKEZhbHNlLCAoc3Rh
dHVzLCBleHRyYSBpbmZvcm1hdGlvbikpIGluIHRoZQorICAgICAgICBldmVudCBvZiBmYWlsdXJl
LgorICAgICAgICAiIiIKKworICAgICAgICBleGVjdXRvciA9IHRocmVhZGluZy5UaHJlYWQodGFy
Z2V0PXNlbGYuX3J1bikKKyAgICAgICAgZXhlY3V0b3Iuc3RhcnQoKQorCisgICAgICAgIGZsYWcg
PSBzZWxmLnJlc3VsdF9mbGFnLndhaXQoc2VsZi50aW1lb3V0KQorICAgICAgICBpZiBzZWxmLnJl
c3VsdFsxXSBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFWFRF
Uk5BTC1USU1FT1VUIiwgTm9uZSkKKworICAgICAgICByZXR1cm4gc2VsZi5yZXN1bHQKKworICAg
IGRlZiBfcnVuKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnJlc3VsdCA9
IFRydWUsIHNlbGYuZnVuYyhzZWxmLnNlc3Npb24sIHNlbGYucGF0aCwgc2VsZi50aW1lb3V0KQor
ICAgICAgICBleGNlcHQgKHNvY2tldC50aW1lb3V0LCBJT0Vycm9yKToKKyAgICAgICAgICAgIHNl
bGYucmVzdWx0ID0gRmFsc2UsICgiQ1JBU0giLCBOb25lKQorICAgICAgICBleGNlcHQgRXhjZXB0
aW9uIGFzIGU6CisgICAgICAgICAgICBtZXNzYWdlID0gZ2V0YXR0cihlLCAibWVzc2FnZSIpCisg
ICAgICAgICAgICBpZiBtZXNzYWdlOgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgor
ICAgICAgICAgICAgbWVzc2FnZSArPSB0cmFjZWJhY2suZm9ybWF0X2V4YyhlKQorICAgICAgICAg
ICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFUlJPUiIsIG1lc3NhZ2UpCisgICAgICAgIGZpbmFs
bHk6CisgICAgICAgICAgICBzZWxmLnJlc3VsdF9mbGFnLnNldCgpCisKKworY2xhc3MgTWFyaW9u
ZXR0ZVdkc3BlY0V4ZWN1dG9yKFdkc3BlY0V4ZWN1dG9yKToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywgd2ViZHJpdmVyX2JpbmFyeSwKKyAgICAgICAgICAg
ICAgICAgdGltZW91dF9tdWx0aXBsaWVyPTEsIGNsb3NlX2FmdGVyX2RvbmU9VHJ1ZSwgZGVidWdf
aW5mbz1Ob25lLAorICAgICAgICAgICAgICAgICBjYXBhYmlsaXRpZXM9Tm9uZSwgd2ViZHJpdmVy
X2FyZ3M9Tm9uZSwgYmluYXJ5PU5vbmUpOgorICAgICAgICBzZWxmLmRvX2RlbGF5ZWRfaW1wb3J0
cygpCisgICAgICAgIFdkc3BlY0V4ZWN1dG9yLl9faW5pdF9fKHNlbGYsIGJyb3dzZXIsIHNlcnZl
cl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXVsdGlw
bGllcj10aW1lb3V0X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRlYnVnX2luZm89ZGVidWdfaW5mbykKKyAgICAgICAgc2VsZi53ZWJkcml2ZXJfYmluYXJ5ID0g
d2ViZHJpdmVyX2JpbmFyeQorICAgICAgICBzZWxmLndlYmRyaXZlcl9hcmdzID0gd2ViZHJpdmVy
X2FyZ3MgKyBbIi0tYmluYXJ5IiwgYmluYXJ5XQorICAgICAgICBzZWxmLmNhcGFiaWxpdGllcyA9
IGNhcGFiaWxpdGllcworICAgICAgICBzZWxmLnByb3RvY29sID0gUmVtb3RlTWFyaW9uZXR0ZVBy
b3RvY29sKHNlbGYsIGJyb3dzZXIpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAg
IHJldHVybiBzZWxmLnByb3RvY29sLmlzX2FsaXZlCisKKyAgICBkZWYgb25fZW52aXJvbm1lbnRf
Y2hhbmdlKHNlbGYsIG5ld19lbnZpcm9ubWVudCk6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBk
b190ZXN0KHNlbGYsIHRlc3QpOgorICAgICAgICB0aW1lb3V0ID0gdGVzdC50aW1lb3V0ICogc2Vs
Zi50aW1lb3V0X211bHRpcGxpZXIgKyBleHRyYV90aW1lb3V0CisKKyAgICAgICAgc3VjY2Vzcywg
ZGF0YSA9IFdkc3BlY1J1bihzZWxmLmRvX3dkc3BlYywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLnByb3RvY29sLnNlc3Npb25fY29uZmlnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRlc3QuYWJzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGltZW91dCkucnVuKCkKKworICAgICAgICBpZiBzdWNjZXNzOgorICAgICAg
ICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1bHQodGVzdCwgZGF0YSkKKworICAgICAgICBy
ZXR1cm4gKHRlc3QucmVzdWx0X2NscygqZGF0YSksIFtdKQorCisgICAgZGVmIGRvX3dkc3BlYyhz
ZWxmLCBzZXNzaW9uX2NvbmZpZywgcGF0aCwgdGltZW91dCk6CisgICAgICAgIGhhcm5lc3NfcmVz
dWx0ID0gKCJPSyIsIE5vbmUpCisgICAgICAgIHN1YnRlc3RfcmVzdWx0cyA9IHB5dGVzdHJ1bm5l
ci5ydW4ocGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLnNlcnZlcl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2Vzc2lvbl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGltZW91dD10aW1lb3V0KQorICAgICAgICByZXR1cm4gKGhhcm5lc3NfcmVzdWx0
LCBzdWJ0ZXN0X3Jlc3VsdHMpCisKKyAgICBkZWYgZG9fZGVsYXllZF9pbXBvcnRzKHNlbGYpOgor
ICAgICAgICBnbG9iYWwgcHl0ZXN0cnVubmVyCisgICAgICAgIGZyb20gLiBpbXBvcnQgcHl0ZXN0
cnVubmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9yc2VsZW5p
dW0ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9yc2VsZW5pdW0ucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjVlZGJlYzJmNmZhMTkwMWVjZTYwYzA0NzY0NGM5NzI5OGU2OWEwZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZWxlbml1bS5weQpAQCAt
MCwwICsxLDI2MCBAQAoraW1wb3J0IG9zCitpbXBvcnQgc29ja2V0CitpbXBvcnQgc3lzCitpbXBv
cnQgdGhyZWFkaW5nCitpbXBvcnQgdGltZQoraW1wb3J0IHRyYWNlYmFjaworaW1wb3J0IHVybHBh
cnNlCitpbXBvcnQgdXVpZAorCitmcm9tIC5iYXNlIGltcG9ydCAoRXhlY3V0b3JFeGNlcHRpb24s
CisgICAgICAgICAgICAgICAgICAgUHJvdG9jb2wsCisgICAgICAgICAgICAgICAgICAgUmVmVGVz
dEV4ZWN1dG9yLAorICAgICAgICAgICAgICAgICAgIFJlZlRlc3RJbXBsZW1lbnRhdGlvbiwKKyAg
ICAgICAgICAgICAgICAgICBUZXN0RXhlY3V0b3IsCisgICAgICAgICAgICAgICAgICAgVGVzdGhh
cm5lc3NFeGVjdXRvciwKKyAgICAgICAgICAgICAgICAgICB0ZXN0aGFybmVzc19yZXN1bHRfY29u
dmVydGVyLAorICAgICAgICAgICAgICAgICAgIHJlZnRlc3RfcmVzdWx0X2NvbnZlcnRlciwKKyAg
ICAgICAgICAgICAgICAgICBzdHJpcF9zZXJ2ZXIpCitmcm9tIC4udGVzdHJ1bm5lciBpbXBvcnQg
U3RvcAorCitoZXJlID0gb3MucGF0aC5qb2luKG9zLnBhdGguc3BsaXQoX19maWxlX18pWzBdKQor
Cit3ZWJkcml2ZXIgPSBOb25lCitleGNlcHRpb25zID0gTm9uZQorUmVtb3RlQ29ubmVjdGlvbiA9
IE5vbmUKKworZXh0cmFfdGltZW91dCA9IDUKKworZGVmIGRvX2RlbGF5ZWRfaW1wb3J0cygpOgor
ICAgIGdsb2JhbCB3ZWJkcml2ZXIKKyAgICBnbG9iYWwgZXhjZXB0aW9ucworICAgIGdsb2JhbCBS
ZW1vdGVDb25uZWN0aW9uCisgICAgZnJvbSBzZWxlbml1bSBpbXBvcnQgd2ViZHJpdmVyCisgICAg
ZnJvbSBzZWxlbml1bS5jb21tb24gaW1wb3J0IGV4Y2VwdGlvbnMKKyAgICBmcm9tIHNlbGVuaXVt
LndlYmRyaXZlci5yZW1vdGUucmVtb3RlX2Nvbm5lY3Rpb24gaW1wb3J0IFJlbW90ZUNvbm5lY3Rp
b24KKworY2xhc3MgU2VsZW5pdW1Qcm90b2NvbChQcm90b2NvbCk6CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGV4ZWN1dG9yLCBicm93c2VyLCBjYXBhYmlsaXRpZXMsICoqa3dhcmdzKToKKyAgICAg
ICAgZG9fZGVsYXllZF9pbXBvcnRzKCkKKworICAgICAgICBQcm90b2NvbC5fX2luaXRfXyhzZWxm
LCBleGVjdXRvciwgYnJvd3NlcikKKyAgICAgICAgc2VsZi5jYXBhYmlsaXRpZXMgPSBjYXBhYmls
aXRpZXMKKyAgICAgICAgc2VsZi51cmwgPSBicm93c2VyLndlYmRyaXZlcl91cmwKKyAgICAgICAg
c2VsZi53ZWJkcml2ZXIgPSBOb25lCisKKyAgICBkZWYgc2V0dXAoc2VsZiwgcnVubmVyKToKKyAg
ICAgICAgIiIiQ29ubmVjdCB0byBicm93c2VyIHZpYSBTZWxlbml1bSdzIFdlYkRyaXZlciBpbXBs
ZW1lbnRhdGlvbi4iIiIKKyAgICAgICAgc2VsZi5ydW5uZXIgPSBydW5uZXIKKyAgICAgICAgc2Vs
Zi5sb2dnZXIuZGVidWcoIkNvbm5lY3RpbmcgdG8gU2VsZW5pdW0gb24gVVJMOiAlcyIgJSBzZWxm
LnVybCkKKworICAgICAgICBzZXNzaW9uX3N0YXJ0ZWQgPSBGYWxzZQorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBzZWxmLndlYmRyaXZlciA9IHdlYmRyaXZlci5SZW1vdGUoY29tbWFuZF9leGVj
dXRvcj1SZW1vdGVDb25uZWN0aW9uKHNlbGYudXJsLnN0cmlwKCIvIiksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc29sdmVfaXA9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRlc2lyZWRfY2FwYWJpbGl0aWVzPXNlbGYuY2FwYWJpbGl0aWVz
KQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKAorICAg
ICAgICAgICAgICAgICJDb25uZWN0aW5nIHRvIFNlbGVuaXVtIGZhaWxlZDpcbiVzIiAlIHRyYWNl
YmFjay5mb3JtYXRfZXhjKCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmxvZ2dl
ci5kZWJ1ZygiU2VsZW5pdW0gc2Vzc2lvbiBzdGFydGVkIikKKyAgICAgICAgICAgIHNlc3Npb25f
c3RhcnRlZCA9IFRydWUKKworICAgICAgICBpZiBub3Qgc2Vzc2lvbl9zdGFydGVkOgorICAgICAg
ICAgICAgc2VsZi5sb2dnZXIud2FybmluZygiRmFpbGVkIHRvIGNvbm5lY3QgdG8gU2VsZW5pdW0i
KQorICAgICAgICAgICAgc2VsZi5leGVjdXRvci5ydW5uZXIuc2VuZF9tZXNzYWdlKCJpbml0X2Zh
aWxlZCIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAg
c2VsZi5hZnRlcl9jb25uZWN0KCkKKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAg
ICBwcmludCA+PiBzeXMuc3RkZXJyLCB0cmFjZWJhY2suZm9ybWF0X2V4YygpCisgICAgICAgICAg
ICAgICAgc2VsZi5sb2dnZXIud2FybmluZygKKyAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0
byBjb25uZWN0IHRvIG5hdmlnYXRlIGluaXRpYWwgcGFnZSIpCisgICAgICAgICAgICAgICAgc2Vs
Zi5leGVjdXRvci5ydW5uZXIuc2VuZF9tZXNzYWdlKCJpbml0X2ZhaWxlZCIpCisgICAgICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0b3IucnVubmVyLnNlbmRfbWVzc2Fn
ZSgiaW5pdF9zdWNjZWVkZWQiKQorCisgICAgZGVmIHRlYXJkb3duKHNlbGYpOgorICAgICAgICBz
ZWxmLmxvZ2dlci5kZWJ1ZygiSGFuZ2luZyB1cCBvbiBTZWxlbml1bSBzZXNzaW9uIikKKyAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgc2VsZi53ZWJkcml2ZXIucXVpdCgpCisgICAgICAgIGV4Y2Vw
dDoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZGVsIHNlbGYud2ViZHJpdmVyCisKKyAgICBk
ZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgR2V0IGEgc2lt
cGxlIHByb3BlcnR5IG92ZXIgdGhlIGNvbm5lY3Rpb24KKyAgICAgICAgICAgIHNlbGYud2ViZHJp
dmVyLmN1cnJlbnRfd2luZG93X2hhbmRsZQorICAgICAgICAjIFRPRE8gd2hhdCBleGNlcHRpb24/
CisgICAgICAgIGV4Y2VwdCAoc29ja2V0LnRpbWVvdXQsIGV4Y2VwdGlvbnMuRXJyb3JJblJlc3Bv
bnNlRXhjZXB0aW9uKToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4g
VHJ1ZQorCisgICAgZGVmIGFmdGVyX2Nvbm5lY3Qoc2VsZik6CisgICAgICAgIHNlbGYubG9hZF9y
dW5uZXIoImh0dHAiKQorCisgICAgZGVmIGxvYWRfcnVubmVyKHNlbGYsIHByb3RvY29sKToKKyAg
ICAgICAgdXJsID0gdXJscGFyc2UudXJsam9pbihzZWxmLmV4ZWN1dG9yLnNlcnZlcl91cmwocHJv
dG9jb2wpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvdGVzdGhhcm5lc3NfcnVu
bmVyLmh0bWwiKQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiTG9hZGluZyAlcyIgJSB1cmwp
CisgICAgICAgIHNlbGYud2ViZHJpdmVyLmdldCh1cmwpCisgICAgICAgIHNlbGYud2ViZHJpdmVy
LmV4ZWN1dGVfc2NyaXB0KCJkb2N1bWVudC50aXRsZSA9ICclcyciICUKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCkubmFtZS5y
ZXBsYWNlKCInIiwgJyInKSkKKworICAgIGRlZiB3YWl0KHNlbGYpOgorICAgICAgICB3aGlsZSBU
cnVlOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYud2ViZHJpdmVyLmV4
ZWN1dGVfYXN5bmNfc2NyaXB0KCIiKTsKKyAgICAgICAgICAgIGV4Y2VwdCBleGNlcHRpb25zLlRp
bWVvdXRFeGNlcHRpb246CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZXhjZXB0
IChzb2NrZXQudGltZW91dCwgZXhjZXB0aW9ucy5Ob1N1Y2hXaW5kb3dFeGNlcHRpb24sCisgICAg
ICAgICAgICAgICAgICAgIGV4Y2VwdGlvbnMuRXJyb3JJblJlc3BvbnNlRXhjZXB0aW9uLCBJT0Vy
cm9yKToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlv
biBhcyBlOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKHRyYWNlYmFjay5mb3Jt
YXRfZXhjKGUpKQorICAgICAgICAgICAgICAgIGJyZWFrCisKKworY2xhc3MgU2VsZW5pdW1SdW4o
b2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZnVuYywgd2ViZHJpdmVyLCB1cmwsIHRp
bWVvdXQpOgorICAgICAgICBzZWxmLmZ1bmMgPSBmdW5jCisgICAgICAgIHNlbGYucmVzdWx0ID0g
Tm9uZQorICAgICAgICBzZWxmLndlYmRyaXZlciA9IHdlYmRyaXZlcgorICAgICAgICBzZWxmLnVy
bCA9IHVybAorICAgICAgICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CisgICAgICAgIHNlbGYucmVz
dWx0X2ZsYWcgPSB0aHJlYWRpbmcuRXZlbnQoKQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAg
ICAgdGltZW91dCA9IHNlbGYudGltZW91dAorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNl
bGYud2ViZHJpdmVyLnNldF9zY3JpcHRfdGltZW91dCgodGltZW91dCArIGV4dHJhX3RpbWVvdXQp
ICogMTAwMCkKKyAgICAgICAgZXhjZXB0IGV4Y2VwdGlvbnMuRXJyb3JJblJlc3BvbnNlRXhjZXB0
aW9uOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IoIkxvc3QgV2ViRHJpdmVyIGNvbm5l
Y3Rpb24iKQorICAgICAgICAgICAgcmV0dXJuIFN0b3AKKworICAgICAgICBleGVjdXRvciA9IHRo
cmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYuX3J1bikKKyAgICAgICAgZXhlY3V0b3Iuc3RhcnQo
KQorCisgICAgICAgIGZsYWcgPSBzZWxmLnJlc3VsdF9mbGFnLndhaXQodGltZW91dCArIDIgKiBl
eHRyYV90aW1lb3V0KQorICAgICAgICBpZiBzZWxmLnJlc3VsdCBpcyBOb25lOgorICAgICAgICAg
ICAgYXNzZXJ0IG5vdCBmbGFnCisgICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIkVY
VEVSTkFMLVRJTUVPVVQiLCBOb25lKQorCisgICAgICAgIHJldHVybiBzZWxmLnJlc3VsdAorCisg
ICAgZGVmIF9ydW4oc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYucmVzdWx0
ID0gVHJ1ZSwgc2VsZi5mdW5jKHNlbGYud2ViZHJpdmVyLCBzZWxmLnVybCwgc2VsZi50aW1lb3V0
KQorICAgICAgICBleGNlcHQgZXhjZXB0aW9ucy5UaW1lb3V0RXhjZXB0aW9uOgorICAgICAgICAg
ICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFWFRFUk5BTC1USU1FT1VUIiwgTm9uZSkKKyAgICAg
ICAgZXhjZXB0IChzb2NrZXQudGltZW91dCwgZXhjZXB0aW9ucy5FcnJvckluUmVzcG9uc2VFeGNl
cHRpb24pOgorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJDUkFTSCIsIE5vbmUp
CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIG1lc3NhZ2UgPSBn
ZXRhdHRyKGUsICJtZXNzYWdlIiwgIiIpCisgICAgICAgICAgICBpZiBtZXNzYWdlOgorICAgICAg
ICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgorICAgICAgICAgICAgbWVzc2FnZSArPSB0cmFjZWJh
Y2suZm9ybWF0X2V4YyhlKQorICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFUlJP
UiIsIGUpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzZWxmLnJlc3VsdF9mbGFnLnNl
dCgpCisKKworY2xhc3MgU2VsZW5pdW1UZXN0aGFybmVzc0V4ZWN1dG9yKFRlc3RoYXJuZXNzRXhl
Y3V0b3IpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0
aW1lb3V0X211bHRpcGxpZXI9MSwKKyAgICAgICAgICAgICAgICAgY2xvc2VfYWZ0ZXJfZG9uZT1U
cnVlLCBjYXBhYmlsaXRpZXM9Tm9uZSwgZGVidWdfaW5mbz1Ob25lKToKKyAgICAgICAgIiIiU2Vs
ZW5pdW0tYmFzZWQgZXhlY3V0b3IgZm9yIHRlc3RoYXJuZXNzLmpzIHRlc3RzIiIiCisgICAgICAg
IFRlc3RoYXJuZXNzRXhlY3V0b3IuX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZp
ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0X211bHRpcGxp
ZXI9dGltZW91dF9tdWx0aXBsaWVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRlYnVnX2luZm89ZGVidWdfaW5mbykKKyAgICAgICAgc2VsZi5wcm90b2NvbCA9IFNlbGVu
aXVtUHJvdG9jb2woc2VsZiwgYnJvd3NlciwgY2FwYWJpbGl0aWVzKQorICAgICAgICB3aXRoIG9w
ZW4ob3MucGF0aC5qb2luKGhlcmUsICJ0ZXN0aGFybmVzc193ZWJkcml2ZXIuanMiKSkgYXMgZjoK
KyAgICAgICAgICAgIHNlbGYuc2NyaXB0ID0gZi5yZWFkKCkKKyAgICAgICAgc2VsZi5jbG9zZV9h
ZnRlcl9kb25lID0gY2xvc2VfYWZ0ZXJfZG9uZQorICAgICAgICBzZWxmLndpbmRvd19pZCA9IHN0
cih1dWlkLnV1aWQ0KCkpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmLnByb3RvY29sLmlzX2FsaXZlKCkKKworICAgIGRlZiBvbl9lbnZpcm9ubWVudF9jaGFu
Z2Uoc2VsZiwgbmV3X2Vudmlyb25tZW50KToKKyAgICAgICAgaWYgbmV3X2Vudmlyb25tZW50WyJw
cm90b2NvbCJdICE9IHNlbGYubGFzdF9lbnZpcm9ubWVudFsicHJvdG9jb2wiXToKKyAgICAgICAg
ICAgIHNlbGYucHJvdG9jb2wubG9hZF9ydW5uZXIobmV3X2Vudmlyb25tZW50WyJwcm90b2NvbCJd
KQorCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgIHVybCA9IHNlbGYudGVz
dF91cmwodGVzdCkKKworICAgICAgICBzdWNjZXNzLCBkYXRhID0gU2VsZW5pdW1SdW4oc2VsZi5k
b190ZXN0aGFybmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
cHJvdG9jb2wud2ViZHJpdmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdC50aW1lb3V0ICog
c2VsZi50aW1lb3V0X211bHRpcGxpZXIpLnJ1bigpCisKKyAgICAgICAgaWYgc3VjY2VzczoKKyAg
ICAgICAgICAgIHJldHVybiBzZWxmLmNvbnZlcnRfcmVzdWx0KHRlc3QsIGRhdGEpCisKKyAgICAg
ICAgcmV0dXJuICh0ZXN0LnJlc3VsdF9jbHMoKmRhdGEpLCBbXSkKKworICAgIGRlZiBkb190ZXN0
aGFybmVzcyhzZWxmLCB3ZWJkcml2ZXIsIHVybCwgdGltZW91dCk6CisgICAgICAgIHJldHVybiB3
ZWJkcml2ZXIuZXhlY3V0ZV9hc3luY19zY3JpcHQoCisgICAgICAgICAgICBzZWxmLnNjcmlwdCAl
IHsiYWJzX3VybCI6IHVybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1cmwiOiBzdHJp
cF9zZXJ2ZXIodXJsKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aW5kb3dfaWQiOiBz
ZWxmLndpbmRvd19pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lb3V0X211bHRp
cGxpZXIiOiBzZWxmLnRpbWVvdXRfbXVsdGlwbGllciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0aW1lb3V0IjogdGltZW91dCAqIDEwMDB9KQorCitjbGFzcyBTZWxlbml1bVJlZlRlc3RF
eGVjdXRvcihSZWZUZXN0RXhlY3V0b3IpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2Vy
LCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKKyAgICAgICAgICAgICAgICAg
c2NyZWVuc2hvdF9jYWNoZT1Ob25lLCBjbG9zZV9hZnRlcl9kb25lPVRydWUsCisgICAgICAgICAg
ICAgICAgIGRlYnVnX2luZm89Tm9uZSwgY2FwYWJpbGl0aWVzPU5vbmUpOgorICAgICAgICAiIiJT
ZWxlbml1bSBXZWJEcml2ZXItYmFzZWQgZXhlY3V0b3IgZm9yIHJlZnRlc3RzIiIiCisgICAgICAg
IFJlZlRlc3RFeGVjdXRvci5fX2luaXRfXyhzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnJvd3NlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZl
cl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JlZW5zaG90X2Nh
Y2hlPXNjcmVlbnNob3RfY2FjaGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
aW1lb3V0X211bHRpcGxpZXI9dGltZW91dF9tdWx0aXBsaWVyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGVidWdfaW5mbz1kZWJ1Z19pbmZvKQorICAgICAgICBzZWxmLnByb3Rv
Y29sID0gU2VsZW5pdW1Qcm90b2NvbChzZWxmLCBicm93c2VyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjYXBhYmlsaXRpZXM9Y2FwYWJpbGl0aWVzKQorICAgICAg
ICBzZWxmLmltcGxlbWVudGF0aW9uID0gUmVmVGVzdEltcGxlbWVudGF0aW9uKHNlbGYpCisgICAg
ICAgIHNlbGYuY2xvc2VfYWZ0ZXJfZG9uZSA9IGNsb3NlX2FmdGVyX2RvbmUKKyAgICAgICAgc2Vs
Zi5oYXNfd2luZG93ID0gRmFsc2UKKworICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGhl
cmUsICJyZWZ0ZXN0LmpzIikpIGFzIGY6CisgICAgICAgICAgICBzZWxmLnNjcmlwdCA9IGYucmVh
ZCgpCisgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oaGVyZSwgInJlZnRlc3Qtd2FpdF93
ZWJkcml2ZXIuanMiKSkgYXMgZjoKKyAgICAgICAgICAgIHNlbGYud2FpdF9zY3JpcHQgPSBmLnJl
YWQoKQorCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5wcm90
b2NvbC5pc19hbGl2ZSgpCisKKyAgICBkZWYgZG9fdGVzdChzZWxmLCB0ZXN0KToKKyAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygiVGVzdCByZXF1aXJlcyBPUy1sZXZlbCB3aW5kb3cgZm9jdXMiKQor
CisgICAgICAgIHNlbGYucHJvdG9jb2wud2ViZHJpdmVyLnNldF93aW5kb3dfc2l6ZSg2MDAsIDYw
MCkKKworICAgICAgICByZXN1bHQgPSBzZWxmLmltcGxlbWVudGF0aW9uLnJ1bl90ZXN0KHRlc3Qp
CisKKyAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1bHQodGVzdCwgcmVzdWx0KQorCisg
ICAgZGVmIHNjcmVlbnNob3Qoc2VsZiwgdGVzdCwgdmlld3BvcnRfc2l6ZSwgZHBpKToKKyAgICAg
ICAgIyBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dwdHJ1bm5lci9pc3N1ZXMvMTY2CisgICAgICAg
IGFzc2VydCB2aWV3cG9ydF9zaXplIGlzIE5vbmUKKyAgICAgICAgYXNzZXJ0IGRwaSBpcyBOb25l
CisKKyAgICAgICAgcmV0dXJuIFNlbGVuaXVtUnVuKHNlbGYuX3NjcmVlbnNob3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLnByb3RvY29sLndlYmRyaXZlciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYudGVzdF91cmwodGVzdCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0LnRpbWVvdXQpLnJ1bigpCisKKyAgICBkZWYgX3NjcmVlbnNob3Qoc2VsZiwg
d2ViZHJpdmVyLCB1cmwsIHRpbWVvdXQpOgorICAgICAgICB3ZWJkcml2ZXIuZ2V0KHVybCkKKwor
ICAgICAgICB3ZWJkcml2ZXIuZXhlY3V0ZV9hc3luY19zY3JpcHQoc2VsZi53YWl0X3NjcmlwdCkK
KworICAgICAgICBzY3JlZW5zaG90ID0gd2ViZHJpdmVyLmdldF9zY3JlZW5zaG90X2FzX2Jhc2U2
NCgpCisKKyAgICAgICAgIyBzdHJpcCBvZmYgdGhlIGRhdGE6aW1nL3BuZywgcGFydCBvZiB0aGUg
dXJsCisgICAgICAgIGlmIHNjcmVlbnNob3Quc3RhcnRzd2l0aCgiZGF0YTppbWFnZS9wbmc7YmFz
ZTY0LCIpOgorICAgICAgICAgICAgc2NyZWVuc2hvdCA9IHNjcmVlbnNob3Quc3BsaXQoIiwiLCAx
KVsxXQorCisgICAgICAgIHJldHVybiBzY3JlZW5zaG90CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL2V4ZWN1dG9yc2Vydm8ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4
ZWN1dG9yc2Vydm8ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjAwMmQ5M2FhNWYyNWEzNzMzNGQ0MGVlN2ZhZDJk
N2U0MDY5NTQ4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhl
Y3V0b3JzZXJ2by5weQpAQCAtMCwwICsxLDM2OCBAQAoraW1wb3J0IGJhc2U2NAoraW1wb3J0IGhh
c2hsaWIKK2ltcG9ydCBodHRwbGliCitpbXBvcnQganNvbgoraW1wb3J0IG9zCitpbXBvcnQgc3Vi
cHJvY2VzcworaW1wb3J0IHRlbXBmaWxlCitpbXBvcnQgdGhyZWFkaW5nCitpbXBvcnQgdHJhY2Vi
YWNrCitpbXBvcnQgdXJscGFyc2UKK2ltcG9ydCB1dWlkCitmcm9tIGNvbGxlY3Rpb25zIGltcG9y
dCBkZWZhdWx0ZGljdAorCitmcm9tIG1venByb2Nlc3MgaW1wb3J0IFByb2Nlc3NIYW5kbGVyCisK
K2Zyb20gLmJhc2UgaW1wb3J0IChFeGVjdXRvckV4Y2VwdGlvbiwKKyAgICAgICAgICAgICAgICAg
ICBQcm90b2NvbCwKKyAgICAgICAgICAgICAgICAgICBSZWZUZXN0SW1wbGVtZW50YXRpb24sCisg
ICAgICAgICAgICAgICAgICAgdGVzdGhhcm5lc3NfcmVzdWx0X2NvbnZlcnRlciwKKyAgICAgICAg
ICAgICAgICAgICByZWZ0ZXN0X3Jlc3VsdF9jb252ZXJ0ZXIsCisgICAgICAgICAgICAgICAgICAg
V2RzcGVjRXhlY3V0b3IpCitmcm9tIC5wcm9jZXNzIGltcG9ydCBQcm9jZXNzVGVzdEV4ZWN1dG9y
Citmcm9tIC4uYnJvd3NlcnMuYmFzZSBpbXBvcnQgYnJvd3Nlcl9jb21tYW5kCitmcm9tIC4ud3B0
dGVzdCBpbXBvcnQgV2RzcGVjUmVzdWx0LCBXZHNwZWNTdWJ0ZXN0UmVzdWx0Citmcm9tIC4ud2Vi
ZHJpdmVyX3NlcnZlciBpbXBvcnQgU2Vydm9Ecml2ZXJTZXJ2ZXIKK2Zyb20gLmV4ZWN1dG9ybWFy
aW9uZXR0ZSBpbXBvcnQgV2RzcGVjUnVuCisKK3B5dGVzdHJ1bm5lciA9IE5vbmUKK3dlYmRyaXZl
ciA9IE5vbmUKKworZXh0cmFfdGltZW91dCA9IDUgIyBzZWNvbmRzCisKK2hvc3RzX3RleHQgPSAi
IiIxMjcuMC4wLjEgd2ViLXBsYXRmb3JtLnRlc3QKKzEyNy4wLjAuMSB3d3cud2ViLXBsYXRmb3Jt
LnRlc3QKKzEyNy4wLjAuMSB3d3cxLndlYi1wbGF0Zm9ybS50ZXN0CisxMjcuMC4wLjEgd3d3Mi53
ZWItcGxhdGZvcm0udGVzdAorMTI3LjAuMC4xIHhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1w
bGF0Zm9ybS50ZXN0CisxMjcuMC4wLjEgeG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0Cisi
IiIKKworZGVmIG1ha2VfaG9zdHNfZmlsZSgpOgorICAgIGhvc3RzX2ZkLCBob3N0c19wYXRoID0g
dGVtcGZpbGUubWtzdGVtcCgpCisgICAgd2l0aCBvcy5mZG9wZW4oaG9zdHNfZmQsICJ3IikgYXMg
ZjoKKyAgICAgICAgZi53cml0ZShob3N0c190ZXh0KQorICAgIHJldHVybiBob3N0c19wYXRoCisK
KworY2xhc3MgU2Vydm9UZXN0aGFybmVzc0V4ZWN1dG9yKFByb2Nlc3NUZXN0RXhlY3V0b3IpOgor
ICAgIGNvbnZlcnRfcmVzdWx0ID0gdGVzdGhhcm5lc3NfcmVzdWx0X2NvbnZlcnRlcgorCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHRpbWVvdXRfbXVsdGlw
bGllcj0xLCBkZWJ1Z19pbmZvPU5vbmUsCisgICAgICAgICAgICAgICAgIHBhdXNlX2FmdGVyX3Rl
c3Q9RmFsc2UpOgorICAgICAgICBkb19kZWxheWVkX2ltcG9ydHMoKQorICAgICAgICBQcm9jZXNz
VGVzdEV4ZWN1dG9yLl9faW5pdF9fKHNlbGYsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVyPXRpbWVv
dXRfbXVsdGlwbGllciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1
Z19pbmZvPWRlYnVnX2luZm8pCisgICAgICAgIHNlbGYucGF1c2VfYWZ0ZXJfdGVzdCA9IHBhdXNl
X2FmdGVyX3Rlc3QKKyAgICAgICAgc2VsZi5yZXN1bHRfZGF0YSA9IE5vbmUKKyAgICAgICAgc2Vs
Zi5yZXN1bHRfZmxhZyA9IE5vbmUKKyAgICAgICAgc2VsZi5wcm90b2NvbCA9IFByb3RvY29sKHNl
bGYsIGJyb3dzZXIpCisgICAgICAgIHNlbGYuaG9zdHNfcGF0aCA9IG1ha2VfaG9zdHNfZmlsZSgp
CisKKyAgICBkZWYgdGVhcmRvd24oc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9z
LnVubGluayhzZWxmLmhvc3RzX3BhdGgpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAg
ICAgICAgcGFzcworICAgICAgICBQcm9jZXNzVGVzdEV4ZWN1dG9yLnRlYXJkb3duKHNlbGYpCisK
KyAgICBkZWYgZG9fdGVzdChzZWxmLCB0ZXN0KToKKyAgICAgICAgc2VsZi5yZXN1bHRfZGF0YSA9
IE5vbmUKKyAgICAgICAgc2VsZi5yZXN1bHRfZmxhZyA9IHRocmVhZGluZy5FdmVudCgpCisKKyAg
ICAgICAgYXJncyA9IFsKKyAgICAgICAgICAgICItLWhhcmQtZmFpbCIsICItdSIsICJTZXJ2by93
cHRydW5uZXIiLAorICAgICAgICAgICAgIi1aIiwgInJlcGxhY2Utc3Vycm9nYXRlcyIsICIteiIs
IHNlbGYudGVzdF91cmwodGVzdCksCisgICAgICAgIF0KKyAgICAgICAgZm9yIHN0eWxlc2hlZXQg
aW4gc2VsZi5icm93c2VyLnVzZXJfc3R5bGVzaGVldHM6CisgICAgICAgICAgICBhcmdzICs9IFsi
LS11c2VyLXN0eWxlc2hlZXQiLCBzdHlsZXNoZWV0XQorICAgICAgICBmb3IgcHJlZiwgdmFsdWUg
aW4gdGVzdC5lbnZpcm9ubWVudC5nZXQoJ3ByZWZzJywge30pLml0ZXJpdGVtcygpOgorICAgICAg
ICAgICAgYXJncyArPSBbIi0tcHJlZiIsICIlcz0lcyIgJSAocHJlZiwgdmFsdWUpXQorICAgICAg
ICBpZiBzZWxmLmJyb3dzZXIuY2FfY2VydGlmaWNhdGVfcGF0aDoKKyAgICAgICAgICAgIGFyZ3Mg
Kz0gWyItLWNlcnRpZmljYXRlLXBhdGgiLCBzZWxmLmJyb3dzZXIuY2FfY2VydGlmaWNhdGVfcGF0
aF0KKyAgICAgICAgYXJncyArPSBzZWxmLmJyb3dzZXIuYmluYXJ5X2FyZ3MKKyAgICAgICAgZGVi
dWdfYXJncywgY29tbWFuZCA9IGJyb3dzZXJfY29tbWFuZChzZWxmLmJpbmFyeSwgYXJncywgc2Vs
Zi5kZWJ1Z19pbmZvKQorCisgICAgICAgIHNlbGYuY29tbWFuZCA9IGNvbW1hbmQKKworICAgICAg
ICBpZiBzZWxmLnBhdXNlX2FmdGVyX3Rlc3Q6CisgICAgICAgICAgICBzZWxmLmNvbW1hbmQucmVt
b3ZlKCIteiIpCisKKyAgICAgICAgc2VsZi5jb21tYW5kID0gZGVidWdfYXJncyArIHNlbGYuY29t
bWFuZAorCisgICAgICAgIGVudiA9IG9zLmVudmlyb24uY29weSgpCisgICAgICAgIGVudlsiSE9T
VF9GSUxFIl0gPSBzZWxmLmhvc3RzX3BhdGgKKyAgICAgICAgZW52WyJSVVNUX0JBQ0tUUkFDRSJd
ID0gIjEiCisKKworICAgICAgICBpZiBub3Qgc2VsZi5pbnRlcmFjdGl2ZToKKyAgICAgICAgICAg
IHNlbGYucHJvYyA9IFByb2Nlc3NIYW5kbGVyKHNlbGYuY29tbWFuZCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NPdXRwdXRMaW5lPVtzZWxmLm9uX291dHB1
dF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZpbmlzaD1zZWxm
Lm9uX2ZpbmlzaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudj1l
bnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZU91dHB1dD1G
YWxzZSkKKyAgICAgICAgICAgIHNlbGYucHJvYy5ydW4oKQorICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgc2VsZi5wcm9jID0gc3VicHJvY2Vzcy5Qb3BlbihzZWxmLmNvbW1hbmQsIGVudj1lbnYp
CisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdGltZW91dCA9IHRlc3QudGltZW91dCAqIHNl
bGYudGltZW91dF9tdWx0aXBsaWVyCisKKyAgICAgICAgICAgICMgTm93IHdhaXQgdG8gZ2V0IHRo
ZSBvdXRwdXQgd2UgZXhwZWN0LCBvciB1bnRpbCB3ZSByZWFjaCB0aGUgdGltZW91dAorICAgICAg
ICAgICAgaWYgbm90IHNlbGYuaW50ZXJhY3RpdmUgYW5kIG5vdCBzZWxmLnBhdXNlX2FmdGVyX3Rl
c3Q6CisgICAgICAgICAgICAgICAgd2FpdF90aW1lb3V0ID0gdGltZW91dCArIDUKKyAgICAgICAg
ICAgICAgICBzZWxmLnJlc3VsdF9mbGFnLndhaXQod2FpdF90aW1lb3V0KQorICAgICAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgICAgICB3YWl0X3RpbWVvdXQgPSBOb25lCisgICAgICAgICAgICAg
ICAgc2VsZi5wcm9jLndhaXQoKQorCisgICAgICAgICAgICBwcm9jX2lzX3J1bm5pbmcgPSBUcnVl
CisKKyAgICAgICAgICAgIGlmIHNlbGYucmVzdWx0X2ZsYWcuaXNfc2V0KCk6CisgICAgICAgICAg
ICAgICAgaWYgc2VsZi5yZXN1bHRfZGF0YSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAg
ICAgcmVzdWx0ID0gc2VsZi5jb252ZXJ0X3Jlc3VsdCh0ZXN0LCBzZWxmLnJlc3VsdF9kYXRhKQor
ICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYucHJvYy53YWl0
KCkKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gKHRlc3QucmVzdWx0X2NscygiQ1JBU0gi
LCBOb25lKSwgW10pCisgICAgICAgICAgICAgICAgICAgIHByb2NfaXNfcnVubmluZyA9IEZhbHNl
CisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh0ZXN0LnJlc3Vs
dF9jbHMoIlRJTUVPVVQiLCBOb25lKSwgW10pCisKKworICAgICAgICAgICAgaWYgcHJvY19pc19y
dW5uaW5nOgorICAgICAgICAgICAgICAgIGlmIHNlbGYucGF1c2VfYWZ0ZXJfdGVzdDoKKyAgICAg
ICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiUGF1c2luZyB1bnRpbCB0aGUgYnJvd3Nl
ciBleGl0cyIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYucHJvYy53YWl0KCkKKyAgICAgICAg
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLnByb2Mua2lsbCgpCisgICAg
ICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgIHNlbGYucHJvYy5raWxs
KCkKKyAgICAgICAgICAgIHJhaXNlCisKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorCisgICAgZGVm
IG9uX291dHB1dChzZWxmLCBsaW5lKToKKyAgICAgICAgcHJlZml4ID0gIkFMRVJUOiBSRVNVTFQ6
ICIKKyAgICAgICAgbGluZSA9IGxpbmUuZGVjb2RlKCJ1dGY4IiwgInJlcGxhY2UiKQorICAgICAg
ICBpZiBsaW5lLnN0YXJ0c3dpdGgocHJlZml4KToKKyAgICAgICAgICAgIHNlbGYucmVzdWx0X2Rh
dGEgPSBqc29uLmxvYWRzKGxpbmVbbGVuKHByZWZpeCk6XSkKKyAgICAgICAgICAgIHNlbGYucmVz
dWx0X2ZsYWcuc2V0KCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYuaW50ZXJh
Y3RpdmU6CisgICAgICAgICAgICAgICAgcHJpbnQgbGluZQorICAgICAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5wcm9jZXNzX291dHB1dChzZWxmLnByb2MucGlkLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAiLmpvaW4oc2VsZi5jb21tYW5k
KSkKKworICAgIGRlZiBvbl9maW5pc2goc2VsZik6CisgICAgICAgIHNlbGYucmVzdWx0X2ZsYWcu
c2V0KCkKKworCitjbGFzcyBUZW1wRmlsZW5hbWUob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18o
c2VsZiwgZGlyZWN0b3J5KToKKyAgICAgICAgc2VsZi5kaXJlY3RvcnkgPSBkaXJlY3RvcnkKKyAg
ICAgICAgc2VsZi5wYXRoID0gTm9uZQorCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAg
ICAgc2VsZi5wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuZGlyZWN0b3J5LCBzdHIodXVpZC51dWlk
NCgpKSkKKyAgICAgICAgcmV0dXJuIHNlbGYucGF0aAorCisgICAgZGVmIF9fZXhpdF9fKHNlbGYs
ICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9zLnVubGluayhz
ZWxmLnBhdGgpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgcGFzcworCisK
K2NsYXNzIFNlcnZvUmVmVGVzdEV4ZWN1dG9yKFByb2Nlc3NUZXN0RXhlY3V0b3IpOgorICAgIGNv
bnZlcnRfcmVzdWx0ID0gcmVmdGVzdF9yZXN1bHRfY29udmVydGVyCisKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywgYmluYXJ5PU5vbmUsIHRpbWVvdXRfbXVs
dGlwbGllcj0xLAorICAgICAgICAgICAgICAgICBzY3JlZW5zaG90X2NhY2hlPU5vbmUsIGRlYnVn
X2luZm89Tm9uZSwgcGF1c2VfYWZ0ZXJfdGVzdD1GYWxzZSk6CisgICAgICAgIGRvX2RlbGF5ZWRf
aW1wb3J0cygpCisgICAgICAgIFByb2Nlc3NUZXN0RXhlY3V0b3IuX19pbml0X18oc2VsZiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9jb25maWcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVyPXRpbWVvdXRfbXVsdGlwbGll
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z19pbmZvPWRlYnVn
X2luZm8pCisKKyAgICAgICAgc2VsZi5wcm90b2NvbCA9IFByb3RvY29sKHNlbGYsIGJyb3dzZXIp
CisgICAgICAgIHNlbGYuc2NyZWVuc2hvdF9jYWNoZSA9IHNjcmVlbnNob3RfY2FjaGUKKyAgICAg
ICAgc2VsZi5pbXBsZW1lbnRhdGlvbiA9IFJlZlRlc3RJbXBsZW1lbnRhdGlvbihzZWxmKQorICAg
ICAgICBzZWxmLnRlbXBkaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi5ob3N0
c19wYXRoID0gbWFrZV9ob3N0c19maWxlKCkKKworICAgIGRlZiB0ZWFyZG93bihzZWxmKToKKyAg
ICAgICAgdHJ5OgorICAgICAgICAgICAgb3MudW5saW5rKHNlbGYuaG9zdHNfcGF0aCkKKyAgICAg
ICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIG9zLnJtZGlyKHNl
bGYudGVtcGRpcikKKyAgICAgICAgUHJvY2Vzc1Rlc3RFeGVjdXRvci50ZWFyZG93bihzZWxmKQor
CisgICAgZGVmIHNjcmVlbnNob3Qoc2VsZiwgdGVzdCwgdmlld3BvcnRfc2l6ZSwgZHBpKToKKyAg
ICAgICAgZnVsbF91cmwgPSBzZWxmLnRlc3RfdXJsKHRlc3QpCisKKyAgICAgICAgd2l0aCBUZW1w
RmlsZW5hbWUoc2VsZi50ZW1wZGlyKSBhcyBvdXRwdXRfcGF0aDoKKyAgICAgICAgICAgIGRlYnVn
X2FyZ3MsIGNvbW1hbmQgPSBicm93c2VyX2NvbW1hbmQoCisgICAgICAgICAgICAgICAgc2VsZi5i
aW5hcnksCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICAiLS1oYXJkLWZh
aWwiLCAiLS1leGl0IiwKKyAgICAgICAgICAgICAgICAgICAgIi11IiwgIlNlcnZvL3dwdHJ1bm5l
ciIsCisgICAgICAgICAgICAgICAgICAgICItWiIsICJkaXNhYmxlLXRleHQtYWEsbG9hZC13ZWJm
b250cy1zeW5jaHJvbm91c2x5LHJlcGxhY2Utc3Vycm9nYXRlcyIsCisgICAgICAgICAgICAgICAg
ICAgICItLW91dHB1dD0lcyIgJSBvdXRwdXRfcGF0aCwgZnVsbF91cmwKKyAgICAgICAgICAgICAg
ICBdICsgc2VsZi5icm93c2VyLmJpbmFyeV9hcmdzLAorICAgICAgICAgICAgICAgIHNlbGYuZGVi
dWdfaW5mbykKKworICAgICAgICAgICAgZm9yIHN0eWxlc2hlZXQgaW4gc2VsZi5icm93c2VyLnVz
ZXJfc3R5bGVzaGVldHM6CisgICAgICAgICAgICAgICAgY29tbWFuZCArPSBbIi0tdXNlci1zdHls
ZXNoZWV0Iiwgc3R5bGVzaGVldF0KKworICAgICAgICAgICAgZm9yIHByZWYsIHZhbHVlIGluIHRl
c3QuZW52aXJvbm1lbnQuZ2V0KCdwcmVmcycsIHt9KS5pdGVyaXRlbXMoKToKKyAgICAgICAgICAg
ICAgICBjb21tYW5kICs9IFsiLS1wcmVmIiwgIiVzPSVzIiAlIChwcmVmLCB2YWx1ZSldCisKKyAg
ICAgICAgICAgIGNvbW1hbmQgKz0gWyItLXJlc29sdXRpb24iLCB2aWV3cG9ydF9zaXplIG9yICI4
MDB4NjAwIl0KKworICAgICAgICAgICAgaWYgc2VsZi5icm93c2VyLmNhX2NlcnRpZmljYXRlX3Bh
dGg6CisgICAgICAgICAgICAgICAgY29tbWFuZCArPSBbIi0tY2VydGlmaWNhdGUtcGF0aCIsIHNl
bGYuYnJvd3Nlci5jYV9jZXJ0aWZpY2F0ZV9wYXRoXQorCisgICAgICAgICAgICBpZiBkcGk6Cisg
ICAgICAgICAgICAgICAgY29tbWFuZCArPSBbIi0tZGV2aWNlLXBpeGVsLXJhdGlvIiwgZHBpXQor
CisgICAgICAgICAgICAjIFJ1biByZWYgdGVzdHMgaW4gaGVhZGxlc3MgbW9kZQorICAgICAgICAg
ICAgY29tbWFuZCArPSBbIi16Il0KKworICAgICAgICAgICAgc2VsZi5jb21tYW5kID0gZGVidWdf
YXJncyArIGNvbW1hbmQKKworICAgICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKKyAg
ICAgICAgICAgIGVudlsiSE9TVF9GSUxFIl0gPSBzZWxmLmhvc3RzX3BhdGgKKyAgICAgICAgICAg
IGVudlsiUlVTVF9CQUNLVFJBQ0UiXSA9ICIxIgorCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5p
bnRlcmFjdGl2ZToKKyAgICAgICAgICAgICAgICBzZWxmLnByb2MgPSBQcm9jZXNzSGFuZGxlcihz
ZWxmLmNvbW1hbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHJvY2Vzc091dHB1dExpbmU9W3NlbGYub25fb3V0cHV0XSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBlbnY9ZW52KQorCisKKyAgICAgICAgICAgICAgICB0cnk6
CisgICAgICAgICAgICAgICAgICAgIHNlbGYucHJvYy5ydW4oKQorICAgICAgICAgICAgICAgICAg
ICB0aW1lb3V0ID0gdGVzdC50aW1lb3V0ICogc2VsZi50aW1lb3V0X211bHRpcGxpZXIgKyA1Cisg
ICAgICAgICAgICAgICAgICAgIHJ2ID0gc2VsZi5wcm9jLndhaXQodGltZW91dD10aW1lb3V0KQor
ICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgICAg
ICAgICAgc2VsZi5wcm9jLmtpbGwoKQorICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnByb2MgPSBzdWJwcm9jZXNzLlBvcGVu
KHNlbGYuY29tbWFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVudj1lbnYpCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBy
diA9IHNlbGYucHJvYy53YWl0KCkKKyAgICAgICAgICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRl
cnJ1cHQ6CisgICAgICAgICAgICAgICAgICAgIHNlbGYucHJvYy5raWxsKCkKKyAgICAgICAgICAg
ICAgICAgICAgcmFpc2UKKworICAgICAgICAgICAgaWYgcnYgaXMgTm9uZToKKyAgICAgICAgICAg
ICAgICBzZWxmLnByb2Mua2lsbCgpCisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCAoIkVY
VEVSTkFMLVRJTUVPVVQiLCBOb25lKQorCisgICAgICAgICAgICBpZiBydiAhPSAwIG9yIG5vdCBv
cy5wYXRoLmV4aXN0cyhvdXRwdXRfcGF0aCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNl
LCAoIkNSQVNIIiwgTm9uZSkKKworICAgICAgICAgICAgd2l0aCBvcGVuKG91dHB1dF9wYXRoKSBh
cyBmOgorICAgICAgICAgICAgICAgICMgTWlnaHQgbmVlZCB0byBzdHJpcCB2YXJpYWJsZSBoZWFk
ZXJzIG9yIHNvbWV0aGluZyBoZXJlCisgICAgICAgICAgICAgICAgZGF0YSA9IGYucmVhZCgpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIFRydWUsIGJhc2U2NC5iNjRlbmNvZGUoZGF0YSkKKworICAg
IGRlZiBkb190ZXN0KHNlbGYsIHRlc3QpOgorICAgICAgICByZXN1bHQgPSBzZWxmLmltcGxlbWVu
dGF0aW9uLnJ1bl90ZXN0KHRlc3QpCisKKyAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1
bHQodGVzdCwgcmVzdWx0KQorCisgICAgZGVmIG9uX291dHB1dChzZWxmLCBsaW5lKToKKyAgICAg
ICAgbGluZSA9IGxpbmUuZGVjb2RlKCJ1dGY4IiwgInJlcGxhY2UiKQorICAgICAgICBpZiBzZWxm
LmludGVyYWN0aXZlOgorICAgICAgICAgICAgcHJpbnQgbGluZQorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgc2VsZi5sb2dnZXIucHJvY2Vzc19vdXRwdXQoc2VsZi5wcm9jLnBpZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiICIuam9pbihzZWxmLmNvbW1hbmQpKQorCitjbGFzcyBT
ZXJ2b1dkc3BlY1Byb3RvY29sKFByb3RvY29sKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZXhl
Y3V0b3IsIGJyb3dzZXIpOgorICAgICAgICBzZWxmLmRvX2RlbGF5ZWRfaW1wb3J0cygpCisgICAg
ICAgIFByb3RvY29sLl9faW5pdF9fKHNlbGYsIGV4ZWN1dG9yLCBicm93c2VyKQorICAgICAgICBz
ZWxmLnNlc3Npb24gPSBOb25lCisgICAgICAgIHNlbGYuc2VydmVyID0gTm9uZQorCisgICAgZGVm
IHNldHVwKHNlbGYsIHJ1bm5lcik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuc2Vy
dmVyID0gU2Vydm9Ecml2ZXJTZXJ2ZXIoc2VsZi5sb2dnZXIsIGJpbmFyeT1zZWxmLmJyb3dzZXIu
YmluYXJ5LCBiaW5hcnlfYXJncz1zZWxmLmJyb3dzZXIuYmluYXJ5X2FyZ3MpCisgICAgICAgICAg
ICBzZWxmLnNlcnZlci5zdGFydChibG9jaz1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYubG9nZ2Vy
LmluZm8oCisgICAgICAgICAgICAgICAgIldlYkRyaXZlciBIVFRQIHNlcnZlciBsaXN0ZW5pbmcg
YXQgJXMiICUgc2VsZi5zZXJ2ZXIudXJsKQorCisgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZv
KAorICAgICAgICAgICAgICAgICJFc3RhYmxpc2hpbmcgbmV3IFdlYkRyaXZlciBzZXNzaW9uIHdp
dGggJXMiICUgc2VsZi5zZXJ2ZXIudXJsKQorICAgICAgICAgICAgc2VsZi5zZXNzaW9uID0gd2Vi
ZHJpdmVyLlNlc3Npb24oCisgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuaG9zdCwgc2VsZi5z
ZXJ2ZXIucG9ydCwgc2VsZi5zZXJ2ZXIuYmFzZV9wYXRoKQorICAgICAgICBleGNlcHQgRXhjZXB0
aW9uOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IodHJhY2ViYWNrLmZvcm1hdF9leGMo
KSkKKyAgICAgICAgICAgIHNlbGYuZXhlY3V0b3IucnVubmVyLnNlbmRfbWVzc2FnZSgiaW5pdF9m
YWlsZWQiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5leGVjdXRvci5ydW5uZXIu
c2VuZF9tZXNzYWdlKCJpbml0X3N1Y2NlZWRlZCIpCisKKyAgICBkZWYgdGVhcmRvd24oc2VsZik6
CisgICAgICAgIGlmIHNlbGYuc2VydmVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgICAgIGlmIHNlbGYuc2Vzc2lvbi5zZXNzaW9uX2lkIGlzIG5vdCBOb25lOgor
ICAgICAgICAgICAgICAgICAgICBzZWxmLnNlc3Npb24uZW5kKCkKKyAgICAgICAgICAgIGV4Y2Vw
dCBFeGNlcHRpb246CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgaWYgc2VsZi5z
ZXJ2ZXIuaXNfYWxpdmU6CisgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc3RvcCgpCisKKyAg
ICBAcHJvcGVydHkKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgIGNvbm4gPSBodHRw
bGliLkhUVFBDb25uZWN0aW9uKHNlbGYuc2VydmVyLmhvc3QsIHNlbGYuc2VydmVyLnBvcnQpCisg
ICAgICAgIGNvbm4ucmVxdWVzdCgiSEVBRCIsIHNlbGYuc2VydmVyLmJhc2VfcGF0aCArICJpbnZh
bGlkIikKKyAgICAgICAgcmVzID0gY29ubi5nZXRyZXNwb25zZSgpCisgICAgICAgIHJldHVybiBy
ZXMuc3RhdHVzID09IDQwNAorCisgICAgZGVmIGRvX2RlbGF5ZWRfaW1wb3J0cyhzZWxmKToKKyAg
ICAgICAgZ2xvYmFsIHB5dGVzdHJ1bm5lciwgd2ViZHJpdmVyCisgICAgICAgIGZyb20gLiBpbXBv
cnQgcHl0ZXN0cnVubmVyCisgICAgICAgIGltcG9ydCB3ZWJkcml2ZXIKKworCitjbGFzcyBTZXJ2
b1dkc3BlY0V4ZWN1dG9yKFdkc3BlY0V4ZWN1dG9yKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
YnJvd3Nlciwgc2VydmVyX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBs
aWVyPTEsIGNsb3NlX2FmdGVyX2RvbmU9VHJ1ZSwgZGVidWdfaW5mbz1Ob25lLAorICAgICAgICAg
ICAgICAgICAqKmt3YXJncyk6CisgICAgICAgIFdkc3BlY0V4ZWN1dG9yLl9faW5pdF9fKHNlbGYs
IGJyb3dzZXIsIHNlcnZlcl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRpbWVvdXRfbXVsdGlwbGllcj10aW1lb3V0X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRlYnVnX2luZm89ZGVidWdfaW5mbykKKyAgICAgICAgc2VsZi5wcm90
b2NvbCA9IFNlcnZvV2RzcGVjUHJvdG9jb2woc2VsZiwgYnJvd3NlcikKKworICAgIGRlZiBpc19h
bGl2ZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYucHJvdG9jb2wuaXNfYWxpdmUKKworICAg
IGRlZiBvbl9lbnZpcm9ubWVudF9jaGFuZ2Uoc2VsZiwgbmV3X2Vudmlyb25tZW50KToKKyAgICAg
ICAgcGFzcworCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgIHRpbWVvdXQg
PSB0ZXN0LnRpbWVvdXQgKiBzZWxmLnRpbWVvdXRfbXVsdGlwbGllciArIGV4dHJhX3RpbWVvdXQK
KworICAgICAgICBzdWNjZXNzLCBkYXRhID0gV2RzcGVjUnVuKHNlbGYuZG9fd2RzcGVjLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucHJvdG9jb2wuc2Vzc2lvbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0LnBhdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGltZW91dCkucnVuKCkKKworICAgICAgICBpZiBzdWNjZXNz
OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1bHQodGVzdCwgZGF0YSkKKwor
ICAgICAgICByZXR1cm4gKHRlc3QucmVzdWx0X2NscygqZGF0YSksIFtdKQorCisgICAgZGVmIGRv
X3dkc3BlYyhzZWxmLCBzZXNzaW9uLCBwYXRoLCB0aW1lb3V0KToKKyAgICAgICAgaGFybmVzc19y
ZXN1bHQgPSAoIk9LIiwgTm9uZSkKKyAgICAgICAgc3VidGVzdF9yZXN1bHRzID0gcHl0ZXN0cnVu
bmVyLnJ1bihwYXRoLCBzZXNzaW9uLCB0aW1lb3V0PXRpbWVvdXQpCisgICAgICAgIHJldHVybiAo
aGFybmVzc19yZXN1bHQsIHN1YnRlc3RfcmVzdWx0cykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci9leGVjdXRvcnMvZXhlY3V0b3JzZXJ2b2RyaXZlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRv
cnMvZXhlY3V0b3JzZXJ2b2RyaXZlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGQzMzFjNzUwOTAyNWNiZDdk
YmZmOTcyYTA0MzE2OTgxNTZkMWNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4
ZWN1dG9ycy9leGVjdXRvcnNlcnZvZHJpdmVyLnB5CkBAIC0wLDAgKzEsMjU3IEBACitpbXBvcnQg
anNvbgoraW1wb3J0IG9zCitpbXBvcnQgc29ja2V0CitpbXBvcnQgdGhyZWFkaW5nCitpbXBvcnQg
dGltZQoraW1wb3J0IHRyYWNlYmFjaworCitmcm9tIC5iYXNlIGltcG9ydCAoUHJvdG9jb2wsCisg
ICAgICAgICAgICAgICAgICAgUmVmVGVzdEV4ZWN1dG9yLAorICAgICAgICAgICAgICAgICAgIFJl
ZlRlc3RJbXBsZW1lbnRhdGlvbiwKKyAgICAgICAgICAgICAgICAgICBUZXN0aGFybmVzc0V4ZWN1
dG9yLAorICAgICAgICAgICAgICAgICAgIHN0cmlwX3NlcnZlcikKK2Zyb20gLi50ZXN0cnVubmVy
IGltcG9ydCBTdG9wCisKK3dlYmRyaXZlciA9IE5vbmUKKworaGVyZSA9IG9zLnBhdGguam9pbihv
cy5wYXRoLnNwbGl0KF9fZmlsZV9fKVswXSkKKworZXh0cmFfdGltZW91dCA9IDUKKworCitkZWYg
ZG9fZGVsYXllZF9pbXBvcnRzKCk6CisgICAgZ2xvYmFsIHdlYmRyaXZlcgorICAgIGltcG9ydCB3
ZWJkcml2ZXIKKworCitjbGFzcyBTZXJ2b1dlYkRyaXZlclByb3RvY29sKFByb3RvY29sKToKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgZXhlY3V0b3IsIGJyb3dzZXIsIGNhcGFiaWxpdGllcywgKipr
d2FyZ3MpOgorICAgICAgICBkb19kZWxheWVkX2ltcG9ydHMoKQorICAgICAgICBQcm90b2NvbC5f
X2luaXRfXyhzZWxmLCBleGVjdXRvciwgYnJvd3NlcikKKyAgICAgICAgc2VsZi5jYXBhYmlsaXRp
ZXMgPSBjYXBhYmlsaXRpZXMKKyAgICAgICAgc2VsZi5ob3N0ID0gYnJvd3Nlci53ZWJkcml2ZXJf
aG9zdAorICAgICAgICBzZWxmLnBvcnQgPSBicm93c2VyLndlYmRyaXZlcl9wb3J0CisgICAgICAg
IHNlbGYuc2Vzc2lvbiA9IE5vbmUKKworICAgIGRlZiBzZXR1cChzZWxmLCBydW5uZXIpOgorICAg
ICAgICAiIiJDb25uZWN0IHRvIGJyb3dzZXIgdmlhIFdlYkRyaXZlci4iIiIKKyAgICAgICAgc2Vs
Zi5ydW5uZXIgPSBydW5uZXIKKworICAgICAgICB1cmwgPSAiaHR0cDovLyVzOiVkIiAlIChzZWxm
Lmhvc3QsIHNlbGYucG9ydCkKKyAgICAgICAgc2Vzc2lvbl9zdGFydGVkID0gRmFsc2UKKyAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5zZXNzaW9uID0gd2ViZHJpdmVyLlNlc3Npb24oc2Vs
Zi5ob3N0LCBzZWxmLnBvcnQsCisgICAgICAgICAgICAgICAgZXh0ZW5zaW9uPXdlYmRyaXZlci5z
ZXJ2by5TZXJ2b0NvbW1hbmRFeHRlbnNpb25zKQorICAgICAgICAgICAgc2VsZi5zZXNzaW9uLnN0
YXJ0KCkKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgc2VsZi5sb2dnZXIud2FybmluZygK
KyAgICAgICAgICAgICAgICAiQ29ubmVjdGluZyB3aXRoIFdlYkRyaXZlciBmYWlsZWQ6XG4lcyIg
JSB0cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2Vs
Zi5sb2dnZXIuZGVidWcoInNlc3Npb24gc3RhcnRlZCIpCisgICAgICAgICAgICBzZXNzaW9uX3N0
YXJ0ZWQgPSBUcnVlCisKKyAgICAgICAgaWYgbm90IHNlc3Npb25fc3RhcnRlZDoKKyAgICAgICAg
ICAgIHNlbGYubG9nZ2VyLndhcm5pbmcoIkZhaWxlZCB0byBjb25uZWN0IHZpYSBXZWJEcml2ZXIi
KQorICAgICAgICAgICAgc2VsZi5leGVjdXRvci5ydW5uZXIuc2VuZF9tZXNzYWdlKCJpbml0X2Zh
aWxlZCIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yLnJ1bm5lci5z
ZW5kX21lc3NhZ2UoImluaXRfc3VjY2VlZGVkIikKKworICAgIGRlZiB0ZWFyZG93bihzZWxmKToK
KyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIkhhbmdpbmcgdXAgb24gV2ViRHJpdmVyIHNlc3Np
b24iKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnNlc3Npb24uZW5kKCkKKyAgICAg
ICAgZXhjZXB0OgorICAgICAgICAgICAgcGFzcworCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgor
ICAgICAgICB0cnk6CisgICAgICAgICAgICAjIEdldCBhIHNpbXBsZSBwcm9wZXJ0eSBvdmVyIHRo
ZSBjb25uZWN0aW9uCisgICAgICAgICAgICBzZWxmLnNlc3Npb24ud2luZG93X2hhbmRsZQorICAg
ICAgICAjIFRPRE8gd2hhdCBleGNlcHRpb24/CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Cisg
ICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIGRlZiBh
ZnRlcl9jb25uZWN0KHNlbGYpOgorICAgICAgICBwYXNzCisKKyAgICBkZWYgd2FpdChzZWxmKToK
KyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBz
ZWxmLnNlc3Npb24uZXhlY3V0ZV9hc3luY19zY3JpcHQoIiIpCisgICAgICAgICAgICBleGNlcHQg
d2ViZHJpdmVyLlRpbWVvdXRFeGNlcHRpb246CisgICAgICAgICAgICAgICAgcGFzcworICAgICAg
ICAgICAgZXhjZXB0IChzb2NrZXQudGltZW91dCwgSU9FcnJvcik6CisgICAgICAgICAgICAgICAg
YnJlYWsKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAg
ICBzZWxmLmxvZ2dlci5lcnJvcih0cmFjZWJhY2suZm9ybWF0X2V4YyhlKSkKKyAgICAgICAgICAg
ICAgICBicmVhaworCisgICAgZGVmIG9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLCBvbGRfZW52
aXJvbm1lbnQsIG5ld19lbnZpcm9ubWVudCk6CisgICAgICAgICNVbnNldCBhbGwgdGhlIG9sZCBw
cmVmcworICAgICAgICBzZWxmLnNlc3Npb24uZXh0ZW5zaW9uLnJlc2V0X3ByZWZzKCpvbGRfZW52
aXJvbm1lbnQuZ2V0KCJwcmVmcyIsIHt9KS5rZXlzKCkpCisgICAgICAgIHNlbGYuc2Vzc2lvbi5l
eHRlbnNpb24uc2V0X3ByZWZzKG5ld19lbnZpcm9ubWVudC5nZXQoInByZWZzIiwge30pKQorCisK
K2NsYXNzIFNlcnZvV2ViRHJpdmVyUnVuKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGZ1bmMsIHNlc3Npb24sIHVybCwgdGltZW91dCwgY3VycmVudF90aW1lb3V0PU5vbmUpOgorICAg
ICAgICBzZWxmLmZ1bmMgPSBmdW5jCisgICAgICAgIHNlbGYucmVzdWx0ID0gTm9uZQorICAgICAg
ICBzZWxmLnNlc3Npb24gPSBzZXNzaW9uCisgICAgICAgIHNlbGYudXJsID0gdXJsCisgICAgICAg
IHNlbGYudGltZW91dCA9IHRpbWVvdXQKKyAgICAgICAgc2VsZi5yZXN1bHRfZmxhZyA9IHRocmVh
ZGluZy5FdmVudCgpCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICBleGVjdXRvciA9IHRo
cmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYuX3J1bikKKyAgICAgICAgZXhlY3V0b3Iuc3RhcnQo
KQorCisgICAgICAgIGZsYWcgPSBzZWxmLnJlc3VsdF9mbGFnLndhaXQoc2VsZi50aW1lb3V0ICsg
ZXh0cmFfdGltZW91dCkKKyAgICAgICAgaWYgc2VsZi5yZXN1bHQgaXMgTm9uZToKKyAgICAgICAg
ICAgIGFzc2VydCBub3QgZmxhZworICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJF
WFRFUk5BTC1USU1FT1VUIiwgTm9uZSkKKworICAgICAgICByZXR1cm4gc2VsZi5yZXN1bHQKKwor
ICAgIGRlZiBfcnVuKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnJlc3Vs
dCA9IFRydWUsIHNlbGYuZnVuYyhzZWxmLnNlc3Npb24sIHNlbGYudXJsLCBzZWxmLnRpbWVvdXQp
CisgICAgICAgIGV4Y2VwdCB3ZWJkcml2ZXIuVGltZW91dEV4Y2VwdGlvbjoKKyAgICAgICAgICAg
IHNlbGYucmVzdWx0ID0gRmFsc2UsICgiRVhURVJOQUwtVElNRU9VVCIsIE5vbmUpCisgICAgICAg
IGV4Y2VwdCAoc29ja2V0LnRpbWVvdXQsIElPRXJyb3IpOgorICAgICAgICAgICAgc2VsZi5yZXN1
bHQgPSBGYWxzZSwgKCJDUkFTSCIsIE5vbmUpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg
ZToKKyAgICAgICAgICAgIG1lc3NhZ2UgPSBnZXRhdHRyKGUsICJtZXNzYWdlIiwgIiIpCisgICAg
ICAgICAgICBpZiBtZXNzYWdlOgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgorICAg
ICAgICAgICAgbWVzc2FnZSArPSB0cmFjZWJhY2suZm9ybWF0X2V4YyhlKQorICAgICAgICAgICAg
c2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJFUlJPUiIsIGUpCisgICAgICAgIGZpbmFsbHk6CisgICAg
ICAgICAgICBzZWxmLnJlc3VsdF9mbGFnLnNldCgpCisKKworZGVmIHRpbWVvdXRfZnVuYyh0aW1l
b3V0KToKKyAgICBpZiB0aW1lb3V0OgorICAgICAgICB0MCA9IHRpbWUudGltZSgpCisgICAgICAg
IHJldHVybiBsYW1iZGE6IHRpbWUudGltZSgpIC0gdDAgPiB0aW1lb3V0ICsgZXh0cmFfdGltZW91
dAorICAgIGVsc2U6CisgICAgICAgIHJldHVybiBsYW1iZGE6IEZhbHNlCisKKworY2xhc3MgU2Vy
dm9XZWJEcml2ZXJUZXN0aGFybmVzc0V4ZWN1dG9yKFRlc3RoYXJuZXNzRXhlY3V0b3IpOgorICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRp
cGxpZXI9MSwKKyAgICAgICAgICAgICAgICAgY2xvc2VfYWZ0ZXJfZG9uZT1UcnVlLCBjYXBhYmls
aXRpZXM9Tm9uZSwgZGVidWdfaW5mbz1Ob25lKToKKyAgICAgICAgVGVzdGhhcm5lc3NFeGVjdXRv
ci5fX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxp
ZXI9MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z19pbmZvPU5v
bmUpCisgICAgICAgIHNlbGYucHJvdG9jb2wgPSBTZXJ2b1dlYkRyaXZlclByb3RvY29sKHNlbGYs
IGJyb3dzZXIsIGNhcGFiaWxpdGllcz1jYXBhYmlsaXRpZXMpCisgICAgICAgIHdpdGggb3Blbihv
cy5wYXRoLmpvaW4oaGVyZSwgInRlc3RoYXJuZXNzX3NlcnZvZHJpdmVyLmpzIikpIGFzIGY6Cisg
ICAgICAgICAgICBzZWxmLnNjcmlwdCA9IGYucmVhZCgpCisgICAgICAgIHNlbGYudGltZW91dCA9
IE5vbmUKKworICAgIGRlZiBvbl9wcm90b2NvbF9jaGFuZ2Uoc2VsZiwgbmV3X3Byb3RvY29sKToK
KyAgICAgICAgcGFzcworCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICByZXR1cm4g
c2VsZi5wcm90b2NvbC5pc19hbGl2ZSgpCisKKyAgICBkZWYgZG9fdGVzdChzZWxmLCB0ZXN0KToK
KyAgICAgICAgdXJsID0gc2VsZi50ZXN0X3VybCh0ZXN0KQorCisgICAgICAgIHRpbWVvdXQgPSB0
ZXN0LnRpbWVvdXQgKiBzZWxmLnRpbWVvdXRfbXVsdGlwbGllciArIGV4dHJhX3RpbWVvdXQKKwor
ICAgICAgICBpZiB0aW1lb3V0ICE9IHNlbGYudGltZW91dDoKKyAgICAgICAgICAgIHRyeToKKyAg
ICAgICAgICAgICAgICBzZWxmLnByb3RvY29sLnNlc3Npb24udGltZW91dHMuc2NyaXB0ID0gdGlt
ZW91dAorICAgICAgICAgICAgICAgIHNlbGYudGltZW91dCA9IHRpbWVvdXQKKyAgICAgICAgICAg
IGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKCJMb3N0
IHdlYmRyaXZlciBjb25uZWN0aW9uIikKKyAgICAgICAgICAgICAgICByZXR1cm4gU3RvcAorCisg
ICAgICAgIHN1Y2Nlc3MsIGRhdGEgPSBTZXJ2b1dlYkRyaXZlclJ1bihzZWxmLmRvX3Rlc3RoYXJu
ZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm90
b2NvbC5zZXNzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCku
cnVuKCkKKworICAgICAgICBpZiBzdWNjZXNzOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29u
dmVydF9yZXN1bHQodGVzdCwgZGF0YSkKKworICAgICAgICByZXR1cm4gKHRlc3QucmVzdWx0X2Ns
cygqZGF0YSksIFtdKQorCisgICAgZGVmIGRvX3Rlc3RoYXJuZXNzKHNlbGYsIHNlc3Npb24sIHVy
bCwgdGltZW91dCk6CisgICAgICAgIHNlc3Npb24udXJsID0gdXJsCisgICAgICAgIHJlc3VsdCA9
IGpzb24ubG9hZHMoCisgICAgICAgICAgICBzZXNzaW9uLmV4ZWN1dGVfYXN5bmNfc2NyaXB0KAor
ICAgICAgICAgICAgICAgIHNlbGYuc2NyaXB0ICUgeyJhYnNfdXJsIjogdXJsLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1cmwiOiBzdHJpcF9zZXJ2ZXIodXJsKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidGltZW91dF9tdWx0aXBsaWVyIjogc2VsZi50aW1lb3V0
X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVvdXQiOiB0
aW1lb3V0ICogMTAwMH0pKQorICAgICAgICAjIFByZXZlbnQgbGVha2luZyBldmVyeSBwYWdlIGlu
IGhpc3RvcnkgdW50aWwgU2Vydm8gZGV2ZWxvcHMgYSBtb3JlIHNhbmUKKyAgICAgICAgIyBwYWdl
IGNhY2hlCisgICAgICAgIHNlc3Npb24uYmFjaygpCisgICAgICAgIHJldHVybiByZXN1bHQKKwor
CitjbGFzcyBUaW1lb3V0RXJyb3IoRXhjZXB0aW9uKToKKyAgICBwYXNzCisKKworY2xhc3MgU2Vy
dm9XZWJEcml2ZXJSZWZUZXN0RXhlY3V0b3IoUmVmVGVzdEV4ZWN1dG9yKToKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywgdGltZW91dF9tdWx0aXBsaWVyPTEs
CisgICAgICAgICAgICAgICAgIHNjcmVlbnNob3RfY2FjaGU9Tm9uZSwgY2FwYWJpbGl0aWVzPU5v
bmUsIGRlYnVnX2luZm89Tm9uZSk6CisgICAgICAgICIiIlNlbGVuaXVtIFdlYkRyaXZlci1iYXNl
ZCBleGVjdXRvciBmb3IgcmVmdGVzdHMiIiIKKyAgICAgICAgUmVmVGVzdEV4ZWN1dG9yLl9faW5p
dF9fKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2NvbmZpZywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNjcmVlbnNob3RfY2FjaGU9c2NyZWVuc2hvdF9jYWNoZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXVsdGlwbGllcj10aW1l
b3V0X211bHRpcGxpZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z19p
bmZvPWRlYnVnX2luZm8pCisgICAgICAgIHNlbGYucHJvdG9jb2wgPSBTZXJ2b1dlYkRyaXZlclBy
b3RvY29sKHNlbGYsIGJyb3dzZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNhcGFiaWxpdGllcz1jYXBhYmlsaXRpZXMpCisgICAgICAgIHNlbGYuaW1w
bGVtZW50YXRpb24gPSBSZWZUZXN0SW1wbGVtZW50YXRpb24oc2VsZikKKyAgICAgICAgc2VsZi50
aW1lb3V0ID0gTm9uZQorICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGhlcmUsICJyZWZ0
ZXN0LXdhaXRfc2Vydm9kcml2ZXIuanMiKSkgYXMgZjoKKyAgICAgICAgICAgIHNlbGYud2FpdF9z
Y3JpcHQgPSBmLnJlYWQoKQorCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAgICAgICByZXR1
cm4gc2VsZi5wcm90b2NvbC5pc19hbGl2ZSgpCisKKyAgICBkZWYgZG9fdGVzdChzZWxmLCB0ZXN0
KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5pbXBsZW1lbnRhdGlv
bi5ydW5fdGVzdCh0ZXN0KQorICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1bHQo
dGVzdCwgcmVzdWx0KQorICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgIHJldHVy
biB0ZXN0LnJlc3VsdF9jbHMoIkNSQVNIIiwgTm9uZSksIFtdCisgICAgICAgIGV4Y2VwdCBUaW1l
b3V0RXJyb3I6CisgICAgICAgICAgICByZXR1cm4gdGVzdC5yZXN1bHRfY2xzKCJUSU1FT1VUIiwg
Tm9uZSksIFtdCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIG1l
c3NhZ2UgPSBnZXRhdHRyKGUsICJtZXNzYWdlIiwgIiIpCisgICAgICAgICAgICBpZiBtZXNzYWdl
OgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgorICAgICAgICAgICAgbWVzc2FnZSAr
PSB0cmFjZWJhY2suZm9ybWF0X2V4YyhlKQorICAgICAgICAgICAgcmV0dXJuIHRlc3QucmVzdWx0
X2NscygiRVJST1IiLCBtZXNzYWdlKSwgW10KKworICAgIGRlZiBzY3JlZW5zaG90KHNlbGYsIHRl
c3QsIHZpZXdwb3J0X3NpemUsIGRwaSk6CisgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93cHRydW5uZXIvaXNzdWVzLzE2NgorICAgICAgICBhc3NlcnQgdmlld3BvcnRfc2l6ZSBpcyBO
b25lCisgICAgICAgIGFzc2VydCBkcGkgaXMgTm9uZQorCisgICAgICAgIHRpbWVvdXQgPSAodGVz
dC50aW1lb3V0ICogc2VsZi50aW1lb3V0X211bHRpcGxpZXIgKyBleHRyYV90aW1lb3V0CisgICAg
ICAgICAgICAgICAgICAgaWYgc2VsZi5kZWJ1Z19pbmZvIGlzIE5vbmUgZWxzZSBOb25lKQorCisg
ICAgICAgIGlmIHNlbGYudGltZW91dCAhPSB0aW1lb3V0OgorICAgICAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgICAgIHNlbGYucHJvdG9jb2wuc2Vzc2lvbi50aW1lb3V0cy5zY3JpcHQgPSB0aW1l
b3V0CisgICAgICAgICAgICAgICAgc2VsZi50aW1lb3V0ID0gdGltZW91dAorICAgICAgICAgICAg
ZXhjZXB0IElPRXJyb3I6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IoIkxvc3Qg
d2ViZHJpdmVyIGNvbm5lY3Rpb24iKQorICAgICAgICAgICAgICAgIHJldHVybiBTdG9wCisKKyAg
ICAgICAgcmV0dXJuIFNlcnZvV2ViRHJpdmVyUnVuKHNlbGYuX3NjcmVlbnNob3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnByb3RvY29sLnNlc3Npb24sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRlc3RfdXJsKHRlc3QpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCkucnVuKCkKKworICAgIGRlZiBfc2NyZWVu
c2hvdChzZWxmLCBzZXNzaW9uLCB1cmwsIHRpbWVvdXQpOgorICAgICAgICBzZXNzaW9uLnVybCA9
IHVybAorICAgICAgICBzZXNzaW9uLmV4ZWN1dGVfYXN5bmNfc2NyaXB0KHNlbGYud2FpdF9zY3Jp
cHQpCisgICAgICAgIHJldHVybiBzZXNzaW9uLnNjcmVlbnNob3QoKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2V4ZWN1dG9ycy9wcm9jZXNzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9w
cm9jZXNzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiOGMxN2E5NmJhMDRjZTYwMWFkM2NiOWFkNGM3NTg4Zjk0
N2U5NDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Byb2Nlc3Mu
cHkKQEAgLTAsMCArMSwyMCBAQAorZnJvbSAuYmFzZSBpbXBvcnQgVGVzdEV4ZWN1dG9yCisKKwor
Y2xhc3MgUHJvY2Vzc1Rlc3RFeGVjdXRvcihUZXN0RXhlY3V0b3IpOgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBUZXN0RXhlY3V0b3IuX19pbml0X18o
c2VsZiwgKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBzZWxmLmJpbmFyeSA9IHNlbGYuYnJvd3Nl
ci5iaW5hcnkKKyAgICAgICAgc2VsZi5pbnRlcmFjdGl2ZSA9IChGYWxzZSBpZiBzZWxmLmRlYnVn
X2luZm8gaXMgTm9uZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ugc2VsZi5kZWJ1
Z19pbmZvLmludGVyYWN0aXZlKQorCisgICAgZGVmIHNldHVwKHNlbGYsIHJ1bm5lcik6CisgICAg
ICAgIHNlbGYucnVubmVyID0gcnVubmVyCisgICAgICAgIHNlbGYucnVubmVyLnNlbmRfbWVzc2Fn
ZSgiaW5pdF9zdWNjZWVkZWQiKQorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgZGVmIGlzX2Fs
aXZlKHNlbGYpOgorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgZGVmIGRvX3Rlc3Qoc2VsZiwg
dGVzdCk6CisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVyL19faW5pdF9fLnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2V4ZWN1dG9ycy9weXRlc3RydW5uZXIvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTkyYjNh
ODE1MWRhN2QwYzZkYWU5ZGY5ZjZhMWJjNzcwOWIyY2JhZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVyL19faW5pdF9fLnB5CkBAIC0wLDAgKzEg
QEAKK2Zyb20gLnJ1bm5lciBpbXBvcnQgcnVuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhl
Y3V0b3JzL3B5dGVzdHJ1bm5lci9ydW5uZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3B5
dGVzdHJ1bm5lci9ydW5uZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2E5N2Q0MGUwNjZhMTE4OTVlY2E3Yzhm
NmY3MWUzZDZkZjkwNWI2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRv
cnMvcHl0ZXN0cnVubmVyL3J1bm5lci5weQpAQCAtMCwwICsxLDExNSBAQAorIiIiUHJvdmlkZXMg
aW50ZXJmYWNlIHRvIGRlYWwgd2l0aCBweXRlc3QuCisKK1VzYWdlOjoKKworICAgIHNlc3Npb24g
PSB3ZWJkcml2ZXIuY2xpZW50LlNlc3Npb24oIjEyNy4wLjAuMSIsICI0NDQ0IiwgIi8iKQorICAg
IGhhcm5lc3NfcmVzdWx0ID0gKCJPSyIsIE5vbmUpCisgICAgc3VidGVzdF9yZXN1bHRzID0gcHl0
ZXN0cnVubmVyLnJ1bigiL3BhdGgvdG8vdGVzdCIsIHNlc3Npb24udXJsKQorICAgIHJldHVybiAo
aGFybmVzc19yZXN1bHQsIHN1YnRlc3RfcmVzdWx0cykKKyIiIgorCitpbXBvcnQgZXJybm8KK2lt
cG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCB0ZW1wZmlsZQorCisK
K3B5dGVzdCA9IE5vbmUKKworCitkZWYgZG9fZGVsYXllZF9pbXBvcnRzKCk6CisgICAgZ2xvYmFs
IHB5dGVzdAorICAgIGltcG9ydCBweXRlc3QKKworCitkZWYgcnVuKHBhdGgsIHNlcnZlcl9jb25m
aWcsIHNlc3Npb25fY29uZmlnLCB0aW1lb3V0PTApOgorICAgICIiIlJ1biBQeXRob24gdGVzdCBh
dCBgYHBhdGhgYCBpbiBweXRlc3QuICBUaGUgcHJvdmlkZWQgYGBzZXNzaW9uYGAKKyAgICBpcyBl
eHBvc2VkIGFzIGEgZml4dHVyZSBhdmFpbGFibGUgaW4gdGhlIHNjb3BlIG9mIHRoZSB0ZXN0IGZ1
bmN0aW9ucy4KKworICAgIDpwYXJhbSBwYXRoOiBQYXRoIHRvIHRoZSB0ZXN0IGZpbGUuCisgICAg
OnBhcmFtIHNlc3Npb25fY29uZmlnOiBkaWN0aW9uYXJ5IG9mIGhvc3QsIHBvcnQsY2FwYWJpbGl0
aWVzIHBhcmFtZXRlcnMKKyAgICB0byBwYXNzIHRocm91Z2ggdG8gdGhlIHdlYmRyaXZlciBzZXNz
aW9uCisgICAgOnBhcmFtIHRpbWVvdXQ6IER1cmF0aW9uIGJlZm9yZSBpbnRlcnJ1cHRpbmcgcG90
ZW50aWFsbHkgaGFuZ2luZworICAgICAgICB0ZXN0cy4gIElmIDAsIHRoZXJlIGlzIG5vIHRpbWVv
dXQuCisKKyAgICA6cmV0dXJuczogTGlzdCBvZiBzdWJ0ZXN0IHJlc3VsdHMsIHdoaWNoIGFyZSB0
dXBsZXMgb2YgKHRlc3QgaWQsCisgICAgICAgIHN0YXR1cywgbWVzc2FnZSwgc3RhY2t0cmFjZSku
CisgICAgIiIiCisKKyAgICBpZiBweXRlc3QgaXMgTm9uZToKKyAgICAgICAgZG9fZGVsYXllZF9p
bXBvcnRzKCkKKworICAgIHJlY29yZGVyID0gU3VidGVzdFJlc3VsdFJlY29yZGVyKCkKKworICAg
IG9zLmVudmlyb25bIldEX0hPU1QiXSA9IHNlc3Npb25fY29uZmlnWyJob3N0Il0KKyAgICBvcy5l
bnZpcm9uWyJXRF9QT1JUIl0gPSBzdHIoc2Vzc2lvbl9jb25maWdbInBvcnQiXSkKKyAgICBvcy5l
bnZpcm9uWyJXRF9DQVBBQklMSVRJRVMiXSA9IGpzb24uZHVtcHMoc2Vzc2lvbl9jb25maWdbImNh
cGFiaWxpdGllcyJdKQorICAgIG9zLmVudmlyb25bIldEX1NFUlZFUl9DT05GSUciXSA9IGpzb24u
ZHVtcHMoc2VydmVyX2NvbmZpZykKKworICAgIHBsdWdpbnMgPSBbcmVjb3JkZXJdCisKKyAgICAj
IFRPRE8oYXRvKTogRGVhbCB3aXRoIHRpbWVvdXRzCisKKyAgICB3aXRoIFRlbXBvcmFyeURpcmVj
dG9yeSgpIGFzIGNhY2hlOgorICAgICAgICBweXRlc3QubWFpbihbIi0tc3RyaWN0IiwgICMgdHVy
biB3YXJuaW5ncyBpbnRvIGVycm9ycworICAgICAgICAgICAgICAgICAgICAgIi0tdmVyYm9zZSIs
ICAjIHNob3cgZWFjaCBpbmRpdmlkdWFsIHN1YnRlc3QKKyAgICAgICAgICAgICAgICAgICAgICIt
LWNhcHR1cmUiLCAibm8iLCAgIyBlbmFibGUgc3Rkb3V0L3N0ZGVyciBmcm9tIHRlc3RzCisgICAg
ICAgICAgICAgICAgICAgICAiLS1iYXNldGVtcCIsIGNhY2hlLCAgIyB0ZW1wb3JhcnkgZGlyZWN0
b3J5CisgICAgICAgICAgICAgICAgICAgICBwYXRoXSwKKyAgICAgICAgICAgICAgICAgICAgcGx1
Z2lucz1wbHVnaW5zKQorCisgICAgcmV0dXJuIHJlY29yZGVyLnJlc3VsdHMKKworCitjbGFzcyBT
dWJ0ZXN0UmVzdWx0UmVjb3JkZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZik6Cisg
ICAgICAgIHNlbGYucmVzdWx0cyA9IFtdCisKKyAgICBkZWYgcHl0ZXN0X3J1bnRlc3RfbG9ncmVw
b3J0KHNlbGYsIHJlcG9ydCk6CisgICAgICAgIGlmIHJlcG9ydC5wYXNzZWQgYW5kIHJlcG9ydC53
aGVuID09ICJjYWxsIjoKKyAgICAgICAgICAgIHNlbGYucmVjb3JkX3Bhc3MocmVwb3J0KQorICAg
ICAgICBlbGlmIHJlcG9ydC5mYWlsZWQ6CisgICAgICAgICAgICBpZiByZXBvcnQud2hlbiAhPSAi
Y2FsbCI6CisgICAgICAgICAgICAgICAgc2VsZi5yZWNvcmRfZXJyb3IocmVwb3J0KQorICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnJlY29yZF9mYWlsKHJlcG9ydCkKKyAg
ICAgICAgZWxpZiByZXBvcnQuc2tpcHBlZDoKKyAgICAgICAgICAgIHNlbGYucmVjb3JkX3NraXAo
cmVwb3J0KQorCisgICAgZGVmIHJlY29yZF9wYXNzKHNlbGYsIHJlcG9ydCk6CisgICAgICAgIHNl
bGYucmVjb3JkKHJlcG9ydC5ub2RlaWQsICJQQVNTIikKKworICAgIGRlZiByZWNvcmRfZmFpbChz
ZWxmLCByZXBvcnQpOgorICAgICAgICBzZWxmLnJlY29yZChyZXBvcnQubm9kZWlkLCAiRkFJTCIs
IHN0YWNrPXJlcG9ydC5sb25ncmVwcikKKworICAgIGRlZiByZWNvcmRfZXJyb3Ioc2VsZiwgcmVw
b3J0KToKKyAgICAgICAgIyBlcnJvciBpbiBzZXR1cC90ZWFyZG93bgorICAgICAgICBpZiByZXBv
cnQud2hlbiAhPSAiY2FsbCI6CisgICAgICAgICAgICBtZXNzYWdlID0gIiVzIGVycm9yIiAlIHJl
cG9ydC53aGVuCisgICAgICAgIHNlbGYucmVjb3JkKHJlcG9ydC5ub2RlaWQsICJFUlJPUiIsIG1l
c3NhZ2UsIHJlcG9ydC5sb25ncmVwcikKKworICAgIGRlZiByZWNvcmRfc2tpcChzZWxmLCByZXBv
cnQpOgorICAgICAgICBzZWxmLnJlY29yZChyZXBvcnQubm9kZWlkLCAiRVJST1IiLAorICAgICAg
ICAgICAgICAgICAgICAiSW4tdGVzdCBza2lwIGRlY29yYXRvcnMgYXJlIGRpc2FsbG93ZWQsICIK
KyAgICAgICAgICAgICAgICAgICAgInBsZWFzZSB1c2UgV1BUIG1ldGFkYXRhIHRvIGlnbm9yZSB0
ZXN0cy4iKQorCisgICAgZGVmIHJlY29yZChzZWxmLCB0ZXN0LCBzdGF0dXMsIG1lc3NhZ2U9Tm9u
ZSwgc3RhY2s9Tm9uZSk6CisgICAgICAgIGlmIHN0YWNrIGlzIG5vdCBOb25lOgorICAgICAgICAg
ICAgc3RhY2sgPSBzdHIoc3RhY2spCisgICAgICAgIG5ld19yZXN1bHQgPSAodGVzdCwgc3RhdHVz
LCBtZXNzYWdlLCBzdGFjaykKKyAgICAgICAgc2VsZi5yZXN1bHRzLmFwcGVuZChuZXdfcmVzdWx0
KQorCisKK2NsYXNzIFRlbXBvcmFyeURpcmVjdG9yeShvYmplY3QpOgorICAgIGRlZiBfX2VudGVy
X18oc2VsZik6CisgICAgICAgIHNlbGYucGF0aCA9IHRlbXBmaWxlLm1rZHRlbXAocHJlZml4PSJw
eXRlc3QtIikKKyAgICAgICAgcmV0dXJuIHNlbGYucGF0aAorCisgICAgZGVmIF9fZXhpdF9fKHNl
bGYsICphcmdzKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxm
LnBhdGgpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisgICAgICAgICAgICAjIG5vIHN1
Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRU5P
RU5UOgorICAgICAgICAgICAgICAgIHJhaXNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhl
Y3V0b3JzL3B5dGVzdHJ1bm5lci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRv
cnMvcHl0ZXN0cnVubmVyL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwZGE4YTA4ODAxNmVi
ZjNlMjA4NTNkNzM0ZjJhMTkyNzMxYWRlNGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL3B5dGVzdHJ1bm5lci93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE4IEBA
CitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0Rv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3B5dGVzdHJ1bm5lci9fX2luaXRfXy5w
eQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0cnVubmVyL3J1bm5lci5weQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXQuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL3JlZnRlc3Qtd2FpdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZGQ5NmRmNzgwMzE5ZjZh
MWNiOGQzOTIxYzJiNGZmZmVhZDQwNTAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXQuanMKQEAgLTAsMCArMSwxOCBAQAorZnVuY3Rpb24gdGVz
dCh4KSB7CisgIGxvZygiY2xhc3NMaXN0OiAiICsgcm9vdC5jbGFzc0xpc3QpOworICBpZiAoIXJv
b3QuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWZ0ZXN0LXdhaXQiKSkgeworICAgIG9ic2VydmVyLmRp
c2Nvbm5lY3QoKTsKKyAgICBtYXJpb25ldHRlU2NyaXB0RmluaXNoZWQoKTsKKyAgfQorfQorCit2
YXIgcm9vdCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKK3ZhciBvYnNlcnZlciA9IG5ldyBN
dXRhdGlvbk9ic2VydmVyKHRlc3QpOworCitvYnNlcnZlci5vYnNlcnZlKHJvb3QsIHthdHRyaWJ1
dGVzOiB0cnVlfSk7CisKK2lmIChkb2N1bWVudC5yZWFkeVN0YXRlICE9ICJjb21wbGV0ZSIpIHsK
KyAgb25sb2FkID0gdGVzdAorfSBlbHNlIHsKKyAgdGVzdCgpOworfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXRfc2Vydm9kcml2ZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvZXhlY3V0b3JzL3JlZnRlc3Qtd2FpdF9zZXJ2b2RyaXZlci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
ODQ4NDMzYjU0MDk0MGQ3ZTdiZjI4ZGJhNWE0MjcwOGNlNWQ3MmZkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXRfc2Vydm9kcml2ZXIuanMKQEAg
LTAsMCArMSwxNSBAQAorY2FsbGJhY2sgPSBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFd
OworCitmdW5jdGlvbiBjaGVja19kb25lKCkgeworICAgIGlmICghZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmNsYXNzTGlzdC5jb250YWlucygncmVmdGVzdC13YWl0JykpIHsKKyAgICAgICAgY2Fs
bGJhY2soKTsKKyAgICB9IGVsc2UgeworICAgICAgICBzZXRUaW1lb3V0KGNoZWNrX2RvbmUsIDUw
KTsKKyAgICB9Cit9CisKK2lmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7
CisgICAgY2hlY2tfZG9uZSgpOworfSBlbHNlIHsKKyAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgY2hlY2tfZG9uZSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Jl
ZnRlc3Qtd2FpdF93ZWJkcml2ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3JlZnRlc3Qt
d2FpdF93ZWJkcml2ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNjYzQ1M2JkNDkxMDFjODJjYmIzOWY0NTk3
NDY4NTY0MWJiMTI0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMv
cmVmdGVzdC13YWl0X3dlYmRyaXZlci5qcwpAQCAtMCwwICsxLDMzIEBACit2YXIgY2FsbGJhY2sg
PSBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdOworCitmdW5jdGlvbiB0ZXN0KHgpIHsK
KyAgaWYgKCFyb290LmNsYXNzTGlzdC5jb250YWlucygicmVmdGVzdC13YWl0IikpIHsKKyAgICBv
YnNlcnZlci5kaXNjb25uZWN0KCk7CisKKyAgICAvLyBBcyBvZiAyMDE3LTA0LTA1LCB0aGUgQ2hy
b21pdW0gd2ViIGJyb3dzZXIgZXhoaWJpdHMgYSByZW5kZXJpbmcgYnVnCisgICAgLy8gKGh0dHBz
Oi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTcwODc1Nykg
dGhhdAorICAgIC8vIHByb2R1Y2VzIGluc3RhYmlsaXR5IGR1cmluZyBzY3JlZW4gY2FwdHVyZS4g
VGhlIGZvbGxvd2luZyB1c2Ugb2YKKyAgICAvLyBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYCBpcyBp
bnRlbmRlZCBhcyBhIHNob3J0LXRlcm0gd29ya2Fyb3VuZCwgdGhvdWdoCisgICAgLy8gaXQgaXMg
bm90IGd1YXJhbnRlZWQgdG8gcmVzb2x2ZSB0aGUgaXNzdWUuCisgICAgLy8KKyAgICAvLyBGb3Ig
ZnVydGhlciBkZXRhaWwsIHNlZToKKyAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xpbm1p
a2UvY2hyb21lLXNjcmVlbnNob3QtcmFjZS9pc3N1ZXMvMQorCisgICAgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKGZ1bmN0aW9uKCkgeworICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9u
KCkgeworICAgICAgICBjYWxsYmFjaygpOworICAgICAgfSk7CisgICAgfSk7CisgIH0KK30KKwor
dmFyIHJvb3QgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7Cit2YXIgb2JzZXJ2ZXIgPSBuZXcg
TXV0YXRpb25PYnNlcnZlcih0ZXN0KTsKKworb2JzZXJ2ZXIub2JzZXJ2ZShyb290LCB7YXR0cmli
dXRlczogdHJ1ZX0pOworCitpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPSAiY29tcGxldGUiKSB7
CisgICAgb25sb2FkID0gdGVzdDsKK30gZWxzZSB7CisgICAgdGVzdCgpOworfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9yZWZ0ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1
dG9ycy9yZWZ0ZXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViZDVjNjA5Y2JkNWU3OTk3ODdjOTNiYWM2NzNm
YjhlMzkyYTdjMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Jl
ZnRlc3QuanMKQEAgLTAsMCArMSBAQAordmFyIHdpbiA9IHdpbmRvdy5vcGVuKCJhYm91dDpibGFu
ayIsICJ0ZXN0IiwgIndpZHRoPTYwMCxoZWlnaHQ9NjAwIik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX21hcmlvbmV0dGUuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
ZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX21hcmlvbmV0dGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWNmYTg1Zjg5
NDlhOGE1YjFhZWE3ZWZhMjc5ZTY5YzRiN2UyOWRkOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3NfbWFyaW9uZXR0ZS5qcwpAQCAtMCwwICsxLDMy
IEBACit3aW5kb3cud3JhcHBlZEpTT2JqZWN0LnRpbWVvdXRfbXVsdGlwbGllciA9ICUodGltZW91
dF9tdWx0aXBsaWVyKWQ7Cit3aW5kb3cud3JhcHBlZEpTT2JqZWN0LmV4cGxpY2l0X3RpbWVvdXQg
PSAlKGV4cGxpY2l0X3RpbWVvdXQpZDsKKword2luZG93LndyYXBwZWRKU09iamVjdC5hZGRFdmVu
dExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24gbGlzdGVuZXIoZXZlbnQpIHsKKyAgICBpZiAo
ZXZlbnQuZGF0YS50eXBlICE9ICJjb21wbGV0ZSIpIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICB3aW5kb3cud3JhcHBlZEpTT2JqZWN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2Ui
LCBsaXN0ZW5lcik7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTsKKyAgICB2YXIgdGVzdHMgPSBl
dmVudC5kYXRhLnRlc3RzOworICAgIHZhciBzdGF0dXMgPSBldmVudC5kYXRhLnN0YXR1czsKKwor
ICAgIHZhciBzdWJ0ZXN0X3Jlc3VsdHMgPSB0ZXN0cy5tYXAoZnVuY3Rpb24gKHgpIHsKKyAgICAg
ICAgcmV0dXJuIFt4Lm5hbWUsIHguc3RhdHVzLCB4Lm1lc3NhZ2UsIHguc3RhY2tdCisgICAgfSk7
CisKKyAgICBtYXJpb25ldHRlU2NyaXB0RmluaXNoZWQoWyIlKHVybClzIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0YXR1cy5zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdGF0dXMubWVzc2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXR1cy5zdGFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnRlc3RfcmVzdWx0
c10pOworfSwgZmFsc2UpOworCit3aW5kb3cud3JhcHBlZEpTT2JqZWN0LndpbiA9IHdpbmRvdy5v
cGVuKCIlKGFic191cmwpcyIsICIlKHdpbmRvd19pZClzIik7CisKK3ZhciB0aW1lciA9IG51bGw7
CitpZiAoJSh0aW1lb3V0KXMpIHsKKyAgICB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7
CisgICAgICAgIGxvZygiVGltZW91dCBmaXJlZCIpOworICAgICAgICB3aW5kb3cud3JhcHBlZEpT
T2JqZWN0Lndpbi50aW1lb3V0KCk7CisgICAgfSwgJSh0aW1lb3V0KXMpOworfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy90ZXN0aGFybmVzc19zZXJ2b2RyaXZlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3Nfc2Vydm9kcml2ZXIuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDczMWNjMDRkNzAxMTc1OWNlNjMwNzlmYmQxMjQyZmQ2NDI2NjAzYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3Nfc2Vydm9kcml2ZXIuanMK
QEAgLTAsMCArMSwyIEBACit3aW5kb3cuX193ZF9yZXN1bHRzX2NhbGxiYWNrX18gPSBhcmd1bWVu
dHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdOword2luZG93Ll9fd2RfcmVzdWx0c190aW1lcl9fID0g
c2V0VGltZW91dCh0aW1lb3V0LCAlKHRpbWVvdXQpcyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX3dlYmRyaXZlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVj
dXRvcnMvdGVzdGhhcm5lc3Nfd2ViZHJpdmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1Y2JmZjllZjc3NmE4
NTA1ZTdiZmRjNTdlYTE0OWE2MDIyYWY5OWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX3dlYmRyaXZlci5qcwpAQCAtMCwwICsxLDI5IEBACit2
YXIgY2FsbGJhY2sgPSBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdOword2luZG93LnRp
bWVvdXRfbXVsdGlwbGllciA9ICUodGltZW91dF9tdWx0aXBsaWVyKWQ7CisKK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24gZihldmVudCkgeworICBpZiAoZXZlbnQu
ZGF0YS50eXBlICE9ICJjb21wbGV0ZSIpIHsKKyAgICByZXR1cm47CisgIH0KKyAgd2luZG93LnJl
bW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmKTsKKworICB2YXIgdGVzdHMgPSBldmVudC5k
YXRhLnRlc3RzOworICB2YXIgc3RhdHVzID0gZXZlbnQuZGF0YS5zdGF0dXM7CisKKyAgdmFyIHN1
YnRlc3RfcmVzdWx0cyA9IHRlc3RzLm1hcChmdW5jdGlvbih4KSB7CisgICAgcmV0dXJuIFt4Lm5h
bWUsIHguc3RhdHVzLCB4Lm1lc3NhZ2UsIHguc3RhY2tdCisgIH0pOworICBjbGVhclRpbWVvdXQo
dGltZXIpOworICBjYWxsYmFjayhbIiUodXJsKXMiLAorICAgICAgICAgICAgc3RhdHVzLnN0YXR1
cywKKyAgICAgICAgICAgIHN0YXR1cy5tZXNzYWdlLAorICAgICAgICAgICAgc3RhdHVzLnN0YWNr
LAorICAgICAgICAgICAgc3VidGVzdF9yZXN1bHRzXSk7Cit9LCBmYWxzZSk7CisKK3dpbmRvdy53
aW4gPSB3aW5kb3cub3BlbigiJShhYnNfdXJsKXMiLCAiJSh3aW5kb3dfaWQpcyIpOworCit2YXIg
dGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICB3aW5kb3cud2luLnRpbWVvdXQoKTsK
KyAgd2luZG93Lndpbi5jbG9zZSgpOworfSwgJSh0aW1lb3V0KXMpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2V4ZWN1dG9ycy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRv
cnMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDY2Njk4NTA0MWI3NTM1OWQ0MTc3NWE2NTJl
MGY2MmE4ZTQ2NzViOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMv
dzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwzMCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4
ZWN1dG9ycy9fX2luaXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvYmFzZS5weQorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JtYXJpb25ldHRlLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy9leGVjdXRvcnNlbGVuaXVtLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9l
eGVjdXRvcnNlcnZvLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9leGVjdXRvcnNlcnZvZHJp
dmVyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9wcm9jZXNzLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy9yZWZ0ZXN0LXdhaXQuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3JlZnRl
c3Qtd2FpdF9zZXJ2b2RyaXZlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC13
YWl0X3dlYmRyaXZlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcmVmdGVzdC5qcworL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3NfbWFyaW9uZXR0ZS5qcworL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9leGVjdXRvcnMvdGVzdGhhcm5lc3Nfc2Vydm9kcml2ZXIuanMKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
ZXhlY3V0b3JzL3Rlc3RoYXJuZXNzX3dlYmRyaXZlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2V4cGVjdGVkLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4cGVjdGVkLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYw
NmFiYjk0NmFmMTZmNjkwZDQzNDcxNWM3YjkzM2YxMmQ1YTMzMzUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvZXhwZWN0ZWQucHkKQEAgLTAsMCArMSwxNCBAQAoraW1wb3J0IG9zCisK
KworZGVmIGV4cGVjdGVkX3BhdGgobWV0YWRhdGFfcGF0aCwgdGVzdF9wYXRoKToKKyAgICAiIiJQ
YXRoIHRvIHRoZSBleHBlY3RhdGlvbiBkYXRhIGZpbGUgZm9yIGEgZ2l2ZW4gdGVzdCBwYXRoLgor
CisgICAgVGhpcyBpcyBkZWZpbmVkIGFzIG1ldGFkYXRhX3BhdGggKyByZWxhdGl2ZV90ZXN0X3Bh
dGggKyAuaW5pCisKKyAgICA6cGFyYW0gbWV0YWRhdGFfcGF0aDogUGF0aCB0byB0aGUgcm9vdCBv
ZiB0aGUgbWV0YWRhdGEgZGlyZWN0b3J5CisgICAgOnBhcmFtIHRlc3RfcGF0aDogUmVsYXRpdmUg
cGF0aCB0byB0aGUgdGVzdCBmaWxlIGZyb20gdGhlIHRlc3Qgcm9vdAorICAgICIiIgorICAgIGFy
Z3MgPSBsaXN0KHRlc3RfcGF0aC5zcGxpdCgiLyIpKQorICAgIGFyZ3NbLTFdICs9ICIuaW5pIgor
ICAgIHJldHVybiBvcy5wYXRoLmpvaW4obWV0YWRhdGFfcGF0aCwgKmFyZ3MpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvaG9zdHMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvaG9zdHMucHkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTE1YzE3ZjFiMzExMjZmYmY0NTE3YjVlYTc4Y2MwY2RmMDFlYjUwZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9ob3N0cy5weQpAQCAtMCwwICsxLDEwMCBAQAorZnJvbSBfX2Z1
dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCisKKworY2xhc3MgSG9zdHNMaW5lKG9iamVj
dCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGlwX2FkZHJlc3MsIGNhbm9uaWNhbF9ob3N0bmFt
ZSwgYWxpYXNlcz1Ob25lLCBjb21tZW50PU5vbmUpOgorICAgICAgICBzZWxmLmlwX2FkZHJlc3Mg
PSBpcF9hZGRyZXNzCisgICAgICAgIHNlbGYuY2Fub25pY2FsX2hvc3RuYW1lID0gY2Fub25pY2Fs
X2hvc3RuYW1lCisgICAgICAgIHNlbGYuYWxpYXNlcyA9IGFsaWFzZXMgaWYgYWxpYXNlcyBpcyBu
b3QgTm9uZSBlbHNlIFtdCisgICAgICAgIHNlbGYuY29tbWVudCA9IGNvbW1lbnQKKyAgICAgICAg
aWYgc2VsZi5pcF9hZGRyZXNzIGlzIE5vbmU6CisgICAgICAgICAgICBhc3NlcnQgc2VsZi5jYW5v
bmljYWxfaG9zdG5hbWUgaXMgTm9uZQorICAgICAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLmFsaWFz
ZXMKKyAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbW1lbnQgaXMgbm90IE5vbmUKKworICAgIEBj
bGFzc21ldGhvZAorICAgIGRlZiBmcm9tX3N0cmluZyhjbHMsIGxpbmUpOgorICAgICAgICBpZiBu
b3QgbGluZS5zdHJpcCgpOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgbGluZSA9IGxp
bmUuc3RyaXAoKQorCisgICAgICAgIGlwX2FkZHJlc3MgPSBOb25lCisgICAgICAgIGNhbm9uaWNh
bF9ob3N0bmFtZSA9IE5vbmUKKyAgICAgICAgYWxpYXNlcyA9IFtdCisgICAgICAgIGNvbW1lbnQg
PSBOb25lCisKKyAgICAgICAgY29tbWVudF9wYXJ0cyA9IGxpbmUuc3BsaXQoIiMiLCAxKQorICAg
ICAgICBpZiBsZW4oY29tbWVudF9wYXJ0cykgPiAxOgorICAgICAgICAgICAgY29tbWVudCA9IGNv
bW1lbnRfcGFydHNbMV0KKworICAgICAgICBkYXRhID0gY29tbWVudF9wYXJ0c1swXS5zdHJpcCgp
CisKKyAgICAgICAgaWYgZGF0YToKKyAgICAgICAgICAgIGZpZWxkcyA9IGRhdGEuc3BsaXQoKQor
ICAgICAgICAgICAgaWYgbGVuKGZpZWxkcykgPCAyOgorICAgICAgICAgICAgICAgIHJhaXNlIFZh
bHVlRXJyb3IoIkludmFsaWQgaG9zdHMgbGluZSIpCisKKyAgICAgICAgICAgIGlwX2FkZHJlc3Mg
PSBmaWVsZHNbMF0KKyAgICAgICAgICAgIGNhbm9uaWNhbF9ob3N0bmFtZSA9IGZpZWxkc1sxXQor
ICAgICAgICAgICAgYWxpYXNlcyA9IGZpZWxkc1syOl0KKworICAgICAgICByZXR1cm4gY2xzKGlw
X2FkZHJlc3MsIGNhbm9uaWNhbF9ob3N0bmFtZSwgYWxpYXNlcywgY29tbWVudCkKKworCitjbGFz
cyBIb3N0c0ZpbGUob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHNl
bGYuZGF0YSA9IFtdCisgICAgICAgIHNlbGYuYnlfaG9zdG5hbWUgPSB7fQorCisgICAgZGVmIHNl
dF9ob3N0KHNlbGYsIGhvc3QpOgorICAgICAgICBpZiBob3N0LmNhbm9uaWNhbF9ob3N0bmFtZSBp
cyBOb25lOgorICAgICAgICAgICAgc2VsZi5kYXRhLmFwcGVuZChob3N0KQorICAgICAgICBlbGlm
IGhvc3QuY2Fub25pY2FsX2hvc3RuYW1lIGluIHNlbGYuYnlfaG9zdG5hbWU6CisgICAgICAgICAg
ICBvbGRfaG9zdCA9IHNlbGYuYnlfaG9zdG5hbWVbaG9zdC5jYW5vbmljYWxfaG9zdG5hbWVdCisg
ICAgICAgICAgICBvbGRfaG9zdC5pcF9hZGRyZXNzID0gaG9zdC5pcF9hZGRyZXNzCisgICAgICAg
ICAgICBvbGRfaG9zdC5hbGlhc2VzID0gaG9zdC5hbGlhc2VzCisgICAgICAgICAgICBvbGRfaG9z
dC5jb21tZW50ID0gaG9zdC5jb21tZW50CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxm
LmRhdGEuYXBwZW5kKGhvc3QpCisgICAgICAgICAgICBzZWxmLmJ5X2hvc3RuYW1lW2hvc3QuY2Fu
b25pY2FsX2hvc3RuYW1lXSA9IGhvc3QKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBmcm9t
X2ZpbGUoY2xzLCBmKToKKyAgICAgICAgcnYgPSBjbHMoKQorICAgICAgICBmb3IgbGluZSBpbiBm
OgorICAgICAgICAgICAgaG9zdCA9IEhvc3RzTGluZS5mcm9tX3N0cmluZyhsaW5lKQorICAgICAg
ICAgICAgaWYgaG9zdCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBydi5zZXRfaG9zdCho
b3N0KQorICAgICAgICByZXR1cm4gcnYKKworICAgIGRlZiB0b19zdHJpbmcoc2VsZik6CisgICAg
ICAgIGZpZWxkX3dpZHRocyA9IFswLCAwXQorICAgICAgICBmb3IgbGluZSBpbiBzZWxmLmRhdGE6
CisgICAgICAgICAgICBpZiBsaW5lLmlwX2FkZHJlc3MgaXMgbm90IE5vbmU6CisgICAgICAgICAg
ICAgICAgZmllbGRfd2lkdGhzWzBdID0gbWF4KGZpZWxkX3dpZHRoc1swXSwgbGVuKGxpbmUuaXBf
YWRkcmVzcykpCisgICAgICAgICAgICAgICAgZmllbGRfd2lkdGhzWzFdID0gbWF4KGZpZWxkX3dp
ZHRoc1sxXSwgbGVuKGxpbmUuY2Fub25pY2FsX2hvc3RuYW1lKSkKKworICAgICAgICBsaW5lcyA9
IFtdCisKKyAgICAgICAgZm9yIGhvc3QgaW4gc2VsZi5kYXRhOgorICAgICAgICAgICAgbGluZSA9
ICIiCisgICAgICAgICAgICBpZiBob3N0LmlwX2FkZHJlc3MgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICAgICAgaXBfc3RyaW5nID0gaG9zdC5pcF9hZGRyZXNzLmxqdXN0KGZpZWxkX3dpZHRoc1sw
XSkKKyAgICAgICAgICAgICAgICBob3N0bmFtZV9zdHIgPSBob3N0LmNhbm9uaWNhbF9ob3N0bmFt
ZQorICAgICAgICAgICAgICAgIGlmIGhvc3QuYWxpYXNlczoKKyAgICAgICAgICAgICAgICAgICAg
aG9zdG5hbWVfc3RyID0gIiVzICVzIiAlIChob3N0bmFtZV9zdHIubGp1c3QoZmllbGRfd2lkdGhz
WzFdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICIu
am9pbihob3N0LmFsaWFzZXMpKQorICAgICAgICAgICAgICAgIGxpbmUgPSAiJXMgJXMiICUgKGlw
X3N0cmluZywgaG9zdG5hbWVfc3RyKQorICAgICAgICAgICAgaWYgaG9zdC5jb21tZW50OgorICAg
ICAgICAgICAgICAgIGlmIGxpbmU6CisgICAgICAgICAgICAgICAgICAgIGxpbmUgKz0gIiAiCisg
ICAgICAgICAgICAgICAgbGluZSArPSAiIyVzIiAlIGhvc3QuY29tbWVudAorICAgICAgICAgICAg
bGluZXMuYXBwZW5kKGxpbmUpCisKKyAgICAgICAgbGluZXMuYXBwZW5kKCIiKQorCisgICAgICAg
IHJldHVybiAiXG4iLmpvaW4obGluZXMpCisKKyAgICBkZWYgdG9fZmlsZShzZWxmLCBmKToKKyAg
ICAgICAgZi53cml0ZShzZWxmLnRvX3N0cmluZygpLmVuY29kZSgidXRmOCIpKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL21hbmlmZXN0ZXhwZWN0ZWQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZl
c3RleHBlY3RlZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYjVjMWIxZTcyMzljY2Q4NDQzODcwODdiMDRmOWQ0
ODYzOWVhYTExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0ZXhwZWN0
ZWQucHkKQEAgLTAsMCArMSwyNTAgQEAKK2ltcG9ydCBvcworaW1wb3J0IHVybHBhcnNlCisKK2Zy
b20gd3B0bWFuaWZlc3QuYmFja2VuZHMgaW1wb3J0IHN0YXRpYworZnJvbSB3cHRtYW5pZmVzdC5i
YWNrZW5kcy5zdGF0aWMgaW1wb3J0IE1hbmlmZXN0SXRlbQorCitpbXBvcnQgZXhwZWN0ZWQKKwor
IiIiTWFuaWZlc3Qgc3RydWN0dXJlIHVzZWQgdG8gc3RvcmUgZXhwZWN0ZWQgcmVzdWx0cyBvZiBh
IHRlc3QuCisKK0VhY2ggbWFuaWZlc3QgZmlsZSBpcyByZXByZXNlbnRlZCBieSBhbiBFeHBlY3Rl
ZE1hbmlmZXN0IHRoYXQKK2hhcyBvbmUgb3IgbW9yZSBUZXN0Tm9kZSBjaGlsZHJlbiwgb25lIHBl
ciB0ZXN0IGluIHRoZSBtYW5pZmVzdC4KK0VhY2ggVGVzdE5vZGUgaGFzIHplcm8gb3IgbW9yZSBT
dWJ0ZXN0Tm9kZSBjaGlsZHJlbiwgb25lIGZvciBlYWNoCitrbm93biBzdWJ0ZXN0IG9mIHRoZSB0
ZXN0LgorIiIiCisKK2RlZiBkYXRhX2Nsc19nZXR0ZXIob3V0cHV0X25vZGUsIHZpc2l0ZWRfbm9k
ZSk6CisgICAgIyB2aXNpdGVkX25vZGUgaXMgaW50ZW50aW9uYWxseSB1bnVzZWQKKyAgICBpZiBv
dXRwdXRfbm9kZSBpcyBOb25lOgorICAgICAgICByZXR1cm4gRXhwZWN0ZWRNYW5pZmVzdAorICAg
IGlmIGlzaW5zdGFuY2Uob3V0cHV0X25vZGUsIEV4cGVjdGVkTWFuaWZlc3QpOgorICAgICAgICBy
ZXR1cm4gVGVzdE5vZGUKKyAgICBpZiBpc2luc3RhbmNlKG91dHB1dF9ub2RlLCBUZXN0Tm9kZSk6
CisgICAgICAgIHJldHVybiBTdWJ0ZXN0Tm9kZQorICAgIHJhaXNlIFZhbHVlRXJyb3IKKworCitk
ZWYgYm9vbF9wcm9wKG5hbWUsIG5vZGUpOgorICAgICIiIkJvb2xlYW4gcHJvcGVydHkiIiIKKyAg
ICB0cnk6CisgICAgICAgIHJldHVybiBub2RlLmdldChuYW1lKQorICAgIGV4Y2VwdCBLZXlFcnJv
cjoKKyAgICAgICAgcmV0dXJuIE5vbmUKKworCitkZWYgdGFncyhub2RlKToKKyAgICAiIiJTZXQg
b2YgdGFncyB0aGF0IGhhdmUgYmVlbiBhcHBsaWVkIHRvIHRoZSB0ZXN0IiIiCisgICAgdHJ5Ogor
ICAgICAgICB2YWx1ZSA9IG5vZGUuZ2V0KCJ0YWdzIikKKyAgICAgICAgaWYgaXNpbnN0YW5jZSh2
YWx1ZSwgKHN0ciwgdW5pY29kZSkpOgorICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZX0KKyAgICAg
ICAgcmV0dXJuIHNldCh2YWx1ZSkKKyAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgIHJldHVy
biBzZXQoKQorCisKK2RlZiBwcmVmcyhub2RlKToKKyAgICBkZWYgdmFsdWUoaW5pX3ZhbHVlKToK
KyAgICAgICAgaWYgaXNpbnN0YW5jZShpbmlfdmFsdWUsIChzdHIsIHVuaWNvZGUpKToKKyAgICAg
ICAgICAgIHJldHVybiB0dXBsZShpbmlfdmFsdWUuc3BsaXQoIjoiLCAxKSkKKyAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgIHJldHVybiAoaW5pX3ZhbHVlLCBOb25lKQorCisgICAgdHJ5OgorICAg
ICAgICBub2RlX3ByZWZzID0gbm9kZS5nZXQoInByZWZzIikKKyAgICAgICAgaWYgdHlwZShub2Rl
X3ByZWZzKSBpbiAoc3RyLCB1bmljb2RlKToKKyAgICAgICAgICAgIHByZWZzID0ge3ZhbHVlKG5v
ZGVfcHJlZnMpfQorICAgICAgICBydiA9IGRpY3QodmFsdWUoaXRlbSkgZm9yIGl0ZW0gaW4gbm9k
ZV9wcmVmcykKKyAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgIHJ2ID0ge30KKyAgICByZXR1
cm4gcnYKKworCitjbGFzcyBFeHBlY3RlZE1hbmlmZXN0KE1hbmlmZXN0SXRlbSk6CisgICAgZGVm
IF9faW5pdF9fKHNlbGYsIG5hbWUsIHRlc3RfcGF0aCwgdXJsX2Jhc2UpOgorICAgICAgICAiIiJP
YmplY3QgcmVwcmVzZW50aW5nIGFsbCB0aGUgdGVzdHMgaW4gYSBwYXJ0aWN1bGFyIG1hbmlmZXN0
CisKKyAgICAgICAgOnBhcmFtIG5hbWU6IE5hbWUgb2YgdGhlIEFTVCBOb2RlIGFzc29jaWF0ZWQg
d2l0aCB0aGlzIG9iamVjdC4KKyAgICAgICAgICAgICAgICAgICAgIFNob3VsZCBhbHdheXMgYmUg
Tm9uZSBzaW5jZSB0aGlzIHNob3VsZCBhbHdheXMgYmUgYXNzb2NpYXRlZCB3aXRoCisgICAgICAg
ICAgICAgICAgICAgICB0aGUgcm9vdCBub2RlIG9mIHRoZSBBU1QuCisgICAgICAgIDpwYXJhbSB0
ZXN0X3BhdGg6IFBhdGggb2YgdGhlIHRlc3QgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBtYW5p
ZmVzdC4KKyAgICAgICAgOnBhcmFtIHVybF9iYXNlOiBCYXNlIHVybCBmb3Igc2VydmluZyB0aGUg
dGVzdHMgaW4gdGhpcyBtYW5pZmVzdAorICAgICAgICAiIiIKKyAgICAgICAgaWYgbmFtZSBpcyBu
b3QgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkV4cGVjdGVkTWFuaWZlc3Qg
c2hvdWxkIHJlcHJlc2VudCB0aGUgcm9vdCBub2RlIikKKyAgICAgICAgaWYgdGVzdF9wYXRoIGlz
IE5vbmU6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFeHBlY3RlZE1hbmlmZXN0IHJl
cXVpcmVzIGEgdGVzdCBwYXRoIikKKyAgICAgICAgaWYgdXJsX2Jhc2UgaXMgTm9uZToKKyAgICAg
ICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkV4cGVjdGVkTWFuaWZlc3QgcmVxdWlyZXMgYSBiYXNl
IHVybCIpCisgICAgICAgIE1hbmlmZXN0SXRlbS5fX2luaXRfXyhzZWxmLCBuYW1lKQorICAgICAg
ICBzZWxmLmNoaWxkX21hcCA9IHt9CisgICAgICAgIHNlbGYudGVzdF9wYXRoID0gdGVzdF9wYXRo
CisgICAgICAgIHNlbGYudXJsX2Jhc2UgPSB1cmxfYmFzZQorCisgICAgZGVmIGFwcGVuZChzZWxm
LCBjaGlsZCk6CisgICAgICAgICIiIkFkZCBhIHRlc3QgdG8gdGhlIG1hbmlmZXN0IiIiCisgICAg
ICAgIE1hbmlmZXN0SXRlbS5hcHBlbmQoc2VsZiwgY2hpbGQpCisgICAgICAgIHNlbGYuY2hpbGRf
bWFwW2NoaWxkLmlkXSA9IGNoaWxkCisKKyAgICBkZWYgX3JlbW92ZV9jaGlsZChzZWxmLCBjaGls
ZCk6CisgICAgICAgIGRlbCBzZWxmLmNoaWxkX21hcFtjaGlsZC5pZF0KKyAgICAgICAgTWFuaWZl
c3RJdGVtLnJlbW92ZV9jaGlsZChzZWxmLCBjaGlsZCkKKyAgICAgICAgYXNzZXJ0IGxlbihzZWxm
LmNoaWxkX21hcCkgPT0gbGVuKHNlbGYuY2hpbGRyZW4pCisKKyAgICBkZWYgZ2V0X3Rlc3Qoc2Vs
ZiwgdGVzdF9pZCk6CisgICAgICAgICIiIkdldCBhIHRlc3QgZnJvbSB0aGUgbWFuaWZlc3QgYnkg
SUQKKworICAgICAgICA6cGFyYW0gdGVzdF9pZDogSUQgb2YgdGhlIHRlc3QgdG8gcmV0dXJuLiIi
IgorICAgICAgICByZXR1cm4gc2VsZi5jaGlsZF9tYXAuZ2V0KHRlc3RfaWQpCisKKyAgICBAcHJv
cGVydHkKKyAgICBkZWYgdXJsKHNlbGYpOgorICAgICAgICByZXR1cm4gdXJscGFyc2UudXJsam9p
bihzZWxmLnVybF9iYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLyIuam9p
bihzZWxmLnRlc3RfcGF0aC5zcGxpdChvcy5wYXRoLnNlcCkpKQorCisgICAgQHByb3BlcnR5Cisg
ICAgZGVmIGRpc2FibGVkKHNlbGYpOgorICAgICAgICByZXR1cm4gYm9vbF9wcm9wKCJkaXNhYmxl
ZCIsIHNlbGYpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcmVzdGFydF9hZnRlcihzZWxmKToK
KyAgICAgICAgcmV0dXJuIGJvb2xfcHJvcCgicmVzdGFydC1hZnRlciIsIHNlbGYpCisKKyAgICBA
cHJvcGVydHkKKyAgICBkZWYgdGFncyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHRhZ3Moc2VsZikK
KworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBwcmVmcyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHBy
ZWZzKHNlbGYpCisKKworY2xhc3MgRGlyZWN0b3J5TWFuaWZlc3QoTWFuaWZlc3RJdGVtKToKKyAg
ICBAcHJvcGVydHkKKyAgICBkZWYgZGlzYWJsZWQoc2VsZik6CisgICAgICAgIHJldHVybiBib29s
X3Byb3AoImRpc2FibGVkIiwgc2VsZikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiByZXN0YXJ0
X2FmdGVyKHNlbGYpOgorICAgICAgICByZXR1cm4gYm9vbF9wcm9wKCJyZXN0YXJ0LWFmdGVyIiwg
c2VsZikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiB0YWdzKHNlbGYpOgorICAgICAgICByZXR1
cm4gdGFncyhzZWxmKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHByZWZzKHNlbGYpOgorICAg
ICAgICByZXR1cm4gcHJlZnMoc2VsZikKKworCitjbGFzcyBUZXN0Tm9kZShNYW5pZmVzdEl0ZW0p
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lKToKKyAgICAgICAgIiIiVHJlZSBub2RlIGFz
c29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgdGVzdCBpbiBhIG1hbmlmZXN0CisKKyAgICAgICAg
OnBhcmFtIG5hbWU6IG5hbWUgb2YgdGhlIHRlc3QiIiIKKyAgICAgICAgYXNzZXJ0IG5hbWUgaXMg
bm90IE5vbmUKKyAgICAgICAgTWFuaWZlc3RJdGVtLl9faW5pdF9fKHNlbGYsIG5hbWUpCisgICAg
ICAgIHNlbGYudXBkYXRlZF9leHBlY3RlZCA9IFtdCisgICAgICAgIHNlbGYubmV3X2V4cGVjdGVk
ID0gW10KKyAgICAgICAgc2VsZi5zdWJ0ZXN0cyA9IHt9CisgICAgICAgIHNlbGYuZGVmYXVsdF9z
dGF0dXMgPSBOb25lCisgICAgICAgIHNlbGYuX2Zyb21fZmlsZSA9IFRydWUKKworICAgIEBwcm9w
ZXJ0eQorICAgIGRlZiBpc19lbXB0eShzZWxmKToKKyAgICAgICAgcmVxdWlyZWRfa2V5cyA9IHNl
dChbInR5cGUiXSkKKyAgICAgICAgaWYgc2V0KHNlbGYuX2RhdGEua2V5cygpKSAhPSByZXF1aXJl
ZF9rZXlzOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBhbGwoY2hp
bGQuaXNfZW1wdHkgZm9yIGNoaWxkIGluIHNlbGYuY2hpbGRyZW4pCisKKyAgICBAcHJvcGVydHkK
KyAgICBkZWYgdGVzdF90eXBlKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5nZXQoInR5cGUi
KQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGlkKHNlbGYpOgorICAgICAgICByZXR1cm4gdXJs
cGFyc2UudXJsam9pbihzZWxmLnBhcmVudC51cmwsIHNlbGYubmFtZSkKKworICAgIEBwcm9wZXJ0
eQorICAgIGRlZiBkaXNhYmxlZChzZWxmKToKKyAgICAgICAgcmV0dXJuIGJvb2xfcHJvcCgiZGlz
YWJsZWQiLCBzZWxmKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHJlc3RhcnRfYWZ0ZXIoc2Vs
Zik6CisgICAgICAgIHJldHVybiBib29sX3Byb3AoInJlc3RhcnQtYWZ0ZXIiLCBzZWxmKQorCisg
ICAgQHByb3BlcnR5CisgICAgZGVmIHRhZ3Moc2VsZik6CisgICAgICAgIHJldHVybiB0YWdzKHNl
bGYpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcHJlZnMoc2VsZik6CisgICAgICAgIHJldHVy
biBwcmVmcyhzZWxmKQorCisgICAgZGVmIGFwcGVuZChzZWxmLCBub2RlKToKKyAgICAgICAgIiIi
QWRkIGEgc3VidGVzdCB0byB0aGUgY3VycmVudCB0ZXN0CisKKyAgICAgICAgOnBhcmFtIG5vZGU6
IEFTVCBOb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3VidGVzdCIiIgorICAgICAgICBjaGlsZCA9
IE1hbmlmZXN0SXRlbS5hcHBlbmQoc2VsZiwgbm9kZSkKKyAgICAgICAgc2VsZi5zdWJ0ZXN0c1tj
aGlsZC5uYW1lXSA9IGNoaWxkCisKKyAgICBkZWYgZ2V0X3N1YnRlc3Qoc2VsZiwgbmFtZSk6Cisg
ICAgICAgICIiIkdldCB0aGUgU3VidGVzdE5vZGUgY29ycmVzcG9uZGluZyB0byBhIHBhcnRpY3Vs
YXIgc3VidGVzdCwgYnkgbmFtZQorCisgICAgICAgIDpwYXJhbSBuYW1lOiBOYW1lIG9mIHRoZSBu
b2RlIHRvIHJldHVybiIiIgorICAgICAgICBpZiBuYW1lIGluIHNlbGYuc3VidGVzdHM6CisgICAg
ICAgICAgICByZXR1cm4gc2VsZi5zdWJ0ZXN0c1tuYW1lXQorICAgICAgICByZXR1cm4gTm9uZQor
CisKK2NsYXNzIFN1YnRlc3ROb2RlKFRlc3ROb2RlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
bmFtZSk6CisgICAgICAgICIiIlRyZWUgbm9kZSBhc3NvY2lhdGVkIHdpdGggYSBwYXJ0aWN1bGFy
IHN1YnRlc3QgaW4gYSBtYW5pZmVzdAorCisgICAgICAgIDpwYXJhbSBuYW1lOiBuYW1lIG9mIHRo
ZSBzdWJ0ZXN0IiIiCisgICAgICAgIFRlc3ROb2RlLl9faW5pdF9fKHNlbGYsIG5hbWUpCisKKyAg
ICBAcHJvcGVydHkKKyAgICBkZWYgaXNfZW1wdHkoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2Rh
dGE6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRydWUKKworCitk
ZWYgZ2V0X21hbmlmZXN0KG1ldGFkYXRhX3Jvb3QsIHRlc3RfcGF0aCwgdXJsX2Jhc2UsIHJ1bl9p
bmZvKToKKyAgICAiIiJHZXQgdGhlIEV4cGVjdGVkTWFuaWZlc3QgZm9yIGEgcGFydGljdWxhciB0
ZXN0IHBhdGgsIG9yIE5vbmUgaWYgdGhlcmUgaXMgbm8KKyAgICBtZXRhZGF0YSBzdG9yZWQgZm9y
IHRoYXQgdGVzdCBwYXRoLgorCisgICAgOnBhcmFtIG1ldGFkYXRhX3Jvb3Q6IEFic29sdXRlIHBh
dGggdG8gdGhlIHJvb3Qgb2YgdGhlIG1ldGFkYXRhIGRpcmVjdG9yeQorICAgIDpwYXJhbSB0ZXN0
X3BhdGg6IFBhdGggdG8gdGhlIHRlc3QocykgcmVsYXRpdmUgdG8gdGhlIHRlc3Qgcm9vdAorICAg
IDpwYXJhbSB1cmxfYmFzZTogQmFzZSB1cmwgZm9yIHNlcnZpbmcgdGhlIHRlc3RzIGluIHRoaXMg
bWFuaWZlc3QKKyAgICA6cGFyYW0gcnVuX2luZm86IERpY3Rpb25hcnkgb2YgcHJvcGVydGllcyBv
ZiB0aGUgdGVzdCBydW4gZm9yIHdoaWNoIHRoZSBleHBlY3RhdGlvbgorICAgICAgICAgICAgICAg
ICAgICAgdmFsdWVzIHNob3VsZCBiZSBjb21wdXRlZC4KKyAgICAiIiIKKyAgICBtYW5pZmVzdF9w
YXRoID0gZXhwZWN0ZWQuZXhwZWN0ZWRfcGF0aChtZXRhZGF0YV9yb290LCB0ZXN0X3BhdGgpCisg
ICAgdHJ5OgorICAgICAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0aCkgYXMgZjoKKyAgICAgICAg
ICAgIHJldHVybiBzdGF0aWMuY29tcGlsZShmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJ1bl9pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFf
Y2xzX2dldHRlcj1kYXRhX2Nsc19nZXR0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdF9wYXRoPXRlc3RfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1cmxfYmFzZT11cmxfYmFzZSkKKyAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgcmV0
dXJuIE5vbmUKKworZGVmIGdldF9kaXJfbWFuaWZlc3QocGF0aCwgcnVuX2luZm8pOgorICAgICIi
IkdldCB0aGUgRXhwZWN0ZWRNYW5pZmVzdCBmb3IgYSBwYXJ0aWN1bGFyIHRlc3QgcGF0aCwgb3Ig
Tm9uZSBpZiB0aGVyZSBpcyBubworICAgIG1ldGFkYXRhIHN0b3JlZCBmb3IgdGhhdCB0ZXN0IHBh
dGguCisKKyAgICA6cGFyYW0gcGF0aDogRnVsbCBwYXRoIHRvIHRoZSBpbmkgZmlsZQorICAgIDpw
YXJhbSBydW5faW5mbzogRGljdGlvbmFyeSBvZiBwcm9wZXJ0aWVzIG9mIHRoZSB0ZXN0IHJ1biBm
b3Igd2hpY2ggdGhlIGV4cGVjdGF0aW9uCisgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgc2hv
dWxkIGJlIGNvbXB1dGVkLgorICAgICIiIgorICAgIHRyeToKKyAgICAgICAgd2l0aCBvcGVuKHBh
dGgpIGFzIGY6CisgICAgICAgICAgICByZXR1cm4gc3RhdGljLmNvbXBpbGUoZiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkYXRhX2Nsc19nZXR0ZXI9bGFtYmRhIHgseTogRGlyZWN0b3J5TWFuaWZl
c3QpCisgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgIHJldHVybiBOb25lCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvbWFuaWZlc3RpbmNsdWRlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0
aW5jbHVkZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNzIyOWQ1MDRmMTM0NGNjZmVjMTM5YTBiNmY1MWIwN2Ex
YTBiMjhiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0aW5jbHVkZS5w
eQpAQCAtMCwwICsxLDE0OSBAQAorIiIiTWFuaWZlc3Qgc3RydWN0dXJlIHVzZWQgdG8gc3RvcmUg
cGF0aHMgdGhhdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gYSB0ZXN0IHJ1bi4KKworVGhlIG1hbmlm
ZXN0IGlzIHJlcHJlc2VudGVkIGJ5IGEgdHJlZSBvZiBJbmNsdWRlTWFuaWZlc3Qgb2JqZWN0cywg
dGhlIHJvb3QKK3JlcHJlc2VudGluZyB0aGUgZmlsZSBhbmQgZWFjaCBzdWJub2RlIHJlcHJlc2Vu
dGluZyBhIHN1YmRpcmVjdG9yeSB0aGF0IHNob3VsZAorYmUgaW5jbHVkZWQgb3IgZXhjbHVkZWQu
CisiIiIKK2ltcG9ydCBnbG9iCitpbXBvcnQgb3MKK2ltcG9ydCB1cmxwYXJzZQorCitmcm9tIHdw
dG1hbmlmZXN0Lm5vZGUgaW1wb3J0IERhdGFOb2RlCitmcm9tIHdwdG1hbmlmZXN0LmJhY2tlbmRz
IGltcG9ydCBjb25kaXRpb25hbAorZnJvbSB3cHRtYW5pZmVzdC5iYWNrZW5kcy5jb25kaXRpb25h
bCBpbXBvcnQgTWFuaWZlc3RJdGVtCisKKworY2xhc3MgSW5jbHVkZU1hbmlmZXN0KE1hbmlmZXN0
SXRlbSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5vZGUpOgorICAgICAgICAiIiJOb2RlIGlu
IGEgdHJlZSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIHRoZSBwYXRocworICAgICAgICB0aGF0IHNo
b3VsZCBiZSBpbmNsdWRlZCBvciBleGNsdWRlZCBmcm9tIHRoZSB0ZXN0IHJ1bi4KKworICAgICAg
ICA6cGFyYW0gbm9kZTogQVNUIE5vZGUgY29ycmVzcG9uZGluZyB0byB0aGlzIE5vZGUuCisgICAg
ICAgICIiIgorICAgICAgICBNYW5pZmVzdEl0ZW0uX19pbml0X18oc2VsZiwgbm9kZSkKKyAgICAg
ICAgc2VsZi5jaGlsZF9tYXAgPSB7fQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGNyZWF0
ZShjbHMpOgorICAgICAgICAiIiJDcmVhdGUgYW4gZW1wdHkgSW5jbHVkZU1hbmlmZXN0IHRyZWUi
IiIKKyAgICAgICAgbm9kZSA9IERhdGFOb2RlKE5vbmUpCisgICAgICAgIHJldHVybiBjbHMobm9k
ZSkKKworICAgIGRlZiBhcHBlbmQoc2VsZiwgY2hpbGQpOgorICAgICAgICBNYW5pZmVzdEl0ZW0u
YXBwZW5kKHNlbGYsIGNoaWxkKQorICAgICAgICBzZWxmLmNoaWxkX21hcFtjaGlsZC5uYW1lXSA9
IGNoaWxkCisgICAgICAgIGFzc2VydCBsZW4oc2VsZi5jaGlsZF9tYXApID09IGxlbihzZWxmLmNo
aWxkcmVuKQorCisgICAgZGVmIGluY2x1ZGUoc2VsZiwgdGVzdCk6CisgICAgICAgICIiIlJldHVy
biBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGEgcGFydGljdWxhciB0ZXN0IHNob3VsZCBi
ZQorICAgICAgICBpbmNsdWRlZCBpbiBhIHRlc3QgcnVuLCBiYXNlZCBvbiB0aGUgSW5jbHVkZU1h
bmlmZXN0IHRyZWUgcm9vdGVkIG9uCisgICAgICAgIHRoaXMgb2JqZWN0LgorCisgICAgICAgIDpw
YXJhbSB0ZXN0OiBUaGUgdGVzdCBvYmplY3QiIiIKKyAgICAgICAgcGF0aF9jb21wb25lbnRzID0g
c2VsZi5fZ2V0X2NvbXBvbmVudHModGVzdC51cmwpCisgICAgICAgIHJldHVybiBzZWxmLl9pbmNs
dWRlKHRlc3QsIHBhdGhfY29tcG9uZW50cykKKworICAgIGRlZiBfaW5jbHVkZShzZWxmLCB0ZXN0
LCBwYXRoX2NvbXBvbmVudHMpOgorICAgICAgICBpZiBwYXRoX2NvbXBvbmVudHM6CisgICAgICAg
ICAgICBuZXh0X3BhdGhfcGFydCA9IHBhdGhfY29tcG9uZW50cy5wb3AoKQorICAgICAgICAgICAg
aWYgbmV4dF9wYXRoX3BhcnQgaW4gc2VsZi5jaGlsZF9tYXA6CisgICAgICAgICAgICAgICAgcmV0
dXJuIHNlbGYuY2hpbGRfbWFwW25leHRfcGF0aF9wYXJ0XS5faW5jbHVkZSh0ZXN0LCBwYXRoX2Nv
bXBvbmVudHMpCisKKyAgICAgICAgbm9kZSA9IHNlbGYKKyAgICAgICAgd2hpbGUgbm9kZToKKyAg
ICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBza2lwX3ZhbHVlID0gc2VsZi5nZXQoInNr
aXAiLCB7InRlc3RfdHlwZSI6IHRlc3QuaXRlbV90eXBlfSkubG93ZXIoKQorICAgICAgICAgICAg
ICAgIGFzc2VydCBza2lwX3ZhbHVlIGluICgidHJ1ZSIsICJmYWxzZSIpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHNraXBfdmFsdWUgIT0gInRydWUiCisgICAgICAgICAgICBleGNlcHQgS2V5RXJy
b3I6CisgICAgICAgICAgICAgICAgaWYgbm9kZS5wYXJlbnQgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICAgICAgICAgIG5vZGUgPSBub2RlLnBhcmVudAorICAgICAgICAgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICAgICAgICAgICMgSW5jbHVkZSBieSBkZWZhdWx0CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgX2dldF9jb21wb25lbnRzKHNlbGYsIHVybCk6Cisg
ICAgICAgIHJ2ID0gW10KKyAgICAgICAgdXJsX3BhcnRzID0gdXJscGFyc2UudXJsc3BsaXQodXJs
KQorICAgICAgICB2YXJpYW50ID0gIiIKKyAgICAgICAgaWYgdXJsX3BhcnRzLnF1ZXJ5OgorICAg
ICAgICAgICAgdmFyaWFudCArPSAiPyIgKyB1cmxfcGFydHMucXVlcnkKKyAgICAgICAgaWYgdXJs
X3BhcnRzLmZyYWdtZW50OgorICAgICAgICAgICAgdmFyaWFudCArPSAiIyIgKyB1cmxfcGFydHMu
ZnJhZ21lbnQKKyAgICAgICAgaWYgdmFyaWFudDoKKyAgICAgICAgICAgIHJ2LmFwcGVuZCh2YXJp
YW50KQorICAgICAgICBydi5leHRlbmQoW2l0ZW0gZm9yIGl0ZW0gaW4gcmV2ZXJzZWQodXJsX3Bh
cnRzLnBhdGguc3BsaXQoIi8iKSkgaWYgaXRlbV0pCisgICAgICAgIHJldHVybiBydgorCisgICAg
ZGVmIF9hZGRfcnVsZShzZWxmLCB0ZXN0X21hbmlmZXN0cywgdXJsLCBkaXJlY3Rpb24pOgorICAg
ICAgICBtYXliZV9wYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguYWJzcGF0aChvcy5jdXJkaXIp
LCB1cmwpCisgICAgICAgIHJlc3QsIGxhc3QgPSBvcy5wYXRoLnNwbGl0KG1heWJlX3BhdGgpCisg
ICAgICAgIGZyYWdtZW50ID0gcXVlcnkgPSBOb25lCisgICAgICAgIGlmICIjIiBpbiBsYXN0Ogor
ICAgICAgICAgICAgbGFzdCwgZnJhZ21lbnQgPSBsYXN0LnJzcGxpdCgiIyIsIDEpCisgICAgICAg
IGlmICI/IiBpbiBsYXN0OgorICAgICAgICAgICAgbGFzdCwgcXVlcnkgPSBsYXN0LnJzcGxpdCgi
PyIsIDEpCisKKyAgICAgICAgbWF5YmVfcGF0aCA9IG9zLnBhdGguam9pbihyZXN0LCBsYXN0KQor
ICAgICAgICBwYXRocyA9IGdsb2IuZ2xvYihtYXliZV9wYXRoKQorCisgICAgICAgIGlmIHBhdGhz
OgorICAgICAgICAgICAgdXJscyA9IFtdCisgICAgICAgICAgICBmb3IgcGF0aCBpbiBwYXRoczoK
KyAgICAgICAgICAgICAgICBmb3IgbWFuaWZlc3QsIGRhdGEgaW4gdGVzdF9tYW5pZmVzdHMuaXRl
cml0ZW1zKCk6CisgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gRmFsc2UKKyAgICAgICAgICAg
ICAgICAgICAgcmVsX3BhdGggPSBvcy5wYXRoLnJlbHBhdGgocGF0aCwgZGF0YVsidGVzdHNfcGF0
aCJdKQorICAgICAgICAgICAgICAgICAgICBmb3IgdGVzdCBpbiBtYW5pZmVzdC5pdGVycGF0aChy
ZWxfcGF0aCk6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgaGFzYXR0cih0ZXN0LCAi
dXJsIik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHVybCA9IHRlc3QudXJsCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBx
dWVyeSBvciBmcmFnbWVudDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZWQgPSB1
cmxwYXJzZS51cmxwYXJzZSh1cmwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChx
dWVyeSBhbmQgcXVlcnkgIT0gcGFyc2VkLnF1ZXJ5KSBvcgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoZnJhZ21lbnQgYW5kIGZyYWdtZW50ICE9IHBhcnNlZC5mcmFnbWVudCkpOgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAg
ICAgICAgICAgdXJscy5hcHBlbmQodXJsKQorICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQg
PSBUcnVlCisgICAgICAgICAgICAgICAgICAgIGlmIGZvdW5kOgorICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWsKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHVybHMgPSBbdXJsXQorCisg
ICAgICAgIGFzc2VydCBkaXJlY3Rpb24gaW4gKCJpbmNsdWRlIiwgImV4Y2x1ZGUiKQorCisgICAg
ICAgIGZvciB1cmwgaW4gdXJsczoKKyAgICAgICAgICAgIGNvbXBvbmVudHMgPSBzZWxmLl9nZXRf
Y29tcG9uZW50cyh1cmwpCisKKyAgICAgICAgICAgIG5vZGUgPSBzZWxmCisgICAgICAgICAgICB3
aGlsZSBjb21wb25lbnRzOgorICAgICAgICAgICAgICAgIGNvbXBvbmVudCA9IGNvbXBvbmVudHMu
cG9wKCkKKyAgICAgICAgICAgICAgICBpZiBjb21wb25lbnQgbm90IGluIG5vZGUuY2hpbGRfbWFw
OgorICAgICAgICAgICAgICAgICAgICBuZXdfbm9kZSA9IEluY2x1ZGVNYW5pZmVzdChEYXRhTm9k
ZShjb21wb25lbnQpKQorICAgICAgICAgICAgICAgICAgICBub2RlLmFwcGVuZChuZXdfbm9kZSkK
KyAgICAgICAgICAgICAgICAgICAgbmV3X25vZGUuc2V0KCJza2lwIiwgbm9kZS5nZXQoInNraXAi
LCB7fSkpCisKKyAgICAgICAgICAgICAgICBub2RlID0gbm9kZS5jaGlsZF9tYXBbY29tcG9uZW50
XQorCisgICAgICAgICAgICBza2lwID0gRmFsc2UgaWYgZGlyZWN0aW9uID09ICJpbmNsdWRlIiBl
bHNlIFRydWUKKyAgICAgICAgICAgIG5vZGUuc2V0KCJza2lwIiwgc3RyKHNraXApKQorCisgICAg
ZGVmIGFkZF9pbmNsdWRlKHNlbGYsIHRlc3RfbWFuaWZlc3RzLCB1cmxfcHJlZml4KToKKyAgICAg
ICAgIiIiQWRkIGEgcnVsZSBpbmRpY2F0aW5nIHRoYXQgdGVzdHMgdW5kZXIgYSB1cmwgcGF0aAor
ICAgICAgICBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGVzdCBydW5zCisKKyAgICAgICAgOnBhcmFt
IHVybF9wcmVmaXg6IFRoZSB1cmwgcHJlZml4IHRvIGluY2x1ZGUKKyAgICAgICAgIiIiCisgICAg
ICAgIHJldHVybiBzZWxmLl9hZGRfcnVsZSh0ZXN0X21hbmlmZXN0cywgdXJsX3ByZWZpeCwgImlu
Y2x1ZGUiKQorCisgICAgZGVmIGFkZF9leGNsdWRlKHNlbGYsIHRlc3RfbWFuaWZlc3RzLCB1cmxf
cHJlZml4KToKKyAgICAgICAgIiIiQWRkIGEgcnVsZSBpbmRpY2F0aW5nIHRoYXQgdGVzdHMgdW5k
ZXIgYSB1cmwgcGF0aAorICAgICAgICBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0ZXN0IHJ1bnMK
KworICAgICAgICA6cGFyYW0gdXJsX3ByZWZpeDogVGhlIHVybCBwcmVmaXggdG8gZXhjbHVkZQor
ICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX2FkZF9ydWxlKHRlc3RfbWFuaWZlc3Rz
LCB1cmxfcHJlZml4LCAiZXhjbHVkZSIpCisKKworZGVmIGdldF9tYW5pZmVzdChtYW5pZmVzdF9w
YXRoKToKKyAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0aCkgYXMgZjoKKyAgICAgICAgcmV0dXJu
IGNvbmRpdGlvbmFsLmNvbXBpbGUoZiwgZGF0YV9jbHNfZ2V0dGVyPWxhbWJkYSB4LCB5OiBJbmNs
dWRlTWFuaWZlc3QpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3R1cGRhdGUucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvbWFuaWZlc3R1cGRhdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdlNjIzYzVkMWJi
YWEwMjUxMDU2YmMwMDNjMmI1YjYyMzg0MzdmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9tYW5pZmVzdHVwZGF0ZS5weQpAQCAtMCwwICsxLDQ2MCBAQAoraW1wb3J0IG9zCitpbXBv
cnQgdXJscGFyc2UKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IG5hbWVkdHVwbGUsIGRlZmF1bHRk
aWN0CisKK2Zyb20gd3B0bWFuaWZlc3Qubm9kZSBpbXBvcnQgKERhdGFOb2RlLCBDb25kaXRpb25h
bE5vZGUsIEJpbmFyeUV4cHJlc3Npb25Ob2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgQmluYXJ5T3BlcmF0b3JOb2RlLCBWYXJpYWJsZU5vZGUsIFN0cmluZ05vZGUsIE51bWJlck5v
ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVbmFyeUV4cHJlc3Npb25Ob2RlLCBV
bmFyeU9wZXJhdG9yTm9kZSwgS2V5VmFsdWVOb2RlKQorZnJvbSB3cHRtYW5pZmVzdC5iYWNrZW5k
cyBpbXBvcnQgY29uZGl0aW9uYWwKK2Zyb20gd3B0bWFuaWZlc3QuYmFja2VuZHMuY29uZGl0aW9u
YWwgaW1wb3J0IE1hbmlmZXN0SXRlbQorCitpbXBvcnQgZXhwZWN0ZWQKKworIiIiTWFuaWZlc3Qg
c3RydWN0dXJlIHVzZWQgdG8gdXBkYXRlIHRoZSBleHBlY3RlZCByZXN1bHRzIG9mIGEgdGVzdAor
CitFYWNoIG1hbmlmZXN0IGZpbGUgaXMgcmVwcmVzZW50ZWQgYnkgYW4gRXhwZWN0ZWRNYW5pZmVz
dCB0aGF0IGhhcyBvbmUKK29yIG1vcmUgVGVzdE5vZGUgY2hpbGRyZW4sIG9uZSBwZXIgdGVzdCBp
biB0aGUgbWFuaWZlc3QuICBFYWNoCitUZXN0Tm9kZSBoYXMgemVybyBvciBtb3JlIFN1YnRlc3RO
b2RlIGNoaWxkcmVuLCBvbmUgZm9yIGVhY2gga25vd24KK3N1YnRlc3Qgb2YgdGhlIHRlc3QuCisK
K0luIHRoZXNlIHJlcHJlc2VudGF0aW9ucywgY29uZGl0aW9uYWxzIGV4cHJlc3Npb25zIGluIHRo
ZSBtYW5pZmVzdCBhcmUKK25vdCBldmFsdWF0ZWQgdXBmcm9udCBidXQgc3RvcmVkIGFzIHB5dGhv
biBmdW5jdGlvbnMgdG8gYmUgZXZhbHVhdGVkCithdCBydW50aW1lLgorCitXaGVuIGEgcmVzdWx0
IGZvciBhIHRlc3QgaXMgdG8gYmUgdXBkYXRlZCBzZXRfcmVzdWx0IG9uIHRoZQorW1N1Yl1UZXN0
Tm9kZSBpcyBjYWxsZWQgdG8gc3RvcmUgdGhlIG5ldyByZXN1bHQsIGFsb25nc2lkZSB0aGUKK2V4
aXN0aW5nIGNvbmRpdGlvbmFsIHRoYXQgcmVzdWx0J3MgcnVuIGluZm8gbWF0Y2hlZCwgaWYgYW55
LiBPbmNlIGFsbAorbmV3IHJlc3VsdHMgYXJlIGtub3duLCBjb2FsZXNjZV9leHBlY3RlZCBpcyBj
YWxsZWQgdG8gY29tcHV0ZSB0aGUgbmV3CitzZXQgb2YgcmVzdWx0cyBhbmQgY29uZGl0aW9uYWxz
LiBUaGUgQVNUIG9mIHRoZSB1bmRlcmx5aW5nIHBhcnNlZCBtYW5pZmVzdAoraXMgdXBkYXRlZCB3
aXRoIHRoZSBjaGFuZ2VzLCBhbmQgdGhlIHJlc3VsdCBpcyBzZXJpYWxpc2VkIHRvIGEgZmlsZS4K
KyIiIgorCitjbGFzcyBDb25kaXRpb25FcnJvcihFeGNlcHRpb24pOgorICAgIHBhc3MKKworUmVz
dWx0ID0gbmFtZWR0dXBsZSgiUmVzdWx0IiwgWyJydW5faW5mbyIsICJzdGF0dXMiXSkKKworCitk
ZWYgZGF0YV9jbHNfZ2V0dGVyKG91dHB1dF9ub2RlLCB2aXNpdGVkX25vZGUpOgorICAgICMgdmlz
aXRlZF9ub2RlIGlzIGludGVudGlvbmFsbHkgdW51c2VkCisgICAgaWYgb3V0cHV0X25vZGUgaXMg
Tm9uZToKKyAgICAgICAgcmV0dXJuIEV4cGVjdGVkTWFuaWZlc3QKKyAgICBlbGlmIGlzaW5zdGFu
Y2Uob3V0cHV0X25vZGUsIEV4cGVjdGVkTWFuaWZlc3QpOgorICAgICAgICByZXR1cm4gVGVzdE5v
ZGUKKyAgICBlbGlmIGlzaW5zdGFuY2Uob3V0cHV0X25vZGUsIFRlc3ROb2RlKToKKyAgICAgICAg
cmV0dXJuIFN1YnRlc3ROb2RlCisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcgor
CisKK2NsYXNzIEV4cGVjdGVkTWFuaWZlc3QoTWFuaWZlc3RJdGVtKToKKyAgICBkZWYgX19pbml0
X18oc2VsZiwgbm9kZSwgdGVzdF9wYXRoPU5vbmUsIHVybF9iYXNlPU5vbmUsIHByb3BlcnR5X29y
ZGVyPU5vbmUsCisgICAgICAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcz1Ob25lKToKKyAg
ICAgICAgIiIiT2JqZWN0IHJlcHJlc2VudGluZyBhbGwgdGhlIHRlc3RzIGluIGEgcGFydGljdWxh
ciBtYW5pZmVzdAorCisgICAgICAgIDpwYXJhbSBub2RlOiBBU1QgTm9kZSBhc3NvY2lhdGVkIHdp
dGggdGhpcyBvYmplY3QuIElmIHRoaXMgaXMgTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgIGEg
bmV3IEFTVCBpcyBjcmVhdGVkIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgbWFuaWZlc3QuCisgICAg
ICAgIDpwYXJhbSB0ZXN0X3BhdGg6IFBhdGggb2YgdGhlIHRlc3QgZmlsZSBhc3NvY2lhdGVkIHdp
dGggdGhpcyBtYW5pZmVzdC4KKyAgICAgICAgOnBhcmFtIHVybF9iYXNlOiBCYXNlIHVybCBmb3Ig
c2VydmluZyB0aGUgdGVzdHMgaW4gdGhpcyBtYW5pZmVzdC4KKyAgICAgICAgOnBhcmFtIHByb3Bl
cnR5X29yZGVyOiBMaXN0IG9mIHByb3BlcnRpZXMgdG8gdXNlIGluIGV4cGVjdGF0aW9uIG1ldGFk
YXRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBtb3N0IHRvIGxlYXN0IHNp
Z25pZmljYW50LgorICAgICAgICA6cGFyYW0gYm9vbGVhbl9wcm9wZXJ0aWVzOiBTZXQgb2YgcHJv
cGVydGllcyBpbiBwcm9wZXJ0eV9vcmRlciB0aGF0IHNob3VsZAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBiZSB0cmVhdGVkIGFzIGJvb2xlYW4uCisgICAgICAgICIiIgorICAg
ICAgICBpZiBub2RlIGlzIE5vbmU6CisgICAgICAgICAgICBub2RlID0gRGF0YU5vZGUoTm9uZSkK
KyAgICAgICAgTWFuaWZlc3RJdGVtLl9faW5pdF9fKHNlbGYsIG5vZGUpCisgICAgICAgIHNlbGYu
Y2hpbGRfbWFwID0ge30KKyAgICAgICAgc2VsZi50ZXN0X3BhdGggPSB0ZXN0X3BhdGgKKyAgICAg
ICAgc2VsZi51cmxfYmFzZSA9IHVybF9iYXNlCisgICAgICAgIGFzc2VydCBzZWxmLnVybF9iYXNl
IGlzIG5vdCBOb25lCisgICAgICAgIHNlbGYubW9kaWZpZWQgPSBGYWxzZQorICAgICAgICBzZWxm
LmJvb2xlYW5fcHJvcGVydGllcyA9IGJvb2xlYW5fcHJvcGVydGllcworICAgICAgICBzZWxmLnBy
b3BlcnR5X29yZGVyID0gcHJvcGVydHlfb3JkZXIKKworICAgIGRlZiBhcHBlbmQoc2VsZiwgY2hp
bGQpOgorICAgICAgICBNYW5pZmVzdEl0ZW0uYXBwZW5kKHNlbGYsIGNoaWxkKQorICAgICAgICBp
ZiBjaGlsZC5pZCBpbiBzZWxmLmNoaWxkX21hcDoKKyAgICAgICAgICAgIHByaW50ICJXYXJuaW5n
OiBEdXBsaWNhdGUgaGVhZGluZyAlcyIgJSBjaGlsZC5pZAorICAgICAgICBzZWxmLmNoaWxkX21h
cFtjaGlsZC5pZF0gPSBjaGlsZAorCisgICAgZGVmIF9yZW1vdmVfY2hpbGQoc2VsZiwgY2hpbGQp
OgorICAgICAgICBkZWwgc2VsZi5jaGlsZF9tYXBbY2hpbGQuaWRdCisgICAgICAgIE1hbmlmZXN0
SXRlbS5fcmVtb3ZlX2NoaWxkKHNlbGYsIGNoaWxkKQorCisgICAgZGVmIGdldF90ZXN0KHNlbGYs
IHRlc3RfaWQpOgorICAgICAgICAiIiJSZXR1cm4gYSBUZXN0Tm9kZSBieSB0ZXN0IGlkLCBvciBO
b25lIGlmIG5vIHRlc3QgbWF0Y2hlcworCisgICAgICAgIDpwYXJhbSB0ZXN0X2lkOiBUaGUgaWQg
b2YgdGhlIHRlc3QgdG8gbG9vayB1cCIiIgorCisgICAgICAgIHJldHVybiBzZWxmLmNoaWxkX21h
cFt0ZXN0X2lkXQorCisgICAgZGVmIGhhc190ZXN0KHNlbGYsIHRlc3RfaWQpOgorICAgICAgICAi
IiJCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgY3VycmVudCB0ZXN0IGhhcyBhIGtub3du
IGNoaWxkIHRlc3QKKyAgICAgICAgd2l0aCBpZCB0ZXN0IGlkCisKKyAgICAgICAgOnBhcmFtIHRl
c3RfaWQ6IFRoZSBpZCBvZiB0aGUgdGVzdCB0byBsb29rIHVwIiIiCisKKyAgICAgICAgcmV0dXJu
IHRlc3RfaWQgaW4gc2VsZi5jaGlsZF9tYXAKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiB1cmwo
c2VsZik6CisgICAgICAgIHJldHVybiB1cmxwYXJzZS51cmxqb2luKHNlbGYudXJsX2Jhc2UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvIi5qb2luKHNlbGYudGVzdF9wYXRoLnNw
bGl0KG9zLnBhdGguc2VwKSkpCisKK2NsYXNzIFRlc3ROb2RlKE1hbmlmZXN0SXRlbSk6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIG5vZGUpOgorICAgICAgICAiIiJUcmVlIG5vZGUgYXNzb2NpYXRl
ZCB3aXRoIGEgcGFydGljdWxhciB0ZXN0IGluIGEgbWFuaWZlc3QKKworICAgICAgICA6cGFyYW0g
bm9kZTogQVNUIG5vZGUgYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXN0IiIiCisKKyAgICAgICAgTWFu
aWZlc3RJdGVtLl9faW5pdF9fKHNlbGYsIG5vZGUpCisgICAgICAgIHNlbGYudXBkYXRlZF9leHBl
Y3RlZCA9IFtdCisgICAgICAgIHNlbGYubmV3X2V4cGVjdGVkID0gW10KKyAgICAgICAgc2VsZi5z
dWJ0ZXN0cyA9IHt9CisgICAgICAgIHNlbGYuZGVmYXVsdF9zdGF0dXMgPSBOb25lCisgICAgICAg
IHNlbGYuX2Zyb21fZmlsZSA9IFRydWUKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBjcmVh
dGUoY2xzLCB0ZXN0X3R5cGUsIHRlc3RfaWQpOgorICAgICAgICAiIiJDcmVhdGUgYSBUZXN0Tm9k
ZSBjb3JyZXNwb25kaW5nIHRvIGEgZ2l2ZW4gdGVzdAorCisgICAgICAgIDpwYXJhbSB0ZXN0X3R5
cGU6IFRoZSB0eXBlIG9mIHRoZSB0ZXN0CisgICAgICAgIDpwYXJhbSB0ZXN0X2lkOiBUaGUgaWQg
b2YgdGhlIHRlc3QiIiIKKworICAgICAgICB1cmwgPSB0ZXN0X2lkCisgICAgICAgIG5hbWUgPSB1
cmwuc3BsaXQoIi8iKVstMV0KKyAgICAgICAgbm9kZSA9IERhdGFOb2RlKG5hbWUpCisgICAgICAg
IHNlbGYgPSBjbHMobm9kZSkKKworICAgICAgICBzZWxmLnNldCgidHlwZSIsIHRlc3RfdHlwZSkK
KyAgICAgICAgc2VsZi5fZnJvbV9maWxlID0gRmFsc2UKKyAgICAgICAgcmV0dXJuIHNlbGYKKwor
ICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpc19lbXB0eShzZWxmKToKKyAgICAgICAgcmVxdWlyZWRf
a2V5cyA9IHNldChbInR5cGUiXSkKKyAgICAgICAgaWYgc2V0KHNlbGYuX2RhdGEua2V5cygpKSAh
PSByZXF1aXJlZF9rZXlzOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVy
biBhbGwoY2hpbGQuaXNfZW1wdHkgZm9yIGNoaWxkIGluIHNlbGYuY2hpbGRyZW4pCisKKyAgICBA
cHJvcGVydHkKKyAgICBkZWYgdGVzdF90eXBlKHNlbGYpOgorICAgICAgICAiIiJUaGUgdHlwZSBv
ZiB0aGUgdGVzdCByZXByZXNlbnRlZCBieSB0aGlzIFRlc3ROb2RlIiIiCisKKyAgICAgICAgcmV0
dXJuIHNlbGYuZ2V0KCJ0eXBlIiwgTm9uZSkKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpZChz
ZWxmKToKKyAgICAgICAgIiIiVGhlIGlkIG9mIHRoZSB0ZXN0IHJlcHJlc2VudGVkIGJ5IHRoaXMg
VGVzdE5vZGUiIiIKKyAgICAgICAgcmV0dXJuIHVybHBhcnNlLnVybGpvaW4oc2VsZi5wYXJlbnQu
dXJsLCBzZWxmLm5hbWUpCisKKyAgICBkZWYgZGlzYWJsZWQoc2VsZiwgcnVuX2luZm8pOgorICAg
ICAgICAiIiJCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIHRlc3QgaXMgZGlzYWJsZWQg
d2hlbiBydW4gaW4gYW4KKyAgICAgICAgZW52aXJvbm1lbnQgd2l0aCB0aGUgZ2l2ZW4gcnVuX2lu
Zm8KKworICAgICAgICA6cGFyYW0gcnVuX2luZm86IERpY3Rpb25hcnkgb2YgcnVuX2luZm8gcGFy
YW1ldGVycyIiIgorCisgICAgICAgIHJldHVybiBzZWxmLmdldCgiZGlzYWJsZWQiLCBydW5faW5m
bykgaXMgbm90IE5vbmUKKworICAgIGRlZiBzZXRfcmVzdWx0KHNlbGYsIHJ1bl9pbmZvLCByZXN1
bHQpOgorICAgICAgICAiIiJTZXQgdGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBpbiBhIHBhcnRpY3Vs
YXIgcnVuCisKKyAgICAgICAgOnBhcmFtIHJ1bl9pbmZvOiBEaWN0aW9uYXJ5IG9mIHJ1bl9pbmZv
IHBhcmFtZXRlcnMgY29ycmVzcG9uZGluZworICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHRo
aXMgcnVuCisgICAgICAgIDpwYXJhbSByZXN1bHQ6IFN0YXR1cyBvZiB0aGUgdGVzdCBpbiB0aGlz
IHJ1biIiIgorCisgICAgICAgIGlmIHNlbGYuZGVmYXVsdF9zdGF0dXMgaXMgbm90IE5vbmU6Cisg
ICAgICAgICAgICBhc3NlcnQgc2VsZi5kZWZhdWx0X3N0YXR1cyA9PSByZXN1bHQuZGVmYXVsdF9l
eHBlY3RlZAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5kZWZhdWx0X3N0YXR1cyA9
IHJlc3VsdC5kZWZhdWx0X2V4cGVjdGVkCisKKyAgICAgICAgIyBBZGQgdGhpcyByZXN1bHQgdG8g
dGhlIGxpc3Qgb2YgcmVzdWx0cyBzYXRpc2Z5aW5nCisgICAgICAgICMgYW55IGNvbmRpdGlvbiBp
biB0aGUgbGlzdCBvZiB1cGRhdGVkIHJlc3VsdHMgaXQgbWF0Y2hlcworICAgICAgICBmb3IgKGNv
bmQsIHZhbHVlcykgaW4gc2VsZi51cGRhdGVkX2V4cGVjdGVkOgorICAgICAgICAgICAgaWYgY29u
ZChydW5faW5mbyk6CisgICAgICAgICAgICAgICAgdmFsdWVzLmFwcGVuZChSZXN1bHQocnVuX2lu
Zm8sIHJlc3VsdC5zdGF0dXMpKQorICAgICAgICAgICAgICAgIGlmIHJlc3VsdC5zdGF0dXMgIT0g
Y29uZC52YWx1ZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5yb290Lm1vZGlmaWVkID0gVHJ1
ZQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIFdl
IGRpZG4ndCBmaW5kIGEgcHJldmlvdXMgdmFsdWUgZm9yIHRoaXMKKyAgICAgICAgICAgIHNlbGYu
bmV3X2V4cGVjdGVkLmFwcGVuZChSZXN1bHQocnVuX2luZm8sIHJlc3VsdC5zdGF0dXMpKQorICAg
ICAgICAgICAgc2VsZi5yb290Lm1vZGlmaWVkID0gVHJ1ZQorCisgICAgZGVmIGNvYWxlc2NlX2V4
cGVjdGVkKHNlbGYpOgorICAgICAgICAiIiJVcGRhdGUgdGhlIHVuZGVybHlpbmcgbWFuaWZlc3Qg
QVNUIGZvciB0aGlzIHRlc3QgYmFzZWQgb24gYWxsIHRoZQorICAgICAgICBhZGRlZCByZXN1bHRz
LgorCisgICAgICAgIFRoaXMgd2lsbCB1cGRhdGUgZXhpc3RpbmcgY29uZGl0aW9uYWxzIGlmIHRo
ZXkgZ290IHRoZSBzYW1lIHJlc3VsdCBpbgorICAgICAgICBhbGwgbWF0Y2hpbmcgcnVucyBpbiB0
aGUgdXBkYXRlZCByZXN1bHRzLCB3aWxsIGRlbGV0ZSBleGlzdGluZyBjb25kaXRpb25hbHMKKyAg
ICAgICAgdGhhdCBnZXQgbW9yZSB0aGFuIG9uZSBkaWZmZXJlbnQgcmVzdWx0IGluIHRoZSB1cGRh
dGVkIHJ1biwgYW5kIGFkZCBuZXcKKyAgICAgICAgY29uZGl0aW9uYWxzIGZvciBhbnl0aGluZyB0
aGF0IGRvZXNuJ3QgbWF0Y2ggYW4gZXhpc3RpbmcgY29uZGl0aW9uYWwuCisKKyAgICAgICAgQ29u
ZGl0aW9uYWxzIG5vdCBtYXRjaGVkIGJ5IGFueSBhZGRlZCByZXN1bHQgYXJlIG5vdCBjaGFuZ2Vk
LiIiIgorCisgICAgICAgIGZpbmFsX2NvbmRpdGlvbmFscyA9IFtdCisKKyAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgdW5jb25kaXRpb25hbF9zdGF0dXMgPSBzZWxmLmdldCgiZXhwZWN0ZWQiKQor
ICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICB1bmNvbmRpdGlvbmFsX3N0YXR1
cyA9IHNlbGYuZGVmYXVsdF9zdGF0dXMKKworICAgICAgICBmb3IgY29uZGl0aW9uYWxfdmFsdWUs
IHJlc3VsdHMgaW4gc2VsZi51cGRhdGVkX2V4cGVjdGVkOgorICAgICAgICAgICAgaWYgbm90IHJl
c3VsdHM6CisgICAgICAgICAgICAgICAgIyBUaGUgY29uZGl0aW9uYWwgZGlkbid0IG1hdGNoIGFu
eXRoaW5nIGluIHRoZXNlIHJ1bnMgc28gbGVhdmUgaXQgYWxvbmUKKyAgICAgICAgICAgICAgICBm
aW5hbF9jb25kaXRpb25hbHMuYXBwZW5kKGNvbmRpdGlvbmFsX3ZhbHVlKQorICAgICAgICAgICAg
ZWxpZiBhbGwocmVzdWx0c1swXS5zdGF0dXMgPT0gcmVzdWx0LnN0YXR1cyBmb3IgcmVzdWx0IGlu
IHJlc3VsdHMpOgorICAgICAgICAgICAgICAgICMgQWxsIHRoZSBuZXcgdmFsdWVzIGZvciB0aGlz
IGNvbmRpdGlvbmFsIG1hdGNoZWQsIHNvIHVwZGF0ZSB0aGUgbm9kZQorICAgICAgICAgICAgICAg
IHJlc3VsdCA9IHJlc3VsdHNbMF0KKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9
PSB1bmNvbmRpdGlvbmFsX3N0YXR1cyBhbmQKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9u
YWxfdmFsdWUuY29uZGl0aW9uX25vZGUgaXMgbm90IE5vbmUpOgorICAgICAgICAgICAgICAgICAg
ICBpZiAiZXhwZWN0ZWQiIGluIHNlbGY6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJl
bW92ZV92YWx1ZSgiZXhwZWN0ZWQiLCBjb25kaXRpb25hbF92YWx1ZSkKKyAgICAgICAgICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbF92YWx1ZS52YWx1ZSA9IHJl
c3VsdC5zdGF0dXMKKyAgICAgICAgICAgICAgICAgICAgZmluYWxfY29uZGl0aW9uYWxzLmFwcGVu
ZChjb25kaXRpb25hbF92YWx1ZSkKKyAgICAgICAgICAgIGVsaWYgY29uZGl0aW9uYWxfdmFsdWUu
Y29uZGl0aW9uX25vZGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgIyBCbG93IGF3YXkg
dGhlIGV4aXN0aW5nIGNvbmRpdGlvbiBhbmQgcmVidWlsZCBmcm9tIHNjcmF0Y2gKKyAgICAgICAg
ICAgICAgICAjIFRoaXMgaXNuJ3Qgc3VyZSB0byB3b3JrIGlmIHdlIGhhdmUgYSBjb25kaXRpb25h
bCBsYXRlciB0aGF0IG1hdGNoZXMKKyAgICAgICAgICAgICAgICAjIHRoZXNlIHZhbHVlcyB0b28s
IGJ1dCB3ZSBjYW4gaG9wZSwgdmVyaWZ5IHRoYXQgd2UgZ2V0IHRoZSByZXN1bHRzCisgICAgICAg
ICAgICAgICAgIyB3ZSBleHBlY3QsIGFuZCBpZiBub3QgbGV0IGEgaHVtYW4gc29ydCBpdCBvdXQK
KyAgICAgICAgICAgICAgICBzZWxmLnJlbW92ZV92YWx1ZSgiZXhwZWN0ZWQiLCBjb25kaXRpb25h
bF92YWx1ZSkKKyAgICAgICAgICAgICAgICBzZWxmLm5ld19leHBlY3RlZC5leHRlbmQocmVzdWx0
cykKKyAgICAgICAgICAgIGVsaWYgY29uZGl0aW9uYWxfdmFsdWUuY29uZGl0aW9uX25vZGUgaXMg
Tm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLm5ld19leHBlY3RlZC5leHRlbmQocmVzdWx0IGZv
ciByZXN1bHQgaW4gcmVzdWx0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiByZXN1bHQuc3RhdHVzICE9IHVuY29uZGl0aW9uYWxfc3RhdHVzKQorCisgICAgICAg
ICMgSXQgaXMgYW4gaW52YXJpYW50IHRoYXQgbm90aGluZyBpbiBuZXdfZXhwZWN0ZWQgbWF0Y2hl
cyBhbiBleGlzdGluZworICAgICAgICAjIGNvbmRpdGlvbiBleGNlcHQgZm9yIHRoZSBkZWZhdWx0
IGNvbmRpdGlvbgorCisgICAgICAgIGlmIHNlbGYubmV3X2V4cGVjdGVkOgorICAgICAgICAgICAg
aWYgYWxsKHNlbGYubmV3X2V4cGVjdGVkWzBdLnN0YXR1cyA9PSByZXN1bHQuc3RhdHVzCisgICAg
ICAgICAgICAgICAgICAgZm9yIHJlc3VsdCBpbiBzZWxmLm5ld19leHBlY3RlZCkgYW5kIG5vdCBz
ZWxmLnVwZGF0ZWRfZXhwZWN0ZWQ6CisgICAgICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5uZXdf
ZXhwZWN0ZWRbMF0uc3RhdHVzCisgICAgICAgICAgICAgICAgaWYgc3RhdHVzICE9IHNlbGYuZGVm
YXVsdF9zdGF0dXM6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0KCJleHBlY3RlZCIsIHN0
YXR1cywgY29uZGl0aW9uPU5vbmUpCisgICAgICAgICAgICAgICAgICAgIGZpbmFsX2NvbmRpdGlv
bmFscy5hcHBlbmQoc2VsZi5fZGF0YVsiZXhwZWN0ZWQiXVstMV0pCisgICAgICAgICAgICBlbHNl
OgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uYWxz
ID0gZ3JvdXBfY29uZGl0aW9uYWxzKAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5uZXdf
ZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eV9vcmRlcj1zZWxmLnJv
b3QucHJvcGVydHlfb3JkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFuX3Byb3Bl
cnRpZXM9c2VsZi5yb290LmJvb2xlYW5fcHJvcGVydGllcykKKyAgICAgICAgICAgICAgICBleGNl
cHQgQ29uZGl0aW9uRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHByaW50ICJDb25mbGljdGlu
ZyB0ZXN0IHJlc3VsdHMgZm9yICVzLCBjYW5ub3QgdXBkYXRlIiAlIHNlbGYucm9vdC50ZXN0X3Bh
dGgKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICAgICAgZm9yIGNvbmRp
dGlvbmFsX25vZGUsIHN0YXR1cyBpbiBjb25kaXRpb25hbHM6CisgICAgICAgICAgICAgICAgICAg
IGlmIHN0YXR1cyAhPSB1bmNvbmRpdGlvbmFsX3N0YXR1czoKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuc2V0KCJleHBlY3RlZCIsIHN0YXR1cywgY29uZGl0aW9uPWNvbmRpdGlvbmFsX25v
ZGUuY2hpbGRyZW5bMF0pCisgICAgICAgICAgICAgICAgICAgICAgICBmaW5hbF9jb25kaXRpb25h
bHMuYXBwZW5kKHNlbGYuX2RhdGFbImV4cGVjdGVkIl1bLTFdKQorCisgICAgICAgIGlmICgiZXhw
ZWN0ZWQiIGluIHNlbGYuX2RhdGEgYW5kCisgICAgICAgICAgICBsZW4oc2VsZi5fZGF0YVsiZXhw
ZWN0ZWQiXSkgPiAwIGFuZAorICAgICAgICAgICAgc2VsZi5fZGF0YVsiZXhwZWN0ZWQiXVstMV0u
Y29uZGl0aW9uX25vZGUgaXMgTm9uZSBhbmQKKyAgICAgICAgICAgIHNlbGYuX2RhdGFbImV4cGVj
dGVkIl1bLTFdLnZhbHVlID09IHNlbGYuZGVmYXVsdF9zdGF0dXMpOgorCisgICAgICAgICAgICBz
ZWxmLnJlbW92ZV92YWx1ZSgiZXhwZWN0ZWQiLCBzZWxmLl9kYXRhWyJleHBlY3RlZCJdWy0xXSkK
KworICAgICAgICBpZiAoImV4cGVjdGVkIiBpbiBzZWxmLl9kYXRhIGFuZAorICAgICAgICAgICAg
bGVuKHNlbGYuX2RhdGFbImV4cGVjdGVkIl0pID09IDApOgorICAgICAgICAgICAgZm9yIGNoaWxk
IGluIHNlbGYubm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgICAgICBpZiAoaXNpbnN0YW5jZShj
aGlsZCwgS2V5VmFsdWVOb2RlKSBhbmQKKyAgICAgICAgICAgICAgICAgICAgY2hpbGQuZGF0YSA9
PSAiZXhwZWN0ZWQiKToKKyAgICAgICAgICAgICAgICAgICAgY2hpbGQucmVtb3ZlKCkKKyAgICAg
ICAgICAgICAgICAgICAgYnJlYWsKKworICAgIGRlZiBfYWRkX2tleV92YWx1ZShzZWxmLCBub2Rl
LCB2YWx1ZXMpOgorICAgICAgICBNYW5pZmVzdEl0ZW0uX2FkZF9rZXlfdmFsdWUoc2VsZiwgbm9k
ZSwgdmFsdWVzKQorICAgICAgICBpZiBub2RlLmRhdGEgPT0gImV4cGVjdGVkIjoKKyAgICAgICAg
ICAgIHNlbGYudXBkYXRlZF9leHBlY3RlZCA9IFtdCisgICAgICAgICAgICBmb3IgdmFsdWUgaW4g
dmFsdWVzOgorICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlZF9leHBlY3RlZC5hcHBlbmQoKHZh
bHVlLCBbXSkpCisKKyAgICBkZWYgY2xlYXJfZXhwZWN0ZWQoc2VsZik6CisgICAgICAgICIiIkNs
ZWFyIGFsbCB0aGUgZXhwZWN0ZWQgZGF0YSBmb3IgdGhpcyB0ZXN0IGFuZCBhbGwgb2YgaXRzIHN1
YnRlc3RzIiIiCisKKyAgICAgICAgc2VsZi51cGRhdGVkX2V4cGVjdGVkID0gW10KKyAgICAgICAg
aWYgImV4cGVjdGVkIiBpbiBzZWxmLl9kYXRhOgorICAgICAgICAgICAgZm9yIGNoaWxkIGluIHNl
bGYubm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgICAgICBpZiAoaXNpbnN0YW5jZShjaGlsZCwg
S2V5VmFsdWVOb2RlKSBhbmQKKyAgICAgICAgICAgICAgICAgICAgY2hpbGQuZGF0YSA9PSAiZXhw
ZWN0ZWQiKToKKyAgICAgICAgICAgICAgICAgICAgY2hpbGQucmVtb3ZlKCkKKyAgICAgICAgICAg
ICAgICAgICAgZGVsIHNlbGYuX2RhdGFbImV4cGVjdGVkIl0KKyAgICAgICAgICAgICAgICAgICAg
YnJlYWsKKworICAgICAgICBmb3Igc3VidGVzdCBpbiBzZWxmLnN1YnRlc3RzLml0ZXJ2YWx1ZXMo
KToKKyAgICAgICAgICAgIHN1YnRlc3QuY2xlYXJfZXhwZWN0ZWQoKQorCisgICAgZGVmIGFwcGVu
ZChzZWxmLCBub2RlKToKKyAgICAgICAgY2hpbGQgPSBNYW5pZmVzdEl0ZW0uYXBwZW5kKHNlbGYs
IG5vZGUpCisgICAgICAgIHNlbGYuc3VidGVzdHNbY2hpbGQubmFtZV0gPSBjaGlsZAorCisgICAg
ZGVmIGdldF9zdWJ0ZXN0KHNlbGYsIG5hbWUpOgorICAgICAgICAiIiJSZXR1cm4gYSBTdWJ0ZXN0
Tm9kZSBjb3JyZXNwb25kaW5nIHRvIGEgcGFydGljdWxhciBzdWJ0ZXN0IG9mCisgICAgICAgIHRo
ZSBjdXJyZW50IHRlc3QsIGNyZWF0aW5nIGEgbmV3IG9uZSBpZiBubyBzdWJ0ZXN0IHdpdGggdGhh
dCBuYW1lCisgICAgICAgIGFscmVhZHkgZXhpc3RzLgorCisgICAgICAgIDpwYXJhbSBuYW1lOiBO
YW1lIG9mIHRoZSBzdWJ0ZXN0IiIiCisKKyAgICAgICAgaWYgbmFtZSBpbiBzZWxmLnN1YnRlc3Rz
OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuc3VidGVzdHNbbmFtZV0KKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIHN1YnRlc3QgPSBTdWJ0ZXN0Tm9kZS5jcmVhdGUobmFtZSkKKyAgICAgICAg
ICAgIHNlbGYuYXBwZW5kKHN1YnRlc3QpCisgICAgICAgICAgICByZXR1cm4gc3VidGVzdAorCisK
K2NsYXNzIFN1YnRlc3ROb2RlKFRlc3ROb2RlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbm9k
ZSk6CisgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG5vZGUsIERhdGFOb2RlKQorICAgICAgICBU
ZXN0Tm9kZS5fX2luaXRfXyhzZWxmLCBub2RlKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVm
IGNyZWF0ZShjbHMsIG5hbWUpOgorICAgICAgICBub2RlID0gRGF0YU5vZGUobmFtZSkKKyAgICAg
ICAgc2VsZiA9IGNscyhub2RlKQorICAgICAgICByZXR1cm4gc2VsZgorCisgICAgQHByb3BlcnR5
CisgICAgZGVmIGlzX2VtcHR5KHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9kYXRhOgorICAgICAg
ICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCisKKworZGVmIGdyb3VwX2Nv
bmRpdGlvbmFscyh2YWx1ZXMsIHByb3BlcnR5X29yZGVyPU5vbmUsIGJvb2xlYW5fcHJvcGVydGll
cz1Ob25lKToKKyAgICAiIiJHaXZlbiBhIGxpc3Qgb2YgUmVzdWx0IG9iamVjdHMsIHJldHVybiBh
IGxpc3Qgb2YKKyAgICAoY29uZGl0aW9uYWxfbm9kZSwgc3RhdHVzKSBwYWlycyByZXByZXNlbnRp
bmcgdGhlIGNvbmRpdGlvbmFsCisgICAgZXhwcmVzc2lvbnMgdGhhdCBhcmUgcmVxdWlyZWQgdG8g
bWF0Y2ggZWFjaCBzdGF0dXMKKworICAgIDpwYXJhbSB2YWx1ZXM6IExpc3Qgb2YgUmVzdWx0cwor
ICAgIDpwYXJhbSBwcm9wZXJ0eV9vcmRlcjogTGlzdCBvZiBwcm9wZXJ0aWVzIHRvIHVzZSBpbiBl
eHBlY3RhdGlvbiBtZXRhZGF0YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBtb3N0
IHRvIGxlYXN0IHNpZ25pZmljYW50LgorICAgIDpwYXJhbSBib29sZWFuX3Byb3BlcnRpZXM6IFNl
dCBvZiBwcm9wZXJ0aWVzIGluIHByb3BlcnR5X29yZGVyIHRoYXQgc2hvdWxkCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYmUgdHJlYXRlZCBhcyBib29sZWFuLiIiIgorCisgICAgYnlf
cHJvcGVydHkgPSBkZWZhdWx0ZGljdChzZXQpCisgICAgZm9yIHJ1bl9pbmZvLCBzdGF0dXMgaW4g
dmFsdWVzOgorICAgICAgICBmb3IgcHJvcF9uYW1lLCBwcm9wX3ZhbHVlIGluIHJ1bl9pbmZvLml0
ZXJpdGVtcygpOgorICAgICAgICAgICAgYnlfcHJvcGVydHlbKHByb3BfbmFtZSwgcHJvcF92YWx1
ZSldLmFkZChzdGF0dXMpCisKKyAgICBpZiBwcm9wZXJ0eV9vcmRlciBpcyBOb25lOgorICAgICAg
ICBwcm9wZXJ0eV9vcmRlciA9IFsiZGVidWciLCAib3MiLCAidmVyc2lvbiIsICJwcm9jZXNzb3Ii
LCAiYml0cyJdCisKKyAgICBpZiBib29sZWFuX3Byb3BlcnRpZXMgaXMgTm9uZToKKyAgICAgICAg
Ym9vbGVhbl9wcm9wZXJ0aWVzID0gc2V0KFsiZGVidWciXSkKKyAgICBlbHNlOgorICAgICAgICBi
b29sZWFuX3Byb3BlcnRpZXMgPSBzZXQoYm9vbGVhbl9wcm9wZXJ0aWVzKQorCisgICAgIyBJZiB3
ZSBoYXZlIG1vcmUgdGhhbiBvbmUgdmFsdWUsIHJlbW92ZSBhbnkgcHJvcGVydGllcyB0aGF0IGFy
ZSBjb21tb24KKyAgICAjIGZvciBhbGwgdGhlIHZhbHVlcworICAgIGlmIGxlbih2YWx1ZXMpID4g
MToKKyAgICAgICAgZm9yIGtleSwgc3RhdHVzZXMgaW4gYnlfcHJvcGVydHkuY29weSgpLml0ZXJp
dGVtcygpOgorICAgICAgICAgICAgaWYgbGVuKHN0YXR1c2VzKSA9PSBsZW4odmFsdWVzKToKKyAg
ICAgICAgICAgICAgICBkZWwgYnlfcHJvcGVydHlba2V5XQorICAgICAgICBpZiBub3QgYnlfcHJv
cGVydHk6CisgICAgICAgICAgICByYWlzZSBDb25kaXRpb25FcnJvcgorCisgICAgcHJvcGVydGll
cyA9IHNldChpdGVtWzBdIGZvciBpdGVtIGluIGJ5X3Byb3BlcnR5Lml0ZXJrZXlzKCkpCisgICAg
aW5jbHVkZV9wcm9wcyA9IFtdCisKKyAgICBmb3IgcHJvcCBpbiBwcm9wZXJ0eV9vcmRlcjoKKyAg
ICAgICAgaWYgcHJvcCBpbiBwcm9wZXJ0aWVzOgorICAgICAgICAgICAgaW5jbHVkZV9wcm9wcy5h
cHBlbmQocHJvcCkKKworICAgIGNvbmRpdGlvbnMgPSB7fQorCisgICAgZm9yIHJ1bl9pbmZvLCBz
dGF0dXMgaW4gdmFsdWVzOgorICAgICAgICBwcm9wX3NldCA9IHR1cGxlKChwcm9wLCBydW5faW5m
b1twcm9wXSkgZm9yIHByb3AgaW4gaW5jbHVkZV9wcm9wcykKKyAgICAgICAgaWYgcHJvcF9zZXQg
aW4gY29uZGl0aW9uczoKKyAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgZXhwciA9IG1h
a2VfZXhwcihwcm9wX3NldCwgc3RhdHVzLCBib29sZWFuX3Byb3BlcnRpZXM9Ym9vbGVhbl9wcm9w
ZXJ0aWVzKQorICAgICAgICBjb25kaXRpb25zW3Byb3Bfc2V0XSA9IChleHByLCBzdGF0dXMpCisK
KyAgICByZXR1cm4gY29uZGl0aW9ucy52YWx1ZXMoKQorCisKK2RlZiBtYWtlX2V4cHIocHJvcF9z
ZXQsIHN0YXR1cywgYm9vbGVhbl9wcm9wZXJ0aWVzPU5vbmUpOgorICAgICIiIkNyZWF0ZSBhbiBB
U1QgdGhhdCByZXR1cm5zIHRoZSB2YWx1ZSBgYHN0YXR1c2BgIGdpdmVuIGFsbCB0aGUKKyAgICBw
cm9wZXJ0aWVzIGluIHByb3Bfc2V0IG1hdGNoLgorCisgICAgOnBhcmFtIHByb3Bfc2V0OiB0dXBs
ZSBvZiAocHJvcGVydHkgbmFtZSwgdmFsdWUpIHBhaXJzIGZvciBlYWNoCisgICAgICAgICAgICAg
ICAgICAgICBwcm9wZXJ0eSBpbiB0aGlzIGV4cHJlc3Npb24gYW5kIHRoZSB2YWx1ZSBpdCBtdXN0
IG1hdGNoCisgICAgOnBhcmFtIHN0YXR1czogU3RhdHVzIG9uIFJIUyB3aGVuIGFsbCB0aGUgZ2l2
ZW4gcHJvcGVydGllcyBtYXRjaAorICAgIDpwYXJhbSBib29sZWFuX3Byb3BlcnRpZXM6IFNldCBv
ZiBwcm9wZXJ0aWVzIGluIHByb3BlcnR5X29yZGVyIHRoYXQgc2hvdWxkCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYmUgdHJlYXRlZCBhcyBib29sZWFuLgorICAgICIiIgorICAgIHJv
b3QgPSBDb25kaXRpb25hbE5vZGUoKQorCisgICAgYXNzZXJ0IGxlbihwcm9wX3NldCkgPiAwCisK
KyAgICBleHByZXNzaW9ucyA9IFtdCisgICAgZm9yIHByb3AsIHZhbHVlIGluIHByb3Bfc2V0Ogor
ICAgICAgICBudW1iZXJfdHlwZXMgPSAoaW50LCBmbG9hdCwgbG9uZykKKyAgICAgICAgdmFsdWVf
Y2xzID0gKE51bWJlck5vZGUKKyAgICAgICAgICAgICAgICAgICAgIGlmIHR5cGUodmFsdWUpIGlu
IG51bWJlcl90eXBlcworICAgICAgICAgICAgICAgICAgICAgZWxzZSBTdHJpbmdOb2RlKQorICAg
ICAgICBpZiBwcm9wIG5vdCBpbiBib29sZWFuX3Byb3BlcnRpZXM6CisgICAgICAgICAgICBleHBy
ZXNzaW9ucy5hcHBlbmQoCisgICAgICAgICAgICAgICAgQmluYXJ5RXhwcmVzc2lvbk5vZGUoCisg
ICAgICAgICAgICAgICAgICAgIEJpbmFyeU9wZXJhdG9yTm9kZSgiPT0iKSwKKyAgICAgICAgICAg
ICAgICAgICAgVmFyaWFibGVOb2RlKHByb3ApLAorICAgICAgICAgICAgICAgICAgICB2YWx1ZV9j
bHModW5pY29kZSh2YWx1ZSkpCisgICAgICAgICAgICAgICAgKSkKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIGlmIHZhbHVlOgorICAgICAgICAgICAgICAgIGV4cHJlc3Npb25zLmFwcGVuZChW
YXJpYWJsZU5vZGUocHJvcCkpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGV4
cHJlc3Npb25zLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgVW5hcnlFeHByZXNzaW9uTm9k
ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIFVuYXJ5T3BlcmF0b3JOb2RlKCJub3QiKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlTm9kZShwcm9wKQorICAgICAgICAgICAgICAg
ICAgICApKQorICAgIGlmIGxlbihleHByZXNzaW9ucykgPiAxOgorICAgICAgICBwcmV2ID0gZXhw
cmVzc2lvbnNbLTFdCisgICAgICAgIGZvciBjdXJyIGluIHJldmVyc2VkKGV4cHJlc3Npb25zWzot
MV0pOgorICAgICAgICAgICAgbm9kZSA9IEJpbmFyeUV4cHJlc3Npb25Ob2RlKAorICAgICAgICAg
ICAgICAgIEJpbmFyeU9wZXJhdG9yTm9kZSgiYW5kIiksCisgICAgICAgICAgICAgICAgY3VyciwK
KyAgICAgICAgICAgICAgICBwcmV2KQorICAgICAgICAgICAgcHJldiA9IG5vZGUKKyAgICBlbHNl
OgorICAgICAgICBub2RlID0gZXhwcmVzc2lvbnNbMF0KKworICAgIHJvb3QuYXBwZW5kKG5vZGUp
CisgICAgcm9vdC5hcHBlbmQoU3RyaW5nTm9kZShzdGF0dXMpKQorCisgICAgcmV0dXJuIHJvb3QK
KworCitkZWYgZ2V0X21hbmlmZXN0KG1ldGFkYXRhX3Jvb3QsIHRlc3RfcGF0aCwgdXJsX2Jhc2Us
IHByb3BlcnR5X29yZGVyPU5vbmUsCisgICAgICAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGll
cz1Ob25lKToKKyAgICAiIiJHZXQgdGhlIEV4cGVjdGVkTWFuaWZlc3QgZm9yIGEgcGFydGljdWxh
ciB0ZXN0IHBhdGgsIG9yIE5vbmUgaWYgdGhlcmUgaXMgbm8KKyAgICBtZXRhZGF0YSBzdG9yZWQg
Zm9yIHRoYXQgdGVzdCBwYXRoLgorCisgICAgOnBhcmFtIG1ldGFkYXRhX3Jvb3Q6IEFic29sdXRl
IHBhdGggdG8gdGhlIHJvb3Qgb2YgdGhlIG1ldGFkYXRhIGRpcmVjdG9yeQorICAgIDpwYXJhbSB0
ZXN0X3BhdGg6IFBhdGggdG8gdGhlIHRlc3QocykgcmVsYXRpdmUgdG8gdGhlIHRlc3Qgcm9vdAor
ICAgIDpwYXJhbSB1cmxfYmFzZTogQmFzZSB1cmwgZm9yIHNlcnZpbmcgdGhlIHRlc3RzIGluIHRo
aXMgbWFuaWZlc3QKKyAgICA6cGFyYW0gcHJvcGVydHlfb3JkZXI6IExpc3Qgb2YgcHJvcGVydGll
cyB0byB1c2UgaW4gZXhwZWN0YXRpb24gbWV0YWRhdGEKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZyb20gbW9zdCB0byBsZWFzdCBzaWduaWZpY2FudC4KKyAgICA6cGFyYW0gYm9vbGVhbl9w
cm9wZXJ0aWVzOiBTZXQgb2YgcHJvcGVydGllcyBpbiBwcm9wZXJ0eV9vcmRlciB0aGF0IHNob3Vs
ZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIHRyZWF0ZWQgYXMgYm9vbGVhbi4i
IiIKKyAgICBtYW5pZmVzdF9wYXRoID0gZXhwZWN0ZWQuZXhwZWN0ZWRfcGF0aChtZXRhZGF0YV9y
b290LCB0ZXN0X3BhdGgpCisgICAgdHJ5OgorICAgICAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0
aCkgYXMgZjoKKyAgICAgICAgICAgIHJldHVybiBjb21waWxlKGYsIHRlc3RfcGF0aCwgdXJsX2Jh
c2UsIHByb3BlcnR5X29yZGVyPXByb3BlcnR5X29yZGVyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbGVhbl9wcm9wZXJ0aWVzPWJvb2xlYW5fcHJvcGVydGllcykKKyAgICBleGNlcHQg
SU9FcnJvcjoKKyAgICAgICAgcmV0dXJuIE5vbmUKKworCitkZWYgY29tcGlsZShtYW5pZmVzdF9m
aWxlLCB0ZXN0X3BhdGgsIHVybF9iYXNlLCBwcm9wZXJ0eV9vcmRlcj1Ob25lLAorICAgICAgICAg
ICAgYm9vbGVhbl9wcm9wZXJ0aWVzPU5vbmUpOgorICAgIHJldHVybiBjb25kaXRpb25hbC5jb21w
aWxlKG1hbmlmZXN0X2ZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YV9j
bHNfZ2V0dGVyPWRhdGFfY2xzX2dldHRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0X3BhdGg9dGVzdF9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVy
bF9iYXNlPXVybF9iYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5
X29yZGVyPXByb3BlcnR5X29yZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv
b2xlYW5fcHJvcGVydGllcz1ib29sZWFuX3Byb3BlcnRpZXMpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvbWV0YWRhdGEucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWV0YWRhdGEucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2YwZTI5YjIxOTBjMTFjNWEzOTJhZDQwOGY1N2ViYWQ2ZjE5OTk0NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9tZXRhZGF0YS5weQpAQCAtMCwwICsxLDM1MSBAQAoraW1wb3J0IG9z
CitpbXBvcnQgc2h1dGlsCitpbXBvcnQgc3lzCitpbXBvcnQgdGVtcGZpbGUKK2ltcG9ydCB0eXBl
cworaW1wb3J0IHV1aWQKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlZmF1bHRkaWN0CisKK2Zy
b20gbW96bG9nIGltcG9ydCByZWFkZXIKK2Zyb20gbW96bG9nIGltcG9ydCBzdHJ1Y3R1cmVkbG9n
CisKK2ltcG9ydCBleHBlY3RlZAoraW1wb3J0IG1hbmlmZXN0dXBkYXRlCitpbXBvcnQgdGVzdGxv
YWRlcgoraW1wb3J0IHdwdG1hbmlmZXN0CitpbXBvcnQgd3B0dGVzdAorZnJvbSB2Y3MgaW1wb3J0
IGdpdAorbWFuaWZlc3QgPSBOb25lICAjIE1vZHVsZSB0aGF0IHdpbGwgYmUgaW1wb3J0ZWQgcmVs
YXRpdmUgdG8gdGVzdF9yb290CittYW5pZmVzdGl0ZW0gPSBOb25lCisKK2xvZ2dlciA9IHN0cnVj
dHVyZWRsb2cuU3RydWN0dXJlZExvZ2dlcigid2ViLXBsYXRmb3JtLXRlc3RzIikKKworCitkZWYg
bG9hZF90ZXN0X21hbmlmZXN0cyhzZXJ2ZV9yb290LCB0ZXN0X3BhdGhzKToKKyAgICBkb19kZWxh
eWVkX2ltcG9ydHMoc2VydmVfcm9vdCkKKyAgICBtYW5pZmVzdF9sb2FkZXIgPSB0ZXN0bG9hZGVy
Lk1hbmlmZXN0TG9hZGVyKHRlc3RfcGF0aHMsIEZhbHNlKQorICAgIHJldHVybiBtYW5pZmVzdF9s
b2FkZXIubG9hZCgpCisKKworZGVmIHVwZGF0ZV9leHBlY3RlZCh0ZXN0X3BhdGhzLCBzZXJ2ZV9y
b290LCBsb2dfZmlsZV9uYW1lcywKKyAgICAgICAgICAgICAgICAgICAgcmV2X29sZD1Ob25lLCBy
ZXZfbmV3PSJIRUFEIiwgaWdub3JlX2V4aXN0aW5nPUZhbHNlLAorICAgICAgICAgICAgICAgICAg
ICBzeW5jX3Jvb3Q9Tm9uZSwgcHJvcGVydHlfb3JkZXI9Tm9uZSwgYm9vbGVhbl9wcm9wZXJ0aWVz
PU5vbmUpOgorICAgICIiIlVwZGF0ZSB0aGUgbWV0YWRhdGEgZmlsZXMgZm9yIHdlYi1wbGF0Zm9y
bS10ZXN0cyBiYXNlZCBvbgorICAgIHRoZSByZXN1bHRzIG9idGFpbmVkIGluIGEgcHJldmlvdXMg
cnVuIiIiCisKKyAgICBtYW5pZmVzdHMgPSBsb2FkX3Rlc3RfbWFuaWZlc3RzKHNlcnZlX3Jvb3Qs
IHRlc3RfcGF0aHMpCisKKyAgICBjaGFuZ2VfZGF0YSA9IHt9CisKKyAgICBpZiBzeW5jX3Jvb3Qg
aXMgbm90IE5vbmU6CisgICAgICAgIGlmIHJldl9vbGQgaXMgbm90IE5vbmU6CisgICAgICAgICAg
ICByZXZfb2xkID0gZ2l0KCJyZXYtcGFyc2UiLCByZXZfb2xkLCByZXBvPXN5bmNfcm9vdCkuc3Ry
aXAoKQorICAgICAgICByZXZfbmV3ID0gZ2l0KCJyZXYtcGFyc2UiLCByZXZfbmV3LCByZXBvPXN5
bmNfcm9vdCkuc3RyaXAoKQorCisgICAgICAgIGlmIHJldl9vbGQgaXMgbm90IE5vbmU6CisgICAg
ICAgICAgICBjaGFuZ2VfZGF0YSA9IGxvYWRfY2hhbmdlX2RhdGEocmV2X29sZCwgcmV2X25ldywg
cmVwbz1zeW5jX3Jvb3QpCisKKworICAgIGV4cGVjdGVkX21hcF9ieV9tYW5pZmVzdCA9IHVwZGF0
ZV9mcm9tX2xvZ3MobWFuaWZlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKmxvZ19maWxlX25hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlX2V4aXN0aW5nPWlnbm9yZV9leGlzdGluZywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5
X29yZGVyPXByb3BlcnR5X29yZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbGVhbl9wcm9wZXJ0aWVzPWJvb2xlYW5fcHJvcGVydGllcykKKwor
ICAgIGZvciB0ZXN0X21hbmlmZXN0LCBleHBlY3RlZF9tYXAgaW4gZXhwZWN0ZWRfbWFwX2J5X21h
bmlmZXN0Lml0ZXJpdGVtcygpOgorICAgICAgICB1cmxfYmFzZSA9IG1hbmlmZXN0c1t0ZXN0X21h
bmlmZXN0XVsidXJsX2Jhc2UiXQorICAgICAgICBtZXRhZGF0YV9wYXRoID0gdGVzdF9wYXRoc1t1
cmxfYmFzZV1bIm1ldGFkYXRhX3BhdGgiXQorICAgICAgICB3cml0ZV9jaGFuZ2VzKG1ldGFkYXRh
X3BhdGgsIGV4cGVjdGVkX21hcCkKKworICAgIHJlc3VsdHNfY2hhbmdlZCA9IFtpdGVtLnRlc3Rf
cGF0aCBmb3IgaXRlbSBpbiBleHBlY3RlZF9tYXAuaXRlcnZhbHVlcygpIGlmIGl0ZW0ubW9kaWZp
ZWRdCisKKyAgICByZXR1cm4gdW5leHBlY3RlZF9jaGFuZ2VzKG1hbmlmZXN0cywgY2hhbmdlX2Rh
dGEsIHJlc3VsdHNfY2hhbmdlZCkKKworCitkZWYgZG9fZGVsYXllZF9pbXBvcnRzKHNlcnZlX3Jv
b3QpOgorICAgIGdsb2JhbCBtYW5pZmVzdCwgbWFuaWZlc3RpdGVtCisgICAgZnJvbSBtYW5pZmVz
dCBpbXBvcnQgbWFuaWZlc3QsIGl0ZW0gYXMgbWFuaWZlc3RpdGVtCisKKworZGVmIGZpbGVzX2lu
X3JlcG8ocmVwb19yb290KToKKyAgICByZXR1cm4gZ2l0KCJscy10cmVlIiwgIi1yIiwgIi0tbmFt
ZS1vbmx5IiwgIkhFQUQiKS5zcGxpdCgiXG4iKQorCisKK2RlZiByZXZfcmFuZ2UocmV2X29sZCwg
cmV2X25ldywgc3ltbWV0cmljPUZhbHNlKToKKyAgICBqb2luZXIgPSAiLi4iIGlmIG5vdCBzeW1t
ZXRyaWMgZWxzZSAiLi4uIgorICAgIHJldHVybiAiIi5qb2luKFtyZXZfb2xkLCBqb2luZXIsIHJl
dl9uZXddKQorCisKK2RlZiBwYXRoc19jaGFuZ2VkKHJldl9vbGQsIHJldl9uZXcsIHJlcG8pOgor
ICAgIGRhdGEgPSBnaXQoImRpZmYiLCAiLS1uYW1lLXN0YXR1cyIsIHJldl9yYW5nZShyZXZfb2xk
LCByZXZfbmV3KSwgcmVwbz1yZXBvKQorICAgIGxpbmVzID0gW3R1cGxlKGl0ZW0uc3RyaXAoKSBm
b3IgaXRlbSBpbiBsaW5lLnN0cmlwKCkuc3BsaXQoIlx0IiwgMSkpCisgICAgICAgICAgICAgZm9y
IGxpbmUgaW4gZGF0YS5zcGxpdCgiXG4iKSBpZiBsaW5lLnN0cmlwKCldCisgICAgb3V0cHV0ID0g
c2V0KGxpbmVzKQorICAgIHJldHVybiBvdXRwdXQKKworCitkZWYgbG9hZF9jaGFuZ2VfZGF0YShy
ZXZfb2xkLCByZXZfbmV3LCByZXBvKToKKyAgICBjaGFuZ2VzID0gcGF0aHNfY2hhbmdlZChyZXZf
b2xkLCByZXZfbmV3LCByZXBvKQorICAgIHJ2ID0ge30KKyAgICBzdGF0dXNfa2V5cyA9IHsiTSI6
ICJtb2RpZmllZCIsCisgICAgICAgICAgICAgICAgICAgIkEiOiAibmV3IiwKKyAgICAgICAgICAg
ICAgICAgICAiRCI6ICJkZWxldGVkIn0KKyAgICAjIFRPRE86IGRlYWwgd2l0aCByZW5hbWVzCisg
ICAgZm9yIGl0ZW0gaW4gY2hhbmdlczoKKyAgICAgICAgcnZbaXRlbVsxXV0gPSBzdGF0dXNfa2V5
c1tpdGVtWzBdXQorICAgIHJldHVybiBydgorCisKK2RlZiB1bmV4cGVjdGVkX2NoYW5nZXMobWFu
aWZlc3RzLCBjaGFuZ2VfZGF0YSwgZmlsZXNfY2hhbmdlZCk6CisgICAgZmlsZXNfY2hhbmdlZCA9
IHNldChmaWxlc19jaGFuZ2VkKQorCisgICAgcm9vdF9tYW5pZmVzdCA9IE5vbmUKKyAgICBmb3Ig
bWFuaWZlc3QsIHBhdGhzIGluIG1hbmlmZXN0cy5pdGVyaXRlbXMoKToKKyAgICAgICAgaWYgcGF0
aHNbInVybF9iYXNlIl0gPT0gIi8iOgorICAgICAgICAgICAgcm9vdF9tYW5pZmVzdCA9IG1hbmlm
ZXN0CisgICAgICAgICAgICBicmVhaworICAgIGVsc2U6CisgICAgICAgIHJldHVybiBbXQorCisg
ICAgcnYgPSBbXQorCisgICAgcmV0dXJuIFtmbiBmb3IgXywgZm4sIF8gaW4gcm9vdF9tYW5pZmVz
dCBpZiBmbiBpbiBmaWxlc19jaGFuZ2VkIGFuZCBjaGFuZ2VfZGF0YS5nZXQoZm4pICE9ICJNIl0K
KworIyBGb3IgZWFjaCB0ZXN0cnVuCisjIExvYWQgYWxsIGZpbGVzIGFuZCBzY2FuIGZvciB0aGUg
c3VpdGVfc3RhcnQgZW50cnkKKyMgQnVpbGQgYSBoYXNoIG9mIGZpbGVuYW1lOiBwcm9wZXJ0aWVz
CisjIEZvciBlYWNoIGRpZmZlcmVudCBzZXQgb2YgcHJvcGVydGllcywgZ2F0aGVyIGFsbCBjaHVu
a3MKKyMgRm9yIGVhY2ggY2h1bmsgaW4gdGhlIHNldCBvZiBjaHVua3MsIGdvIHRocm91Z2ggYWxs
IHRlc3RzCisjIGZvciBlYWNoIHRlc3QsIG1ha2UgYSBtYXAgb2Yge2NvbmRpdGlvbmFsczogWyhw
bGF0Zm9ybSwgbmV3X3ZhbHVlKV19CisjIFJlcGVhdCBmb3IgZWFjaCBwbGF0Zm9ybQorIyBGb3Ig
ZWFjaCB0ZXN0IGluIHRoZSBsaXN0IG9mIHRlc3RzOgorIyAgIGZvciBlYWNoIGNvbmRpdGlvbmFs
OgorIyAgICAgIElmIGFsbCB0aGUgbmV3IHZhbHVlcyBtYXRjaCAob3IgdGhlcmUgYXJlbid0IGFu
eSkgcmV0YWluIHRoYXQgY29uZGl0aW9uYWwKKyMgICAgICBJZiBhbnkgbmV3IHZhbHVlcyBtaXNt
YXRjaCBtYXJrIHRoZSB0ZXN0IGFzIG5lZWRpbmcgaHVtYW4gYXR0ZW50aW9uCisjICAgQ2hlY2sg
aWYgYWxsIHRoZSBSSFMgdmFsdWVzIGFyZSB0aGUgc2FtZTsgaWYgc28gY29sbGFwc2UgdGhlIGNv
bmRpdGlvbmFscworCisKK2RlZiB1cGRhdGVfZnJvbV9sb2dzKG1hbmlmZXN0cywgKmxvZ19maWxl
bmFtZXMsICoqa3dhcmdzKToKKyAgICBpZ25vcmVfZXhpc3RpbmcgPSBrd2FyZ3MuZ2V0KCJpZ25v
cmVfZXhpc3RpbmciLCBGYWxzZSkKKyAgICBwcm9wZXJ0eV9vcmRlciA9IGt3YXJncy5nZXQoInBy
b3BlcnR5X29yZGVyIikKKyAgICBib29sZWFuX3Byb3BlcnRpZXMgPSBrd2FyZ3MuZ2V0KCJib29s
ZWFuX3Byb3BlcnRpZXMiKQorCisgICAgZXhwZWN0ZWRfbWFwID0ge30KKyAgICBpZF90ZXN0X21h
cCA9IHt9CisKKyAgICBmb3IgdGVzdF9tYW5pZmVzdCwgcGF0aHMgaW4gbWFuaWZlc3RzLml0ZXJp
dGVtcygpOgorICAgICAgICBleHBlY3RlZF9tYXBfbWFuaWZlc3QsIGlkX3BhdGhfbWFwX21hbmlm
ZXN0ID0gY3JlYXRlX3Rlc3RfdHJlZSgKKyAgICAgICAgICAgIHBhdGhzWyJtZXRhZGF0YV9wYXRo
Il0sCisgICAgICAgICAgICB0ZXN0X21hbmlmZXN0LAorICAgICAgICAgICAgcHJvcGVydHlfb3Jk
ZXI9cHJvcGVydHlfb3JkZXIsCisgICAgICAgICAgICBib29sZWFuX3Byb3BlcnRpZXM9Ym9vbGVh
bl9wcm9wZXJ0aWVzKQorICAgICAgICBleHBlY3RlZF9tYXBbdGVzdF9tYW5pZmVzdF0gPSBleHBl
Y3RlZF9tYXBfbWFuaWZlc3QKKyAgICAgICAgaWRfdGVzdF9tYXAudXBkYXRlKGlkX3BhdGhfbWFw
X21hbmlmZXN0KQorCisgICAgdXBkYXRlciA9IEV4cGVjdGVkVXBkYXRlcihtYW5pZmVzdHMsIGV4
cGVjdGVkX21hcCwgaWRfdGVzdF9tYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
Z25vcmVfZXhpc3Rpbmc9aWdub3JlX2V4aXN0aW5nKQorICAgIGZvciBsb2dfZmlsZW5hbWUgaW4g
bG9nX2ZpbGVuYW1lczoKKyAgICAgICAgd2l0aCBvcGVuKGxvZ19maWxlbmFtZSkgYXMgZjoKKyAg
ICAgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21fbG9nKGYpCisKKyAgICBmb3IgbWFuaWZlc3Rf
ZXhwZWN0ZWQgaW4gZXhwZWN0ZWRfbWFwLml0ZXJ2YWx1ZXMoKToKKyAgICAgICAgZm9yIHRyZWUg
aW4gbWFuaWZlc3RfZXhwZWN0ZWQuaXRlcnZhbHVlcygpOgorICAgICAgICAgICAgZm9yIHRlc3Qg
aW4gdHJlZS5pdGVyY2hpbGRyZW4oKToKKyAgICAgICAgICAgICAgICBmb3Igc3VidGVzdCBpbiB0
ZXN0Lml0ZXJjaGlsZHJlbigpOgorICAgICAgICAgICAgICAgICAgICBzdWJ0ZXN0LmNvYWxlc2Nl
X2V4cGVjdGVkKCkKKyAgICAgICAgICAgICAgICB0ZXN0LmNvYWxlc2NlX2V4cGVjdGVkKCkKKwor
ICAgIHJldHVybiBleHBlY3RlZF9tYXAKKworZGVmIGRpcmVjdG9yeV9tYW5pZmVzdHMobWV0YWRh
dGFfcGF0aCk6CisgICAgcnYgPSBbXQorICAgIGZvciBkaXJwYXRoLCBkaXJuYW1lLCBmaWxlbmFt
ZXMgaW4gb3Mud2FsayhtZXRhZGF0YV9wYXRoKToKKyAgICAgICAgaWYgIl9fZGlyX18uaW5pIiBp
biBmaWxlbmFtZXM6CisgICAgICAgICAgICByZWxfcGF0aCA9IG9zLnBhdGgucmVscGF0aChkaXJw
YXRoLCBtZXRhZGF0YV9wYXRoKQorICAgICAgICAgICAgcnYuYXBwZW5kKG9zLnBhdGguam9pbihy
ZWxfcGF0aCwgIl9fZGlyX18uaW5pIikpCisgICAgcmV0dXJuIHJ2CisKK2RlZiB3cml0ZV9jaGFu
Z2VzKG1ldGFkYXRhX3BhdGgsIGV4cGVjdGVkX21hcCk6CisgICAgIyBGaXJzdCB3cml0ZSB0aGUg
bmV3IG1hbmlmZXN0IGZpbGVzIHRvIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeQorICAgIHRlbXBfcGF0
aCA9IHRlbXBmaWxlLm1rZHRlbXAoZGlyPW9zLnBhdGguc3BsaXQobWV0YWRhdGFfcGF0aClbMF0p
CisgICAgd3JpdGVfbmV3X2V4cGVjdGVkKHRlbXBfcGF0aCwgZXhwZWN0ZWRfbWFwKQorCisgICAg
IyBLZWVwIGFsbCBfX2Rpcl9fLmluaSBmaWxlcyAodGhlc2UgYXJlIG5vdCBpbiBleHBlY3RlZF9t
YXAgYmVjYXVzZSB0aGV5CisgICAgIyBhcmVuJ3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMg
dGVzdCkKKyAgICBrZWVwX2ZpbGVzID0gZGlyZWN0b3J5X21hbmlmZXN0cyhtZXRhZGF0YV9wYXRo
KQorCisgICAgIyBDb3B5IGFsbCBmaWxlcyBpbiB0aGUgcm9vdCB0byB0aGUgdGVtcG9yYXJ5IGxv
Y2F0aW9uIHNpbmNlCisgICAgIyB0aGVzZSBjYW5ub3QgYmUgaW5pIGZpbGVzCisgICAga2VlcF9m
aWxlcy5leHRlbmQoaXRlbSBmb3IgaXRlbSBpbiBvcy5saXN0ZGlyKG1ldGFkYXRhX3BhdGgpIGlm
CisgICAgICAgICAgICAgICAgICAgICAgbm90IG9zLnBhdGguaXNkaXIob3MucGF0aC5qb2luKG1l
dGFkYXRhX3BhdGgsIGl0ZW0pKSkKKworICAgIGZvciBpdGVtIGluIGtlZXBfZmlsZXM6CisgICAg
ICAgIGRlc3RfZGlyID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguam9pbih0ZW1wX3BhdGgsIGl0
ZW0pKQorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGVzdF9kaXIpOgorICAgICAgICAg
ICAgb3MubWFrZWRpcnMoZGVzdF9kaXIpCisgICAgICAgIHNodXRpbC5jb3B5ZmlsZShvcy5wYXRo
LmpvaW4obWV0YWRhdGFfcGF0aCwgaXRlbSksCisgICAgICAgICAgICAgICAgICAgICAgICBvcy5w
YXRoLmpvaW4odGVtcF9wYXRoLCBpdGVtKSkKKworICAgICMgVGhlbiBtb3ZlIHRoZSBvbGQgbWFu
aWZlc3QgZmlsZXMgdG8gYSBuZXcgbG9jYXRpb24KKyAgICB0ZW1wX3BhdGhfMiA9IG1ldGFkYXRh
X3BhdGggKyBzdHIodXVpZC51dWlkNCgpKQorICAgIG9zLnJlbmFtZShtZXRhZGF0YV9wYXRoLCB0
ZW1wX3BhdGhfMikKKyAgICAjIE1vdmUgdGhlIG5ldyBmaWxlcyB0byB0aGUgZGVzdGluYXRpb24g
bG9jYXRpb24gYW5kIHJlbW92ZSB0aGUgb2xkIGZpbGVzCisgICAgb3MucmVuYW1lKHRlbXBfcGF0
aCwgbWV0YWRhdGFfcGF0aCkKKyAgICBzaHV0aWwucm10cmVlKHRlbXBfcGF0aF8yKQorCisKK2Rl
ZiB3cml0ZV9uZXdfZXhwZWN0ZWQobWV0YWRhdGFfcGF0aCwgZXhwZWN0ZWRfbWFwKToKKyAgICAj
IFNlcmlhbGl6ZSB0aGUgZGF0YSBiYWNrIHRvIGEgZmlsZQorICAgIGZvciB0cmVlIGluIGV4cGVj
dGVkX21hcC5pdGVydmFsdWVzKCk6CisgICAgICAgIGlmIG5vdCB0cmVlLmlzX2VtcHR5OgorICAg
ICAgICAgICAgbWFuaWZlc3Rfc3RyID0gd3B0bWFuaWZlc3Quc2VyaWFsaXplKHRyZWUubm9kZSwg
c2tpcF9lbXB0eV9kYXRhPVRydWUpCisgICAgICAgICAgICBhc3NlcnQgbWFuaWZlc3Rfc3RyICE9
ICIiCisgICAgICAgICAgICBwYXRoID0gZXhwZWN0ZWQuZXhwZWN0ZWRfcGF0aChtZXRhZGF0YV9w
YXRoLCB0cmVlLnRlc3RfcGF0aCkKKyAgICAgICAgICAgIGRpciA9IG9zLnBhdGguc3BsaXQocGF0
aClbMF0KKyAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkaXIpOgorICAgICAgICAg
ICAgICAgIG9zLm1ha2VkaXJzKGRpcikKKyAgICAgICAgICAgIHdpdGggb3BlbihwYXRoLCAidyIp
IGFzIGY6CisgICAgICAgICAgICAgICAgZi53cml0ZShtYW5pZmVzdF9zdHIpCisKKworY2xhc3Mg
RXhwZWN0ZWRVcGRhdGVyKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfbWFu
aWZlc3RzLCBleHBlY3RlZF90cmVlLCBpZF9wYXRoX21hcCwgaWdub3JlX2V4aXN0aW5nPUZhbHNl
KToKKyAgICAgICAgc2VsZi50ZXN0X21hbmlmZXN0cyA9IHRlc3RfbWFuaWZlc3RzCisgICAgICAg
IHNlbGYuZXhwZWN0ZWRfdHJlZSA9IGV4cGVjdGVkX3RyZWUKKyAgICAgICAgc2VsZi5pZF9wYXRo
X21hcCA9IGlkX3BhdGhfbWFwCisgICAgICAgIHNlbGYuaWdub3JlX2V4aXN0aW5nID0gaWdub3Jl
X2V4aXN0aW5nCisgICAgICAgIHNlbGYucnVuX2luZm8gPSBOb25lCisgICAgICAgIHNlbGYuYWN0
aW9uX21hcCA9IHsic3VpdGVfc3RhcnQiOiBzZWxmLnN1aXRlX3N0YXJ0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInRlc3Rfc3RhcnQiOiBzZWxmLnRlc3Rfc3RhcnQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidGVzdF9zdGF0dXMiOiBzZWxmLnRlc3Rfc3RhdHVzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInRlc3RfZW5kIjogc2VsZi50ZXN0X2VuZH0KKyAgICAgICAg
c2VsZi50ZXN0c192aXNpdGVkID0ge30KKworICAgICAgICBzZWxmLnRlc3RfY2FjaGUgPSB7fQor
CisgICAgZGVmIHVwZGF0ZV9mcm9tX2xvZyhzZWxmLCBsb2dfZmlsZSk6CisgICAgICAgIHNlbGYu
cnVuX2luZm8gPSBOb25lCisgICAgICAgIGxvZ19yZWFkZXIgPSByZWFkZXIucmVhZChsb2dfZmls
ZSkKKyAgICAgICAgcmVhZGVyLmVhY2hfbG9nKGxvZ19yZWFkZXIsIHNlbGYuYWN0aW9uX21hcCkK
KworICAgIGRlZiBzdWl0ZV9zdGFydChzZWxmLCBkYXRhKToKKyAgICAgICAgc2VsZi5ydW5faW5m
byA9IGRhdGFbInJ1bl9pbmZvIl0KKworICAgIGRlZiB0ZXN0X2lkKHNlbGYsIGlkKToKKyAgICAg
ICAgaWYgdHlwZShpZCkgaW4gdHlwZXMuU3RyaW5nVHlwZXM6CisgICAgICAgICAgICByZXR1cm4g
aWQKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiB0dXBsZShpZCkKKworICAgIGRl
ZiB0ZXN0X3N0YXJ0KHNlbGYsIGRhdGEpOgorICAgICAgICB0ZXN0X2lkID0gc2VsZi50ZXN0X2lk
KGRhdGFbInRlc3QiXSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdGVzdF9tYW5pZmVzdCwg
dGVzdCA9IHNlbGYuaWRfcGF0aF9tYXBbdGVzdF9pZF0KKyAgICAgICAgICAgIGV4cGVjdGVkX25v
ZGUgPSBzZWxmLmV4cGVjdGVkX3RyZWVbdGVzdF9tYW5pZmVzdF1bdGVzdF0uZ2V0X3Rlc3QodGVz
dF9pZCkKKyAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgcHJpbnQgIlRlc3Qg
bm90IGZvdW5kICVzLCBza2lwcGluZyIgJSB0ZXN0X2lkCisgICAgICAgICAgICByZXR1cm4KKyAg
ICAgICAgc2VsZi50ZXN0X2NhY2hlW3Rlc3RfaWRdID0gZXhwZWN0ZWRfbm9kZQorCisgICAgICAg
IGlmIHRlc3RfaWQgbm90IGluIHNlbGYudGVzdHNfdmlzaXRlZDoKKyAgICAgICAgICAgIGlmIHNl
bGYuaWdub3JlX2V4aXN0aW5nOgorICAgICAgICAgICAgICAgIGV4cGVjdGVkX25vZGUuY2xlYXJf
ZXhwZWN0ZWQoKQorICAgICAgICAgICAgc2VsZi50ZXN0c192aXNpdGVkW3Rlc3RfaWRdID0gc2V0
KCkKKworICAgIGRlZiB0ZXN0X3N0YXR1cyhzZWxmLCBkYXRhKToKKyAgICAgICAgdGVzdF9pZCA9
IHNlbGYudGVzdF9pZChkYXRhWyJ0ZXN0Il0pCisgICAgICAgIHRlc3QgPSBzZWxmLnRlc3RfY2Fj
aGUuZ2V0KHRlc3RfaWQpCisgICAgICAgIGlmIHRlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIHJl
dHVybgorICAgICAgICB0ZXN0X2NscyA9IHdwdHRlc3QubWFuaWZlc3RfdGVzdF9jbHNbdGVzdC50
ZXN0X3R5cGVdCisKKyAgICAgICAgc3VidGVzdCA9IHRlc3QuZ2V0X3N1YnRlc3QoZGF0YVsic3Vi
dGVzdCJdKQorCisgICAgICAgIHNlbGYudGVzdHNfdmlzaXRlZFt0ZXN0LmlkXS5hZGQoZGF0YVsi
c3VidGVzdCJdKQorCisgICAgICAgIHJlc3VsdCA9IHRlc3RfY2xzLnN1YnRlc3RfcmVzdWx0X2Ns
cygKKyAgICAgICAgICAgIGRhdGFbInN1YnRlc3QiXSwKKyAgICAgICAgICAgIGRhdGFbInN0YXR1
cyJdLAorICAgICAgICAgICAgZGF0YS5nZXQoIm1lc3NhZ2UiKSkKKworICAgICAgICBzdWJ0ZXN0
LnNldF9yZXN1bHQoc2VsZi5ydW5faW5mbywgcmVzdWx0KQorCisgICAgZGVmIHRlc3RfZW5kKHNl
bGYsIGRhdGEpOgorICAgICAgICB0ZXN0X2lkID0gc2VsZi50ZXN0X2lkKGRhdGFbInRlc3QiXSkK
KyAgICAgICAgdGVzdCA9IHNlbGYudGVzdF9jYWNoZS5nZXQodGVzdF9pZCkKKyAgICAgICAgaWYg
dGVzdCBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHRlc3RfY2xzID0gd3B0
dGVzdC5tYW5pZmVzdF90ZXN0X2Nsc1t0ZXN0LnRlc3RfdHlwZV0KKworICAgICAgICBpZiBkYXRh
WyJzdGF0dXMiXSA9PSAiU0tJUCI6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICByZXN1
bHQgPSB0ZXN0X2Nscy5yZXN1bHRfY2xzKAorICAgICAgICAgICAgZGF0YVsic3RhdHVzIl0sCisg
ICAgICAgICAgICBkYXRhLmdldCgibWVzc2FnZSIpKQorCisgICAgICAgIHRlc3Quc2V0X3Jlc3Vs
dChzZWxmLnJ1bl9pbmZvLCByZXN1bHQpCisgICAgICAgIGRlbCBzZWxmLnRlc3RfY2FjaGVbdGVz
dF9pZF0KKworCitkZWYgY3JlYXRlX3Rlc3RfdHJlZShtZXRhZGF0YV9wYXRoLCB0ZXN0X21hbmlm
ZXN0LCBwcm9wZXJ0eV9vcmRlcj1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgYm9vbGVhbl9w
cm9wZXJ0aWVzPU5vbmUpOgorICAgIGV4cGVjdGVkX21hcCA9IHt9CisgICAgaWRfdGVzdF9tYXAg
PSB7fQorICAgIGV4Y2x1ZGVfdHlwZXMgPSBmcm96ZW5zZXQoWyJzdHViIiwgImhlbHBlciIsICJt
YW51YWwiLCAic3VwcG9ydCIsICJjb25mb3JtYW5jZWNoZWNrZXIiXSkKKyAgICBhbGxfdHlwZXMg
PSBbaXRlbS5pdGVtX3R5cGUgZm9yIGl0ZW0gaW4gbWFuaWZlc3RpdGVtLl9fZGljdF9fLml0ZXJ2
YWx1ZXMoKQorICAgICAgICAgICAgICAgICBpZiB0eXBlKGl0ZW0pID09IHR5cGUgYW5kCisgICAg
ICAgICAgICAgICAgIGlzc3ViY2xhc3MoaXRlbSwgbWFuaWZlc3RpdGVtLk1hbmlmZXN0SXRlbSkg
YW5kCisgICAgICAgICAgICAgICAgIGl0ZW0uaXRlbV90eXBlIGlzIG5vdCBOb25lXQorICAgIGlu
Y2x1ZGVfdHlwZXMgPSBzZXQoYWxsX3R5cGVzKSAtIGV4Y2x1ZGVfdHlwZXMKKyAgICBmb3IgXywg
dGVzdF9wYXRoLCB0ZXN0cyBpbiB0ZXN0X21hbmlmZXN0Lml0ZXJ0eXBlcygqaW5jbHVkZV90eXBl
cyk6CisgICAgICAgIGV4cGVjdGVkX2RhdGEgPSBsb2FkX2V4cGVjdGVkKHRlc3RfbWFuaWZlc3Qs
IG1ldGFkYXRhX3BhdGgsIHRlc3RfcGF0aCwgdGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHByb3BlcnR5X29yZGVyPXByb3BlcnR5X29yZGVyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFuX3Byb3BlcnRpZXM9Ym9vbGVhbl9w
cm9wZXJ0aWVzKQorICAgICAgICBpZiBleHBlY3RlZF9kYXRhIGlzIE5vbmU6CisgICAgICAgICAg
ICBleHBlY3RlZF9kYXRhID0gY3JlYXRlX2V4cGVjdGVkKHRlc3RfbWFuaWZlc3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcGF0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdHMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5X29yZGVyPXByb3BlcnR5X29y
ZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sZWFu
X3Byb3BlcnRpZXM9Ym9vbGVhbl9wcm9wZXJ0aWVzKQorCisgICAgICAgIGZvciB0ZXN0IGluIHRl
c3RzOgorICAgICAgICAgICAgaWRfdGVzdF9tYXBbdGVzdC5pZF0gPSAodGVzdF9tYW5pZmVzdCwg
dGVzdCkKKyAgICAgICAgICAgIGV4cGVjdGVkX21hcFt0ZXN0XSA9IGV4cGVjdGVkX2RhdGEKKwor
ICAgIHJldHVybiBleHBlY3RlZF9tYXAsIGlkX3Rlc3RfbWFwCisKKworZGVmIGNyZWF0ZV9leHBl
Y3RlZCh0ZXN0X21hbmlmZXN0LCB0ZXN0X3BhdGgsIHRlc3RzLCBwcm9wZXJ0eV9vcmRlcj1Ob25l
LAorICAgICAgICAgICAgICAgICAgICBib29sZWFuX3Byb3BlcnRpZXM9Tm9uZSk6CisgICAgZXhw
ZWN0ZWQgPSBtYW5pZmVzdHVwZGF0ZS5FeHBlY3RlZE1hbmlmZXN0KE5vbmUsIHRlc3RfcGF0aCwg
dGVzdF9tYW5pZmVzdC51cmxfYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHJvcGVydHlfb3JkZXI9cHJvcGVydHlfb3JkZXIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcz1i
b29sZWFuX3Byb3BlcnRpZXMpCisgICAgZm9yIHRlc3QgaW4gdGVzdHM6CisgICAgICAgIGV4cGVj
dGVkLmFwcGVuZChtYW5pZmVzdHVwZGF0ZS5UZXN0Tm9kZS5jcmVhdGUodGVzdC5pdGVtX3R5cGUs
IHRlc3QuaWQpKQorICAgIHJldHVybiBleHBlY3RlZAorCisKK2RlZiBsb2FkX2V4cGVjdGVkKHRl
c3RfbWFuaWZlc3QsIG1ldGFkYXRhX3BhdGgsIHRlc3RfcGF0aCwgdGVzdHMsIHByb3BlcnR5X29y
ZGVyPU5vbmUsCisgICAgICAgICAgICAgICAgICBib29sZWFuX3Byb3BlcnRpZXM9Tm9uZSk6Cisg
ICAgZXhwZWN0ZWRfbWFuaWZlc3QgPSBtYW5pZmVzdHVwZGF0ZS5nZXRfbWFuaWZlc3QobWV0YWRh
dGFfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdF9tYW5pZmVzdC51cmxfYmFzZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eV9vcmRlcj1wcm9wZXJ0eV9v
cmRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBib29sZWFuX3Byb3BlcnRpZXM9Ym9vbGVhbl9wcm9wZXJ0aWVzKQorICAgIGlmIGV4cGVjdGVk
X21hbmlmZXN0IGlzIE5vbmU6CisgICAgICAgIHJldHVybgorCisgICAgdGVzdHNfYnlfaWQgPSB7
aXRlbS5pZDogaXRlbSBmb3IgaXRlbSBpbiB0ZXN0c30KKworICAgICMgUmVtb3ZlIGV4cGVjdGVk
IGRhdGEgZm9yIHRlc3RzIHRoYXQgbm8gbG9uZ2VyIGV4aXN0CisgICAgZm9yIHRlc3QgaW4gZXhw
ZWN0ZWRfbWFuaWZlc3QuaXRlcmNoaWxkcmVuKCk6CisgICAgICAgIGlmIG5vdCB0ZXN0LmlkIGlu
IHRlc3RzX2J5X2lkOgorICAgICAgICAgICAgdGVzdC5yZW1vdmUoKQorCisgICAgIyBBZGQgdGVz
dHMgdGhhdCBkb24ndCBoYXZlIGV4cGVjdGVkIGRhdGEKKyAgICBmb3IgdGVzdCBpbiB0ZXN0czoK
KyAgICAgICAgaWYgbm90IGV4cGVjdGVkX21hbmlmZXN0Lmhhc190ZXN0KHRlc3QuaWQpOgorICAg
ICAgICAgICAgZXhwZWN0ZWRfbWFuaWZlc3QuYXBwZW5kKG1hbmlmZXN0dXBkYXRlLlRlc3ROb2Rl
LmNyZWF0ZSh0ZXN0Lml0ZW1fdHlwZSwgdGVzdC5pZCkpCisKKyAgICByZXR1cm4gZXhwZWN0ZWRf
bWFuaWZlc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9wcm9kdWN0cy5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9wcm9kdWN0cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMDc3Zjk1ZGZkOTU2Yjg5ZjM3YzQ1ZmU3ZGE2
Mjk5ZjVhNWZiODU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Byb2R1Y3RzLnB5
CkBAIC0wLDAgKzEsNjkgQEAKK2ltcG9ydCBvcworaW1wb3J0IGltcG9ydGxpYgoraW1wb3J0IGlt
cAorCitmcm9tIC5icm93c2VycyBpbXBvcnQgcHJvZHVjdF9saXN0CisKK2RlZiBwcm9kdWN0c19l
bmFibGVkKGNvbmZpZyk6CisgICAgbmFtZXMgPSBjb25maWcuZ2V0KCJwcm9kdWN0cyIsIHt9KS5r
ZXlzKCkKKyAgICBpZiBub3QgbmFtZXM6CisgICAgICAgIHJldHVybiBwcm9kdWN0X2xpc3QKKyAg
ICBlbHNlOgorICAgICAgICByZXR1cm4gbmFtZXMKKworZGVmIHByb2R1Y3RfbW9kdWxlKGNvbmZp
ZywgcHJvZHVjdCk6CisgICAgaGVyZSA9IG9zLnBhdGguam9pbihvcy5wYXRoLnNwbGl0KF9fZmls
ZV9fKVswXSkKKyAgICBwcm9kdWN0X2RpciA9IG9zLnBhdGguam9pbihoZXJlLCAiYnJvd3NlcnMi
KQorCisgICAgaWYgcHJvZHVjdCBub3QgaW4gcHJvZHVjdHNfZW5hYmxlZChjb25maWcpOgorICAg
ICAgICByYWlzZSBWYWx1ZUVycm9yKCJVbmtub3duIHByb2R1Y3QgJXMiICUgcHJvZHVjdCkKKwor
ICAgIHBhdGggPSBjb25maWcuZ2V0KCJwcm9kdWN0cyIsIHt9KS5nZXQocHJvZHVjdCwgTm9uZSkK
KyAgICBpZiBwYXRoOgorICAgICAgICBtb2R1bGUgPSBpbXAubG9hZF9zb3VyY2UoJ3dwdHJ1bm5l
ci5icm93c2Vycy4nICsgcHJvZHVjdCwgcGF0aCkKKyAgICBlbHNlOgorICAgICAgICBtb2R1bGUg
PSBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZSgid3B0cnVubmVyLmJyb3dzZXJzLiIgKyBwcm9kdWN0
KQorCisgICAgaWYgbm90IGhhc2F0dHIobW9kdWxlLCAiX193cHRydW5uZXJfXyIpOgorICAgICAg
ICByYWlzZSBWYWx1ZUVycm9yKCJQcm9kdWN0IG1vZHVsZSBkb2VzIG5vdCBkZWZpbmUgX193cHRy
dW5uZXJfXyB2YXJpYWJsZSIpCisKKyAgICByZXR1cm4gbW9kdWxlCisKKworZGVmIGxvYWRfcHJv
ZHVjdChjb25maWcsIHByb2R1Y3QpOgorICAgIG1vZHVsZSA9IHByb2R1Y3RfbW9kdWxlKGNvbmZp
ZywgcHJvZHVjdCkKKyAgICBkYXRhID0gbW9kdWxlLl9fd3B0cnVubmVyX18KKworICAgIGNoZWNr
X2FyZ3MgPSBnZXRhdHRyKG1vZHVsZSwgZGF0YVsiY2hlY2tfYXJncyJdKQorICAgIGJyb3dzZXJf
Y2xzID0gZ2V0YXR0cihtb2R1bGUsIGRhdGFbImJyb3dzZXIiXSkKKyAgICBicm93c2VyX2t3YXJn
cyA9IGdldGF0dHIobW9kdWxlLCBkYXRhWyJicm93c2VyX2t3YXJncyJdKQorICAgIGV4ZWN1dG9y
X2t3YXJncyA9IGdldGF0dHIobW9kdWxlLCBkYXRhWyJleGVjdXRvcl9rd2FyZ3MiXSkKKyAgICBl
bnZfb3B0aW9ucyA9IGdldGF0dHIobW9kdWxlLCBkYXRhWyJlbnZfb3B0aW9ucyJdKSgpCisgICAg
ZW52X2V4dHJhcyA9IGdldGF0dHIobW9kdWxlLCBkYXRhWyJlbnZfZXh0cmFzIl0pCisgICAgcnVu
X2luZm9fZXh0cmFzID0gKGdldGF0dHIobW9kdWxlLCBkYXRhWyJydW5faW5mb19leHRyYXMiXSkK
KyAgICAgICAgICAgICAgICAgICAgICAgaWYgInJ1bl9pbmZvX2V4dHJhcyIgaW4gZGF0YSBlbHNl
IGxhbWJkYSAqKmt3YXJnczp7fSkKKworICAgIGV4ZWN1dG9yX2NsYXNzZXMgPSB7fQorICAgIGZv
ciB0ZXN0X3R5cGUsIGNsc19uYW1lIGluIGRhdGFbImV4ZWN1dG9yIl0uaXRlcml0ZW1zKCk6Cisg
ICAgICAgIGNscyA9IGdldGF0dHIobW9kdWxlLCBjbHNfbmFtZSkKKyAgICAgICAgZXhlY3V0b3Jf
Y2xhc3Nlc1t0ZXN0X3R5cGVdID0gY2xzCisKKyAgICByZXR1cm4gKGNoZWNrX2FyZ3MsCisgICAg
ICAgICAgICBicm93c2VyX2NscywgYnJvd3Nlcl9rd2FyZ3MsCisgICAgICAgICAgICBleGVjdXRv
cl9jbGFzc2VzLCBleGVjdXRvcl9rd2FyZ3MsCisgICAgICAgICAgICBlbnZfb3B0aW9ucywgZW52
X2V4dHJhcywgcnVuX2luZm9fZXh0cmFzKQorCisKK2RlZiBsb2FkX3Byb2R1Y3RfdXBkYXRlKGNv
bmZpZywgcHJvZHVjdCk6CisgICAgIiIiUmV0dXJuIHR1cGxlIG9mIChwcm9wZXJ0eV9vcmRlciwg
Ym9vbGVhbl9wcm9wZXJ0aWVzKSBpbmRpY2F0aW5nIHRoZQorICAgIHJ1bl9pbmZvIHByb3BlcnRp
ZXMgdG8gdXNlIHdoZW4gY29uc3RydWN0aW5nIHRoZSBleHBlY3RhdGlvbiBkYXRhIGZvcgorICAg
IHRoaXMgcHJvZHVjdC4gTm9uZSBmb3IgZWl0aGVyIGtleSBpbmRpY2F0ZXMgdGhhdCB0aGUgZGVm
YXVsdCBrZXlzCisgICAgYXBwcm9wcmlhdGUgZm9yIGRpc3Rpbmd1aXNoaW5nIGJhc2VkIG9uIHBs
YXRmb3JtIHdpbGwgYmUgdXNlZC4iIiIKKworICAgIG1vZHVsZSA9IHByb2R1Y3RfbW9kdWxlKGNv
bmZpZywgcHJvZHVjdCkKKyAgICBkYXRhID0gbW9kdWxlLl9fd3B0cnVubmVyX18KKworICAgIHVw
ZGF0ZV9wcm9wZXJ0aWVzID0gKGdldGF0dHIobW9kdWxlLCBkYXRhWyJ1cGRhdGVfcHJvcGVydGll
cyJdKSgpCisgICAgICAgICAgICAgICAgICAgICAgICAgaWYgInVwZGF0ZV9wcm9wZXJ0aWVzIiBp
biBkYXRhIGVsc2UgKE5vbmUsIE5vbmUpKQorCisgICAgcmV0dXJuIHVwZGF0ZV9wcm9wZXJ0aWVz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvcmVkdWNlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3JlZHVj
ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kMjQ1ZWUzNjAyYjk3ZTE0NDYzYTU3Yzg0ZjEzMmZiNGQ2NDRmOGY5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3JlZHVjZS5weQpAQCAtMCwwICsxLDE5
MyBAQAoraW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCitmcm9tIGNTdHJpbmdJTyBpbXBvcnQg
U3RyaW5nSU8KK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlZmF1bHRkaWN0CisKK2ltcG9ydCB3
cHRydW5uZXIKK2ltcG9ydCB3cHR0ZXN0CisKK2Zyb20gbW96bG9nIGltcG9ydCBjb21tYW5kbGlu
ZSwgcmVhZGVyCisKK2xvZ2dlciA9IE5vbmUKKworCitkZWYgc2V0dXBfbG9nZ2luZyhhcmdzLCBk
ZWZhdWx0cyk6CisgICAgZ2xvYmFsIGxvZ2dlcgorICAgIGxvZ2dlciA9IGNvbW1hbmRsaW5lLnNl
dHVwX2xvZ2dpbmcoIndlYi1wbGF0Zm9ybS10ZXN0cy11bnN0YWJsZSIsIGFyZ3MsIGRlZmF1bHRz
KQorICAgIHdwdHJ1bm5lci5zZXR1cF9zdGRsaWJfbG9nZ2VyKCkKKworICAgIGZvciBuYW1lIGlu
IGFyZ3Mua2V5cygpOgorICAgICAgICBpZiBuYW1lLnN0YXJ0c3dpdGgoImxvZ18iKToKKyAgICAg
ICAgICAgIGFyZ3MucG9wKG5hbWUpCisKKyAgICByZXR1cm4gbG9nZ2VyCisKKworZGVmIGdyb3Vw
KGl0ZW1zLCBzaXplKToKKyAgICBydiA9IFtdCisgICAgaSA9IDAKKyAgICB3aGlsZSBpIDwgbGVu
KGl0ZW1zKToKKyAgICAgICAgcnYuYXBwZW5kKGl0ZW1zW2k6aSArIHNpemVdKQorICAgICAgICBp
ICs9IHNpemUKKworICAgIHJldHVybiBydgorCisKK2RlZiBuZXh0X3Bvd2VyX29mX3R3byhudW0p
OgorICAgIHJ2ID0gMQorICAgIHdoaWxlIHJ2IDwgbnVtOgorICAgICAgICBydiA9IHJ2IDw8IDEK
KyAgICByZXR1cm4gcnYKKworCitjbGFzcyBSZWR1Y2VyKG9iamVjdCk6CisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHRhcmdldCwgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnRhcmdldCA9IHRhcmdl
dAorCisgICAgICAgIHNlbGYudGVzdF90eXBlID0ga3dhcmdzWyJ0ZXN0X3R5cGVzIl1bMF0KKyAg
ICAgICAgcnVuX2luZm8gPSB3cHR0ZXN0LmdldF9ydW5faW5mbyhrd2FyZ3NbIm1ldGFkYXRhX3Jv
b3QiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZ3NbInBy
b2R1Y3QiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Zz1G
YWxzZSkKKyAgICAgICAgdGVzdF9maWx0ZXIgPSB3cHRydW5uZXIuVGVzdEZpbHRlcihpbmNsdWRl
PWt3YXJnc1siaW5jbHVkZSJdKQorICAgICAgICBzZWxmLnRlc3RfbG9hZGVyID0gd3B0cnVubmVy
LlRlc3RMb2FkZXIoa3dhcmdzWyJ0ZXN0c19yb290Il0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZ3NbIm1ldGFkYXRhX3Jvb3QiXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxmLnRlc3RfdHlw
ZV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5f
aW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h
bmlmZXN0X2ZpbGVyPXRlc3RfZmlsdGVyKQorICAgICAgICBpZiBrd2FyZ3NbInJlcGVhdCJdID09
IDE6CisgICAgICAgICAgICBsb2dnZXIuY3JpdGljYWwoIk5lZWQgdG8gc3BlY2lmeSAtLXJlcGVh
dCB3aXRoIG1vcmUgdGhhbiBvbmUgcmVwZXRpdGlvbiIpCisgICAgICAgICAgICBzeXMuZXhpdCgx
KQorICAgICAgICBzZWxmLmt3YXJncyA9IGt3YXJncworCisgICAgZGVmIHJ1bihzZWxmKToKKyAg
ICAgICAgYWxsX3Rlc3RzID0gc2VsZi5nZXRfaW5pdGlhbF90ZXN0cygpCisKKyAgICAgICAgdGVz
dHMgPSBhbGxfdGVzdHNbOi0xXQorICAgICAgICB0YXJnZXRfdGVzdCA9IFthbGxfdGVzdHNbLTFd
XQorCisgICAgICAgIGlmIHNlbGYudW5zdGFibGUodGFyZ2V0X3Rlc3QpOgorICAgICAgICAgICAg
cmV0dXJuIHRhcmdldF90ZXN0CisKKyAgICAgICAgaWYgbm90IHNlbGYudW5zdGFibGUoYWxsX3Rl
c3RzKToKKyAgICAgICAgICAgIHJldHVybiBbXQorCisgICAgICAgIGNodW5rX3NpemUgPSBuZXh0
X3Bvd2VyX29mX3R3byhpbnQobGVuKHRlc3RzKSAvIDIpKQorICAgICAgICBsb2dnZXIuZGVidWco
IlVzaW5nIGNodW5rIHNpemUgJWkiICUgY2h1bmtfc2l6ZSkKKworICAgICAgICB3aGlsZSBjaHVu
a19zaXplID49IDE6CisgICAgICAgICAgICBsb2dnZXIuZGVidWcoIiVpIHRlc3RzIHJlbWFpbiIg
JSBsZW4odGVzdHMpKQorICAgICAgICAgICAgY2h1bmtzID0gZ3JvdXAodGVzdHMsIGNodW5rX3Np
emUpCisgICAgICAgICAgICBjaHVua19yZXN1bHRzID0gW05vbmVdICogbGVuKGNodW5rcykKKwor
ICAgICAgICAgICAgZm9yIGksIGNodW5rIGluIGVudW1lcmF0ZShjaHVua3MpOgorICAgICAgICAg
ICAgICAgIGxvZ2dlci5kZWJ1ZygiUnVubmluZyBjaHVuayAlaS8laSBvZiBzaXplICVpIiAlIChp
ICsgMSwgbGVuKGNodW5rcyksIGNodW5rX3NpemUpKQorICAgICAgICAgICAgICAgIHRyaWFsX3Rl
c3RzID0gW10KKyAgICAgICAgICAgICAgICBjaHVua19zdHIgPSAiIgorICAgICAgICAgICAgICAg
IGZvciBqLCBpbmNfY2h1bmsgaW4gZW51bWVyYXRlKGNodW5rcyk6CisgICAgICAgICAgICAgICAg
ICAgIGlmIGkgIT0gaiBhbmQgY2h1bmtfcmVzdWx0c1tqXSBpbiAoTm9uZSwgRmFsc2UpOgorICAg
ICAgICAgICAgICAgICAgICAgICAgY2h1bmtfc3RyICs9ICIrIgorICAgICAgICAgICAgICAgICAg
ICAgICAgdHJpYWxfdGVzdHMuZXh0ZW5kKGluY19jaHVuaykKKyAgICAgICAgICAgICAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rX3N0ciArPSAiLSIKKyAgICAgICAg
ICAgICAgICBsb2dnZXIuZGVidWcoIlVzaW5nIGNodW5rcyAlcyIgJSBjaHVua19zdHIpCisgICAg
ICAgICAgICAgICAgdHJpYWxfdGVzdHMuZXh0ZW5kKHRhcmdldF90ZXN0KQorCisgICAgICAgICAg
ICAgICAgY2h1bmtfcmVzdWx0c1tpXSA9IHNlbGYudW5zdGFibGUodHJpYWxfdGVzdHMpCisKKyAg
ICAgICAgICAgICAgICAjIGlmIGkgPT0gbGVuKGNodW5rcykgLSAyIGFuZCBhbGwoaXRlbSBpcyBG
YWxzZSBmb3IgaXRlbSBpbiBjaHVua19yZXN1bHRzWzotMV0pOgorICAgICAgICAgICAgICAgICMg
RGFuZ2Vyb3VzPyBvcHRpbWlzYXRpb24gdGhhdCBpZiB5b3UgZ290IHN0YWJpbGl0eSBmb3IgMC4u
Ti0xIGNodW5rcworICAgICAgICAgICAgICAgICMgaXQgbXVzdCBiZSB1bnN0YWJsZSB3aXRoIHRo
ZSBOdGggY2h1bmsKKyAgICAgICAgICAgICAgICAjICAgICBjaHVua19yZXN1bHRzW2krMV0gPSBU
cnVlCisgICAgICAgICAgICAgICAgIyAgICAgY29udGludWUKKworICAgICAgICAgICAgbmV3X3Rl
c3RzID0gW10KKyAgICAgICAgICAgIGtlZXBfc3RyID0gIiIKKyAgICAgICAgICAgIGZvciByZXN1
bHQsIGNodW5rIGluIHppcChjaHVua19yZXN1bHRzLCBjaHVua3MpOgorICAgICAgICAgICAgICAg
IGlmIG5vdCByZXN1bHQ6CisgICAgICAgICAgICAgICAgICAgIGtlZXBfc3RyICs9ICIrIgorICAg
ICAgICAgICAgICAgICAgICBuZXdfdGVzdHMuZXh0ZW5kKGNodW5rKQorICAgICAgICAgICAgICAg
IGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGtlZXBfc3RyICs9ICItIgorCisgICAgICAgICAg
ICBsb2dnZXIuZGVidWcoIktlZXBpbmcgY2h1bmtzICVzIiAlIGtlZXBfc3RyKQorCisgICAgICAg
ICAgICB0ZXN0cyA9IG5ld190ZXN0cworCisgICAgICAgICAgICBjaHVua19zaXplID0gaW50KGNo
dW5rX3NpemUgLyAyKQorCisgICAgICAgIHJldHVybiB0ZXN0cyArIHRhcmdldF90ZXN0CisKKyAg
ICBkZWYgdW5zdGFibGUoc2VsZiwgdGVzdHMpOgorICAgICAgICBsb2dnZXIuZGVidWcoIlJ1bm5p
bmcgd2l0aCAlaSB0ZXN0cyIgJSBsZW4odGVzdHMpKQorCisgICAgICAgIHNlbGYudGVzdF9sb2Fk
ZXIudGVzdHMgPSB7c2VsZi50ZXN0X3R5cGU6IHRlc3RzfQorCisgICAgICAgIHN0ZG91dCwgc3Rk
ZXJyID0gc3lzLnN0ZG91dCwgc3lzLnN0ZGVycgorICAgICAgICBzeXMuc3Rkb3V0ID0gU3RyaW5n
SU8oKQorICAgICAgICBzeXMuc3RkZXJyID0gU3RyaW5nSU8oKQorCisgICAgICAgIHdpdGggdGVt
cGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkgYXMgZjoKKyAgICAgICAgICAgIGFyZ3MgPSBzZWxm
Lmt3YXJncy5jb3B5KCkKKyAgICAgICAgICAgIGFyZ3NbImxvZ19yYXciXSA9IFtmXQorICAgICAg
ICAgICAgYXJnc1siY2FwdHVyZV9zdGRpbyJdID0gRmFsc2UKKyAgICAgICAgICAgIHdwdHJ1bm5l
ci5zZXR1cF9sb2dnaW5nKGFyZ3MsIHt9KQorICAgICAgICAgICAgd3B0cnVubmVyLnJ1bl90ZXN0
cyh0ZXN0X2xvYWRlcj1zZWxmLnRlc3RfbG9hZGVyLCAqKmFyZ3MpCisgICAgICAgICAgICB3cHRy
dW5uZXIubG9nZ2VyLnJlbW92ZV9oYW5kbGVyKHdwdHJ1bm5lci5sb2dnZXIuaGFuZGxlcnNbMF0p
CisgICAgICAgICAgICBpc191bnN0YWJsZSA9IHNlbGYubG9nX2lzX3Vuc3RhYmxlKGYpCisKKyAg
ICAgICAgICAgIHN5cy5zdGRvdXQsIHN5cy5zdGRlcnIgPSBzdGRvdXQsIHN0ZGVycgorCisgICAg
ICAgIGxvZ2dlci5kZWJ1ZygiUmVzdWx0IHdhcyB1bnN0YWJsZSB3aXRoIGNodW5rIHJlbW92ZWQi
CisgICAgICAgICAgICAgICAgICAgICBpZiBpc191bnN0YWJsZSBlbHNlICJzdGFibGUiKQorCisg
ICAgICAgIHJldHVybiBpc191bnN0YWJsZQorCisgICAgZGVmIGxvZ19pc191bnN0YWJsZShzZWxm
LCBsb2dfZik6CisgICAgICAgIGxvZ19mLnNlZWsoMCkKKworICAgICAgICBzdGF0dXNlcyA9IGRl
ZmF1bHRkaWN0KHNldCkKKworICAgICAgICBkZWYgaGFuZGxlX3N0YXR1cyhpdGVtKToKKyAgICAg
ICAgICAgIGlmIGl0ZW1bInRlc3QiXSA9PSBzZWxmLnRhcmdldDoKKyAgICAgICAgICAgICAgICBz
dGF0dXNlc1tpdGVtWyJzdWJ0ZXN0Il1dLmFkZChpdGVtWyJzdGF0dXMiXSkKKworICAgICAgICBk
ZWYgaGFuZGxlX2VuZChpdGVtKToKKyAgICAgICAgICAgIGlmIGl0ZW1bInRlc3QiXSA9PSBzZWxm
LnRhcmdldDoKKyAgICAgICAgICAgICAgICBzdGF0dXNlc1tOb25lXS5hZGQoaXRlbVsic3RhdHVz
Il0pCisKKyAgICAgICAgcmVhZGVyLmVhY2hfbG9nKHJlYWRlci5yZWFkKGxvZ19mKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHsidGVzdF9zdGF0dXMiOiBoYW5kbGVfc3RhdHVzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0ZXN0X2VuZCI6IGhhbmRsZV9lbmR9KQorCisgICAgICAgIGxv
Z2dlci5kZWJ1ZyhzdHIoc3RhdHVzZXMpKQorCisgICAgICAgIGlmIG5vdCBzdGF0dXNlczoKKyAg
ICAgICAgICAgIGxvZ2dlci5lcnJvcigiRGlkbid0IGdldCBhbnkgdXNlZnVsIG91dHB1dCBmcm9t
IHdwdHJ1bm5lciIpCisgICAgICAgICAgICBsb2dfZi5zZWVrKDApCisgICAgICAgICAgICBmb3Ig
aXRlbSBpbiByZWFkZXIucmVhZChsb2dfZik6CisgICAgICAgICAgICAgICAgbG9nZ2VyLmRlYnVn
KGl0ZW0pCisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIHJldHVybiBhbnkobGVu
KGl0ZW0pID4gMSBmb3IgaXRlbSBpbiBzdGF0dXNlcy5pdGVydmFsdWVzKCkpCisKKyAgICBkZWYg
Z2V0X2luaXRpYWxfdGVzdHMoc2VsZik6CisgICAgICAgICMgTmVlZCB0byBwYXNzIGluIGFyZ3Vt
ZW50cworCisgICAgICAgIGFsbF90ZXN0cyA9IHNlbGYudGVzdF9sb2FkZXIudGVzdHNbc2VsZi50
ZXN0X3R5cGVdCisgICAgICAgIHRlc3RzID0gW10KKyAgICAgICAgZm9yIGl0ZW0gaW4gYWxsX3Rl
c3RzOgorICAgICAgICAgICAgdGVzdHMuYXBwZW5kKGl0ZW0pCisgICAgICAgICAgICBpZiBpdGVt
LnVybCA9PSBzZWxmLnRhcmdldDoKKyAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgIGxv
Z2dlci5kZWJ1ZygiU3RhcnRpbmcgd2l0aCB0ZXN0czogJXMiICUgKCJcbiIuam9pbihpdGVtLmlk
IGZvciBpdGVtIGluIHRlc3RzKSkpCisKKyAgICAgICAgcmV0dXJuIHRlc3RzCisKKworZGVmIGRv
X3JlZHVjZSgqKmt3YXJncyk6CisgICAgdGFyZ2V0ID0ga3dhcmdzLnBvcCgidGFyZ2V0IikKKyAg
ICByZWR1Y2VyID0gUmVkdWNlcih0YXJnZXQsICoqa3dhcmdzKQorCisgICAgdW5zdGFibGVfc2V0
ID0gcmVkdWNlci5ydW4oKQorICAgIHJldHVybiB1bnN0YWJsZV9zZXQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci90ZXN0aGFybmVzc19ydW5uZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFy
bmVzc19ydW5uZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xY2M4MGEyNzBlMmMxZThmMGJjYjhkYzQ4Nzhh
NzVkOWNlMDE3MTdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNz
X3J1bm5lci5odG1sCkBAIC0wLDAgKzEsNiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+PC90
aXRsZT4KKzxzY3JpcHQ+Cit2YXIgdGltZW91dF9tdWx0aXBsaWVyID0gMTsKK3ZhciB3aW4gPSBu
dWxsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBv
cnQtc2Vydm8uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQtc2Vydm8uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjY3MmFlYTlhMjU0MGJmMTQ0NmEyM2RkYjI4OGM5MzAwOWJiMjZiYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2by5qcwpAQCAt
MCwwICsxLDE3IEBACit2YXIgcHJvcHMgPSB7b3V0cHV0OiUob3V0cHV0KWR9OwordmFyIHN0YXJ0
X2xvYyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKK3N0YXJ0X2xvYy5ocmVmID0gbG9j
YXRpb24uaHJlZjsKK3NldHVwKHByb3BzKTsKKworYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soZnVu
Y3Rpb24gKHRlc3RzLCBoYXJuZXNzX3N0YXR1cykgeworICAgIHZhciBpZCA9IHN0YXJ0X2xvYy5w
YXRobmFtZSArIHN0YXJ0X2xvYy5zZWFyY2ggKyBzdGFydF9sb2MuaGFzaDsKKyAgICBjb25zb2xl
LmxvZygiQUxFUlQ6IFJFU1VMVDogIiArIEpTT04uc3RyaW5naWZ5KFsKKyAgICAgICAgaWQsCisg
ICAgICAgIGhhcm5lc3Nfc3RhdHVzLnN0YXR1cywKKyAgICAgICAgaGFybmVzc19zdGF0dXMubWVz
c2FnZSwKKyAgICAgICAgaGFybmVzc19zdGF0dXMuc3RhY2ssCisgICAgICAgIHRlc3RzLm1hcChm
dW5jdGlvbih0KSB7CisgICAgICAgICAgICByZXR1cm4gW3QubmFtZSwgdC5zdGF0dXMsIHQubWVz
c2FnZSwgdC5zdGFja10KKyAgICAgICAgfSksCisgICAgXSkpOworfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQtc2Vydm9kcml2ZXIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvdGVzdGhhcm5lc3NyZXBvcnQtc2Vydm9kcml2ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzg4ODQxMzYw
NDcwZjhkZDNhZWMyMjI0NDkyOWRkYTQ5ZmFkYWYzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2b2RyaXZlci5qcwpAQCAtMCwwICsxLDIzIEBA
CitzZXR1cCh7b3V0cHV0OiUob3V0cHV0KWR9KTsKKworYWRkX2NvbXBsZXRpb25fY2FsbGJhY2so
ZnVuY3Rpb24oKSB7CisgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soZnVuY3Rpb24gKHRlc3Rz
LCBzdGF0dXMpIHsKKyAgICAgICAgdmFyIHN1YnRlc3RfcmVzdWx0cyA9IHRlc3RzLm1hcChmdW5j
dGlvbih4KSB7CisgICAgICAgICAgICByZXR1cm4gW3gubmFtZSwgeC5zdGF0dXMsIHgubWVzc2Fn
ZSwgeC5zdGFja10KKyAgICAgICAgfSk7CisgICAgICAgIHZhciBpZCA9IGxvY2F0aW9uLnBhdGhu
YW1lICsgbG9jYXRpb24uc2VhcmNoICsgbG9jYXRpb24uaGFzaDsKKyAgICAgICAgdmFyIHJlc3Vs
dHMgPSBKU09OLnN0cmluZ2lmeShbaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0YXR1cy5zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0YXR1cy5tZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdGF0dXMuc3RhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1
YnRlc3RfcmVzdWx0c10pOworICAgICAgICAoZnVuY3Rpb24gZG9uZSgpIHsKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuX193ZF9yZXN1bHRzX2NhbGxiYWNrX18pIHsKKyAgICAgICAgICAgICAgICBj
bGVhclRpbWVvdXQoX193ZF9yZXN1bHRzX3RpbWVyX18pOworICAgICAgICAgICAgICAgIF9fd2Rf
cmVzdWx0c19jYWxsYmFja19fKHJlc3VsdHMpCisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgIHNldFRpbWVvdXQoZG9uZSwgMjApOworICAgICAgICAgICAgfQorICAgICAgICB9
KSgpCisgICAgfSkKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RoYXJuZXNzcmVwb3J0LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYy
ZGRhZmZiNDQzYzk0NTA1MzgzMDgzOTIzZGMxM2ZjYjFjZjU2NjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvdGVzdGhhcm5lc3NyZXBvcnQuanMKQEAgLTAsMCArMSwxMyBAQAordmFy
IHByb3BzID0ge291dHB1dDolKG91dHB1dClkLAorICAgICAgICAgICAgIGV4cGxpY2l0X3RpbWVv
dXQ6IHRydWUsCisgICAgICAgICAgICAgbWVzc2FnZV9ldmVudHM6IFsiY29tcGxldGlvbiJdfTsK
KworaWYgKHdpbmRvdy5vcGVuZXIgJiYgInRpbWVvdXRfbXVsdGlwbGllciIgaW4gd2luZG93Lm9w
ZW5lcikgeworICAgIHByb3BzWyJ0aW1lb3V0X211bHRpcGxpZXIiXSA9IHdpbmRvdy5vcGVuZXIu
dGltZW91dF9tdWx0aXBsaWVyOworfQorCitpZiAod2luZG93Lm9wZW5lciAmJiB3aW5kb3cub3Bl
bmVyLmV4cGxpY2l0X3RpbWVvdXQpIHsKKyAgICBwcm9wc1siZXhwbGljaXRfdGltZW91dCJdID0g
d2luZG93Lm9wZW5lci5leHBsaWNpdF90aW1lb3V0OworfQorCitzZXR1cChwcm9wcyk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdGxvYWRlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0bG9h
ZGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc0ZGNlNGFhZmUzMzE1ZjRmODNhNjMyMDFhMzEwYjY2MTMxYjRm
OTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdGxvYWRlci5weQpAQCAtMCww
ICsxLDYzOCBAQAoraW1wb3J0IGhhc2hsaWIKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9y
dCB1cmxwYXJzZQorZnJvbSBhYmMgaW1wb3J0IEFCQ01ldGEsIGFic3RyYWN0bWV0aG9kCitmcm9t
IFF1ZXVlIGltcG9ydCBFbXB0eQorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3Qs
IE9yZGVyZWREaWN0LCBkZXF1ZQorZnJvbSBtdWx0aXByb2Nlc3NpbmcgaW1wb3J0IFF1ZXVlCisK
K2ltcG9ydCBtYW5pZmVzdGluY2x1ZGUKK2ltcG9ydCBtYW5pZmVzdGV4cGVjdGVkCitpbXBvcnQg
d3B0dGVzdAorZnJvbSBtb3psb2cgaW1wb3J0IHN0cnVjdHVyZWQKKworbWFuaWZlc3QgPSBOb25l
CittYW5pZmVzdF91cGRhdGUgPSBOb25lCisKK2RlZiBkb19kZWxheWVkX2ltcG9ydHMoKToKKyAg
ICAjIFRoaXMgcmVsaWVzIG9uIGFuIGFscmVhZHkgbG9hZGVkIG1vZHVsZSBoYXZpbmcgc2V0IHRo
ZSBzeXMucGF0aCBjb3JyZWN0bHkgOigKKyAgICBnbG9iYWwgbWFuaWZlc3QsIG1hbmlmZXN0X3Vw
ZGF0ZQorICAgIGZyb20gbWFuaWZlc3QgaW1wb3J0IG1hbmlmZXN0CisgICAgZnJvbSBtYW5pZmVz
dCBpbXBvcnQgdXBkYXRlIGFzIG1hbmlmZXN0X3VwZGF0ZQorCitjbGFzcyBUZXN0Q2h1bmtlcihv
YmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0b3RhbF9jaHVua3MsIGNodW5rX251bWJl
cik6CisgICAgICAgIHNlbGYudG90YWxfY2h1bmtzID0gdG90YWxfY2h1bmtzCisgICAgICAgIHNl
bGYuY2h1bmtfbnVtYmVyID0gY2h1bmtfbnVtYmVyCisgICAgICAgIGFzc2VydCBzZWxmLmNodW5r
X251bWJlciA8PSBzZWxmLnRvdGFsX2NodW5rcworICAgICAgICBzZWxmLmxvZ2dlciA9IHN0cnVj
dHVyZWQuZ2V0X2RlZmF1bHRfbG9nZ2VyKCkKKyAgICAgICAgYXNzZXJ0IHNlbGYubG9nZ2VyCisK
KyAgICBkZWYgX19jYWxsX18oc2VsZiwgbWFuaWZlc3QpOgorICAgICAgICByYWlzZSBOb3RJbXBs
ZW1lbnRlZEVycm9yCisKKworY2xhc3MgVW5jaHVua2VkKFRlc3RDaHVua2VyKToKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgVGVzdENodW5rZXIuX19p
bml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBhc3NlcnQgc2VsZi50b3RhbF9j
aHVua3MgPT0gMQorCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIG1hbmlmZXN0KToKKyAgICAgICAg
Zm9yIGl0ZW0gaW4gbWFuaWZlc3Q6CisgICAgICAgICAgICB5aWVsZCBpdGVtCisKKworY2xhc3Mg
SGFzaENodW5rZXIoVGVzdENodW5rZXIpOgorICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBtYW5pZmVz
dCk6CisgICAgICAgIGNodW5rX2luZGV4ID0gc2VsZi5jaHVua19udW1iZXIgLSAxCisgICAgICAg
IGZvciB0ZXN0X3R5cGUsIHRlc3RfcGF0aCwgdGVzdHMgaW4gbWFuaWZlc3Q6CisgICAgICAgICAg
ICBoID0gaW50KGhhc2hsaWIubWQ1KHRlc3RfcGF0aCkuaGV4ZGlnZXN0KCksIDE2KQorICAgICAg
ICAgICAgaWYgaCAlIHNlbGYudG90YWxfY2h1bmtzID09IGNodW5rX2luZGV4OgorICAgICAgICAg
ICAgICAgIHlpZWxkIHRlc3RfdHlwZSwgdGVzdF9wYXRoLCB0ZXN0cworCisKK2NsYXNzIERpcmVj
dG9yeUhhc2hDaHVua2VyKFRlc3RDaHVua2VyKToKKyAgICAiIiJMaWtlIEhhc2hDaHVua2VyIGV4
Y2VwdCB0aGUgZGlyZWN0b3J5IGlzIGhhc2hlZC4KKworICAgIFRoaXMgZW5zdXJlcyB0aGF0IGFs
bCB0ZXN0cyBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgZW5kIHVwIGluIHRoZSBzYW1lCisgICAgY2h1
bmsuCisgICAgIiIiCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIG1hbmlmZXN0KToKKyAgICAgICAg
Y2h1bmtfaW5kZXggPSBzZWxmLmNodW5rX251bWJlciAtIDEKKyAgICAgICAgZm9yIHRlc3RfdHlw
ZSwgdGVzdF9wYXRoLCB0ZXN0cyBpbiBtYW5pZmVzdDoKKyAgICAgICAgICAgIGggPSBpbnQoaGFz
aGxpYi5tZDUob3MucGF0aC5kaXJuYW1lKHRlc3RfcGF0aCkpLmhleGRpZ2VzdCgpLCAxNikKKyAg
ICAgICAgICAgIGlmIGggJSBzZWxmLnRvdGFsX2NodW5rcyA9PSBjaHVua19pbmRleDoKKyAgICAg
ICAgICAgICAgICB5aWVsZCB0ZXN0X3R5cGUsIHRlc3RfcGF0aCwgdGVzdHMKKworCitjbGFzcyBF
cXVhbFRpbWVDaHVua2VyKFRlc3RDaHVua2VyKToKKyAgICBkZWYgX2dyb3VwX2J5X2RpcmVjdG9y
eShzZWxmLCBtYW5pZmVzdF9pdGVtcyk6CisgICAgICAgICIiIlNwbGl0IHRoZSBsaXN0IG9mIG1h
bmlmZXN0IGl0ZW1zIGludG8gYSBvcmRlcmVkIGRpY3QgdGhhdCBncm91cHMgdGVzdHMgaW4KKyAg
ICAgICAgc28gdGhhdCBhbnl0aGluZyBpbiB0aGUgc2FtZSBzdWJkaXJlY3RvcnkgYmV5b25kIGEg
ZGVwdGggb2YgMyBpcyBpbiB0aGUgc2FtZQorICAgICAgICBncm91cC4gU28gYWxsIHRlc3RzIGlu
IGEvYi9jLCBhL2IvYy9kIGFuZCBhL2IvYy9lIHdpbGwgYmUgZ3JvdXBlZCB0b2dldGhlcgorICAg
ICAgICBhbmQgc2VwYXJhdGUgdG8gdGVzdHMgaW4gYS9iL2YKKworICAgICAgICBSZXR1cm5zOiB0
dXBsZSAob3JkZXJlZCBkaWN0IG9mIHt0ZXN0X2RpcjogUGF0aERhdGF9LCB0b3RhbCBlc3RpbWF0
ZWQgcnVudGltZSkKKyAgICAgICAgIiIiCisKKyAgICAgICAgY2xhc3MgUGF0aERhdGEob2JqZWN0
KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoKToKKyAgICAgICAgICAgICAg
ICBzZWxmLnBhdGggPSBwYXRoCisgICAgICAgICAgICAgICAgc2VsZi50aW1lID0gMAorICAgICAg
ICAgICAgICAgIHNlbGYudGVzdHMgPSBbXQorCisgICAgICAgIGJ5X2RpciA9IE9yZGVyZWREaWN0
KCkKKyAgICAgICAgdG90YWxfdGltZSA9IDAKKworICAgICAgICBmb3IgaSwgKHRlc3RfdHlwZSwg
dGVzdF9wYXRoLCB0ZXN0cykgaW4gZW51bWVyYXRlKG1hbmlmZXN0X2l0ZW1zKToKKyAgICAgICAg
ICAgIHRlc3RfZGlyID0gdHVwbGUob3MucGF0aC5zcGxpdCh0ZXN0X3BhdGgpWzBdLnNwbGl0KG9z
LnBhdGguc2VwKVs6M10pCisKKyAgICAgICAgICAgIGlmIG5vdCB0ZXN0X2RpciBpbiBieV9kaXI6
CisgICAgICAgICAgICAgICAgYnlfZGlyW3Rlc3RfZGlyXSA9IFBhdGhEYXRhKHRlc3RfZGlyKQor
CisgICAgICAgICAgICBkYXRhID0gYnlfZGlyW3Rlc3RfZGlyXQorICAgICAgICAgICAgdGltZSA9
IHN1bSh3cHR0ZXN0LkRFRkFVTFRfVElNRU9VVCBpZiB0ZXN0LnRpbWVvdXQgIT0KKyAgICAgICAg
ICAgICAgICAgICAgICAgImxvbmciIGVsc2Ugd3B0dGVzdC5MT05HX1RJTUVPVVQgZm9yIHRlc3Qg
aW4gdGVzdHMpCisgICAgICAgICAgICBkYXRhLnRpbWUgKz0gdGltZQorICAgICAgICAgICAgdG90
YWxfdGltZSArPSB0aW1lCisgICAgICAgICAgICBkYXRhLnRlc3RzLmFwcGVuZCgodGVzdF90eXBl
LCB0ZXN0X3BhdGgsIHRlc3RzKSkKKworICAgICAgICByZXR1cm4gYnlfZGlyLCB0b3RhbF90aW1l
CisKKyAgICBkZWYgX21heWJlX3JlbW92ZShzZWxmLCBjaHVua3MsIGksIGRpcmVjdGlvbik6Cisg
ICAgICAgICIiIlRyaWFsIHJlbW92aW5nIGEgY2h1bmsgZnJvbSBvbmUgY2h1bmsgdG8gYW4gYWRq
YWNlbnQgb25lLgorCisgICAgICAgIDpwYXJhbSBjaHVua3M6IC0gdGhlIGxpc3Qgb2YgYWxsIGNo
dW5rcworICAgICAgICA6cGFyYW0gaTogLSB0aGUgY2h1bmsgaW5kZXggaW4gdGhlIGxpc3Qgb2Yg
Y2h1bmtzIHRvIHRyeSByZW1vdmluZyBmcm9tCisgICAgICAgIDpwYXJhbSBkaXJlY3Rpb246IGVp
dGhlciAibmV4dCIgaWYgd2UgYXJlIGdvaW5nIHRvIG1vdmUgZnJvbSB0aGUgZW5kIHRvCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRoZSBzdWJzZXF1ZW50IGNodW5rLCBvciAicHJldiIgaWYg
d2UgYXJlIGdvaW5nIHRvIG1vdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSB0aGUg
c3RhcnQgaW50byB0aGUgcHJldmlvdXMgY2h1bmsuCisKKyAgICAgICAgOnJldHVybnMgYm9vbDog
RGlkIGEgY2h1bmsgZ2V0IG1vdmVkPyIiIgorICAgICAgICBzb3VyY2VfY2h1bmsgPSBjaHVua3Nb
aV0KKyAgICAgICAgaWYgZGlyZWN0aW9uID09ICJuZXh0IjoKKyAgICAgICAgICAgIHRhcmdldF9j
aHVuayA9IGNodW5rc1tpKzFdCisgICAgICAgICAgICBwYXRoX2luZGV4ID0gLTEKKyAgICAgICAg
ICAgIG1vdmVfZnVuYyA9IGxhbWJkYTogdGFyZ2V0X2NodW5rLmFwcGVuZGxlZnQoc291cmNlX2No
dW5rLnBvcCgpKQorICAgICAgICBlbGlmIGRpcmVjdGlvbiA9PSAicHJldiI6CisgICAgICAgICAg
ICB0YXJnZXRfY2h1bmsgPSBjaHVua3NbaS0xXQorICAgICAgICAgICAgcGF0aF9pbmRleCA9IDAK
KyAgICAgICAgICAgIG1vdmVfZnVuYyA9IGxhbWJkYTogdGFyZ2V0X2NodW5rLmFwcGVuZChzb3Vy
Y2VfY2h1bmsucG9wbGVmdCgpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFs
dWVFcnJvcigiVW5leHBlY3RlZCBtb3ZlIGRpcmVjdGlvbiAlcyIgJSBkaXJlY3Rpb24pCisKKyAg
ICAgICAgcmV0dXJuIHNlbGYuX21heWJlX21vdmUoc291cmNlX2NodW5rLCB0YXJnZXRfY2h1bmss
IHBhdGhfaW5kZXgsIG1vdmVfZnVuYykKKworICAgIGRlZiBfbWF5YmVfYWRkKHNlbGYsIGNodW5r
cywgaSwgZGlyZWN0aW9uKToKKyAgICAgICAgIiIiVHJpYWwgYWRkaW5nIGEgY2h1bmsgZnJvbSBv
bmUgY2h1bmsgdG8gYW4gYWRqYWNlbnQgb25lLgorCisgICAgICAgIDpwYXJhbSBjaHVua3M6IC0g
dGhlIGxpc3Qgb2YgYWxsIGNodW5rcworICAgICAgICA6cGFyYW0gaTogLSB0aGUgY2h1bmsgaW5k
ZXggaW4gdGhlIGxpc3Qgb2YgY2h1bmtzIHRvIHRyeSBhZGRpbmcgdG8KKyAgICAgICAgOnBhcmFt
IGRpcmVjdGlvbjogZWl0aGVyICJuZXh0IiBpZiB3ZSBhcmUgZ29pbmcgdG8gcmVtb3ZlIGZyb20g
dGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzdWJzZXF1ZW50IGNodW5rLCBvciAi
cHJldiIgaWYgd2UgYXJlIGdvaW5nIHRvIHJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAg
ICBmcm9tIHRoZSB0aGUgcHJldmlvdXMgY2h1bmsuCisKKyAgICAgICAgOnJldHVybnMgYm9vbDog
RGlkIGEgY2h1bmsgZ2V0IG1vdmVkPyIiIgorICAgICAgICB0YXJnZXRfY2h1bmsgPSBjaHVua3Nb
aV0KKyAgICAgICAgaWYgZGlyZWN0aW9uID09ICJuZXh0IjoKKyAgICAgICAgICAgIHNvdXJjZV9j
aHVuayA9IGNodW5rc1tpKzFdCisgICAgICAgICAgICBwYXRoX2luZGV4ID0gMAorICAgICAgICAg
ICAgbW92ZV9mdW5jID0gbGFtYmRhOiB0YXJnZXRfY2h1bmsuYXBwZW5kKHNvdXJjZV9jaHVuay5w
b3BsZWZ0KCkpCisgICAgICAgIGVsaWYgZGlyZWN0aW9uID09ICJwcmV2IjoKKyAgICAgICAgICAg
IHNvdXJjZV9jaHVuayA9IGNodW5rc1tpLTFdCisgICAgICAgICAgICBwYXRoX2luZGV4ID0gLTEK
KyAgICAgICAgICAgIG1vdmVfZnVuYyA9IGxhbWJkYTogdGFyZ2V0X2NodW5rLmFwcGVuZGxlZnQo
c291cmNlX2NodW5rLnBvcCgpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFs
dWVFcnJvcigiVW5leHBlY3RlZCBtb3ZlIGRpcmVjdGlvbiAlcyIgJSBkaXJlY3Rpb24pCisKKyAg
ICAgICAgcmV0dXJuIHNlbGYuX21heWJlX21vdmUoc291cmNlX2NodW5rLCB0YXJnZXRfY2h1bmss
IHBhdGhfaW5kZXgsIG1vdmVfZnVuYykKKworICAgIGRlZiBfbWF5YmVfbW92ZShzZWxmLCBzb3Vy
Y2VfY2h1bmssIHRhcmdldF9jaHVuaywgcGF0aF9pbmRleCwgbW92ZV9mdW5jKToKKyAgICAgICAg
IiIiTW92ZSBmcm9tIG9uZSBjaHVuayB0byBhbm90aGVyLCBhc3Nlc3MgdGhlIGNoYW5nZSBpbiBi
YWRuZXNzLAorICAgICAgICBhbmQga2VlcCB0aGUgbW92ZSBpZmYgaXQgZGVjcmVhc2VzIHRoZSBi
YWRuZXNzIHNjb3JlLgorCisgICAgICAgIDpwYXJhbSBzb3VyY2VfY2h1bms6IGNodW5rIHRvIG1v
dmUgZnJvbQorICAgICAgICA6cGFyYW0gdGFyZ2V0X2NodW5rOiBjaHVuayB0byBtb3ZlIHRvCisg
ICAgICAgIDpwYXJhbSBwYXRoX2luZGV4OiAwIGlmIHdlIGFyZSBtb3ZpbmcgZnJvbSB0aGUgc3Rh
cnQgb3IgLTEgaWYgd2UgYXJlIG1vdmluZyBmcm9tIHRoZQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZW5kCisgICAgICAgIDpwYXJhbSBtb3ZlX2Z1bmM6IEZ1bmN0aW9uIHRoYXQgYWN0dWFs
bHkgbW92ZXMgYmV0d2VlbiBjaHVua3MiIiIKKyAgICAgICAgaWYgbGVuKHNvdXJjZV9jaHVuay5w
YXRocykgPD0gMToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgICAgIG1vdmVfdGlt
ZSA9IHNvdXJjZV9jaHVuay5wYXRoc1twYXRoX2luZGV4XS50aW1lCisKKyAgICAgICAgbmV3X3Nv
dXJjZV9iYWRuZXNzID0gc2VsZi5fYmFkbmVzcyhzb3VyY2VfY2h1bmsudGltZSAtIG1vdmVfdGlt
ZSkKKyAgICAgICAgbmV3X3RhcmdldF9iYWRuZXNzID0gc2VsZi5fYmFkbmVzcyh0YXJnZXRfY2h1
bmsudGltZSArIG1vdmVfdGltZSkKKworICAgICAgICBkZWx0YV9iYWRuZXNzID0gKChuZXdfc291
cmNlX2JhZG5lc3MgKyBuZXdfdGFyZ2V0X2JhZG5lc3MpIC0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAoc291cmNlX2NodW5rLmJhZG5lc3MgKyB0YXJnZXRfY2h1bmsuYmFkbmVzcykpCisgICAg
ICAgIGlmIGRlbHRhX2JhZG5lc3MgPCAwOgorICAgICAgICAgICAgbW92ZV9mdW5jKCkKKyAgICAg
ICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBkZWYgX2Jh
ZG5lc3Moc2VsZiwgdGltZSk6CisgICAgICAgICIiIk1ldHJpYyBvZiBiYWRuZXNzIGZvciBhIHNw
ZWNpZmljIGNodW5rCisKKyAgICAgICAgOnBhcmFtIHRpbWU6IHRoZSB0aW1lIGZvciBhIHNwZWNp
ZmljIGNodW5rIiIiCisgICAgICAgIHJldHVybiAodGltZSAtIHNlbGYuZXhwZWN0ZWRfdGltZSkq
KjIKKworICAgIGRlZiBfZ2V0X2NodW5rKHNlbGYsIG1hbmlmZXN0X2l0ZW1zKToKKyAgICAgICAg
YnlfZGlyLCB0b3RhbF90aW1lID0gc2VsZi5fZ3JvdXBfYnlfZGlyZWN0b3J5KG1hbmlmZXN0X2l0
ZW1zKQorCisgICAgICAgIGlmIGxlbihieV9kaXIpIDwgc2VsZi50b3RhbF9jaHVua3M6CisgICAg
ICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJUcmllZCB0byBzcGxpdCBpbnRvICVpIGNodW5rcywg
YnV0IG9ubHkgJWkgc3ViZGlyZWN0b3JpZXMgaW5jbHVkZWQiICUgKAorICAgICAgICAgICAgICAg
IHNlbGYudG90YWxfY2h1bmtzLCBsZW4oYnlfZGlyKSkpCisKKyAgICAgICAgc2VsZi5leHBlY3Rl
ZF90aW1lID0gZmxvYXQodG90YWxfdGltZSkgLyBzZWxmLnRvdGFsX2NodW5rcworCisgICAgICAg
IGNodW5rcyA9IHNlbGYuX2NyZWF0ZV9pbml0aWFsX2NodW5rcyhieV9kaXIpCisKKyAgICAgICAg
d2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICMgTW92ZSBhIHRlc3QgZnJvbSBvbmUgY2h1bmsgdG8g
dGhlIG5leHQgdW50aWwgZG9pbmcgc28gbm8gbG9uZ2VyCisgICAgICAgICAgICAjIHJlZHVjZXMg
dGhlIGJhZG5lc3MKKyAgICAgICAgICAgIGdvdF9pbXByb3ZlbWVudCA9IHNlbGYuX3VwZGF0ZV9j
aHVua3MoY2h1bmtzKQorICAgICAgICAgICAgaWYgbm90IGdvdF9pbXByb3ZlbWVudDoKKyAgICAg
ICAgICAgICAgICBicmVhaworCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKHNlbGYuZXhwZWN0
ZWRfdGltZSkKKyAgICAgICAgZm9yIGksIGNodW5rIGluIGNodW5rcy5pdGVyaXRlbXMoKToKKyAg
ICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCIlaTogJWksICVpIiAlIChpICsgMSwgY2h1bmsu
dGltZSwgY2h1bmsuYmFkbmVzcykpCisKKyAgICAgICAgYXNzZXJ0IHNlbGYuX2FsbF90ZXN0cyhi
eV9kaXIpID09IHNlbGYuX2NodW5rZWRfdGVzdHMoY2h1bmtzKQorCisgICAgICAgIHJldHVybiBz
ZWxmLl9nZXRfdGVzdHMoY2h1bmtzKQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBfYWxs
X3Rlc3RzKGJ5X2Rpcik6CisgICAgICAgICIiIlJldHVybiBhIHNldCBvZiBhbGwgdGVzdHMgaW4g
dGhlIG1hbmlmZXN0IGZyb20gYSBncm91cGluZyBieSBkaXJlY3RvcnkiIiIKKyAgICAgICAgcmV0
dXJuIHNldCh4WzBdIGZvciBpdGVtIGluIGJ5X2Rpci5pdGVydmFsdWVzKCkKKyAgICAgICAgICAg
ICAgICAgICBmb3IgeCBpbiBpdGVtLnRlc3RzKQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRl
ZiBfY2h1bmtlZF90ZXN0cyhjaHVua3MpOgorICAgICAgICAiIiJSZXR1cm4gYSBzZXQgb2YgYWxs
IHRlc3RzIGluIHRoZSBtYW5pZmVzdCBmcm9tIHRoZSBjaHVuayBsaXN0IiIiCisgICAgICAgIHJl
dHVybiBzZXQoeFswXSBmb3IgY2h1bmsgaW4gY2h1bmtzLml0ZXJ2YWx1ZXMoKQorICAgICAgICAg
ICAgICAgICAgIGZvciBwYXRoIGluIGNodW5rLnBhdGhzCisgICAgICAgICAgICAgICAgICAgZm9y
IHggaW4gcGF0aC50ZXN0cykKKworCisgICAgZGVmIF9jcmVhdGVfaW5pdGlhbF9jaHVua3Moc2Vs
ZiwgYnlfZGlyKToKKyAgICAgICAgIiIiQ3JlYXRlIGFuIGluaXRpYWwgdW5iYWxhbmNlZCBsaXN0
IG9mIGNodW5rcy4KKworICAgICAgICA6cGFyYW0gYnlfZGlyOiBBbGwgdGVzdHMgaW4gdGhlIG1h
bmlmZXN0IGdyb3VwZWQgYnkgc3ViZGlyZWN0b3J5CisgICAgICAgIDpyZXR1cm5zIGxpc3Q6IEEg
bGlzdCBvZiBDaHVuayBvYmplY3RzIiIiCisKKyAgICAgICAgY2xhc3MgQ2h1bmsob2JqZWN0KToK
KyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRocywgaW5kZXgpOgorICAgICAgICAg
ICAgICAgICIiIkxpc3Qgb2YgUGF0aERhdGEgb2JqZWN0cyB0aGF0IHRvZ2V0aGVyIGZvcm0gYSBz
aW5nbGUgY2h1bmsgb2YKKyAgICAgICAgICAgICAgICB0ZXN0cyIiIgorICAgICAgICAgICAgICAg
IHNlbGYucGF0aHMgPSBkZXF1ZShwYXRocykKKyAgICAgICAgICAgICAgICBzZWxmLnRpbWUgPSBz
dW0oaXRlbS50aW1lIGZvciBpdGVtIGluIHBhdGhzKQorICAgICAgICAgICAgICAgIHNlbGYuaW5k
ZXggPSBpbmRleAorCisgICAgICAgICAgICBkZWYgYXBwZW5kbGVmdChzZWxmLCBwYXRoKToKKyAg
ICAgICAgICAgICAgICAiIiJBZGQgYSBQYXRoRGF0YSBvYmplY3QgdG8gdGhlIHN0YXJ0IG9mIHRo
ZSBjaHVuayIiIgorICAgICAgICAgICAgICAgIHNlbGYucGF0aHMuYXBwZW5kbGVmdChwYXRoKQor
ICAgICAgICAgICAgICAgIHNlbGYudGltZSArPSBwYXRoLnRpbWUKKworICAgICAgICAgICAgZGVm
IGFwcGVuZChzZWxmLCBwYXRoKToKKyAgICAgICAgICAgICAgICAiIiJBZGQgYSBQYXRoRGF0YSBv
YmplY3QgdG8gdGhlIGVuZCBvZiB0aGUgY2h1bmsiIiIKKyAgICAgICAgICAgICAgICBzZWxmLnBh
dGhzLmFwcGVuZChwYXRoKQorICAgICAgICAgICAgICAgIHNlbGYudGltZSArPSBwYXRoLnRpbWUK
KworICAgICAgICAgICAgZGVmIHBvcChzZWxmKToKKyAgICAgICAgICAgICAgICAiIiJSZW1vdmUg
UGF0aERhdGEgb2JqZWN0IGZyb20gdGhlIGVuZCBvZiB0aGUgY2h1bmsiIiIKKyAgICAgICAgICAg
ICAgICBhc3NlcnQgbGVuKHNlbGYucGF0aHMpID4gMQorICAgICAgICAgICAgICAgIHNlbGYudGlt
ZSAtPSBzZWxmLnBhdGhzWy0xXS50aW1lCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucGF0
aHMucG9wKCkKKworICAgICAgICAgICAgZGVmIHBvcGxlZnQoc2VsZik6CisgICAgICAgICAgICAg
ICAgIiIiUmVtb3ZlIFBhdGhEYXRhIG9iamVjdCBmcm9tIHRoZSBzdGFydCBvZiB0aGUgY2h1bmsi
IiIKKyAgICAgICAgICAgICAgICBhc3NlcnQgbGVuKHNlbGYucGF0aHMpID4gMQorICAgICAgICAg
ICAgICAgIHNlbGYudGltZSAtPSBzZWxmLnBhdGhzWzBdLnRpbWUKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gc2VsZi5wYXRocy5wb3BsZWZ0KCkKKworICAgICAgICAgICAgQHByb3BlcnR5CisgICAg
ICAgICAgICBkZWYgYmFkbmVzcyhzZWxmXyk6CisgICAgICAgICAgICAgICAgIiIiQmFkbmVzcyBt
ZXRyaWMgZm9yIHRoaXMgY2h1bmsiIiIKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fYmFk
bmVzcyhzZWxmXy50aW1lKQorCisgICAgICAgIGluaXRpYWxfc2l6ZSA9IGxlbihieV9kaXIpIC8g
c2VsZi50b3RhbF9jaHVua3MKKyAgICAgICAgY2h1bmtfYm91bmRhcmllcyA9IFtpbml0aWFsX3Np
emUgKiBpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGkgaW4geHJhbmdlKHNlbGYu
dG90YWxfY2h1bmtzKV0gKyBbbGVuKGJ5X2RpcildCisKKyAgICAgICAgY2h1bmtzID0gT3JkZXJl
ZERpY3QoKQorICAgICAgICBmb3IgaSwgbG93ZXIgaW4gZW51bWVyYXRlKGNodW5rX2JvdW5kYXJp
ZXNbOi0xXSk6CisgICAgICAgICAgICB1cHBlciA9IGNodW5rX2JvdW5kYXJpZXNbaSArIDFdCisg
ICAgICAgICAgICBwYXRocyA9IGJ5X2Rpci52YWx1ZXMoKVtsb3dlcjp1cHBlcl0KKyAgICAgICAg
ICAgIGNodW5rc1tpXSA9IENodW5rKHBhdGhzLCBpKQorCisgICAgICAgIGFzc2VydCBzZWxmLl9h
bGxfdGVzdHMoYnlfZGlyKSA9PSBzZWxmLl9jaHVua2VkX3Rlc3RzKGNodW5rcykKKworICAgICAg
ICByZXR1cm4gY2h1bmtzCisKKyAgICBkZWYgX3VwZGF0ZV9jaHVua3Moc2VsZiwgY2h1bmtzKToK
KyAgICAgICAgIiIiUnVuIGEgc2luZ2xlIGl0ZXJhdGlvbiBvZiB0aGUgY2h1bmsgdXBkYXRlIGFs
Z29yaXRobS4KKworICAgICAgICA6cGFyYW0gY2h1bmtzOiAtIExpc3Qgb2YgY2h1bmtzCisgICAg
ICAgICIiIgorICAgICAgICAjVE9ETzogY29uc2lkZXIgcmVwbGFjaW5nIHRoaXMgd2l0aCBhIGhl
YXAKKyAgICAgICAgc29ydGVkX2NodW5rcyA9IHNvcnRlZChjaHVua3MudmFsdWVzKCksIGtleT1s
YW1iZGEgeDoteC5iYWRuZXNzKQorICAgICAgICBnb3RfaW1wcm92ZW1lbnQgPSBGYWxzZQorICAg
ICAgICBmb3IgY2h1bmsgaW4gc29ydGVkX2NodW5rczoKKyAgICAgICAgICAgIGlmIGNodW5rLnRp
bWUgPCBzZWxmLmV4cGVjdGVkX3RpbWU6CisgICAgICAgICAgICAgICAgZiA9IHNlbGYuX21heWJl
X2FkZAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBmID0gc2VsZi5fbWF5YmVf
cmVtb3ZlCisKKyAgICAgICAgICAgIGlmIGNodW5rLmluZGV4ID09IDA6CisgICAgICAgICAgICAg
ICAgb3JkZXIgPSBbIm5leHQiXQorICAgICAgICAgICAgZWxpZiBjaHVuay5pbmRleCA9PSBzZWxm
LnRvdGFsX2NodW5rcyAtIDE6CisgICAgICAgICAgICAgICAgb3JkZXIgPSBbInByZXYiXQorICAg
ICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBpZiBjaHVuay50aW1lIDwgc2VsZi5leHBl
Y3RlZF90aW1lOgorICAgICAgICAgICAgICAgICAgICAjIEZpcnN0IHRyeSB0byBhZGQgYSB0ZXN0
IGZyb20gdGhlIG5laWdoYm9yaW5nIGNodW5rIHdpdGggdGhlCisgICAgICAgICAgICAgICAgICAg
ICMgZ3JlYXRlc3QgdG90YWwgdGltZQorICAgICAgICAgICAgICAgICAgICBpZiBjaHVua3NbY2h1
bmsuaW5kZXggKyAxXS50aW1lID4gY2h1bmtzW2NodW5rLmluZGV4IC0gMV0udGltZToKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG9yZGVyID0gWyJuZXh0IiwgInByZXYiXQorICAgICAgICAgICAg
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIgPSBbInByZXYiLCAi
bmV4dCJdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgIyBGaXJz
dCB0cnkgdG8gcmVtb3ZlIGEgdGVzdCBhbmQgYWRkIHRvIHRoZSBuZWlnaGJvcmluZyBjaHVuayB3
aXRoIHRoZQorICAgICAgICAgICAgICAgICAgICAjIGxvd2VzdCB0b3RhbCB0aW1lCisgICAgICAg
ICAgICAgICAgICAgIGlmIGNodW5rc1tjaHVuay5pbmRleCArIDFdLnRpbWUgPiBjaHVua3NbY2h1
bmsuaW5kZXggLSAxXS50aW1lOgorICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIgPSBbInBy
ZXYiLCAibmV4dCJdCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg
ICAgICAgICBvcmRlciA9IFsibmV4dCIsICJwcmV2Il0KKworICAgICAgICAgICAgZm9yIGRpcmVj
dGlvbiBpbiBvcmRlcjoKKyAgICAgICAgICAgICAgICBpZiBmKGNodW5rcywgY2h1bmsuaW5kZXgs
IGRpcmVjdGlvbik6CisgICAgICAgICAgICAgICAgICAgIGdvdF9pbXByb3ZlbWVudCA9IFRydWUK
KyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICAgICAgaWYgZ290X2ltcHJvdmVt
ZW50OgorICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgcmV0dXJuIGdvdF9pbXByb3Zl
bWVudAorCisgICAgZGVmIF9nZXRfdGVzdHMoc2VsZiwgY2h1bmtzKToKKyAgICAgICAgIiIiUmV0
dXJuIHRoZSBsaXN0IG9mIHRlc3RzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGNodW5rIG51bWJlciB3
ZSBhcmUgcnVubmluZy4KKworICAgICAgICA6cGFyYW0gY2h1bmtzOiBMaXN0IG9mIGNodW5rcyIi
IgorICAgICAgICB0ZXN0cyA9IFtdCisgICAgICAgIGZvciBwYXRoIGluIGNodW5rc1tzZWxmLmNo
dW5rX251bWJlciAtIDFdLnBhdGhzOgorICAgICAgICAgICAgdGVzdHMuZXh0ZW5kKHBhdGgudGVz
dHMpCisKKyAgICAgICAgcmV0dXJuIHRlc3RzCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgbWFu
aWZlc3RfaXRlcik6CisgICAgICAgIG1hbmlmZXN0ID0gbGlzdChtYW5pZmVzdF9pdGVyKQorICAg
ICAgICB0ZXN0cyA9IHNlbGYuX2dldF9jaHVuayhtYW5pZmVzdCkKKyAgICAgICAgZm9yIGl0ZW0g
aW4gdGVzdHM6CisgICAgICAgICAgICB5aWVsZCBpdGVtCisKKworY2xhc3MgVGVzdEZpbHRlcihv
YmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0X21hbmlmZXN0cywgaW5jbHVkZT1O
b25lLCBleGNsdWRlPU5vbmUsIG1hbmlmZXN0X3BhdGg9Tm9uZSk6CisgICAgICAgIGlmIG1hbmlm
ZXN0X3BhdGggaXMgbm90IE5vbmUgYW5kIGluY2x1ZGUgaXMgTm9uZToKKyAgICAgICAgICAgIHNl
bGYubWFuaWZlc3QgPSBtYW5pZmVzdGluY2x1ZGUuZ2V0X21hbmlmZXN0KG1hbmlmZXN0X3BhdGgp
CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLm1hbmlmZXN0ID0gbWFuaWZlc3RpbmNs
dWRlLkluY2x1ZGVNYW5pZmVzdC5jcmVhdGUoKQorCisgICAgICAgIGlmIGluY2x1ZGU6CisgICAg
ICAgICAgICBzZWxmLm1hbmlmZXN0LnNldCgic2tpcCIsICJ0cnVlIikKKyAgICAgICAgICAgIGZv
ciBpdGVtIGluIGluY2x1ZGU6CisgICAgICAgICAgICAgICAgc2VsZi5tYW5pZmVzdC5hZGRfaW5j
bHVkZSh0ZXN0X21hbmlmZXN0cywgaXRlbSkKKworICAgICAgICBpZiBleGNsdWRlOgorICAgICAg
ICAgICAgZm9yIGl0ZW0gaW4gZXhjbHVkZToKKyAgICAgICAgICAgICAgICBzZWxmLm1hbmlmZXN0
LmFkZF9leGNsdWRlKHRlc3RfbWFuaWZlc3RzLCBpdGVtKQorCisgICAgZGVmIF9fY2FsbF9fKHNl
bGYsIG1hbmlmZXN0X2l0ZXIpOgorICAgICAgICBmb3IgdGVzdF90eXBlLCB0ZXN0X3BhdGgsIHRl
c3RzIGluIG1hbmlmZXN0X2l0ZXI6CisgICAgICAgICAgICBpbmNsdWRlX3Rlc3RzID0gc2V0KCkK
KyAgICAgICAgICAgIGZvciB0ZXN0IGluIHRlc3RzOgorICAgICAgICAgICAgICAgIGlmIHNlbGYu
bWFuaWZlc3QuaW5jbHVkZSh0ZXN0KToKKyAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV90ZXN0
cy5hZGQodGVzdCkKKworICAgICAgICAgICAgaWYgaW5jbHVkZV90ZXN0czoKKyAgICAgICAgICAg
ICAgICB5aWVsZCB0ZXN0X3R5cGUsIHRlc3RfcGF0aCwgaW5jbHVkZV90ZXN0cworCitjbGFzcyBU
YWdGaWx0ZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGFncyk6CisgICAgICAg
IHNlbGYudGFncyA9IHNldCh0YWdzKQorCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIHRlc3RfaXRl
cik6CisgICAgICAgIGZvciB0ZXN0IGluIHRlc3RfaXRlcjoKKyAgICAgICAgICAgIGlmIHRlc3Qu
dGFncyAmIHNlbGYudGFnczoKKyAgICAgICAgICAgICAgICB5aWVsZCB0ZXN0CisKK2NsYXNzIE1h
bmlmZXN0TG9hZGVyKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfcGF0aHMs
IGZvcmNlX21hbmlmZXN0X3VwZGF0ZT1GYWxzZSk6CisgICAgICAgIGRvX2RlbGF5ZWRfaW1wb3J0
cygpCisgICAgICAgIHNlbGYudGVzdF9wYXRocyA9IHRlc3RfcGF0aHMKKyAgICAgICAgc2VsZi5m
b3JjZV9tYW5pZmVzdF91cGRhdGUgPSBmb3JjZV9tYW5pZmVzdF91cGRhdGUKKyAgICAgICAgc2Vs
Zi5sb2dnZXIgPSBzdHJ1Y3R1cmVkLmdldF9kZWZhdWx0X2xvZ2dlcigpCisgICAgICAgIGlmIHNl
bGYubG9nZ2VyIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmxvZ2dlciA9IHN0cnVjdHVyZWQu
c3RydWN0dXJlZGxvZy5TdHJ1Y3R1cmVkTG9nZ2VyKCJNYW5pZmVzdExvYWRlciIpCisKKyAgICBk
ZWYgbG9hZChzZWxmKToKKyAgICAgICAgcnYgPSB7fQorICAgICAgICBmb3IgdXJsX2Jhc2UsIHBh
dGhzIGluIHNlbGYudGVzdF9wYXRocy5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgIG1hbmlmZXN0
X2ZpbGUgPSBzZWxmLmxvYWRfbWFuaWZlc3QodXJsX2Jhc2U9dXJsX2Jhc2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqcGF0aHMpCisgICAgICAgICAg
ICBwYXRoX2RhdGEgPSB7InVybF9iYXNlIjogdXJsX2Jhc2V9CisgICAgICAgICAgICBwYXRoX2Rh
dGEudXBkYXRlKHBhdGhzKQorICAgICAgICAgICAgcnZbbWFuaWZlc3RfZmlsZV0gPSBwYXRoX2Rh
dGEKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgY3JlYXRlX21hbmlmZXN0KHNlbGYsIG1h
bmlmZXN0X3BhdGgsIHRlc3RzX3BhdGgsIHVybF9iYXNlPSIvIik6CisgICAgICAgIHNlbGYudXBk
YXRlX21hbmlmZXN0KG1hbmlmZXN0X3BhdGgsIHRlc3RzX3BhdGgsIHVybF9iYXNlLCByZWNyZWF0
ZT1UcnVlKQorCisgICAgZGVmIHVwZGF0ZV9tYW5pZmVzdChzZWxmLCBtYW5pZmVzdF9wYXRoLCB0
ZXN0c19wYXRoLCB1cmxfYmFzZT0iLyIsCisgICAgICAgICAgICAgICAgICAgICAgICByZWNyZWF0
ZT1GYWxzZSk6CisgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oIlVwZGF0aW5nIHRlc3QgbWFuaWZl
c3QgJXMiICUgbWFuaWZlc3RfcGF0aCkKKworICAgICAgICBqc29uX2RhdGEgPSBOb25lCisgICAg
ICAgIGlmIG5vdCByZWNyZWF0ZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB3
aXRoIG9wZW4obWFuaWZlc3RfcGF0aCkgYXMgZjoKKyAgICAgICAgICAgICAgICAgICAganNvbl9k
YXRhID0ganNvbi5sb2FkKGYpCisgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAg
ICAgICAgICAjSWYgdGhlIGV4aXN0aW5nIGZpbGUgZG9lc24ndCBleGlzdCBqdXN0IGNyZWF0ZSBv
bmUgZnJvbSBzY3JhdGNoCisgICAgICAgICAgICAgICAgcGFzcworCisgICAgICAgIGlmIG5vdCBq
c29uX2RhdGE6CisgICAgICAgICAgICBtYW5pZmVzdF9maWxlID0gbWFuaWZlc3QuTWFuaWZlc3Qo
dXJsX2Jhc2UpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAg
ICAgbWFuaWZlc3RfZmlsZSA9IG1hbmlmZXN0Lk1hbmlmZXN0LmZyb21fanNvbih0ZXN0c19wYXRo
LCBqc29uX2RhdGEpCisgICAgICAgICAgICBleGNlcHQgbWFuaWZlc3QuTWFuaWZlc3RWZXJzaW9u
TWlzbWF0Y2g6CisgICAgICAgICAgICAgICAgbWFuaWZlc3RfZmlsZSA9IG1hbmlmZXN0Lk1hbmlm
ZXN0KHVybF9iYXNlKQorCisgICAgICAgICAgICBtYW5pZmVzdF91cGRhdGUudXBkYXRlKHRlc3Rz
X3BhdGgsIG1hbmlmZXN0X2ZpbGUsIFRydWUpCisKKyAgICAgICAgbWFuaWZlc3Qud3JpdGUobWFu
aWZlc3RfZmlsZSwgbWFuaWZlc3RfcGF0aCkKKworICAgIGRlZiBsb2FkX21hbmlmZXN0KHNlbGYs
IHRlc3RzX3BhdGgsIG1ldGFkYXRhX3BhdGgsIHVybF9iYXNlPSIvIik6CisgICAgICAgIG1hbmlm
ZXN0X3BhdGggPSBvcy5wYXRoLmpvaW4obWV0YWRhdGFfcGF0aCwgIk1BTklGRVNULmpzb24iKQor
ICAgICAgICBpZiAobm90IG9zLnBhdGguZXhpc3RzKG1hbmlmZXN0X3BhdGgpIG9yCisgICAgICAg
ICAgICBzZWxmLmZvcmNlX21hbmlmZXN0X3VwZGF0ZSk6CisgICAgICAgICAgICBzZWxmLnVwZGF0
ZV9tYW5pZmVzdChtYW5pZmVzdF9wYXRoLCB0ZXN0c19wYXRoLCB1cmxfYmFzZSkKKyAgICAgICAg
bWFuaWZlc3RfZmlsZSA9IG1hbmlmZXN0LmxvYWQodGVzdHNfcGF0aCwgbWFuaWZlc3RfcGF0aCkK
KyAgICAgICAgaWYgbWFuaWZlc3RfZmlsZS51cmxfYmFzZSAhPSB1cmxfYmFzZToKKyAgICAgICAg
ICAgIHNlbGYubG9nZ2VyLmluZm8oIlVwZGF0aW5nIHVybF9iYXNlIGluIG1hbmlmZXN0IGZyb20g
JXMgdG8gJXMiICUgKG1hbmlmZXN0X2ZpbGUudXJsX2Jhc2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1cmxfYmFzZSkpCisgICAgICAgICAgICBtYW5pZmVzdF9maWxlLnVybF9iYXNlID0gdXJsX2Jh
c2UKKyAgICAgICAgICAgIG1hbmlmZXN0LndyaXRlKG1hbmlmZXN0X2ZpbGUsIG1hbmlmZXN0X3Bh
dGgpCisKKyAgICAgICAgcmV0dXJuIG1hbmlmZXN0X2ZpbGUKKworZGVmIGl0ZXJmaWx0ZXIoZmls
dGVycywgaXRlcik6CisgICAgZm9yIGYgaW4gZmlsdGVyczoKKyAgICAgICAgaXRlciA9IGYoaXRl
cikKKyAgICBmb3IgaXRlbSBpbiBpdGVyOgorICAgICAgICB5aWVsZCBpdGVtCisKK2NsYXNzIFRl
c3RMb2FkZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwKKyAgICAgICAgICAgICAg
ICAgdGVzdF9tYW5pZmVzdHMsCisgICAgICAgICAgICAgICAgIHRlc3RfdHlwZXMsCisgICAgICAg
ICAgICAgICAgIHJ1bl9pbmZvLAorICAgICAgICAgICAgICAgICBtYW5pZmVzdF9maWx0ZXJzPU5v
bmUsCisgICAgICAgICAgICAgICAgIG1ldGFfZmlsdGVycz1Ob25lLAorICAgICAgICAgICAgICAg
ICBjaHVua190eXBlPSJub25lIiwKKyAgICAgICAgICAgICAgICAgdG90YWxfY2h1bmtzPTEsCisg
ICAgICAgICAgICAgICAgIGNodW5rX251bWJlcj0xLAorICAgICAgICAgICAgICAgICBpbmNsdWRl
X2h0dHBzPVRydWUpOgorCisgICAgICAgIHNlbGYudGVzdF90eXBlcyA9IHRlc3RfdHlwZXMKKyAg
ICAgICAgc2VsZi5ydW5faW5mbyA9IHJ1bl9pbmZvCisKKyAgICAgICAgc2VsZi5tYW5pZmVzdF9m
aWx0ZXJzID0gbWFuaWZlc3RfZmlsdGVycyBpZiBtYW5pZmVzdF9maWx0ZXJzIGlzIG5vdCBOb25l
IGVsc2UgW10KKyAgICAgICAgc2VsZi5tZXRhX2ZpbHRlcnMgPSBtZXRhX2ZpbHRlcnMgaWYgbWV0
YV9maWx0ZXJzIGlzIG5vdCBOb25lIGVsc2UgW10KKworICAgICAgICBzZWxmLm1hbmlmZXN0cyA9
IHRlc3RfbWFuaWZlc3RzCisgICAgICAgIHNlbGYudGVzdHMgPSBOb25lCisgICAgICAgIHNlbGYu
ZGlzYWJsZWRfdGVzdHMgPSBOb25lCisgICAgICAgIHNlbGYuaW5jbHVkZV9odHRwcyA9IGluY2x1
ZGVfaHR0cHMKKworICAgICAgICBzZWxmLmNodW5rX3R5cGUgPSBjaHVua190eXBlCisgICAgICAg
IHNlbGYudG90YWxfY2h1bmtzID0gdG90YWxfY2h1bmtzCisgICAgICAgIHNlbGYuY2h1bmtfbnVt
YmVyID0gY2h1bmtfbnVtYmVyCisKKyAgICAgICAgc2VsZi5jaHVua2VyID0geyJub25lIjogVW5j
aHVua2VkLAorICAgICAgICAgICAgICAgICAgICAgICAgImhhc2giOiBIYXNoQ2h1bmtlciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICJkaXJfaGFzaCI6IERpcmVjdG9yeUhhc2hDaHVua2VyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgImVxdWFsX3RpbWUiOiBFcXVhbFRpbWVDaHVua2VyfVtj
aHVua190eXBlXSh0b3RhbF9jaHVua3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rX251bWJlcikKKworICAg
ICAgICBzZWxmLl90ZXN0X2lkcyA9IE5vbmUKKworICAgICAgICBzZWxmLmRpcmVjdG9yeV9tYW5p
ZmVzdHMgPSB7fQorCisgICAgICAgIHNlbGYuX2xvYWRfdGVzdHMoKQorCisgICAgQHByb3BlcnR5
CisgICAgZGVmIHRlc3RfaWRzKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl90ZXN0X2lkcyBpcyBO
b25lOgorICAgICAgICAgICAgc2VsZi5fdGVzdF9pZHMgPSBbXQorICAgICAgICAgICAgZm9yIHRl
c3RfZGljdCBpbiBbc2VsZi5kaXNhYmxlZF90ZXN0cywgc2VsZi50ZXN0c106CisgICAgICAgICAg
ICAgICAgZm9yIHRlc3RfdHlwZSBpbiBzZWxmLnRlc3RfdHlwZXM6CisgICAgICAgICAgICAgICAg
ICAgIHNlbGYuX3Rlc3RfaWRzICs9IFtpdGVtLmlkIGZvciBpdGVtIGluIHRlc3RfZGljdFt0ZXN0
X3R5cGVdXQorICAgICAgICByZXR1cm4gc2VsZi5fdGVzdF9pZHMKKworICAgIGRlZiBnZXRfdGVz
dChzZWxmLCBtYW5pZmVzdF90ZXN0LCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRhKToK
KyAgICAgICAgaWYgdGVzdF9tZXRhZGF0YSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGluaGVy
aXRfbWV0YWRhdGEuYXBwZW5kKHRlc3RfbWV0YWRhdGEpCisgICAgICAgICAgICB0ZXN0X21ldGFk
YXRhID0gdGVzdF9tZXRhZGF0YS5nZXRfdGVzdChtYW5pZmVzdF90ZXN0LmlkKQorCisgICAgICAg
IHJldHVybiB3cHR0ZXN0LmZyb21fbWFuaWZlc3QobWFuaWZlc3RfdGVzdCwgaW5oZXJpdF9tZXRh
ZGF0YSwgdGVzdF9tZXRhZGF0YSkKKworICAgIGRlZiBsb2FkX2Rpcl9tZXRhZGF0YShzZWxmLCB0
ZXN0X21hbmlmZXN0LCBtZXRhZGF0YV9wYXRoLCB0ZXN0X3BhdGgpOgorICAgICAgICBydiA9IFtd
CisgICAgICAgIHBhdGhfcGFydHMgPSBvcy5wYXRoLmRpcm5hbWUodGVzdF9wYXRoKS5zcGxpdChv
cy5wYXRoLnNlcCkKKyAgICAgICAgZm9yIGkgaW4geHJhbmdlKDEsbGVuKHBhdGhfcGFydHMpICsg
MSk6CisgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKG1ldGFkYXRhX3BhdGgsIG9zLnBh
dGguc2VwLmpvaW4ocGF0aF9wYXJ0c1s6aV0pLCAiX19kaXJfXy5pbmkiKQorICAgICAgICAgICAg
aWYgcGF0aCBub3QgaW4gc2VsZi5kaXJlY3RvcnlfbWFuaWZlc3RzOgorICAgICAgICAgICAgICAg
IHNlbGYuZGlyZWN0b3J5X21hbmlmZXN0c1twYXRoXSA9IG1hbmlmZXN0ZXhwZWN0ZWQuZ2V0X2Rp
cl9tYW5pZmVzdChwYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJ1bl9pbmZv
KQorICAgICAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmRpcmVjdG9yeV9tYW5pZmVzdHNbcGF0aF0K
KyAgICAgICAgICAgIGlmIG1hbmlmZXN0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHJ2
LmFwcGVuZChtYW5pZmVzdCkKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgbG9hZF9tZXRh
ZGF0YShzZWxmLCB0ZXN0X21hbmlmZXN0LCBtZXRhZGF0YV9wYXRoLCB0ZXN0X3BhdGgpOgorICAg
ICAgICBpbmhlcml0X21ldGFkYXRhID0gc2VsZi5sb2FkX2Rpcl9tZXRhZGF0YSh0ZXN0X21hbmlm
ZXN0LCBtZXRhZGF0YV9wYXRoLCB0ZXN0X3BhdGgpCisgICAgICAgIHRlc3RfbWV0YWRhdGEgPSBt
YW5pZmVzdGV4cGVjdGVkLmdldF9tYW5pZmVzdCgKKyAgICAgICAgICAgIG1ldGFkYXRhX3BhdGgs
IHRlc3RfcGF0aCwgdGVzdF9tYW5pZmVzdC51cmxfYmFzZSwgc2VsZi5ydW5faW5mbykKKyAgICAg
ICAgcmV0dXJuIGluaGVyaXRfbWV0YWRhdGEsIHRlc3RfbWV0YWRhdGEKKworICAgIGRlZiBpdGVy
X3Rlc3RzKHNlbGYpOgorICAgICAgICBtYW5pZmVzdF9pdGVtcyA9IFtdCisKKyAgICAgICAgZm9y
IG1hbmlmZXN0IGluIHNvcnRlZChzZWxmLm1hbmlmZXN0cy5rZXlzKCksIGtleT1sYW1iZGEgeDp4
LnVybF9iYXNlKToKKyAgICAgICAgICAgIG1hbmlmZXN0X2l0ZXIgPSBpdGVyZmlsdGVyKHNlbGYu
bWFuaWZlc3RfZmlsdGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1hbmlmZXN0Lml0ZXJ0eXBlcygqc2VsZi50ZXN0X3R5cGVzKSkKKyAgICAgICAgICAgIG1hbmlm
ZXN0X2l0ZW1zLmV4dGVuZChtYW5pZmVzdF9pdGVyKQorCisgICAgICAgIGlmIHNlbGYuY2h1bmtl
ciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIG1hbmlmZXN0X2l0ZW1zID0gc2VsZi5jaHVua2Vy
KG1hbmlmZXN0X2l0ZW1zKQorCisgICAgICAgIGZvciB0ZXN0X3R5cGUsIHRlc3RfcGF0aCwgdGVz
dHMgaW4gbWFuaWZlc3RfaXRlbXM6CisgICAgICAgICAgICBtYW5pZmVzdF9maWxlID0gaXRlcih0
ZXN0cykubmV4dCgpLm1hbmlmZXN0CisgICAgICAgICAgICBtZXRhZGF0YV9wYXRoID0gc2VsZi5t
YW5pZmVzdHNbbWFuaWZlc3RfZmlsZV1bIm1ldGFkYXRhX3BhdGgiXQorICAgICAgICAgICAgaW5o
ZXJpdF9tZXRhZGF0YSwgdGVzdF9tZXRhZGF0YSA9IHNlbGYubG9hZF9tZXRhZGF0YShtYW5pZmVz
dF9maWxlLCBtZXRhZGF0YV9wYXRoLCB0ZXN0X3BhdGgpCisKKyAgICAgICAgICAgIGZvciB0ZXN0
IGluIGl0ZXJmaWx0ZXIoc2VsZi5tZXRhX2ZpbHRlcnMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuaXRlcl93cHR0ZXN0KGluaGVyaXRfbWV0YWRhdGEsIHRlc3RfbWV0
YWRhdGEsIHRlc3RzKSk6CisgICAgICAgICAgICAgICAgeWllbGQgdGVzdF9wYXRoLCB0ZXN0X3R5
cGUsIHRlc3QKKworICAgIGRlZiBpdGVyX3dwdHRlc3Qoc2VsZiwgaW5oZXJpdF9tZXRhZGF0YSwg
dGVzdF9tZXRhZGF0YSwgdGVzdHMpOgorICAgICAgICBmb3IgbWFuaWZlc3RfdGVzdCBpbiB0ZXN0
czoKKyAgICAgICAgICAgIHlpZWxkIHNlbGYuZ2V0X3Rlc3QobWFuaWZlc3RfdGVzdCwgaW5oZXJp
dF9tZXRhZGF0YSwgdGVzdF9tZXRhZGF0YSkKKworICAgIGRlZiBfbG9hZF90ZXN0cyhzZWxmKToK
KyAgICAgICAgIiIiUmVhZCBpbiB0aGUgdGVzdHMgZnJvbSB0aGUgbWFuaWZlc3QgZmlsZSBhbmQg
YWRkIHRoZW0gdG8gYSBxdWV1ZSIiIgorICAgICAgICB0ZXN0cyA9IHsiZW5hYmxlZCI6ZGVmYXVs
dGRpY3QobGlzdCksCisgICAgICAgICAgICAgICAgICJkaXNhYmxlZCI6ZGVmYXVsdGRpY3QobGlz
dCl9CisKKyAgICAgICAgZm9yIHRlc3RfcGF0aCwgdGVzdF90eXBlLCB0ZXN0IGluIHNlbGYuaXRl
cl90ZXN0cygpOgorICAgICAgICAgICAgZW5hYmxlZCA9IG5vdCB0ZXN0LmRpc2FibGVkKCkKKyAg
ICAgICAgICAgIGlmIG5vdCBzZWxmLmluY2x1ZGVfaHR0cHMgYW5kIHRlc3QuZW52aXJvbm1lbnRb
InByb3RvY29sIl0gPT0gImh0dHBzIjoKKyAgICAgICAgICAgICAgICBlbmFibGVkID0gRmFsc2UK
KyAgICAgICAgICAgIGtleSA9ICJlbmFibGVkIiBpZiBlbmFibGVkIGVsc2UgImRpc2FibGVkIgor
ICAgICAgICAgICAgdGVzdHNba2V5XVt0ZXN0X3R5cGVdLmFwcGVuZCh0ZXN0KQorCisgICAgICAg
IHNlbGYudGVzdHMgPSB0ZXN0c1siZW5hYmxlZCJdCisgICAgICAgIHNlbGYuZGlzYWJsZWRfdGVz
dHMgPSB0ZXN0c1siZGlzYWJsZWQiXQorCisgICAgZGVmIGdyb3VwcyhzZWxmLCB0ZXN0X3R5cGVz
LCBjaHVua190eXBlPSJub25lIiwgdG90YWxfY2h1bmtzPTEsIGNodW5rX251bWJlcj0xKToKKyAg
ICAgICAgZ3JvdXBzID0gc2V0KCkKKworICAgICAgICBmb3IgdGVzdF90eXBlIGluIHRlc3RfdHlw
ZXM6CisgICAgICAgICAgICBmb3IgdGVzdCBpbiBzZWxmLnRlc3RzW3Rlc3RfdHlwZV06CisgICAg
ICAgICAgICAgICAgZ3JvdXAgPSB0ZXN0LnVybC5zcGxpdCgiLyIpWzFdCisgICAgICAgICAgICAg
ICAgZ3JvdXBzLmFkZChncm91cCkKKworICAgICAgICByZXR1cm4gZ3JvdXBzCisKKworY2xhc3Mg
VGVzdFNvdXJjZShvYmplY3QpOgorICAgIF9fbWV0YWNsYXNzX18gPSBBQkNNZXRhCisKKyAgICBA
YWJzdHJhY3RtZXRob2QKKyAgICBkZWYgcXVldWVfdGVzdHMoc2VsZiwgdGVzdF9xdWV1ZSk6Cisg
ICAgICAgIHBhc3MKKworICAgIEBhYnN0cmFjdG1ldGhvZAorICAgIGRlZiByZXF1ZXVlX3Rlc3Qo
c2VsZiwgdGVzdCk6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6Cisg
ICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MsICoqa3dh
cmdzKToKKyAgICAgICAgcGFzcworCisKK2NsYXNzIFNpbmdsZVRlc3RTb3VyY2UoVGVzdFNvdXJj
ZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfcXVldWUpOgorICAgICAgICBzZWxmLnRl
c3RfcXVldWUgPSB0ZXN0X3F1ZXVlCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgcXVldWVf
dGVzdHMoY2xzLCB0ZXN0X3F1ZXVlLCB0ZXN0X3R5cGUsIHRlc3RzKToKKyAgICAgICAgZm9yIHRl
c3QgaW4gdGVzdHNbdGVzdF90eXBlXToKKyAgICAgICAgICAgIHRlc3RfcXVldWUucHV0KHRlc3Qp
CisKKyAgICBkZWYgZ2V0X3F1ZXVlKHNlbGYpOgorICAgICAgICBpZiBzZWxmLnRlc3RfcXVldWUu
ZW1wdHkoKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHJldHVybiBzZWxmLnRl
c3RfcXVldWUKKworICAgIGRlZiByZXF1ZXVlX3Rlc3Qoc2VsZiwgdGVzdCk6CisgICAgICAgIHNl
bGYudGVzdF9xdWV1ZS5wdXQodGVzdCkKKworY2xhc3MgUGF0aEdyb3VwZWRTb3VyY2UoVGVzdFNv
dXJjZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RfcXVldWUpOgorICAgICAgICBzZWxm
LnRlc3RfcXVldWUgPSB0ZXN0X3F1ZXVlCisgICAgICAgIHNlbGYuY3VycmVudF9xdWV1ZSA9IE5v
bmUKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBxdWV1ZV90ZXN0cyhjbHMsIHRlc3RfcXVl
dWUsIHRlc3RfdHlwZSwgdGVzdHMsIGRlcHRoPU5vbmUpOgorICAgICAgICBpZiBkZXB0aCBpcyBU
cnVlOgorICAgICAgICAgICAgZGVwdGggPSBOb25lCisKKyAgICAgICAgcHJldl9wYXRoID0gTm9u
ZQorICAgICAgICBncm91cCA9IE5vbmUKKworICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0c1t0ZXN0
X3R5cGVdOgorICAgICAgICAgICAgcGF0aCA9IHVybHBhcnNlLnVybHNwbGl0KHRlc3QudXJsKS5w
YXRoLnNwbGl0KCIvIilbMTotMV1bOmRlcHRoXQorICAgICAgICAgICAgaWYgcGF0aCAhPSBwcmV2
X3BhdGg6CisgICAgICAgICAgICAgICAgZ3JvdXAgPSBbXQorICAgICAgICAgICAgICAgIHRlc3Rf
cXVldWUucHV0KGdyb3VwKQorICAgICAgICAgICAgICAgIHByZXZfcGF0aCA9IHBhdGgKKworICAg
ICAgICAgICAgZ3JvdXAuYXBwZW5kKHRlc3QpCisKKyAgICBkZWYgZ2V0X3F1ZXVlKHNlbGYpOgor
ICAgICAgICBpZiBub3Qgc2VsZi5jdXJyZW50X3F1ZXVlIG9yIHNlbGYuY3VycmVudF9xdWV1ZS5l
bXB0eSgpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGRhdGEgPSBzZWxmLnRl
c3RfcXVldWUuZ2V0KGJsb2NrPVRydWUsIHRpbWVvdXQ9MSkKKyAgICAgICAgICAgICAgICBzZWxm
LmN1cnJlbnRfcXVldWUgPSBRdWV1ZSgpCisgICAgICAgICAgICAgICAgZm9yIGl0ZW0gaW4gZGF0
YToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jdXJyZW50X3F1ZXVlLnB1dChpdGVtKQorICAg
ICAgICAgICAgZXhjZXB0IEVtcHR5OgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAg
ICAgICAgcmV0dXJuIHNlbGYuY3VycmVudF9xdWV1ZQorCisgICAgZGVmIHJlcXVldWVfdGVzdChz
ZWxmLCB0ZXN0KToKKyAgICAgICAgc2VsZi5jdXJyZW50X3F1ZXVlLnB1dCh0ZXN0KQorCisgICAg
ZGVmIF9fZXhpdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIGlmIHNlbGYuY3Vy
cmVudF9xdWV1ZToKKyAgICAgICAgICAgIHNlbGYuY3VycmVudF9xdWV1ZS5jbG9zZSgpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHJ1bm5lci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cnVu
bmVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU0MjJjZmVmZWM2MThhZDYyYTBhNTJmNDljNDQ5NTAyOTFhMWQ1
ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHJ1bm5lci5weQpAQCAtMCww
ICsxLDc2NiBAQAorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCisKK2lt
cG9ydCBtdWx0aXByb2Nlc3NpbmcKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9y
dCB0cmFjZWJhY2sKK2Zyb20gUXVldWUgaW1wb3J0IEVtcHR5Citmcm9tIGNvbGxlY3Rpb25zIGlt
cG9ydCBuYW1lZHR1cGxlCitmcm9tIG11bHRpcHJvY2Vzc2luZyBpbXBvcnQgUHJvY2VzcywgY3Vy
cmVudF9wcm9jZXNzLCBRdWV1ZQorCitmcm9tIG1vemxvZyBpbXBvcnQgc3RydWN0dXJlZGxvZwor
CisjIFNwZWNpYWwgdmFsdWUgdXNlZCBhcyBhIHNlbnRpbmFsIGluIHZhcmlvdXMgY29tbWFuZHMK
K1N0b3AgPSBvYmplY3QoKQorCisKK2NsYXNzIE1lc3NhZ2VMb2dnZXIob2JqZWN0KToKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgbWVzc2FnZV9mdW5jKToKKyAgICAgICAgc2VsZi5zZW5kX21lc3Nh
Z2UgPSBtZXNzYWdlX2Z1bmMKKworICAgIGRlZiBfbG9nX2RhdGEoc2VsZiwgYWN0aW9uLCAqKmt3
YXJncyk6CisgICAgICAgIHNlbGYuc2VuZF9tZXNzYWdlKCJsb2ciLCBhY3Rpb24sIGt3YXJncykK
KworICAgIGRlZiBwcm9jZXNzX291dHB1dChzZWxmLCBwcm9jZXNzLCBkYXRhLCBjb21tYW5kKToK
KyAgICAgICAgc2VsZi5fbG9nX2RhdGEoInByb2Nlc3Nfb3V0cHV0IiwgcHJvY2Vzcz1wcm9jZXNz
LCBkYXRhPWRhdGEsIGNvbW1hbmQ9Y29tbWFuZCkKKworCitkZWYgX2xvZ19mdW5jKGxldmVsX25h
bWUpOgorICAgIGRlZiBsb2coc2VsZiwgbWVzc2FnZSk6CisgICAgICAgIHNlbGYuX2xvZ19kYXRh
KGxldmVsX25hbWUubG93ZXIoKSwgbWVzc2FnZT1tZXNzYWdlKQorICAgIGxvZy5fX2RvY19fID0g
IiIiTG9nIGEgbWVzc2FnZSB3aXRoIGxldmVsICVzCisKKzpwYXJhbSBtZXNzYWdlOiBUaGUgc3Ry
aW5nIG1lc3NhZ2UgdG8gbG9nCisiIiIgJSBsZXZlbF9uYW1lCisgICAgbG9nLl9fbmFtZV9fID0g
c3RyKGxldmVsX25hbWUpLmxvd2VyKCkKKyAgICByZXR1cm4gbG9nCisKKyMgQ3JlYXRlIGFsbCB0
aGUgbWV0aG9kcyBvbiBTdHJ1Y3R1cmVkTG9nIGZvciBkZWJ1ZyBsZXZlbHMKK2ZvciBsZXZlbF9u
YW1lIGluIHN0cnVjdHVyZWRsb2cubG9nX2xldmVsczoKKyAgICBzZXRhdHRyKE1lc3NhZ2VMb2dn
ZXIsIGxldmVsX25hbWUubG93ZXIoKSwgX2xvZ19mdW5jKGxldmVsX25hbWUpKQorCisKK2NsYXNz
IFRlc3RSdW5uZXIob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY29tbWFuZF9xdWV1
ZSwgcmVzdWx0X3F1ZXVlLCBleGVjdXRvcik6CisgICAgICAgICIiIkNsYXNzIGltcGxlbWVudGlu
ZyB0aGUgbWFpbiBsb29wIGZvciBydW5uaW5nIHRlc3RzLgorCisgICAgICAgIFRoaXMgY2xhc3Mg
ZGVsZWdhdGVzIHRoZSBqb2Igb2YgYWN0dWFsbHkgcnVubmluZyBhIHRlc3QgdG8gdGhlIGV4ZWN1
dG9yCisgICAgICAgIHRoYXQgaXMgcGFzc2VkIGluLgorCisgICAgICAgIDpwYXJhbSBjb21tYW5k
X3F1ZXVlOiBzdWJwcm9jZXNzLlF1ZXVlIHVzZWQgdG8gc2VuZCBjb21tYW5kcyB0byB0aGUKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MKKyAgICAgICAgOnBhcmFtIHJlc3Vs
dF9xdWV1ZTogc3VicHJvY2Vzcy5RdWV1ZSB1c2VkIHRvIHNlbmQgcmVzdWx0cyB0byB0aGUKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50IFRlc3RNYW5hZ2VyIHByb2Nlc3MKKyAg
ICAgICAgOnBhcmFtIGV4ZWN1dG9yOiBUZXN0RXhlY3V0b3Igb2JqZWN0IHRoYXQgd2lsbCBhY3R1
YWxseSBydW4gYSB0ZXN0LgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5jb21tYW5kX3F1ZXVl
ID0gY29tbWFuZF9xdWV1ZQorICAgICAgICBzZWxmLnJlc3VsdF9xdWV1ZSA9IHJlc3VsdF9xdWV1
ZQorCisgICAgICAgIHNlbGYuZXhlY3V0b3IgPSBleGVjdXRvcgorICAgICAgICBzZWxmLm5hbWUg
PSBjdXJyZW50X3Byb2Nlc3MoKS5uYW1lCisgICAgICAgIHNlbGYubG9nZ2VyID0gTWVzc2FnZUxv
Z2dlcihzZWxmLnNlbmRfbWVzc2FnZSkKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAg
ICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgZXhjX3R5cGUsIGV4Y192
YWx1ZSwgdHJhY2ViYWNrKToKKyAgICAgICAgc2VsZi50ZWFyZG93bigpCisKKyAgICBkZWYgc2V0
dXAoc2VsZik6CisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJFeGVjdXRvciBzZXR1cCIpCisg
ICAgICAgIHNlbGYuZXhlY3V0b3Iuc2V0dXAoc2VsZikKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVi
dWcoIkV4ZWN1dG9yIHNldHVwIGRvbmUiKQorCisgICAgZGVmIHRlYXJkb3duKHNlbGYpOgorICAg
ICAgICBzZWxmLmV4ZWN1dG9yLnRlYXJkb3duKCkKKyAgICAgICAgc2VsZi5zZW5kX21lc3NhZ2Uo
InJ1bm5lcl90ZWFyZG93biIpCisgICAgICAgIHNlbGYucmVzdWx0X3F1ZXVlID0gTm9uZQorICAg
ICAgICBzZWxmLmNvbW1hbmRfcXVldWUgPSBOb25lCisgICAgICAgIHNlbGYuYnJvd3NlciA9IE5v
bmUKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgICIiIk1haW4gbG9vcCBhY2NlcHRpbmcg
Y29tbWFuZHMgb3ZlciB0aGUgcGlwZSBhbmQgdHJpZ2dlcmluZworICAgICAgICB0aGUgYXNzb2Np
YXRlZCBtZXRob2RzIiIiCisgICAgICAgIHNlbGYuc2V0dXAoKQorICAgICAgICBjb21tYW5kcyA9
IHsicnVuX3Rlc3QiOiBzZWxmLnJ1bl90ZXN0LAorICAgICAgICAgICAgICAgICAgICAic3RvcCI6
IHNlbGYuc3RvcCwKKyAgICAgICAgICAgICAgICAgICAgIndhaXQiOiBzZWxmLndhaXR9CisgICAg
ICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjb21tYW5kLCBhcmdzID0gc2VsZi5jb21tYW5k
X3F1ZXVlLmdldCgpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcnYgPSBjb21t
YW5kc1tjb21tYW5kXSgqYXJncykKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAg
ICAgICAgICAgICAgc2VsZi5zZW5kX21lc3NhZ2UoImVycm9yIiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiRXJyb3IgcnVubmluZyBjb21tYW5kICVzIHdpdGggYXJndW1lbnRz
ICVyOlxuJXMiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29tbWFuZCwg
YXJncywgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkpCisgICAgICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgICAgIGlmIHJ2IGlzIFN0b3A6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisKKyAg
ICBkZWYgc3RvcChzZWxmKToKKyAgICAgICAgcmV0dXJuIFN0b3AKKworICAgIGRlZiBydW5fdGVz
dChzZWxmLCB0ZXN0KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuZXhl
Y3V0b3IucnVuX3Rlc3QodGVzdCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAg
ICAgIHNlbGYubG9nZ2VyLmNyaXRpY2FsKHRyYWNlYmFjay5mb3JtYXRfZXhjKCkpCisgICAgICAg
ICAgICByYWlzZQorCisgICAgZGVmIHdhaXQoc2VsZik6CisgICAgICAgIHNlbGYuZXhlY3V0b3Iu
cHJvdG9jb2wud2FpdCgpCisgICAgICAgIHNlbGYuc2VuZF9tZXNzYWdlKCJ3YWl0X2ZpbmlzaGVk
IikKKworICAgIGRlZiBzZW5kX21lc3NhZ2Uoc2VsZiwgY29tbWFuZCwgKmFyZ3MpOgorICAgICAg
ICBzZWxmLnJlc3VsdF9xdWV1ZS5wdXQoKGNvbW1hbmQsIGFyZ3MpKQorCisKK2RlZiBzdGFydF9y
dW5uZXIocnVubmVyX2NvbW1hbmRfcXVldWUsIHJ1bm5lcl9yZXN1bHRfcXVldWUsCisgICAgICAg
ICAgICAgICAgIGV4ZWN1dG9yX2NscywgZXhlY3V0b3Jfa3dhcmdzLAorICAgICAgICAgICAgICAg
ICBleGVjdXRvcl9icm93c2VyX2NscywgZXhlY3V0b3JfYnJvd3Nlcl9rd2FyZ3MsCisgICAgICAg
ICAgICAgICAgIHN0b3BfZmxhZyk6CisgICAgIiIiTGF1bmNoIGEgVGVzdFJ1bm5lciBpbiBhIG5l
dyBwcm9jZXNzIiIiCisgICAgdHJ5OgorICAgICAgICBicm93c2VyID0gZXhlY3V0b3JfYnJvd3Nl
cl9jbHMoKipleGVjdXRvcl9icm93c2VyX2t3YXJncykKKyAgICAgICAgZXhlY3V0b3IgPSBleGVj
dXRvcl9jbHMoYnJvd3NlciwgKipleGVjdXRvcl9rd2FyZ3MpCisgICAgICAgIHdpdGggVGVzdFJ1
bm5lcihydW5uZXJfY29tbWFuZF9xdWV1ZSwgcnVubmVyX3Jlc3VsdF9xdWV1ZSwgZXhlY3V0b3Ip
IGFzIHJ1bm5lcjoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBydW5uZXIucnVu
KCkKKyAgICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgICAg
ICBzdG9wX2ZsYWcuc2V0KCkKKyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICBydW5uZXJf
cmVzdWx0X3F1ZXVlLnB1dCgoImxvZyIsICgiY3JpdGljYWwiLCB7Im1lc3NhZ2UiOiB0cmFjZWJh
Y2suZm9ybWF0X2V4YygpfSkpKQorICAgICAgICBwcmludCA+PiBzeXMuc3RkZXJyLCB0cmFjZWJh
Y2suZm9ybWF0X2V4YygpCisgICAgICAgIHN0b3BfZmxhZy5zZXQoKQorICAgIGZpbmFsbHk6Cisg
ICAgICAgIHJ1bm5lcl9jb21tYW5kX3F1ZXVlID0gTm9uZQorICAgICAgICBydW5uZXJfcmVzdWx0
X3F1ZXVlID0gTm9uZQorCisKK21hbmFnZXJfY291bnQgPSAwCisKKworZGVmIG5leHRfbWFuYWdl
cl9udW1iZXIoKToKKyAgICBnbG9iYWwgbWFuYWdlcl9jb3VudAorICAgIGxvY2FsID0gbWFuYWdl
cl9jb3VudCA9IG1hbmFnZXJfY291bnQgKyAxCisgICAgcmV0dXJuIGxvY2FsCisKKworY2xhc3Mg
QnJvd3Nlck1hbmFnZXIob2JqZWN0KToKKyAgICBpbml0X2xvY2sgPSB0aHJlYWRpbmcuTG9jaygp
CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2VyLCBjb21tYW5kX3F1ZXVl
LCBub190aW1lb3V0PUZhbHNlKToKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIKKyAgICAg
ICAgc2VsZi5icm93c2VyID0gYnJvd3NlcgorICAgICAgICBzZWxmLm5vX3RpbWVvdXQgPSBub190
aW1lb3V0CisKKyAgICAgICAgc2VsZi5zdGFydGVkID0gRmFsc2UKKworICAgICAgICBzZWxmLmlu
aXRfdGltZXIgPSBOb25lCisKKyAgICBkZWYgaW5pdChzZWxmKToKKyAgICAgICAgIiIiTGF1bmNo
IHRoZSBicm93c2VyIHRoYXQgaXMgYmVpbmcgdGVzdGVkLAorICAgICAgICBhbmQgdGhlIFRlc3RS
dW5uZXIgcHJvY2VzcyB0aGF0IHdpbGwgcnVuIHRoZSB0ZXN0cy4iIiIKKyAgICAgICAgIyBJdCBz
ZWVtcyB0aGF0IHRoaXMgbG9jayBpcyBoZWxwZnVsIHRvIHByZXZlbnQgc29tZSByYWNlIHRoYXQg
b3RoZXJ3aXNlCisgICAgICAgICMgc29tZXRpbWVzIHN0b3BzIHRoZSBzcGF3bmVkIHByb2Nlc3Nl
cyBpbml0YWxpc2luZyBjb3JyZWN0bHksIGFuZAorICAgICAgICAjIGxlYXZlcyB0aGlzIHRocmVh
ZCBodW5nCisgICAgICAgIGlmIHNlbGYuaW5pdF90aW1lciBpcyBub3QgTm9uZToKKyAgICAgICAg
ICAgIHNlbGYuaW5pdF90aW1lci5jYW5jZWwoKQorCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVn
KCJJbml0IGNhbGxlZCwgc3RhcnRpbmcgYnJvd3NlciBhbmQgcnVubmVyIikKKworICAgICAgICB3
aXRoIHNlbGYuaW5pdF9sb2NrOgorICAgICAgICAgICAgIyBHdWFyZCBhZ2FpbnN0IHByb2JsZW1z
IGluaXRpYWxpc2luZyB0aGUgYnJvd3NlciBvciB0aGUgYnJvd3NlcgorICAgICAgICAgICAgIyBy
ZW1vdGUgY29udHJvbCBtZXRob2QKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLm5vX3RpbWVvdXQ6
CisgICAgICAgICAgICAgICAgc2VsZi5pbml0X3RpbWVyID0gdGhyZWFkaW5nLlRpbWVyKHNlbGYu
YnJvd3Nlci5pbml0X3RpbWVvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuaW5pdF90aW1lb3V0KQorICAgICAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgICAgIGlmIHNlbGYuaW5pdF90aW1lciBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
ICAgICAgICAgc2VsZi5pbml0X3RpbWVyLnN0YXJ0KCkKKyAgICAgICAgICAgICAgICBzZWxmLmJy
b3dzZXIuc3RhcnQoKQorICAgICAgICAgICAgICAgIHNlbGYuYnJvd3Nlcl9waWQgPSBzZWxmLmJy
b3dzZXIucGlkKCkKKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICBzZWxmLmxv
Z2dlci53YXJuaW5nKCJGYWlsdXJlIGR1cmluZyBpbml0ICVzIiAlIHRyYWNlYmFjay5mb3JtYXRf
ZXhjKCkpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5pbml0X3RpbWVyIGlzIG5vdCBOb25lOgor
ICAgICAgICAgICAgICAgICAgICBzZWxmLmluaXRfdGltZXIuY2FuY2VsKCkKKyAgICAgICAgICAg
ICAgICBzZWxmLmxvZ2dlci5lcnJvcih0cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICAg
ICAgICAgIHN1Y2NlZWRlZCA9IEZhbHNlCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAg
ICAgIHN1Y2NlZWRlZCA9IFRydWUKKyAgICAgICAgICAgICAgICBzZWxmLnN0YXJ0ZWQgPSBUcnVl
CisKKyAgICAgICAgcmV0dXJuIHN1Y2NlZWRlZAorCisgICAgZGVmIHNlbmRfbWVzc2FnZShzZWxm
LCBjb21tYW5kLCAqYXJncyk6CisgICAgICAgIHNlbGYuY29tbWFuZF9xdWV1ZS5wdXQoKGNvbW1h
bmQsIGFyZ3MpKQorCisgICAgZGVmIGluaXRfdGltZW91dChzZWxmKToKKyAgICAgICAgIyBUaGlz
IGlzIGNhbGxlZCBmcm9tIGEgc2VwZXJhdGUgdGhyZWFkLCBzbyB3ZSBzZW5kIGEgbWVzc2FnZSB0
byB0aGUKKyAgICAgICAgIyBtYWluIGxvb3Agc28gd2UgZ2V0IGJhY2sgb250byB0aGUgbWFuYWdl
ciB0aHJlYWQKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoImluaXRfZmFpbGVkIGNhbGxlZCBm
cm9tIHRpbWVyIikKKyAgICAgICAgc2VsZi5zZW5kX21lc3NhZ2UoImluaXRfZmFpbGVkIikKKwor
ICAgIGRlZiBhZnRlcl9pbml0KHNlbGYpOgorICAgICAgICAiIiJDYWxsYmFjayB3aGVuIHdlIGhh
dmUgc3RhcnRlZCB0aGUgYnJvd3Nlciwgc3RhcnRlZCB0aGUgcmVtb3RlCisgICAgICAgIGNvbnRy
b2wgY29ubmVjdGlvbiwgYW5kIHdlIGFyZSByZWFkeSB0byBzdGFydCB0ZXN0aW5nLiIiIgorICAg
ICAgICBpZiBzZWxmLmluaXRfdGltZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLmlu
aXRfdGltZXIuY2FuY2VsKCkKKworICAgIGRlZiBzdG9wKHNlbGYsIGZvcmNlPUZhbHNlKToKKyAg
ICAgICAgc2VsZi5icm93c2VyLnN0b3AoZm9yY2U9Zm9yY2UpCisgICAgICAgIHNlbGYuc3RhcnRl
ZCA9IEZhbHNlCisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgaWYgc2VsZi5pbml0
X3RpbWVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5pbml0X3RpbWVyLmNhbmNlbCgp
CisgICAgICAgIHNlbGYuYnJvd3Nlci5jbGVhbnVwKCkKKworICAgIGRlZiBsb2dfY3Jhc2goc2Vs
ZiwgdGVzdF9pZCk6CisgICAgICAgIHNlbGYuYnJvd3Nlci5sb2dfY3Jhc2gocHJvY2Vzcz1zZWxm
LmJyb3dzZXJfcGlkLCB0ZXN0PXRlc3RfaWQpCisKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6Cisg
ICAgICAgIHJldHVybiBzZWxmLmJyb3dzZXIuaXNfYWxpdmUoKQorCisKK2NsYXNzIF9SdW5uZXJN
YW5hZ2VyU3RhdGUob2JqZWN0KToKKyAgICBiZWZvcmVfaW5pdCA9IG5hbWVkdHVwbGUoImJlZm9y
ZV9pbml0IiwgW10pCisgICAgaW5pdGFsaXppbmcgPSBuYW1lZHR1cGxlKCJpbml0YWxpemluZ19i
cm93c2VyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJ0ZXN0IiwgInRlc3RfcXVl
dWUiLCAiZmFpbHVyZV9jb3VudCJdKQorICAgIHJ1bm5pbmcgPSBuYW1lZHR1cGxlKCJydW5uaW5n
IiwgWyJ0ZXN0IiwgInRlc3RfcXVldWUiXSkKKyAgICByZXN0YXJ0aW5nID0gbmFtZWR0dXBsZSgi
cmVzdGFydGluZyIsIFsidGVzdCIsICJ0ZXN0X3F1ZXVlIl0pCisgICAgZXJyb3IgPSBuYW1lZHR1
cGxlKCJlcnJvciIsIFtdKQorICAgIHN0b3AgPSBuYW1lZHR1cGxlKCJzdG9wIiwgW10pCisKKwor
UnVubmVyTWFuYWdlclN0YXRlID0gX1J1bm5lck1hbmFnZXJTdGF0ZSgpCisKKworY2xhc3MgVGVz
dFJ1bm5lck1hbmFnZXIodGhyZWFkaW5nLlRocmVhZCk6CisgICAgaW5pdF9sb2NrID0gdGhyZWFk
aW5nLkxvY2soKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN1aXRlX25hbWUsIHRlc3RzLCB0
ZXN0X3NvdXJjZV9jbHMsIGJyb3dzZXJfY2xzLCBicm93c2VyX2t3YXJncywKKyAgICAgICAgICAg
ICAgICAgZXhlY3V0b3JfY2xzLCBleGVjdXRvcl9rd2FyZ3MsIHN0b3BfZmxhZywgcGF1c2VfYWZ0
ZXJfdGVzdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgcGF1c2Vfb25fdW5leHBlY3RlZD1GYWxz
ZSwgcmVzdGFydF9vbl91bmV4cGVjdGVkPVRydWUsIGRlYnVnX2luZm89Tm9uZSk6CisgICAgICAg
ICIiIlRocmVhZCB0aGF0IG93bnMgYSBzaW5nbGUgVGVzdFJ1bm5lciBwcm9jZXNzIGFuZCBhbnkg
cHJvY2Vzc2VzIHJlcXVpcmVkCisgICAgICAgIGJ5IHRoZSBUZXN0UnVubmVyIChlLmcuIHRoZSBG
aXJlZm94IGJpbmFyeSkuCisKKyAgICAgICAgVGVzdFJ1bm5lck1hbmFnZXJzIGFyZSByZXNwb25z
aWJsZSBmb3IgbGF1bmNoaW5nIHRoZSBicm93c2VyIHByb2Nlc3MgYW5kIHRoZQorICAgICAgICBy
dW5uZXIgcHJvY2VzcywgYW5kIGZvciBsb2dnaW5nIHRoZSB0ZXN0IHByb2dyZXNzLiBUaGUgYWN0
dWFsIHRlc3QgcnVubmluZworICAgICAgICBpcyBkb25lIGJ5IHRoZSBUZXN0UnVubmVyLiBJbiBw
YXJ0aWN1bGFyIHRoZXk6CisKKyAgICAgICAgKiBTdGFydCB0aGUgYmluYXJ5IG9mIHRoZSBwcm9n
cmFtIHVuZGVyIHRlc3QKKyAgICAgICAgKiBTdGFydCB0aGUgVGVzdFJ1bm5lcgorICAgICAgICAq
IFRlbGwgdGhlIFRlc3RSdW5uZXIgdG8gc3RhcnQgYSB0ZXN0LCBpZiBhbnkKKyAgICAgICAgKiBM
b2cgdGhhdCB0aGUgdGVzdCBzdGFydGVkCisgICAgICAgICogTG9nIHRoZSB0ZXN0IHJlc3VsdHMK
KyAgICAgICAgKiBUYWtlIGFueSByZW1lZGlhbCBhY3Rpb24gcmVxdWlyZWQgZS5nLiByZXN0YXJ0
IGNyYXNoZWQgb3IgaHVuZworICAgICAgICAgIHByb2Nlc3NlcworICAgICAgICAiIiIKKyAgICAg
ICAgc2VsZi5zdWl0ZV9uYW1lID0gc3VpdGVfbmFtZQorCisgICAgICAgIHNlbGYudGVzdHMgPSB0
ZXN0cworICAgICAgICBzZWxmLnRlc3Rfc291cmNlX2NscyA9IHRlc3Rfc291cmNlX2NscworICAg
ICAgICBzZWxmLnRlc3RfcXVldWUgPSBOb25lCisKKyAgICAgICAgc2VsZi5icm93c2VyX2NscyA9
IGJyb3dzZXJfY2xzCisgICAgICAgIHNlbGYuYnJvd3Nlcl9rd2FyZ3MgPSBicm93c2VyX2t3YXJn
cworCisgICAgICAgIHNlbGYuZXhlY3V0b3JfY2xzID0gZXhlY3V0b3JfY2xzCisgICAgICAgIHNl
bGYuZXhlY3V0b3Jfa3dhcmdzID0gZXhlY3V0b3Jfa3dhcmdzCisKKyAgICAgICAgc2VsZi50ZXN0
X3NvdXJjZSA9IE5vbmUKKworICAgICAgICAjIEZsYWdzIHVzZWQgdG8gc2h1dCBkb3duIHRoaXMg
dGhyZWFkIGlmIHdlIGdldCBhIHNpZ2ludAorICAgICAgICBzZWxmLnBhcmVudF9zdG9wX2ZsYWcg
PSBzdG9wX2ZsYWcKKyAgICAgICAgc2VsZi5jaGlsZF9zdG9wX2ZsYWcgPSBtdWx0aXByb2Nlc3Np
bmcuRXZlbnQoKQorCisgICAgICAgIHNlbGYucGF1c2VfYWZ0ZXJfdGVzdCA9IHBhdXNlX2FmdGVy
X3Rlc3QKKyAgICAgICAgc2VsZi5wYXVzZV9vbl91bmV4cGVjdGVkID0gcGF1c2Vfb25fdW5leHBl
Y3RlZAorICAgICAgICBzZWxmLnJlc3RhcnRfb25fdW5leHBlY3RlZCA9IHJlc3RhcnRfb25fdW5l
eHBlY3RlZAorICAgICAgICBzZWxmLmRlYnVnX2luZm8gPSBkZWJ1Z19pbmZvCisKKyAgICAgICAg
c2VsZi5tYW5hZ2VyX251bWJlciA9IG5leHRfbWFuYWdlcl9udW1iZXIoKQorCisgICAgICAgIHNl
bGYuY29tbWFuZF9xdWV1ZSA9IFF1ZXVlKCkKKyAgICAgICAgc2VsZi5yZW1vdGVfcXVldWUgPSBR
dWV1ZSgpCisKKyAgICAgICAgc2VsZi50ZXN0X3J1bm5lcl9wcm9jID0gTm9uZQorCisgICAgICAg
IHRocmVhZGluZy5UaHJlYWQuX19pbml0X18oc2VsZiwgbmFtZT0iVGhyZWFkLVRlc3RydW5uZXJN
YW5hZ2VyLSVpIiAlIHNlbGYubWFuYWdlcl9udW1iZXIpCisgICAgICAgICMgVGhpcyBpcyBzdGFy
dGVkIGluIHRoZSBhY3R1YWwgbmV3IHRocmVhZAorICAgICAgICBzZWxmLmxvZ2dlciA9IE5vbmUK
KworICAgICAgICBzZWxmLnVuZXhwZWN0ZWRfY291bnQgPSAwCisKKyAgICAgICAgIyBUaGlzIG1h
eSBub3QgcmVhbGx5IGJlIHdoYXQgd2Ugd2FudAorICAgICAgICBzZWxmLmRhZW1vbiA9IFRydWUK
KworICAgICAgICBzZWxmLm1heF9yZXN0YXJ0cyA9IDUKKworICAgICAgICBzZWxmLmJyb3dzZXIg
PSBOb25lCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICAiIiJNYWluIGxvb3AgZm9yIHRo
ZSBUZXN0TWFuYWdlci4KKworICAgICAgICBUZXN0TWFuYWdlcnMgZ2VuZXJhbGx5IHJlY2VpdmUg
Y29tbWFuZHMgZnJvbSB0aGVpcgorICAgICAgICBUZXN0UnVubmVyIHVwZGF0aW5nIHRoZW0gb24g
dGhlIHN0YXR1cyBvZiBhIHRlc3QuIFRoZXkKKyAgICAgICAgbWF5IGFsc28gaGF2ZSBhIHN0b3Ag
ZmxhZyBzZXQgYnkgdGhlIG1haW4gdGhyZWFkIGluZGljYXRpbmcKKyAgICAgICAgdGhhdCB0aGUg
bWFuYWdlciBzaG91bGQgc2h1dCBkb3duIHRoZSBuZXh0IHRpbWUgdGhlIGV2ZW50IGxvb3AKKyAg
ICAgICAgc3BpbnMuIiIiCisgICAgICAgIHNlbGYubG9nZ2VyID0gc3RydWN0dXJlZGxvZy5TdHJ1
Y3R1cmVkTG9nZ2VyKHNlbGYuc3VpdGVfbmFtZSkKKyAgICAgICAgd2l0aCBzZWxmLmJyb3dzZXJf
Y2xzKHNlbGYubG9nZ2VyLCAqKnNlbGYuYnJvd3Nlcl9rd2FyZ3MpIGFzIGJyb3dzZXIsIHNlbGYu
dGVzdF9zb3VyY2VfY2xzKHNlbGYudGVzdHMpIGFzIHRlc3Rfc291cmNlOgorICAgICAgICAgICAg
c2VsZi5icm93c2VyID0gQnJvd3Nlck1hbmFnZXIoc2VsZi5sb2dnZXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb21tYW5kX3F1ZXVlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9fdGltZW91dD1zZWxmLmRlYnVnX2luZm8g
aXMgbm90IE5vbmUpCisgICAgICAgICAgICBzZWxmLnRlc3Rfc291cmNlID0gdGVzdF9zb3VyY2UK
KyAgICAgICAgICAgIGRpc3BhdGNoID0geworICAgICAgICAgICAgICAgIFJ1bm5lck1hbmFnZXJT
dGF0ZS5iZWZvcmVfaW5pdDogc2VsZi5zdGFydF9pbml0LAorICAgICAgICAgICAgICAgIFJ1bm5l
ck1hbmFnZXJTdGF0ZS5pbml0YWxpemluZzogc2VsZi5pbml0LAorICAgICAgICAgICAgICAgIFJ1
bm5lck1hbmFnZXJTdGF0ZS5ydW5uaW5nOiBzZWxmLnJ1bl90ZXN0LAorICAgICAgICAgICAgICAg
IFJ1bm5lck1hbmFnZXJTdGF0ZS5yZXN0YXJ0aW5nOiBzZWxmLnJlc3RhcnRfcnVubmVyCisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBSdW5uZXJNYW5hZ2VyU3RhdGUu
YmVmb3JlX2luaXQoKQorICAgICAgICAgICAgZW5kX3N0YXRlcyA9IChSdW5uZXJNYW5hZ2VyU3Rh
dGUuc3RvcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUnVubmVyTWFuYWdlclN0YXRlLmVy
cm9yKQorCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgd2hpbGUgbm90IGlzaW5z
dGFuY2Uoc2VsZi5zdGF0ZSwgZW5kX3N0YXRlcyk6CisgICAgICAgICAgICAgICAgICAgIGYgPSBk
aXNwYXRjaC5nZXQoc2VsZi5zdGF0ZS5fX2NsYXNzX18pCisgICAgICAgICAgICAgICAgICAgIHdo
aWxlIGY6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiRGlzcGF0
Y2ggJXMiICUgZi5fX25hbWVfXykKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc2hv
dWxkX3N0b3AoKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5ld19zdGF0ZSA9IGYoKQorICAgICAgICAgICAgICAgICAgICAgICAg
aWYgbmV3X3N0YXRlIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBuZXdfc3RhdGUKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJuZXcgc3RhdGU6ICVzIiAlIHNlbGYu
c3RhdGUuX19jbGFzc19fLl9fbmFtZV9fKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgaXNp
bnN0YW5jZShzZWxmLnN0YXRlLCBlbmRfc3RhdGVzKToKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm4KKyAgICAgICAgICAgICAgICAgICAgICAgIGYgPSBkaXNwYXRjaC5nZXQoc2Vs
Zi5zdGF0ZS5fX2NsYXNzX18pCisKKyAgICAgICAgICAgICAgICAgICAgbmV3X3N0YXRlID0gTm9u
ZQorICAgICAgICAgICAgICAgICAgICB3aGlsZSBuZXdfc3RhdGUgaXMgTm9uZToKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG5ld19zdGF0ZSA9IHNlbGYud2FpdF9ldmVudCgpCisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiBzZWxmLnNob3VsZF9zdG9wKCk6CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBuZXdfc3Rh
dGUKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIm5ldyBzdGF0ZTogJXMi
ICUgc2VsZi5zdGF0ZS5fX2NsYXNzX18uX19uYW1lX18pCisgICAgICAgICAgICBleGNlcHQgRXhj
ZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IodHJhY2ViYWNr
LmZvcm1hdF9leGMoZSkpCisgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIGZpbmFs
bHk6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlRlc3RSdW5uZXJNYW5hZ2Vy
IG1haW4gbG9vcCB0ZXJtaW5hdGluZywgc3RhcnRpbmcgY2xlYW51cCIpCisgICAgICAgICAgICAg
ICAgY2xlYW4gPSBpc2luc3RhbmNlKHNlbGYuc3RhdGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5zdG9w
KQorICAgICAgICAgICAgICAgIHNlbGYuc3RvcF9ydW5uZXIoZm9yY2U9bm90IGNsZWFuKQorICAg
ICAgICAgICAgICAgIHNlbGYudGVhcmRvd24oKQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1Zygi
VGVzdFJ1bm5lck1hbmFnZXIgbWFpbiBsb29wIHRlcm1pbmF0ZWQiKQorCisgICAgZGVmIHdhaXRf
ZXZlbnQoc2VsZik6CisgICAgICAgIGRpc3BhdGNoID0geworICAgICAgICAgICAgUnVubmVyTWFu
YWdlclN0YXRlLmJlZm9yZV9pbml0OiB7fSwKKyAgICAgICAgICAgIFJ1bm5lck1hbmFnZXJTdGF0
ZS5pbml0YWxpemluZzoKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAiaW5pdF9zdWNj
ZWVkZWQiOiBzZWxmLmluaXRfc3VjY2VlZGVkLAorICAgICAgICAgICAgICAgICJpbml0X2ZhaWxl
ZCI6IHNlbGYuaW5pdF9mYWlsZWQsCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgUnVubmVy
TWFuYWdlclN0YXRlLnJ1bm5pbmc6CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgInRl
c3RfZW5kZWQiOiBzZWxmLnRlc3RfZW5kZWQsCisgICAgICAgICAgICAgICAgIndhaXRfZmluaXNo
ZWQiOiBzZWxmLndhaXRfZmluaXNoZWQsCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgUnVu
bmVyTWFuYWdlclN0YXRlLnJlc3RhcnRpbmc6IHt9LAorICAgICAgICAgICAgUnVubmVyTWFuYWdl
clN0YXRlLmVycm9yOiB7fSwKKyAgICAgICAgICAgIFJ1bm5lck1hbmFnZXJTdGF0ZS5zdG9wOiB7
fSwKKyAgICAgICAgICAgIE5vbmU6IHsKKyAgICAgICAgICAgICAgICAicnVubmVyX3RlYXJkb3du
Ijogc2VsZi5ydW5uZXJfdGVhcmRvd24sCisgICAgICAgICAgICAgICAgImxvZyI6IHNlbGYubG9n
LAorICAgICAgICAgICAgICAgICJlcnJvciI6IHNlbGYuZXJyb3IKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgICAgICB0cnk6CisgICAgICAgICAgICBjb21tYW5kLCBkYXRhID0gc2VsZi5j
b21tYW5kX3F1ZXVlLmdldChUcnVlLCAxKQorICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAg
ICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKCJHb3QgSU9FcnJvciBmcm9tIHBvbGwiKQorICAgICAg
ICAgICAgcmV0dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5yZXN0YXJ0aW5nKDApCisgICAgICAgIGV4
Y2VwdCBFbXB0eToKKyAgICAgICAgICAgIGlmIChzZWxmLmRlYnVnX2luZm8gYW5kIHNlbGYuZGVi
dWdfaW5mby5pbnRlcmFjdGl2ZSBhbmQKKyAgICAgICAgICAgICAgICBzZWxmLmJyb3dzZXIuc3Rh
cnRlZCBhbmQgbm90IHNlbGYuYnJvd3Nlci5pc19hbGl2ZSgpKToKKyAgICAgICAgICAgICAgICBz
ZWxmLmxvZ2dlci5kZWJ1ZygiRGVidWdnZXIgZXhpdGVkIikKKyAgICAgICAgICAgICAgICByZXR1
cm4gUnVubmVyTWFuYWdlclN0YXRlLnN0b3AoKQorCisgICAgICAgICAgICBpZiAoaXNpbnN0YW5j
ZShzZWxmLnN0YXRlLCBSdW5uZXJNYW5hZ2VyU3RhdGUucnVubmluZykgYW5kCisgICAgICAgICAg
ICAgICAgbm90IHNlbGYudGVzdF9ydW5uZXJfcHJvYy5pc19hbGl2ZSgpKToKKyAgICAgICAgICAg
ICAgICBpZiBub3Qgc2VsZi5jb21tYW5kX3F1ZXVlLmVtcHR5KCk6CisgICAgICAgICAgICAgICAg
ICAgICMgV2UgZ290IGEgbmV3IG1lc3NhZ2Ugc28gcHJvY2VzcyB0aGF0CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybgorCisgICAgICAgICAgICAgICAgIyBJZiB3ZSBnb3QgdG8gaGVyZSB0aGUg
cnVubmVyIHByZXN1bWFibHkgc2h1dCBkb3duCisgICAgICAgICAgICAgICAgIyB1bmV4cGVjdGVk
bHkKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJUZXN0IHJ1bm5lciBwcm9jZXNz
IHNodXQgZG93biIpCisKKyAgICAgICAgICAgICAgICBpZiBzZWxmLnN0YXRlLnRlc3QgaXMgbm90
IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICMgVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIHRl
c3QgcnVubmVyIGNyYXNoZWQgZm9yIHNvbWUgb3RoZXIKKyAgICAgICAgICAgICAgICAgICAgIyBy
ZWFzb24KKyAgICAgICAgICAgICAgICAgICAgIyBOZWVkIHRvIGNvbnNpZGVyIHRoZSB1bmxpa2Vs
eSBjYXNlIHdoZXJlIG9uZSB0ZXN0IGNhdXNlcyB0aGUKKyAgICAgICAgICAgICAgICAgICAgIyBy
dW5uZXIgcHJvY2VzcyB0byByZXBlYXRlZGx5IGRpZQorICAgICAgICAgICAgICAgICAgICBzZWxm
LmxvZ2dlci5jcml0aWNhbCgiTGFzdCB0ZXN0IGRpZCBub3QgY29tcGxldGUiKQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gUnVubmVyTWFuYWdlclN0YXRlLmVycm9yKCkKKyAgICAgICAgICAg
ICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKCJNb3JlIHRlc3RzIGZvdW5kLCBidXQgcnVubmVyIHBy
b2Nlc3MgZGllZCwgcmVzdGFydGluZyIpCisgICAgICAgICAgICAgICAgcmV0dXJuIFJ1bm5lck1h
bmFnZXJTdGF0ZS5yZXN0YXJ0aW5nKDApCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmID0g
KGRpc3BhdGNoLmdldChzZWxmLnN0YXRlLl9fY2xhc3NfXywge30pLmdldChjb21tYW5kKSBvcgor
ICAgICAgICAgICAgICAgICBkaXNwYXRjaC5nZXQoTm9uZSwge30pLmdldChjb21tYW5kKSkKKyAg
ICAgICAgICAgIGlmIG5vdCBmOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLndhcm5pbmco
IkdvdCBjb21tYW5kICVzIGluIHN0YXRlICVzIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoY29tbWFuZCwgc2VsZi5zdGF0ZS5fX2NsYXNzX18uX19uYW1lX18pKQorICAg
ICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgcmV0dXJuIGYoKmRhdGEpCisKKworICAg
IGRlZiBzaG91bGRfc3RvcChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuY2hpbGRfc3RvcF9m
bGFnLmlzX3NldCgpIG9yIHNlbGYucGFyZW50X3N0b3BfZmxhZy5pc19zZXQoKQorCisgICAgZGVm
IHN0YXJ0X2luaXQoc2VsZik6CisgICAgICAgIHRlc3QsIHRlc3RfcXVldWUgPSBzZWxmLmdldF9u
ZXh0X3Rlc3QoKQorICAgICAgICBpZiB0ZXN0IGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4g
UnVubmVyTWFuYWdlclN0YXRlLnN0b3AoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0
dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5pbml0YWxpemluZyh0ZXN0LCB0ZXN0X3F1ZXVlLCAwKQor
CisgICAgZGVmIGluaXQoc2VsZik6CisgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNlbGYuc3Rh
dGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5pbml0YWxpemluZykKKyAgICAgICAgaWYgc2VsZi5zdGF0
ZS5mYWlsdXJlX2NvdW50ID4gc2VsZi5tYXhfcmVzdGFydHM6CisgICAgICAgICAgICBzZWxmLmxv
Z2dlci5lcnJvcigiTWF4IHJlc3RhcnRzIGV4Y2VlZGVkIikKKyAgICAgICAgICAgIHJldHVybiBS
dW5uZXJNYW5hZ2VyU3RhdGUuZXJyb3IoKQorCisgICAgICAgIHJlc3VsdCA9IHNlbGYuYnJvd3Nl
ci5pbml0KCkKKyAgICAgICAgaWYgcmVzdWx0IGlzIFN0b3A6CisgICAgICAgICAgICByZXR1cm4g
UnVubmVyTWFuYWdlclN0YXRlLmVycm9yKCkKKyAgICAgICAgZWxpZiBub3QgcmVzdWx0OgorICAg
ICAgICAgICAgcmV0dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5pbml0YWxpemluZyhzZWxmLnN0YXRl
LnRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlbGYuc3RhdGUudGVzdF9xdWV1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5zdGF0ZS5mYWlsdXJlX2NvdW50ICsgMSkKKyAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgIHNlbGYuc3RhcnRfdGVzdF9ydW5uZXIoKQorCisgICAgZGVmIHN0
YXJ0X3Rlc3RfcnVubmVyKHNlbGYpOgorICAgICAgICAjIE5vdGUgdGhhdCB3ZSBuZWVkIHRvIGJl
IGNhcmVmdWwgdG8gc3RhcnQgdGhlIGJyb3dzZXIgYmVmb3JlIHRoZQorICAgICAgICAjIHRlc3Qg
cnVubmVyIHRvIGVuc3VyZSB0aGF0IGFueSBzdGF0ZSBzZXQgd2hlbiB0aGUgYnJvd3NlciBpcyBz
dGFydGVkCisgICAgICAgICMgY2FuIGJlIHBhc3NlZCBpbiB0byB0aGUgdGVzdCBydW5uZXIuCisg
ICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNlbGYuc3RhdGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5p
bml0YWxpemluZykKKyAgICAgICAgYXNzZXJ0IHNlbGYuY29tbWFuZF9xdWV1ZSBpcyBub3QgTm9u
ZQorICAgICAgICBhc3NlcnQgc2VsZi5yZW1vdGVfcXVldWUgaXMgbm90IE5vbmUKKyAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygiU3RhcnRpbmcgcnVubmVyIikKKyAgICAgICAgZXhlY3V0b3JfYnJv
d3Nlcl9jbHMsIGV4ZWN1dG9yX2Jyb3dzZXJfa3dhcmdzID0gc2VsZi5icm93c2VyLmJyb3dzZXIu
ZXhlY3V0b3JfYnJvd3NlcigpCisKKyAgICAgICAgYXJncyA9IChzZWxmLnJlbW90ZV9xdWV1ZSwK
KyAgICAgICAgICAgICAgICBzZWxmLmNvbW1hbmRfcXVldWUsCisgICAgICAgICAgICAgICAgc2Vs
Zi5leGVjdXRvcl9jbHMsCisgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRvcl9rd2FyZ3MsCisg
ICAgICAgICAgICAgICAgZXhlY3V0b3JfYnJvd3Nlcl9jbHMsCisgICAgICAgICAgICAgICAgZXhl
Y3V0b3JfYnJvd3Nlcl9rd2FyZ3MsCisgICAgICAgICAgICAgICAgc2VsZi5jaGlsZF9zdG9wX2Zs
YWcpCisgICAgICAgIHNlbGYudGVzdF9ydW5uZXJfcHJvYyA9IFByb2Nlc3ModGFyZ2V0PXN0YXJ0
X3J1bm5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzPWFy
Z3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iVGhyZWFk
LVRlc3RSdW5uZXItJWkiICUgc2VsZi5tYW5hZ2VyX251bWJlcikKKyAgICAgICAgc2VsZi50ZXN0
X3J1bm5lcl9wcm9jLnN0YXJ0KCkKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlRlc3QgcnVu
bmVyIHN0YXJ0ZWQiKQorICAgICAgICAjIE5vdyB3ZSB3YWl0IGZvciBlaXRoZXIgYW4gaW5pdF9z
dWNjZWVkZWQgZXZlbnQgb3IgYW4gaW5pdF9mYWlsZWQgZXZlbnQKKworICAgIGRlZiBpbml0X3N1
Y2NlZWRlZChzZWxmKToKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uoc2VsZi5zdGF0ZSwgUnVu
bmVyTWFuYWdlclN0YXRlLmluaXRhbGl6aW5nKQorICAgICAgICBzZWxmLmJyb3dzZXIuYWZ0ZXJf
aW5pdCgpCisgICAgICAgIHJldHVybiBSdW5uZXJNYW5hZ2VyU3RhdGUucnVubmluZyhzZWxmLnN0
YXRlLnRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm
LnN0YXRlLnRlc3RfcXVldWUpCisKKyAgICBkZWYgaW5pdF9mYWlsZWQoc2VsZik6CisgICAgICAg
IGFzc2VydCBpc2luc3RhbmNlKHNlbGYuc3RhdGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5pbml0YWxp
emluZykKKyAgICAgICAgc2VsZi5icm93c2VyLmFmdGVyX2luaXQoKQorICAgICAgICBzZWxmLnN0
b3BfcnVubmVyKGZvcmNlPVRydWUpCisgICAgICAgIHJldHVybiBSdW5uZXJNYW5hZ2VyU3RhdGUu
aW5pdGFsaXppbmcoc2VsZi5zdGF0ZS50ZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUudGVzdF9xdWV1ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0YXRlLmZhaWx1cmVfY291bnQg
KyAxKQorCisgICAgZGVmIGdldF9uZXh0X3Rlc3Qoc2VsZiwgdGVzdF9xdWV1ZT1Ob25lKToKKyAg
ICAgICAgdGVzdCA9IE5vbmUKKyAgICAgICAgd2hpbGUgdGVzdCBpcyBOb25lOgorICAgICAgICAg
ICAgaWYgdGVzdF9xdWV1ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHRlc3RfcXVldWUgPSBz
ZWxmLnRlc3Rfc291cmNlLmdldF9xdWV1ZSgpCisgICAgICAgICAgICAgICAgaWYgdGVzdF9xdWV1
ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJObyBtb3Jl
IHRlc3RzIikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUsIE5vbmUKKyAgICAgICAg
ICAgIHRyeToKKyAgICAgICAgICAgICAgICAjIE5lZWQgdG8gYmxvY2sgaGVyZSBqdXN0IHRvIGFs
bG93IGZvciBjb250ZW50aW9uIHdpdGggb3RoZXIgcHJvY2Vzc2VzCisgICAgICAgICAgICAgICAg
dGVzdCA9IHRlc3RfcXVldWUuZ2V0KGJsb2NrPVRydWUsIHRpbWVvdXQ9MSkKKyAgICAgICAgICAg
IGV4Y2VwdCBFbXB0eToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIHJldHVybiB0ZXN0
LCB0ZXN0X3F1ZXVlCisKKyAgICBkZWYgcnVuX3Rlc3Qoc2VsZik6CisgICAgICAgIGFzc2VydCBp
c2luc3RhbmNlKHNlbGYuc3RhdGUsIFJ1bm5lck1hbmFnZXJTdGF0ZS5ydW5uaW5nKQorICAgICAg
ICBhc3NlcnQgc2VsZi5zdGF0ZS50ZXN0IGlzIG5vdCBOb25lCisKKyAgICAgICAgc2VsZi5sb2dn
ZXIudGVzdF9zdGFydChzZWxmLnN0YXRlLnRlc3QuaWQpCisgICAgICAgIHNlbGYuc2VuZF9tZXNz
YWdlKCJydW5fdGVzdCIsIHNlbGYuc3RhdGUudGVzdCkKKworICAgIGRlZiB0ZXN0X2VuZGVkKHNl
bGYsIHRlc3QsIHJlc3VsdHMpOgorICAgICAgICAiIiJIYW5kbGUgdGhlIGVuZCBvZiBhIHRlc3Qu
CisKKyAgICAgICAgT3V0cHV0IHRoZSByZXN1bHQgb2YgZWFjaCBzdWJ0ZXN0LCBhbmQgdGhlIHJl
c3VsdCBvZiB0aGUgb3ZlcmFsbAorICAgICAgICBoYXJuZXNzIHRvIHRoZSBsb2dzLgorICAgICAg
ICAiIiIKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uoc2VsZi5zdGF0ZSwgUnVubmVyTWFuYWdl
clN0YXRlLnJ1bm5pbmcpCisgICAgICAgIGFzc2VydCB0ZXN0ID09IHNlbGYuc3RhdGUudGVzdAor
ICAgICAgICAjIFdyaXRlIHRoZSByZXN1bHQgb2YgZWFjaCBzdWJ0ZXN0CisgICAgICAgIGZpbGVf
cmVzdWx0LCB0ZXN0X3Jlc3VsdHMgPSByZXN1bHRzCisgICAgICAgIHN1YnRlc3RfdW5leHBlY3Rl
ZCA9IEZhbHNlCisgICAgICAgIGZvciByZXN1bHQgaW4gdGVzdF9yZXN1bHRzOgorICAgICAgICAg
ICAgaWYgdGVzdC5kaXNhYmxlZChyZXN1bHQubmFtZSk6CisgICAgICAgICAgICAgICAgY29udGlu
dWUKKyAgICAgICAgICAgIGV4cGVjdGVkID0gdGVzdC5leHBlY3RlZChyZXN1bHQubmFtZSkKKyAg
ICAgICAgICAgIGlzX3VuZXhwZWN0ZWQgPSBleHBlY3RlZCAhPSByZXN1bHQuc3RhdHVzCisKKyAg
ICAgICAgICAgIGlmIGlzX3VuZXhwZWN0ZWQ6CisgICAgICAgICAgICAgICAgc2VsZi51bmV4cGVj
dGVkX2NvdW50ICs9IDEKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiVW5leHBl
Y3RlZCBjb3VudCBpbiB0aGlzIHRocmVhZCAlaSIgJSBzZWxmLnVuZXhwZWN0ZWRfY291bnQpCisg
ICAgICAgICAgICAgICAgc3VidGVzdF91bmV4cGVjdGVkID0gVHJ1ZQorICAgICAgICAgICAgc2Vs
Zi5sb2dnZXIudGVzdF9zdGF0dXModGVzdC5pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlc3VsdC5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVzdWx0LnN0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1l
c3NhZ2U9cmVzdWx0Lm1lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBleHBlY3RlZD1leHBlY3RlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YWNrPXJlc3VsdC5zdGFjaykKKworICAgICAgICAjIFRPRE86IGNvbnNpZGVyIGNoYW5naW5n
IHJlc3VsdCBpZiB0aGVyZSBpcyBhIGNyYXNoIGR1bXAgZmlsZQorCisgICAgICAgICMgV3JpdGUg
dGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBoYXJuZXNzCisgICAgICAgIGV4cGVjdGVkID0gdGVzdC5l
eHBlY3RlZCgpCisgICAgICAgIHN0YXR1cyA9IGZpbGVfcmVzdWx0LnN0YXR1cyBpZiBmaWxlX3Jl
c3VsdC5zdGF0dXMgIT0gIkVYVEVSTkFMLVRJTUVPVVQiIGVsc2UgIlRJTUVPVVQiCisgICAgICAg
IGlzX3VuZXhwZWN0ZWQgPSBleHBlY3RlZCAhPSBzdGF0dXMKKyAgICAgICAgaWYgaXNfdW5leHBl
Y3RlZDoKKyAgICAgICAgICAgIHNlbGYudW5leHBlY3RlZF9jb3VudCArPSAxCisgICAgICAgICAg
ICBzZWxmLmxvZ2dlci5kZWJ1ZygiVW5leHBlY3RlZCBjb3VudCBpbiB0aGlzIHRocmVhZCAlaSIg
JSBzZWxmLnVuZXhwZWN0ZWRfY291bnQpCisgICAgICAgIGlmIHN0YXR1cyA9PSAiQ1JBU0giOgor
ICAgICAgICAgICAgc2VsZi5icm93c2VyLmxvZ19jcmFzaCh0ZXN0LmlkKQorCisgICAgICAgIHNl
bGYubG9nZ2VyLnRlc3RfZW5kKHRlc3QuaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT1maWxlX3Jlc3Vs
dC5tZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZD1leHBlY3Rl
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmE9ZmlsZV9yZXN1bHQuZXh0cmEp
CisKKyAgICAgICAgcmVzdGFydF9iZWZvcmVfbmV4dCA9ICh0ZXN0LnJlc3RhcnRfYWZ0ZXIgb3IK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3Jlc3VsdC5zdGF0dXMgaW4gKCJD
UkFTSCIsICJFWFRFUk5BTC1USU1FT1VUIikgb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoKHN1YnRlc3RfdW5leHBlY3RlZCBvciBpc191bmV4cGVjdGVkKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhbmQgc2VsZi5yZXN0YXJ0X29uX3VuZXhwZWN0ZWQpKQorCisg
ICAgICAgIGlmIChzZWxmLnBhdXNlX2FmdGVyX3Rlc3Qgb3IKKyAgICAgICAgICAgIChzZWxmLnBh
dXNlX29uX3VuZXhwZWN0ZWQgYW5kIChzdWJ0ZXN0X3VuZXhwZWN0ZWQgb3IgaXNfdW5leHBlY3Rl
ZCkpKToKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oIlBhdXNpbmcgdW50aWwgdGhlIGJy
b3dzZXIgZXhpdHMiKQorICAgICAgICAgICAgc2VsZi5zZW5kX21lc3NhZ2UoIndhaXQiKQorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuYWZ0ZXJfdGVzdF9lbmQocmVzdGFy
dF9iZWZvcmVfbmV4dCkKKworICAgIGRlZiB3YWl0X2ZpbmlzaGVkKHNlbGYpOgorICAgICAgICBh
c3NlcnQgaXNpbnN0YW5jZShzZWxmLnN0YXRlLCBSdW5uZXJNYW5hZ2VyU3RhdGUucnVubmluZykK
KyAgICAgICAgIyBUaGUgYnJvd3NlciBzaG91bGQgYmUgc3RvcHBlZCBhbHJlYWR5LCBidXQgdGhp
cyBlbnN1cmVzIHdlIGRvIGFueSBwb3N0LXN0b3AKKyAgICAgICAgIyBwcm9jZXNzaW5nCisgICAg
ICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJXYWl0IGZpbmlzaGVkIikKKworICAgICAgICByZXR1cm4g
c2VsZi5hZnRlcl90ZXN0X2VuZChUcnVlKQorCisgICAgZGVmIGFmdGVyX3Rlc3RfZW5kKHNlbGYs
IHJlc3RhcnQpOgorICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzZWxmLnN0YXRlLCBSdW5uZXJN
YW5hZ2VyU3RhdGUucnVubmluZykKKyAgICAgICAgdGVzdCwgdGVzdF9xdWV1ZSA9IHNlbGYuZ2V0
X25leHRfdGVzdCgpCisgICAgICAgIGlmIHRlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVy
biBSdW5uZXJNYW5hZ2VyU3RhdGUuc3RvcCgpCisgICAgICAgIGlmIHRlc3RfcXVldWUgIT0gc2Vs
Zi5zdGF0ZS50ZXN0X3F1ZXVlOgorICAgICAgICAgICAgIyBXZSBhcmUgc3RhcnRpbmcgYSBuZXcg
Z3JvdXAgb2YgdGVzdHMsIHNvIGZvcmNlIGEgcmVzdGFydAorICAgICAgICAgICAgcmVzdGFydCA9
IFRydWUKKyAgICAgICAgaWYgcmVzdGFydDoKKyAgICAgICAgICAgIHJldHVybiBSdW5uZXJNYW5h
Z2VyU3RhdGUucmVzdGFydGluZyh0ZXN0LCB0ZXN0X3F1ZXVlKQorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgcmV0dXJuIFJ1bm5lck1hbmFnZXJTdGF0ZS5ydW5uaW5nKHRlc3QsIHRlc3RfcXVl
dWUpCisKKyAgICBkZWYgcmVzdGFydF9ydW5uZXIoc2VsZik6CisgICAgICAgICIiIlN0b3AgYW5k
IHJlc3RhcnQgdGhlIFRlc3RSdW5uZXIiIiIKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uoc2Vs
Zi5zdGF0ZSwgUnVubmVyTWFuYWdlclN0YXRlLnJlc3RhcnRpbmcpCisgICAgICAgIHNlbGYuc3Rv
cF9ydW5uZXIoKQorICAgICAgICByZXR1cm4gUnVubmVyTWFuYWdlclN0YXRlLmluaXRhbGl6aW5n
KHNlbGYuc3RhdGUudGVzdCwgc2VsZi5zdGF0ZS50ZXN0X3F1ZXVlLCAwKQorCisgICAgZGVmIGxv
ZyhzZWxmLCBhY3Rpb24sIGt3YXJncyk6CisgICAgICAgIGdldGF0dHIoc2VsZi5sb2dnZXIsIGFj
dGlvbikoKiprd2FyZ3MpCisKKyAgICBkZWYgZXJyb3Ioc2VsZiwgbWVzc2FnZSk6CisgICAgICAg
IHNlbGYubG9nZ2VyLmVycm9yKG1lc3NhZ2UpCisgICAgICAgIHNlbGYucmVzdGFydF9ydW5uZXIo
KQorCisgICAgZGVmIHN0b3BfcnVubmVyKHNlbGYsIGZvcmNlPUZhbHNlKToKKyAgICAgICAgIiIi
U3RvcCB0aGUgVGVzdFJ1bm5lciBhbmQgdGhlIGJyb3dzZXIgYmluYXJ5LiIiIgorICAgICAgICBp
ZiBzZWxmLnRlc3RfcnVubmVyX3Byb2MgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybgorCisg
ICAgICAgIGlmIHNlbGYudGVzdF9ydW5uZXJfcHJvYy5pc19hbGl2ZSgpOgorICAgICAgICAgICAg
c2VsZi5zZW5kX21lc3NhZ2UoInN0b3AiKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxm
LmJyb3dzZXIuc3RvcChmb3JjZT1mb3JjZSkKKyAgICAgICAgICAgIHNlbGYuZW5zdXJlX3J1bm5l
cl9zdG9wcGVkKCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYuY2xlYW51cCgp
CisKKyAgICBkZWYgdGVhcmRvd24oc2VsZik6CisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJ0
ZWFyZG93biBpbiB0ZXN0cnVubmVybWFuYWdlciIpCisgICAgICAgIHNlbGYudGVzdF9ydW5uZXJf
cHJvYyA9IE5vbmUKKyAgICAgICAgc2VsZi5jb21tYW5kX3F1ZXVlLmNsb3NlKCkKKyAgICAgICAg
c2VsZi5yZW1vdGVfcXVldWUuY2xvc2UoKQorICAgICAgICBzZWxmLmNvbW1hbmRfcXVldWUgPSBO
b25lCisgICAgICAgIHNlbGYucmVtb3RlX3F1ZXVlID0gTm9uZQorCisgICAgZGVmIGVuc3VyZV9y
dW5uZXJfc3RvcHBlZChzZWxmKToKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoImVuc3VyZV9y
dW5uZXJfc3RvcHBlZCIpCisgICAgICAgIGlmIHNlbGYudGVzdF9ydW5uZXJfcHJvYyBpcyBOb25l
OgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIndhaXRp
bmcgZm9yIHJ1bm5lciBwcm9jZXNzIHRvIGVuZCIpCisgICAgICAgIHNlbGYudGVzdF9ydW5uZXJf
cHJvYy5qb2luKDEwKQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiQWZ0ZXIgam9pbiIpCisg
ICAgICAgIGlmIHNlbGYudGVzdF9ydW5uZXJfcHJvYy5pc19hbGl2ZSgpOgorICAgICAgICAgICAg
IyBUaGlzIG1pZ2h0IGxlYWsgYSBmaWxlIGhhbmRsZSBmcm9tIHRoZSBxdWV1ZQorICAgICAgICAg
ICAgc2VsZi5sb2dnZXIud2FybmluZygiRm9yY2libHkgdGVybWluYXRpbmcgcnVubmVyIHByb2Nl
c3MiKQorICAgICAgICAgICAgc2VsZi50ZXN0X3J1bm5lcl9wcm9jLnRlcm1pbmF0ZSgpCisgICAg
ICAgICAgICBzZWxmLnRlc3RfcnVubmVyX3Byb2Muam9pbigxMCkKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJUZXN0cnVubmVyIGV4aXRlZCB3aXRoIGNvZGUg
JWkiICUgc2VsZi50ZXN0X3J1bm5lcl9wcm9jLmV4aXRjb2RlKQorCisgICAgZGVmIHJ1bm5lcl90
ZWFyZG93bihzZWxmKToKKyAgICAgICAgc2VsZi5lbnN1cmVfcnVubmVyX3N0b3BwZWQoKQorICAg
ICAgICByZXR1cm4gUnVubmVyTWFuYWdlclN0YXRlLnN0b3AoKQorCisgICAgZGVmIHNlbmRfbWVz
c2FnZShzZWxmLCBjb21tYW5kLCAqYXJncyk6CisgICAgICAgIHNlbGYucmVtb3RlX3F1ZXVlLnB1
dCgoY29tbWFuZCwgYXJncykpCisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgc2Vs
Zi5sb2dnZXIuZGVidWcoIlRlc3RNYW5hZ2VyIGNsZWFudXAiKQorICAgICAgICBpZiBzZWxmLmJy
b3dzZXI6CisgICAgICAgICAgICBzZWxmLmJyb3dzZXIuY2xlYW51cCgpCisgICAgICAgIHdoaWxl
IFRydWU6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIud2Fy
bmluZygiICIuam9pbihtYXAocmVwciwgc2VsZi5jb21tYW5kX3F1ZXVlLmdldF9ub3dhaXQoKSkp
KQorICAgICAgICAgICAgZXhjZXB0IEVtcHR5OgorICAgICAgICAgICAgICAgIGJyZWFrCisKK2Ns
YXNzIFRlc3RRdWV1ZShvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0X3NvdXJj
ZV9jbHMsIHRlc3RfdHlwZSwgdGVzdHMsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5xdWV1ZSA9
IE5vbmUKKyAgICAgICAgc2VsZi50ZXN0X3NvdXJjZV9jbHMgPSB0ZXN0X3NvdXJjZV9jbHMKKyAg
ICAgICAgc2VsZi50ZXN0X3R5cGUgPSB0ZXN0X3R5cGUKKyAgICAgICAgc2VsZi50ZXN0cyA9IHRl
c3RzCisgICAgICAgIHNlbGYua3dhcmdzID0ga3dhcmdzCisKKyAgICBkZWYgX19lbnRlcl9fKHNl
bGYpOgorICAgICAgICBpZiBub3Qgc2VsZi50ZXN0c1tzZWxmLnRlc3RfdHlwZV06CisgICAgICAg
ICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIHNlbGYucXVldWUgPSBRdWV1ZSgpCisgICAgICAg
IGhhc190ZXN0cyA9IHNlbGYudGVzdF9zb3VyY2VfY2xzLnF1ZXVlX3Rlc3RzKHNlbGYucXVldWUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
bGYudGVzdF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLnRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAqKnNlbGYua3dhcmdzKQorICAgICAgICAjIFRoZXJlIGlzIGEg
cmFjZSBjb25kaXRpb24gdGhhdCBtZWFucyBzb21ldGltZXMgd2UgY29udGludWUKKyAgICAgICAg
IyBiZWZvcmUgdGhlIHRlc3RzIGhhdmUgYmVlbiB3cml0dGVuIHRvIHRoZSB1bmRlcmx5aW5nIHBp
cGUuCisgICAgICAgICMgUG9sbGluZyB0aGUgcGlwZSBmb3IgZGF0YSBoZXJlIGF2b2lkcyB0aGF0
CisgICAgICAgIHNlbGYucXVldWUuX3JlYWRlci5wb2xsKDEwKQorICAgICAgICBhc3NlcnQgbm90
IHNlbGYucXVldWUuZW1wdHkoKQorICAgICAgICByZXR1cm4gc2VsZi5xdWV1ZQorCisgICAgZGVm
IF9fZXhpdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIGlmIHNlbGYucXVldWUg
aXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLnF1ZXVlLmNsb3NlKCkKKyAgICAgICAgICAg
IHNlbGYucXVldWUgPSBOb25lCisKKworY2xhc3MgTWFuYWdlckdyb3VwKG9iamVjdCk6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHN1aXRlX25hbWUsIHNpemUsIHRlc3Rfc291cmNlX2NscywgdGVz
dF9zb3VyY2Vfa3dhcmdzLAorICAgICAgICAgICAgICAgICBicm93c2VyX2NscywgYnJvd3Nlcl9r
d2FyZ3MsCisgICAgICAgICAgICAgICAgIGV4ZWN1dG9yX2NscywgZXhlY3V0b3Jfa3dhcmdzLAor
ICAgICAgICAgICAgICAgICBwYXVzZV9hZnRlcl90ZXN0PUZhbHNlLAorICAgICAgICAgICAgICAg
ICBwYXVzZV9vbl91bmV4cGVjdGVkPUZhbHNlLAorICAgICAgICAgICAgICAgICByZXN0YXJ0X29u
X3VuZXhwZWN0ZWQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1Ob25lKToKKyAg
ICAgICAgIiIiTWFpbiB0aHJlYWQgb2JqZWN0IHRoYXQgb3ducyBhbGwgdGhlIFRlc3RNYW5hZ2Vy
IHRocmVhZHMuIiIiCisgICAgICAgIHNlbGYuc3VpdGVfbmFtZSA9IHN1aXRlX25hbWUKKyAgICAg
ICAgc2VsZi5zaXplID0gc2l6ZQorICAgICAgICBzZWxmLnRlc3Rfc291cmNlX2NscyA9IHRlc3Rf
c291cmNlX2NscworICAgICAgICBzZWxmLnRlc3Rfc291cmNlX2t3YXJncyA9IHRlc3Rfc291cmNl
X2t3YXJncworICAgICAgICBzZWxmLmJyb3dzZXJfY2xzID0gYnJvd3Nlcl9jbHMKKyAgICAgICAg
c2VsZi5icm93c2VyX2t3YXJncyA9IGJyb3dzZXJfa3dhcmdzCisgICAgICAgIHNlbGYuZXhlY3V0
b3JfY2xzID0gZXhlY3V0b3JfY2xzCisgICAgICAgIHNlbGYuZXhlY3V0b3Jfa3dhcmdzID0gZXhl
Y3V0b3Jfa3dhcmdzCisgICAgICAgIHNlbGYucGF1c2VfYWZ0ZXJfdGVzdCA9IHBhdXNlX2FmdGVy
X3Rlc3QKKyAgICAgICAgc2VsZi5wYXVzZV9vbl91bmV4cGVjdGVkID0gcGF1c2Vfb25fdW5leHBl
Y3RlZAorICAgICAgICBzZWxmLnJlc3RhcnRfb25fdW5leHBlY3RlZCA9IHJlc3RhcnRfb25fdW5l
eHBlY3RlZAorICAgICAgICBzZWxmLmRlYnVnX2luZm8gPSBkZWJ1Z19pbmZvCisKKyAgICAgICAg
c2VsZi5wb29sID0gc2V0KCkKKyAgICAgICAgIyBFdmVudCB0aGF0IGlzIHBvbGxlZCBieSB0aHJl
YWRzIHNvIHRoYXQgdGhleSBjYW4gZ3JhY2VmdWxseSBleGl0IGluIHRoZSBmYWNlCisgICAgICAg
ICMgb2Ygc2lnaW50CisgICAgICAgIHNlbGYuc3RvcF9mbGFnID0gdGhyZWFkaW5nLkV2ZW50KCkK
KyAgICAgICAgc2VsZi5sb2dnZXIgPSBzdHJ1Y3R1cmVkbG9nLlN0cnVjdHVyZWRMb2dnZXIoc3Vp
dGVfbmFtZSkKKyAgICAgICAgc2VsZi50ZXN0X3F1ZXVlID0gTm9uZQorCisgICAgZGVmIF9fZW50
ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiBfX2V4aXRfXyhzZWxm
LCBleGNfdHlwZSwgZXhjX3ZhbCwgZXhjX3RiKToKKyAgICAgICAgc2VsZi5zdG9wKCkKKworICAg
IGRlZiBydW4oc2VsZiwgdGVzdF90eXBlLCB0ZXN0cyk6CisgICAgICAgICIiIlN0YXJ0IGFsbCBt
YW5hZ2VycyBpbiB0aGUgZ3JvdXAiIiIKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlVzaW5n
ICVpIHByb2Nlc3NlcyIgJSBzZWxmLnNpemUpCisKKyAgICAgICAgc2VsZi50ZXN0X3F1ZXVlID0g
VGVzdFF1ZXVlKHNlbGYudGVzdF9zb3VyY2VfY2xzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKnNlbGYudGVz
dF9zb3VyY2Vfa3dhcmdzKQorICAgICAgICB3aXRoIHNlbGYudGVzdF9xdWV1ZSBhcyB0ZXN0X3F1
ZXVlOgorICAgICAgICAgICAgaWYgdGVzdF9xdWV1ZSBpcyBOb25lOgorICAgICAgICAgICAgICAg
IHNlbGYubG9nZ2VyLmluZm8oIk5vICVzIHRlc3RzIHRvIHJ1biIgJSB0ZXN0X3R5cGUpCisgICAg
ICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBmb3IgXyBpbiByYW5nZShzZWxmLnNpemUp
OgorICAgICAgICAgICAgICAgIG1hbmFnZXIgPSBUZXN0UnVubmVyTWFuYWdlcihzZWxmLnN1aXRl
X25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rf
cXVldWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
dGVzdF9zb3VyY2VfY2xzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxmLmJyb3dzZXJfY2xzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLmJyb3dzZXJfa3dhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dG9yX2NscywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRvcl9rd2FyZ3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RvcF9mbGFnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnBhdXNlX2FmdGVy
X3Rlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
cGF1c2Vfb25fdW5leHBlY3RlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5yZXN0YXJ0X29uX3VuZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGVidWdfaW5mbykKKyAgICAgICAgICAgICAg
ICBtYW5hZ2VyLnN0YXJ0KCkKKyAgICAgICAgICAgICAgICBzZWxmLnBvb2wuYWRkKG1hbmFnZXIp
CisgICAgICAgICAgICBzZWxmLndhaXQoKQorCisgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgorICAg
ICAgICAiIiJCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciBhbnkgbWFuYWdlciBpbiB0aGUgZ3Jv
dXAgaXMgc3RpbGwgYWxpdmUiIiIKKyAgICAgICAgcmV0dXJuIGFueShtYW5hZ2VyLmlzX2FsaXZl
KCkgZm9yIG1hbmFnZXIgaW4gc2VsZi5wb29sKQorCisgICAgZGVmIHdhaXQoc2VsZik6CisgICAg
ICAgICIiIldhaXQgZm9yIGFsbCB0aGUgbWFuYWdlcnMgaW4gdGhlIGdyb3VwIHRvIGZpbmlzaCIi
IgorICAgICAgICBmb3IgaXRlbSBpbiBzZWxmLnBvb2w6CisgICAgICAgICAgICBpdGVtLmpvaW4o
KQorCisgICAgZGVmIHN0b3Aoc2VsZik6CisgICAgICAgICIiIlNldCB0aGUgc3RvcCBmbGFnIHNv
IHRoYXQgYWxsIG1hbmFnZXJzIGluIHRoZSBncm91cCBzdG9wIGFzIHNvb24KKyAgICAgICAgYXMg
cG9zc2libGUiIiIKKyAgICAgICAgc2VsZi5zdG9wX2ZsYWcuc2V0KCkKKyAgICAgICAgc2VsZi5s
b2dnZXIuZGVidWcoIlN0b3AgZmxhZyBzZXQgaW4gTWFuYWdlckdyb3VwIikKKworICAgIGRlZiB1
bmV4cGVjdGVkX2NvdW50KHNlbGYpOgorICAgICAgICByZXR1cm4gc3VtKGl0ZW0udW5leHBlY3Rl
ZF9jb3VudCBmb3IgaXRlbSBpbiBzZWxmLnBvb2wpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
dGVzdHMvX19pbml0X18ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvX19pbml0X18ucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTY4MzRiODI4NWE1NmJlZjBlMTU0M2ZkOTAxYzdlNmYyZjhiYzIwMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy9fX2luaXRfXy5weQpAQCAtMCwwICsxIEBACisj
IFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVjdG9y
eSBmb3IgbW9kdWxlcy4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvdGVzdHMvdGVzdF9jaHVua2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rl
c3RfY2h1bmtlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTY4OTQwZmViOGI1YWEwMzQ0YWEyNzY1YWQ1ZWZi
OTEwNDhhNmZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfY2h1
bmtlci5weQpAQCAtMCwwICsxLDg5IEBACitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCBzeXMKK2Zy
b20gb3MucGF0aCBpbXBvcnQgam9pbiwgZGlybmFtZQorZnJvbSBtb3psb2cgaW1wb3J0IHN0cnVj
dHVyZWQKKworaW1wb3J0IHB5dGVzdAorCitzeXMucGF0aC5pbnNlcnQoMCwgam9pbihkaXJuYW1l
KF9fZmlsZV9fKSwgIi4uIiwgIi4uIikpCisKK2Zyb20gd3B0cnVubmVyLnRlc3Rsb2FkZXIgaW1w
b3J0IEVxdWFsVGltZUNodW5rZXIKKworc3RydWN0dXJlZC5zZXRfZGVmYXVsdF9sb2dnZXIoc3Ry
dWN0dXJlZC5zdHJ1Y3R1cmVkbG9nLlN0cnVjdHVyZWRMb2dnZXIoIlRlc3RDaHVua2VyIikpCisK
K2NsYXNzIE1vY2tUZXN0KG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGlkLCB0aW1l
b3V0PTEwKToKKyAgICAgICAgc2VsZi5pZCA9IGlkCisgICAgICAgIHNlbGYuaXRlbV90eXBlID0g
InRlc3RoYXJuZXNzIgorICAgICAgICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CisKKworZGVmIG1h
a2VfbW9ja19tYW5pZmVzdCgqaXRlbXMpOgorICAgIHJ2ID0gW10KKyAgICBmb3IgdGVzdF90eXBl
LCBkaXJfcGF0aCwgbnVtX3Rlc3RzIGluIGl0ZW1zOgorICAgICAgICBmb3IgaSBpbiByYW5nZShu
dW1fdGVzdHMpOgorICAgICAgICAgICAgcnYuYXBwZW5kKCh0ZXN0X3R5cGUsCisgICAgICAgICAg
ICAgICAgICAgICAgIGRpcl9wYXRoICsgIi8laS50ZXN0IiAlIGksCisgICAgICAgICAgICAgICAg
ICAgICAgIHNldChbTW9ja1Rlc3QoaSldKSkpCisgICAgcmV0dXJuIHJ2CisKKworY2xhc3MgVGVz
dEVxdWFsVGltZUNodW5rZXIodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfaW5j
bHVkZV9hbGwoc2VsZik6CisgICAgICAgIHRlc3RzID0gbWFrZV9tb2NrX21hbmlmZXN0KCgidGVz
dCIsICJhIiwgMTApLCAoInRlc3QiLCAiYS9iIiwgMTApLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoInRlc3QiLCAiYyIsIDEwKSkKKworICAgICAgICBjaHVua18xID0gbGlz
dChFcXVhbFRpbWVDaHVua2VyKDMsIDEpKHRlc3RzKSkKKyAgICAgICAgY2h1bmtfMiA9IGxpc3Qo
RXF1YWxUaW1lQ2h1bmtlcigzLCAyKSh0ZXN0cykpCisgICAgICAgIGNodW5rXzMgPSBsaXN0KEVx
dWFsVGltZUNodW5rZXIoMywgMykodGVzdHMpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KHRlc3RzWzoxMF0sIGNodW5rXzEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHRlc3RzWzEw
OjIwXSwgY2h1bmtfMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNbMjA6XSwgY2h1
bmtfMykKKworICAgIGRlZiB0ZXN0X2luY2x1ZGVfYWxsXzEoc2VsZik6CisgICAgICAgIHRlc3Rz
ID0gbWFrZV9tb2NrX21hbmlmZXN0KCgidGVzdCIsICJhIiwgNSksICgidGVzdCIsICJhL2IiLCA1
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0IiwgImMiLCAxMCks
ICgidGVzdCIsICJkIiwgMTApKQorCisgICAgICAgIGNodW5rXzEgPSBsaXN0KEVxdWFsVGltZUNo
dW5rZXIoMywgMSkodGVzdHMpKQorICAgICAgICBjaHVua18yID0gbGlzdChFcXVhbFRpbWVDaHVu
a2VyKDMsIDIpKHRlc3RzKSkKKyAgICAgICAgY2h1bmtfMyA9IGxpc3QoRXF1YWxUaW1lQ2h1bmtl
cigzLCAzKSh0ZXN0cykpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNbOjEwXSwg
Y2h1bmtfMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNbMTA6MjBdLCBjaHVua18y
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyh0ZXN0c1syMDpdLCBjaHVua18zKQorCisgICAg
ZGVmIHRlc3RfbG9uZyhzZWxmKToKKyAgICAgICAgdGVzdHMgPSBtYWtlX21vY2tfbWFuaWZlc3Qo
KCJ0ZXN0IiwgImEiLCAxMDApLCAoInRlc3QiLCAiYS9iIiwgMSksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICgidGVzdCIsICJjIiwgMSkpCisKKyAgICAgICAgY2h1bmtfMSA9
IGxpc3QoRXF1YWxUaW1lQ2h1bmtlcigzLCAxKSh0ZXN0cykpCisgICAgICAgIGNodW5rXzIgPSBs
aXN0KEVxdWFsVGltZUNodW5rZXIoMywgMikodGVzdHMpKQorICAgICAgICBjaHVua18zID0gbGlz
dChFcXVhbFRpbWVDaHVua2VyKDMsIDMpKHRlc3RzKSkKKworICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyh0ZXN0c1s6MTAwXSwgY2h1bmtfMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHModGVz
dHNbMTAwOjEwMV0sIGNodW5rXzIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHRlc3RzWzEw
MToxMDJdLCBjaHVua18zKQorCisgICAgZGVmIHRlc3RfbG9uZ18xKHNlbGYpOgorICAgICAgICB0
ZXN0cyA9IG1ha2VfbW9ja19tYW5pZmVzdCgoInRlc3QiLCAiYSIsIDEpLCAoInRlc3QiLCAiYS9i
IiwgMTAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0IiwgImMi
LCAxKSkKKworICAgICAgICBjaHVua18xID0gbGlzdChFcXVhbFRpbWVDaHVua2VyKDMsIDEpKHRl
c3RzKSkKKyAgICAgICAgY2h1bmtfMiA9IGxpc3QoRXF1YWxUaW1lQ2h1bmtlcigzLCAyKSh0ZXN0
cykpCisgICAgICAgIGNodW5rXzMgPSBsaXN0KEVxdWFsVGltZUNodW5rZXIoMywgMykodGVzdHMp
KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHRlc3RzWzoxXSwgY2h1bmtfMSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHModGVzdHNbMToxMDFdLCBjaHVua18yKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyh0ZXN0c1sxMDE6MTAyXSwgY2h1bmtfMykKKworICAgIGRlZiB0ZXN0X3Rv
b19mZXdfZGlycyhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVy
cm9yKToKKyAgICAgICAgICAgIHRlc3RzID0gbWFrZV9tb2NrX21hbmlmZXN0KCgidGVzdCIsICJh
IiwgMSksICgidGVzdCIsICJhL2IiLCAxMDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKCJ0ZXN0IiwgImMiLCAxKSkKKyAgICAgICAgICAgIGxpc3QoRXF1YWxUaW1l
Q2h1bmtlcig0LCAxKSh0ZXN0cykpCisKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAg
ICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X2hv
c3RzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfaG9zdHMucHkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODA4
YjgxNjA2YWViNTFlMDM1NDkzMjYwZTVjZjQ3ZTQ2NDg5YTc3NwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X2hvc3RzLnB5CkBAIC0wLDAgKzEsNTYgQEAKK2ltcG9y
dCB1bml0dGVzdAoraW1wb3J0IHN5cworZnJvbSBvcy5wYXRoIGltcG9ydCBqb2luLCBkaXJuYW1l
Citmcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KKworc3lzLnBhdGguaW5zZXJ0KDAsIGpv
aW4oZGlybmFtZShfX2ZpbGVfXyksICIuLiIsICIuLiIpKQorCitmcm9tIHdwdHJ1bm5lciBpbXBv
cnQgaG9zdHMKKworCitjbGFzcyBIb3N0c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRl
ZiBkb190ZXN0KHNlbGYsIGlucHV0LCBleHBlY3RlZCk6CisgICAgICAgIGhvc3RfZmlsZSA9IGhv
c3RzLkhvc3RzRmlsZS5mcm9tX2ZpbGUoU3RyaW5nSU8oaW5wdXQpKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhob3N0X2ZpbGUudG9fc3RyaW5nKCksIGV4cGVjdGVkKQorCisgICAgZGVmIHRl
c3Rfc2ltcGxlKHNlbGYpOgorICAgICAgICBzZWxmLmRvX3Rlc3QoIiIiMTI3LjAuMC4xICAgIFx0
bG9jYWxob3N0ICBhbGlhcyAjIGNvbW1lbnQKKyMgQW5vdGhlciBjb21tZW50IiIiLAorICAgICAg
ICAgICAgICAgICAgICAgIiIiMTI3LjAuMC4xIGxvY2FsaG9zdCBhbGlhcyAjIGNvbW1lbnQKKyMg
QW5vdGhlciBjb21tZW50CisiIiIpCisKKyAgICBkZWYgdGVzdF9ibGFua19saW5lcyhzZWxmKToK
KyAgICAgICAgc2VsZi5kb190ZXN0KCIiIjEyNy4wLjAuMSAgICBcdGxvY2FsaG9zdCAgYWxpYXMg
IyBjb21tZW50CisKK1xyCisgICAgXHQKKyMgQW5vdGhlciBjb21tZW50IiIiLAorICAgICAgICAg
ICAgICAgICAgICAgIiIiMTI3LjAuMC4xIGxvY2FsaG9zdCBhbGlhcyAjIGNvbW1lbnQKKyMgQW5v
dGhlciBjb21tZW50CisiIiIpCisKKyAgICBkZWYgdGVzdF93aGl0ZXNwYWNlKHNlbGYpOgorICAg
ICAgICBzZWxmLmRvX3Rlc3QoIiIiICAgIFx0MTI3LjAuMC4xICAgIFx0bG9jYWxob3N0ICBhbGlh
cyAjIGNvbW1lbnQgICAgIFxyCisgICAgXHQjIEFub3RoZXIgY29tbWVudCIiIiwKKyAgICAgICAg
ICAgICAgICAgICAgICIiIjEyNy4wLjAuMSBsb2NhbGhvc3QgYWxpYXMgIyBjb21tZW50CisjIEFu
b3RoZXIgY29tbWVudAorIiIiKQorCisgICAgZGVmIHRlc3RfYWxpZ25tZW50KHNlbGYpOgorICAg
ICAgICBzZWxmLmRvX3Rlc3QoIiIiMTI3LjAuMC4xICAgIFx0bG9jYWxob3N0ICBhbGlhcworMTky
LjE2OC4xLjEgYW5vdGhlcl9ob3N0ICAgIGFub3RoZXJfYWxpYXMKKyIiIiwiIiIxMjcuMC4wLjEg
ICBsb2NhbGhvc3QgICAgYWxpYXMKKzE5Mi4xNjguMS4xIGFub3RoZXJfaG9zdCBhbm90aGVyX2Fs
aWFzCisiIiIKKykKKworICAgIGRlZiB0ZXN0X211bHRpcGxlX3NhbWVfbmFtZShzZWxmKToKKyAg
ICAgICAgIyBUaGUgc2VtYW50aWNzIGFyZSB0aGF0IHdlIG92ZXJ3cml0ZSBlYXJsaWVyIGVudHJp
ZXMgd2l0aCB0aGUgc2FtZSBuYW1lCisgICAgICAgIHNlbGYuZG9fdGVzdCgiIiIxMjcuMC4wLjEg
ICAgXHRsb2NhbGhvc3QgIGFsaWFzCisxOTIuMTY4LjEuMSBsb2NhbGhvc3QgICAgYW5vdGhlcl9h
bGlhcyIiIiwiIiIxOTIuMTY4LjEuMSBsb2NhbGhvc3QgYW5vdGhlcl9hbGlhcworIiIiCispCisK
K2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF90ZXN0bG9hZGVyLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3Rlc3RzL3Rlc3RfdGVzdGxvYWRlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZDk2N2IwNTFmZGFkODYwZWY3
OTIxNzZhZmI2YzhkYTA3YmNhMTNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rl
c3RzL3Rlc3RfdGVzdGxvYWRlci5weQpAQCAtMCwwICsxLDI5IEBACitmcm9tIF9fZnV0dXJlX18g
aW1wb3J0IHVuaWNvZGVfbGl0ZXJhbHMKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQg
dGVtcGZpbGUKKworc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5h
bWUoX19maWxlX18pLCAiLi4iLCAiLi4iKSkKKworZnJvbSBtb3psb2cgaW1wb3J0IHN0cnVjdHVy
ZWQKK2Zyb20gd3B0cnVubmVyLnRlc3Rsb2FkZXIgaW1wb3J0IFRlc3RGaWx0ZXIgYXMgRmlsdGVy
Citmcm9tIC50ZXN0X2NodW5rZXIgaW1wb3J0IG1ha2VfbW9ja19tYW5pZmVzdAorCitzdHJ1Y3R1
cmVkLnNldF9kZWZhdWx0X2xvZ2dlcihzdHJ1Y3R1cmVkLnN0cnVjdHVyZWRsb2cuU3RydWN0dXJl
ZExvZ2dlcigiVGVzdExvYWRlciIpKQorCitpbmNsdWRlX2luaSA9ICIiIlwKK3NraXA6IHRydWUK
K1t0ZXN0X1x1NTNGMF0KKyAgc2tpcDogZmFsc2UKKyIiIgorCitkZWYgdGVzdF9maWx0ZXJfdW5p
Y29kZSgpOgorICAgIHRlc3RzID0gbWFrZV9tb2NrX21hbmlmZXN0KCgidGVzdCIsICJhIiwgMTAp
LCAoInRlc3QiLCAiYS9iIiwgMTApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgi
dGVzdCIsICJjIiwgMTApKQorCisgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUo
IndiIiwgc3VmZml4PSIuaW5pIikgYXMgZjoKKyAgICAgICAgZi53cml0ZShpbmNsdWRlX2luaS5l
bmNvZGUoJ3V0Zi04JykpCisgICAgICAgIGYuZmx1c2goKQorCisgICAgICAgIEZpbHRlcihtYW5p
ZmVzdF9wYXRoPWYubmFtZSwgdGVzdF9tYW5pZmVzdHM9dGVzdHMpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvdGVzdHMvdGVzdF91cGRhdGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF91
cGRhdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTVlYjRjZjQ5YzdmYTljMzFkNmM0NmRjMWQ1MjAxZDIxZWVj
MTBmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X3VwZGF0ZS5w
eQpAQCAtMCwwICsxLDMyOCBAQAoraW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgU3RyaW5nSU8KKwor
aW1wb3J0IHB5dGVzdAorCitmcm9tIC4uIGltcG9ydCBtZXRhZGF0YSwgbWFuaWZlc3R1cGRhdGUK
K2Zyb20gbW96bG9nIGltcG9ydCBzdHJ1Y3R1cmVkbG9nLCBoYW5kbGVycywgZm9ybWF0dGVycwor
CisKK2NsYXNzIFRlc3RFeHBlY3RlZFVwZGF0ZXIodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRl
ZiBjcmVhdGVfbWFuaWZlc3Qoc2VsZiwgZGF0YSwgdGVzdF9wYXRoPSJwYXRoL3RvL3Rlc3QuaW5p
Iik6CisgICAgICAgIGYgPSBTdHJpbmdJTy5TdHJpbmdJTyhkYXRhKQorICAgICAgICByZXR1cm4g
bWFuaWZlc3R1cGRhdGUuY29tcGlsZShmLCB0ZXN0X3BhdGgpCisKKyAgICBkZWYgY3JlYXRlX3Vw
ZGF0ZXIoc2VsZiwgZGF0YSwgKiprd2FyZ3MpOgorICAgICAgICBleHBlY3RlZF90cmVlID0ge30K
KyAgICAgICAgaWRfcGF0aF9tYXAgPSB7fQorICAgICAgICBmb3IgdGVzdF9wYXRoLCB0ZXN0X2lk
cywgbWFuaWZlc3Rfc3RyIGluIGRhdGE6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHRlc3Rf
aWRzLCAoc3RyLCB1bmljb2RlKSk6CisgICAgICAgICAgICAgICAgdGVzdF9pZHMgPSBbdGVzdF9p
ZHNdCisgICAgICAgICAgICBleHBlY3RlZF90cmVlW3Rlc3RfcGF0aF0gPSBzZWxmLmNyZWF0ZV9t
YW5pZmVzdChtYW5pZmVzdF9zdHIsIHRlc3RfcGF0aCkKKyAgICAgICAgICAgIGZvciB0ZXN0X2lk
IGluIHRlc3RfaWRzOgorICAgICAgICAgICAgICAgIGlkX3BhdGhfbWFwW3Rlc3RfaWRdID0gdGVz
dF9wYXRoCisKKyAgICAgICAgcmV0dXJuIG1ldGFkYXRhLkV4cGVjdGVkVXBkYXRlcihleHBlY3Rl
ZF90cmVlLCBpZF9wYXRoX21hcCwgKiprd2FyZ3MpCisKKyAgICBkZWYgY3JlYXRlX2xvZyhzZWxm
LCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBsb2dnZXIgPSBzdHJ1Y3R1cmVkbG9nLlN0cnVj
dHVyZWRMb2dnZXIoImV4cGVjdGVkX3Rlc3QiKQorICAgICAgICBkYXRhID0gU3RyaW5nSU8uU3Ry
aW5nSU8oKQorICAgICAgICBoYW5kbGVyID0gaGFuZGxlcnMuU3RyZWFtSGFuZGxlcihkYXRhLCBm
b3JtYXR0ZXJzLkpTT05Gb3JtYXR0ZXIoKSkKKyAgICAgICAgbG9nZ2VyLmFkZF9oYW5kbGVyKGhh
bmRsZXIpCisKKyAgICAgICAgbG9nX2VudHJpZXMgPSAoWygic3VpdGVfc3RhcnQiLCB7InRlc3Rz
IjogW10sICJydW5faW5mbyI6IGt3YXJncy5nZXQoInJ1bl9pbmZvIiwge30pfSldICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgbGlzdChhcmdzKSArCisgICAgICAgICAgICAgICAgICAgICAgIFso
InN1aXRlX2VuZCIsIHt9KV0pCisKKyAgICAgICAgZm9yIGl0ZW0gaW4gbG9nX2VudHJpZXM6Cisg
ICAgICAgICAgICBhY3Rpb24sIGt3YXJncyA9IGl0ZW0KKyAgICAgICAgICAgIGdldGF0dHIobG9n
Z2VyLCBhY3Rpb24pKCoqa3dhcmdzKQorICAgICAgICBsb2dnZXIucmVtb3ZlX2hhbmRsZXIoaGFu
ZGxlcikKKyAgICAgICAgZGF0YS5zZWVrKDApCisgICAgICAgIHJldHVybiBkYXRhCisKKworICAg
IGRlZiBjb2FsZXNjZV9yZXN1bHRzKHNlbGYsIHRyZWVzKToKKyAgICAgICAgZm9yIHRyZWUgaW4g
dHJlZXM6CisgICAgICAgICAgICBmb3IgdGVzdCBpbiB0cmVlLml0ZXJjaGlsZHJlbigpOgorICAg
ICAgICAgICAgICAgIGZvciBzdWJ0ZXN0IGluIHRlc3QuaXRlcmNoaWxkcmVuKCk6CisgICAgICAg
ICAgICAgICAgICAgIHN1YnRlc3QuY29hbGVzY2VfZXhwZWN0ZWQoKQorICAgICAgICAgICAgICAg
IHRlc3QuY29hbGVzY2VfZXhwZWN0ZWQoKQorCisgICAgQHB5dGVzdC5tYXJrLnhmYWlsCisgICAg
ZGVmIHRlc3RfdXBkYXRlXzAoc2VsZik6CisgICAgICAgIHByZXZfZGF0YSA9IFsoInBhdGgvdG8v
dGVzdC5odG0uaW5pIiwgWyIvcGF0aC90by90ZXN0Lmh0bSJdLCAiIiJbdGVzdC5odG1dCisgIHR5
cGU6IHRlc3RoYXJuZXNzCisgIFt0ZXN0MV0KKyAgICBleHBlY3RlZDogRkFJTCIiIildCisKKyAg
ICAgICAgbmV3X2RhdGEgPSBzZWxmLmNyZWF0ZV9sb2coKCJ0ZXN0X3N0YXJ0IiwgeyJ0ZXN0Ijog
Ii9wYXRoL3RvL3Rlc3QuaHRtIn0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogIi9wYXRoL3RvL3Rlc3QuaHRtIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0
ZXN0MSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInN0YXR1cyI6ICJQQVNTIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiRkFJTCJ9KSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKCJ0ZXN0X2VuZCIsIHsidGVzdCI6ICIvcGF0aC90by90ZXN0Lmh0
bSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0
YXR1cyI6ICJPSyJ9KSkKKyAgICAgICAgdXBkYXRlciA9IHNlbGYuY3JlYXRlX3VwZGF0ZXIocHJl
dl9kYXRhKQorICAgICAgICB1cGRhdGVyLnVwZGF0ZV9mcm9tX2xvZyhuZXdfZGF0YSkKKworICAg
ICAgICBuZXdfbWFuaWZlc3QgPSB1cGRhdGVyLmV4cGVjdGVkX3RyZWVbInBhdGgvdG8vdGVzdC5o
dG0uaW5pIl0KKyAgICAgICAgc2VsZi5jb2FsZXNjZV9yZXN1bHRzKFtuZXdfbWFuaWZlc3RdKQor
ICAgICAgICBzZWxmLmFzc2VydFRydWUobmV3X21hbmlmZXN0LmlzX2VtcHR5KQorCisgICAgQHB5
dGVzdC5tYXJrLnhmYWlsCisgICAgZGVmIHRlc3RfdXBkYXRlXzEoc2VsZik6CisgICAgICAgIHRl
c3RfaWQgPSAiL3BhdGgvdG8vdGVzdC5odG0iCisgICAgICAgIHByZXZfZGF0YSA9IFsoInBhdGgv
dG8vdGVzdC5odG0uaW5pIiwgW3Rlc3RfaWRdLCAiIiJbdGVzdC5odG1dCisgIHR5cGU6IHRlc3Ro
YXJuZXNzCisgIFt0ZXN0MV0KKyAgICBleHBlY3RlZDogRVJST1IiIiIpXQorCisgICAgICAgIG5l
d19kYXRhID0gc2VsZi5jcmVhdGVfbG9nKCgidGVzdF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0YXR1cyIsIHsi
dGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInN1YnRlc3QiOiAidGVzdDEiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiRkFJTCIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIjogIkVS
Uk9SIn0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwg
eyJ0ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pKQorICAgICAgICB1cGRhdGVyID0gc2VsZi5jcmVh
dGVfdXBkYXRlcihwcmV2X2RhdGEpCisgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21fbG9nKG5l
d19kYXRhKQorCisgICAgICAgIG5ld19tYW5pZmVzdCA9IHVwZGF0ZXIuZXhwZWN0ZWRfdHJlZVsi
cGF0aC90by90ZXN0Lmh0bS5pbmkiXQorICAgICAgICBzZWxmLmNvYWxlc2NlX3Jlc3VsdHMoW25l
d19tYW5pZmVzdF0pCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobmV3X21hbmlmZXN0LmlzX2Vt
cHR5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rlc3QodGVz
dF9pZCkuY2hpbGRyZW5bMF0uZ2V0KCJleHBlY3RlZCIpLCAiRkFJTCIpCisKKyAgICBAcHl0ZXN0
Lm1hcmsueGZhaWwKKyAgICBkZWYgdGVzdF9uZXdfc3VidGVzdChzZWxmKToKKyAgICAgICAgdGVz
dF9pZCA9ICIvcGF0aC90by90ZXN0Lmh0bSIKKyAgICAgICAgcHJldl9kYXRhID0gWygicGF0aC90
by90ZXN0Lmh0bS5pbmkiLCBbdGVzdF9pZF0sICIiIlt0ZXN0Lmh0bV0KKyAgdHlwZTogdGVzdGhh
cm5lc3MKKyAgW3Rlc3QxXQorICAgIGV4cGVjdGVkOiBGQUlMIiIiKV0KKworICAgICAgICBuZXdf
ZGF0YSA9IHNlbGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0ZXN0X2lkfSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgidGVzdF9zdGF0dXMiLCB7InRl
c3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJzdWJ0ZXN0IjogInRlc3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIkZBSUwiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCI6ICJGQUlM
In0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwg
eyJ0ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0ZXN0MiIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJGQUlMIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAi
UEFTUyJ9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X2VuZCIs
IHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInN0YXR1cyI6ICJPSyJ9KSkKKyAgICAgICAgdXBkYXRlciA9IHNlbGYuY3Jl
YXRlX3VwZGF0ZXIocHJldl9kYXRhKQorICAgICAgICB1cGRhdGVyLnVwZGF0ZV9mcm9tX2xvZyhu
ZXdfZGF0YSkKKworICAgICAgICBuZXdfbWFuaWZlc3QgPSB1cGRhdGVyLmV4cGVjdGVkX3RyZWVb
InBhdGgvdG8vdGVzdC5odG0uaW5pIl0KKyAgICAgICAgc2VsZi5jb2FsZXNjZV9yZXN1bHRzKFtu
ZXdfbWFuaWZlc3RdKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG5ld19tYW5pZmVzdC5pc19l
bXB0eSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobmV3X21hbmlmZXN0LmdldF90ZXN0KHRl
c3RfaWQpLmNoaWxkcmVuWzBdLmdldCgiZXhwZWN0ZWQiKSwgIkZBSUwiKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rlc3QodGVzdF9pZCkuY2hpbGRyZW5bMV0u
Z2V0KCJleHBlY3RlZCIpLCAiRkFJTCIpCisKKyAgICBAcHl0ZXN0Lm1hcmsueGZhaWwKKyAgICBk
ZWYgdGVzdF91cGRhdGVfbXVsdGlwbGVfMChzZWxmKToKKyAgICAgICAgdGVzdF9pZCA9ICIvcGF0
aC90by90ZXN0Lmh0bSIKKyAgICAgICAgcHJldl9kYXRhID0gWygicGF0aC90by90ZXN0Lmh0bS5p
bmkiLCBbdGVzdF9pZF0sICIiIlt0ZXN0Lmh0bV0KKyAgdHlwZTogdGVzdGhhcm5lc3MKKyAgW3Rl
c3QxXQorICAgIGV4cGVjdGVkOiBGQUlMIiIiKV0KKworICAgICAgICBuZXdfZGF0YV8wID0gc2Vs
Zi5jcmVhdGVfbG9nKCgidGVzdF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogdGVz
dF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJzdWJ0ZXN0IjogInRlc3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiRkFJTCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiRkFJTCJ9
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwgeyJ0
ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJzdGF0dXMiOiAiT0sifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcnVuX2luZm89eyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAib3N4In0pCisKKyAgICAg
ICAgbmV3X2RhdGFfMSA9IHNlbGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0
ZXN0X2lkfSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0
YXR1cyIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIlRJTUVP
VVQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4cGVjdGVkIjogIkZBSUwifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKCJ0ZXN0X2VuZCIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvPXsiZGVidWciOiBGYWxzZSwg
Im9zIjogImxpbnV4In0pCisgICAgICAgIHVwZGF0ZXIgPSBzZWxmLmNyZWF0ZV91cGRhdGVyKHBy
ZXZfZGF0YSkKKworICAgICAgICB1cGRhdGVyLnVwZGF0ZV9mcm9tX2xvZyhuZXdfZGF0YV8wKQor
ICAgICAgICB1cGRhdGVyLnVwZGF0ZV9mcm9tX2xvZyhuZXdfZGF0YV8xKQorCisgICAgICAgIG5l
d19tYW5pZmVzdCA9IHVwZGF0ZXIuZXhwZWN0ZWRfdHJlZVsicGF0aC90by90ZXN0Lmh0bS5pbmki
XQorCisgICAgICAgIHNlbGYuY29hbGVzY2VfcmVzdWx0cyhbbmV3X21hbmlmZXN0XSkKKworICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKG5ld19tYW5pZmVzdC5pc19lbXB0eSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMobmV3X21hbmlmZXN0LmdldF90ZXN0KHRlc3RfaWQpLmNoaWxkcmVuWzBd
LmdldCgKKyAgICAgICAgICAgICJleHBlY3RlZCIsIHsiZGVidWciOiBGYWxzZSwgIm9zIjogIm9z
eCJ9KSwgIkZBSUwiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0
X3Rlc3QodGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVkIiwg
eyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAibGludXgifSksICJUSU1FT1VUIikKKworICAgIEBweXRl
c3QubWFyay54ZmFpbAorICAgIGRlZiB0ZXN0X3VwZGF0ZV9tdWx0aXBsZV8xKHNlbGYpOgorICAg
ICAgICB0ZXN0X2lkID0gIi9wYXRoL3RvL3Rlc3QuaHRtIgorICAgICAgICBwcmV2X2RhdGEgPSBb
KCJwYXRoL3RvL3Rlc3QuaHRtLmluaSIsIFt0ZXN0X2lkXSwgIiIiW3Rlc3QuaHRtXQorICB0eXBl
OiB0ZXN0aGFybmVzcworICBbdGVzdDFdCisgICAgZXhwZWN0ZWQ6IEZBSUwiIiIpXQorCisgICAg
ICAgIG5ld19kYXRhXzAgPSBzZWxmLmNyZWF0ZV9sb2coKCJ0ZXN0X3N0YXJ0IiwgeyJ0ZXN0Ijog
dGVzdF9pZH0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgidGVzdF9z
dGF0dXMiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInN1YnRlc3QiOiAidGVzdDEiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJGQUlM
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJleHBlY3RlZCI6ICJGQUlMIn0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICgidGVzdF9lbmQiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJPSyJ9KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbz17ImRlYnVnIjogRmFsc2UsICJv
cyI6ICJvc3gifSkKKworICAgICAgICBuZXdfZGF0YV8xID0gc2VsZi5jcmVhdGVfbG9nKCgidGVz
dF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdWJ0ZXN0IjogInRl
c3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJzdGF0dXMiOiAiVElNRU9VVCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiRkFJTCJ9KSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwgeyJ0ZXN0IjogdGVzdF9pZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdGF0
dXMiOiAiT0sifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuX2lu
Zm89eyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAibGludXgifSkKKyAgICAgICAgdXBkYXRlciA9IHNl
bGYuY3JlYXRlX3VwZGF0ZXIocHJldl9kYXRhKQorCisgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zy
b21fbG9nKG5ld19kYXRhXzApCisgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21fbG9nKG5ld19k
YXRhXzEpCisKKyAgICAgICAgbmV3X21hbmlmZXN0ID0gdXBkYXRlci5leHBlY3RlZF90cmVlWyJw
YXRoL3RvL3Rlc3QuaHRtLmluaSJdCisKKyAgICAgICAgc2VsZi5jb2FsZXNjZV9yZXN1bHRzKFtu
ZXdfbWFuaWZlc3RdKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobmV3X21hbmlmZXN0Lmlz
X2VtcHR5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rlc3Qo
dGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVkIiwgeyJkZWJ1
ZyI6IEZhbHNlLCAib3MiOiAib3N4In0pLCAiRkFJTCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5jaGlsZHJlblswXS5nZXQoCisgICAg
ICAgICAgICAiZXhwZWN0ZWQiLCB7ImRlYnVnIjogRmFsc2UsICJvcyI6ICJsaW51eCJ9KSwgIlRJ
TUVPVVQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rlc3Qo
dGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVkIiwgeyJkZWJ1
ZyI6IEZhbHNlLCAib3MiOiAid2luZG93cyJ9KSwgIkZBSUwiKQorCisgICAgQHB5dGVzdC5tYXJr
LnhmYWlsCisgICAgZGVmIHRlc3RfdXBkYXRlX211bHRpcGxlXzIoc2VsZik6CisgICAgICAgIHRl
c3RfaWQgPSAiL3BhdGgvdG8vdGVzdC5odG0iCisgICAgICAgIHByZXZfZGF0YSA9IFsoInBhdGgv
dG8vdGVzdC5odG0uaW5pIiwgW3Rlc3RfaWRdLCAiIiJbdGVzdC5odG1dCisgIHR5cGU6IHRlc3Ro
YXJuZXNzCisgIFt0ZXN0MV0KKyAgICBleHBlY3RlZDogRkFJTCIiIildCisKKyAgICAgICAgbmV3
X2RhdGFfMCA9IHNlbGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0ZXN0X2lk
fSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0YXR1cyIs
IHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIkZBSUwiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVj
dGVkIjogIkZBSUwifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0
ZXN0X2VuZCIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvPXsiZGVidWciOiBGYWxzZSwgIm9zIjogIm9z
eCJ9KQorCisgICAgICAgIG5ld19kYXRhXzEgPSBzZWxmLmNyZWF0ZV9sb2coKCJ0ZXN0X3N0YXJ0
IiwgeyJ0ZXN0IjogdGVzdF9pZH0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICgidGVzdF9zdGF0dXMiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1YnRlc3QiOiAidGVzdDEiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0
YXR1cyI6ICJUSU1FT1VUIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJleHBlY3RlZCI6ICJGQUlMIn0pLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICgidGVzdF9lbmQiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJP
SyJ9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbz17ImRl
YnVnIjogVHJ1ZSwgIm9zIjogIm9zeCJ9KQorICAgICAgICB1cGRhdGVyID0gc2VsZi5jcmVhdGVf
dXBkYXRlcihwcmV2X2RhdGEpCisKKyAgICAgICAgdXBkYXRlci51cGRhdGVfZnJvbV9sb2cobmV3
X2RhdGFfMCkKKyAgICAgICAgdXBkYXRlci51cGRhdGVfZnJvbV9sb2cobmV3X2RhdGFfMSkKKwor
ICAgICAgICBuZXdfbWFuaWZlc3QgPSB1cGRhdGVyLmV4cGVjdGVkX3RyZWVbInBhdGgvdG8vdGVz
dC5odG0uaW5pIl0KKworICAgICAgICBzZWxmLmNvYWxlc2NlX3Jlc3VsdHMoW25ld19tYW5pZmVz
dF0pCisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShuZXdfbWFuaWZlc3QuaXNfZW1wdHkpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5j
aGlsZHJlblswXS5nZXQoCisgICAgICAgICAgICAiZXhwZWN0ZWQiLCB7ImRlYnVnIjogRmFsc2Us
ICJvcyI6ICJvc3gifSksICJGQUlMIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobmV3X21h
bmlmZXN0LmdldF90ZXN0KHRlc3RfaWQpLmNoaWxkcmVuWzBdLmdldCgKKyAgICAgICAgICAgICJl
eHBlY3RlZCIsIHsiZGVidWciOiBUcnVlLCAib3MiOiAib3N4In0pLCAiVElNRU9VVCIpCisKKyAg
ICBAcHl0ZXN0Lm1hcmsueGZhaWwKKyAgICBkZWYgdGVzdF91cGRhdGVfbXVsdGlwbGVfMyhzZWxm
KToKKyAgICAgICAgdGVzdF9pZCA9ICIvcGF0aC90by90ZXN0Lmh0bSIKKyAgICAgICAgcHJldl9k
YXRhID0gWygicGF0aC90by90ZXN0Lmh0bS5pbmkiLCBbdGVzdF9pZF0sICIiIlt0ZXN0Lmh0bV0K
KyAgdHlwZTogdGVzdGhhcm5lc3MKKyAgW3Rlc3QxXQorICAgIGV4cGVjdGVkOgorICAgICAgaWYg
ZGVidWc6IEZBSUwKKyAgICAgIGlmIG5vdCBkZWJ1ZyBhbmQgb3MgPT0gIm9zeCI6IFRJTUVPVVQi
IiIpXQorCisgICAgICAgIG5ld19kYXRhXzAgPSBzZWxmLmNyZWF0ZV9sb2coKCJ0ZXN0X3N0YXJ0
IiwgeyJ0ZXN0IjogdGVzdF9pZH0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICgidGVzdF9zdGF0dXMiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1YnRlc3QiOiAidGVzdDEiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0
YXR1cyI6ICJGQUlMIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJleHBlY3RlZCI6ICJGQUlMIn0pLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICgidGVzdF9lbmQiLCB7InRlc3QiOiB0ZXN0X2lkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXR1cyI6ICJPSyJ9
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbz17ImRlYnVn
IjogRmFsc2UsICJvcyI6ICJvc3gifSkKKworICAgICAgICBuZXdfZGF0YV8xID0gc2VsZi5jcmVh
dGVfbG9nKCgidGVzdF9zdGFydCIsIHsidGVzdCI6IHRlc3RfaWR9KSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoInRlc3Rfc3RhdHVzIiwgeyJ0ZXN0IjogdGVzdF9pZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJz
dWJ0ZXN0IjogInRlc3QxIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJzdGF0dXMiOiAiVElNRU9VVCIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiRkFJTCJ9KSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInRlc3RfZW5kIiwgeyJ0ZXN0
IjogdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJzdGF0dXMiOiAiT0sifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcnVuX2luZm89eyJkZWJ1ZyI6IFRydWUsICJvcyI6ICJvc3gifSkKKyAgICAgICAgdXBk
YXRlciA9IHNlbGYuY3JlYXRlX3VwZGF0ZXIocHJldl9kYXRhKQorCisgICAgICAgIHVwZGF0ZXIu
dXBkYXRlX2Zyb21fbG9nKG5ld19kYXRhXzApCisgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21f
bG9nKG5ld19kYXRhXzEpCisKKyAgICAgICAgbmV3X21hbmlmZXN0ID0gdXBkYXRlci5leHBlY3Rl
ZF90cmVlWyJwYXRoL3RvL3Rlc3QuaHRtLmluaSJdCisKKyAgICAgICAgc2VsZi5jb2FsZXNjZV9y
ZXN1bHRzKFtuZXdfbWFuaWZlc3RdKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobmV3X21h
bmlmZXN0LmlzX2VtcHR5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3Qu
Z2V0X3Rlc3QodGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVk
IiwgeyJkZWJ1ZyI6IEZhbHNlLCAib3MiOiAib3N4In0pLCAiRkFJTCIpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5jaGlsZHJlblswXS5n
ZXQoCisgICAgICAgICAgICAiZXhwZWN0ZWQiLCB7ImRlYnVnIjogVHJ1ZSwgIm9zIjogIm9zeCJ9
KSwgIlRJTUVPVVQiKQorCisgICAgQHB5dGVzdC5tYXJrLnhmYWlsCisgICAgZGVmIHRlc3RfdXBk
YXRlX2lnbm9yZV9leGlzdGluZyhzZWxmKToKKyAgICAgICAgdGVzdF9pZCA9ICIvcGF0aC90by90
ZXN0Lmh0bSIKKyAgICAgICAgcHJldl9kYXRhID0gWygicGF0aC90by90ZXN0Lmh0bS5pbmkiLCBb
dGVzdF9pZF0sICIiIlt0ZXN0Lmh0bV0KKyAgdHlwZTogdGVzdGhhcm5lc3MKKyAgW3Rlc3QxXQor
ICAgIGV4cGVjdGVkOgorICAgICAgaWYgZGVidWc6IFRJTUVPVVQKKyAgICAgIGlmIG5vdCBkZWJ1
ZyBhbmQgb3MgPT0gIm9zeCI6IE5PVFJVTiIiIildCisKKyAgICAgICAgbmV3X2RhdGFfMCA9IHNl
bGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0ZXN0X2lkfSksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X3N0YXR1cyIsIHsidGVzdCI6IHRl
c3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIkZBSUwiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIjogIlBBU1Mi
fSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0X2VuZCIsIHsi
dGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJ1bl9pbmZvPXsiZGVidWciOiBGYWxzZSwgIm9zIjogImxpbnV4In0pCisKKyAg
ICAgICAgbmV3X2RhdGFfMSA9IHNlbGYuY3JlYXRlX2xvZygoInRlc3Rfc3RhcnQiLCB7InRlc3Qi
OiB0ZXN0X2lkfSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0ZXN0
X3N0YXR1cyIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIkZB
SUwiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImV4cGVjdGVkIjogIlBBU1MifSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKCJ0ZXN0X2VuZCIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdHVzIjogIk9LIn0pLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvPXsiZGVidWciOiBUcnVlLCAi
b3MiOiAid2luZG93cyJ9KQorICAgICAgICB1cGRhdGVyID0gc2VsZi5jcmVhdGVfdXBkYXRlcihw
cmV2X2RhdGEsIGlnbm9yZV9leGlzdGluZz1UcnVlKQorCisgICAgICAgIHVwZGF0ZXIudXBkYXRl
X2Zyb21fbG9nKG5ld19kYXRhXzApCisgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21fbG9nKG5l
d19kYXRhXzEpCisKKyAgICAgICAgbmV3X21hbmlmZXN0ID0gdXBkYXRlci5leHBlY3RlZF90cmVl
WyJwYXRoL3RvL3Rlc3QuaHRtLmluaSJdCisKKyAgICAgICAgc2VsZi5jb2FsZXNjZV9yZXN1bHRz
KFtuZXdfbWFuaWZlc3RdKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobmV3X21hbmlmZXN0
LmlzX2VtcHR5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhuZXdfbWFuaWZlc3QuZ2V0X3Rl
c3QodGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KAorICAgICAgICAgICAgImV4cGVjdGVkIiwgeyJk
ZWJ1ZyI6IFRydWUsICJvcyI6ICJvc3gifSksICJGQUlMIikKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbHMobmV3X21hbmlmZXN0LmdldF90ZXN0KHRlc3RfaWQpLmNoaWxkcmVuWzBdLmdldCgKKyAg
ICAgICAgICAgICJleHBlY3RlZCIsIHsiZGVidWciOiBGYWxzZSwgIm9zIjogIm9zeCJ9KSwgIkZB
SUwiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3Rlc3RzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiYWVhMzcwYjhmNGVl
NWFiYTM4N2Y1NzMwYmY1MWI0OWViZWYwMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvdGVzdHMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20v
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL3Rlc3RzL19faW5pdF9fLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfY2h1bmtl
ci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X2hvc3RzLnB5CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rl
c3RzL3Rlc3RfdGVzdGxvYWRlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X3VwZGF0ZS5w
eQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9fX2luaXRfXy5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci91cGRhdGUvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDk3Y2IzNGFkMGNiMmVjZmEwZWZk
NGNmMDU5MTU4YjBiNWY4NWViZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRh
dGUvX19pbml0X18ucHkKQEAgLTAsMCArMSw0NyBAQAoraW1wb3J0IG9zCitpbXBvcnQgc3lzCisK
K2Zyb20gbW96bG9nLnN0cnVjdHVyZWQgaW1wb3J0IHN0cnVjdHVyZWRsb2csIGNvbW1hbmRsaW5l
CisKK2Zyb20gLi4gaW1wb3J0IHdwdGNvbW1hbmRsaW5lCisKK2Zyb20gdXBkYXRlIGltcG9ydCBX
UFRVcGRhdGUKKworZGVmIHJlbW92ZV9sb2dnaW5nX2FyZ3MoYXJncyk6CisgICAgIiIiVGFrZSBs
b2dnaW5nIGFyZ3Mgb3V0IG9mIHRoZSBkaWN0aW9uYXJ5IG9mIGNvbW1hbmQgbGluZSBhcmd1bWVu
dHMgc28KKyAgICB0aGV5IGFyZSBub3QgcGFzc2VkIGluIGFzIGt3YXJncyB0byB0aGUgdXBkYXRl
IGNvZGUuIFRoaXMgaXMgcGFydGljdWxhcmx5CisgICAgbmVjZXNzYXJ5IGhlcmUgYmVjYXVzZSB0
aGUgYXJndW1lbnRzIGFyZSBvZnRlbiBvZiB0eXBlIGZpbGUsIHdoaWNoIGNhbm5vdAorICAgIGJl
IHNlcmlhbGl6ZWQuCisKKyAgICA6cGFyYW0gYXJnczogRGljdGlvbmFyeSBvZiBjb21tYW5kIGxp
bmUgYXJndW1lbnRzLgorICAgICIiIgorICAgIGZvciBuYW1lIGluIGFyZ3Mua2V5cygpOgorICAg
ICAgICBpZiBuYW1lLnN0YXJ0c3dpdGgoImxvZ18iKToKKyAgICAgICAgICAgIGFyZ3MucG9wKG5h
bWUpCisKKworZGVmIHNldHVwX2xvZ2dpbmcoYXJncywgZGVmYXVsdHMpOgorICAgICIiIlVzZSB0
aGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyB0byBzZXQgdXAgdGhlIGxvZ2dlci4KKworICAgIDpw
YXJhbSBhcmdzOiBEaWN0aW9uYXJ5IG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuCisgICAgOnBh
cmFtIGRlZmF1bHRzOiBEaWN0aW9uYXJ5IG9mIHtmb3JtYXR0ZXJfbmFtZTogc3RyZWFtfSB0byB1
c2UgaWYKKyAgICAgICAgICAgICAgICAgICAgIG5vIGNvbW1hbmQgbGluZSBsb2dnaW5nIGlzIHNw
ZWNpZmllZCIiIgorICAgIGxvZ2dlciA9IGNvbW1hbmRsaW5lLnNldHVwX2xvZ2dpbmcoIndlYi1w
bGF0Zm9ybS10ZXN0cy11cGRhdGUiLCBhcmdzLCBkZWZhdWx0cykKKworICAgIHJlbW92ZV9sb2dn
aW5nX2FyZ3MoYXJncykKKworICAgIHJldHVybiBsb2dnZXIKKworCitkZWYgcnVuX3VwZGF0ZShs
b2dnZXIsICoqa3dhcmdzKToKKyAgICB1cGRhdGVyID0gV1BUVXBkYXRlKGxvZ2dlciwgKiprd2Fy
Z3MpCisgICAgcmV0dXJuIHVwZGF0ZXIucnVuKCkKKworCitkZWYgbWFpbigpOgorICAgIGFyZ3Mg
PSB3cHRjb21tYW5kbGluZS5wYXJzZV9hcmdzX3VwZGF0ZSgpCisgICAgbG9nZ2VyID0gc2V0dXBf
bG9nZ2luZyhhcmdzLCB7Im1hY2giOiBzeXMuc3Rkb3V0fSkKKyAgICBhc3NlcnQgc3RydWN0dXJl
ZGxvZy5nZXRfZGVmYXVsdF9sb2dnZXIoKSBpcyBub3QgTm9uZQorICAgIHN1Y2Nlc3MgPSBydW5f
dXBkYXRlKGxvZ2dlciwgKiphcmdzKQorICAgIHN5cy5leGl0KDAgaWYgc3VjY2VzcyBlbHNlIDEp
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvYmFzZS5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci91cGRhdGUvYmFzZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDc4MDhlNTI5MzMwZTNjMTBlNjFmNTBlN2Rj
YjgwYTgzOGYyODk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9iYXNl
LnB5CkBAIC0wLDAgKzEsNjUgQEAKK2V4aXRfdW5jbGVhbiA9IG9iamVjdCgpCitleGl0X2NsZWFu
ID0gb2JqZWN0KCkKKworCitjbGFzcyBTdGVwKG9iamVjdCk6CisgICAgcHJvdmlkZXMgPSBbXQor
CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlcik6CisgICAgICAgIHNlbGYubG9nZ2VyID0g
bG9nZ2VyCisKKyAgICBkZWYgcnVuKHNlbGYsIHN0ZXBfaW5kZXgsIHN0YXRlKToKKyAgICAgICAg
IiIiQmFzZSBjbGFzcyBmb3Igc3RhdGUtY3JlYXRpbmcgc3RlcHMuCisKKyAgICAgICAgV2hlbiBh
IFN0ZXAgaXMgcnVuKCkgdGhlIGN1cnJlbnQgc3RhdGUgaXMgY2hlY2tlZCB0byBzZWUKKyAgICAg
ICAgaWYgdGhlIHN0YXRlIGZyb20gdGhpcyBzdGVwIGhhcyBhbHJlYWR5IGJlZW4gY3JlYXRlZC4g
SWYgaXQKKyAgICAgICAgaGFzIHRoZSByZXN0b3JlKCkgbWV0aG9kIGlzIGludm9rZWQuIE90aGVy
d2lzZSB0aGUgY3JlYXRlKCkKKyAgICAgICAgbWV0aG9kIGlzIGludm9rZWQgd2l0aCB0aGUgc3Rh
dGUgb2JqZWN0LiBUaGlzIGlzIGV4cGVjdGVkIHRvCisgICAgICAgIGFkZCBpdGVtcyB3aXRoIGFs
bCB0aGUga2V5cyBpbiBfX2NsYXNzX18ucHJvdmlkZXMgdG8gdGhlIHN0YXRlCisgICAgICAgIG9i
amVjdC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgbmFtZSA9IHNlbGYuX19jbGFzc19fLl9fbmFt
ZV9fCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3RvcmVkX3N0ZXAgPSBzdGF0ZS5zdGVw
c1tzdGVwX2luZGV4XQorICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKKyAgICAgICAgICAgIHN0
b3JlZF9zdGVwID0gTm9uZQorCisgICAgICAgIGlmIHN0b3JlZF9zdGVwID09IG5hbWU6CisgICAg
ICAgICAgICBzZWxmLnJlc3RvcmUoc3RhdGUpCisgICAgICAgIGVsaWYgc3RvcmVkX3N0ZXAgaXMg
Tm9uZToKKyAgICAgICAgICAgIHNlbGYuY3JlYXRlKHN0YXRlKQorICAgICAgICAgICAgYXNzZXJ0
IHNldChzZWxmLnByb3ZpZGVzKS5pc3N1YnNldChzZXQoc3RhdGUua2V5cygpKSkKKyAgICAgICAg
ICAgIHN0YXRlLnN0ZXBzID0gc3RhdGUuc3RlcHMgKyBbbmFtZV0KKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkV4cGVjdGVkIGEgJXMgc3RlcCwgZ290IGEgJXMg
c3RlcCIgJSAobmFtZSwgc3RvcmVkX3N0ZXApKQorCisgICAgZGVmIGNyZWF0ZShzZWxmLCBkYXRh
KToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorCisgICAgZGVmIHJlc3RvcmUo
c2VsZiwgc3RhdGUpOgorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiU3RlcCAlcyB1c2luZyBz
dG9yZWQgc3RhdGUiICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCkpCisgICAgICAgIGZvciBr
ZXkgaW4gc2VsZi5wcm92aWRlczoKKyAgICAgICAgICAgIGFzc2VydCBrZXkgaW4gc3RhdGUKKwor
CitjbGFzcyBTdGVwUnVubmVyKG9iamVjdCk6CisgICAgc3RlcHMgPSBbXQorCisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGxvZ2dlciwgc3RhdGUpOgorICAgICAgICAiIiJDbGFzcyB0aGF0IHJ1bnMg
YSBzcGVjaWZpZWQgc2VyaWVzIG9mIFN0ZXBzIHdpdGggYSBjb21tb24gU3RhdGUiIiIKKyAgICAg
ICAgc2VsZi5zdGF0ZSA9IHN0YXRlCisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCisgICAg
ICAgIGlmICJzdGVwcyIgbm90IGluIHN0YXRlOgorICAgICAgICAgICAgc3RhdGUuc3RlcHMgPSBb
XQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgcnYgPSBOb25lCisgICAgICAgIGZvciBz
dGVwX2luZGV4LCBzdGVwIGluIGVudW1lcmF0ZShzZWxmLnN0ZXBzKToKKyAgICAgICAgICAgIHNl
bGYubG9nZ2VyLmRlYnVnKCJTdGFydGluZyBzdGVwICVzIiAlIHN0ZXAuX19uYW1lX18pCisgICAg
ICAgICAgICBydiA9IHN0ZXAoc2VsZi5sb2dnZXIpLnJ1bihzdGVwX2luZGV4LCBzZWxmLnN0YXRl
KQorICAgICAgICAgICAgaWYgcnYgaW4gKGV4aXRfY2xlYW4sIGV4aXRfdW5jbGVhbik6CisgICAg
ICAgICAgICAgICAgYnJlYWsKKworICAgICAgICByZXR1cm4gcnYKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci91cGRhdGUvbWV0YWRhdGEucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL21ldGFkYXRh
LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY1OTY3NjY1NzhjOWMxOGE2NjkxZjM0YTkyYjRhNjE4YmQ5ZDVkMjcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL21ldGFkYXRhLnB5CkBAIC0w
LDAgKzEsNzEgQEAKK2ltcG9ydCBvcworCitmcm9tIC4uIGltcG9ydCBtZXRhZGF0YSwgcHJvZHVj
dHMKKworZnJvbSBiYXNlIGltcG9ydCBTdGVwLCBTdGVwUnVubmVyCisKK2NsYXNzIEdldFVwZGF0
ZVByb3BlcnR5TGlzdChTdGVwKToKKyAgICBwcm92aWRlcyA9IFsicHJvcGVydHlfb3JkZXIiLCAi
Ym9vbGVhbl9wcm9wZXJ0aWVzIl0KKworCisgICAgZGVmIGNyZWF0ZShzZWxmLCBzdGF0ZSk6Cisg
ICAgICAgIHByb3BlcnR5X29yZGVyLCBib29sZWFuX3Byb3BlcnRpZXMgPSBwcm9kdWN0cy5sb2Fk
X3Byb2R1Y3RfdXBkYXRlKAorICAgICAgICAgICAgc3RhdGUuY29uZmlnLCBzdGF0ZS5wcm9kdWN0
KQorICAgICAgICBzdGF0ZS5wcm9wZXJ0eV9vcmRlciA9IHByb3BlcnR5X29yZGVyCisgICAgICAg
IHN0YXRlLmJvb2xlYW5fcHJvcGVydGllcyA9IGJvb2xlYW5fcHJvcGVydGllcworCisKK2NsYXNz
IFVwZGF0ZUV4cGVjdGVkKFN0ZXApOgorICAgICIiIkRvIHRoZSBtZXRhZGF0YSB1cGRhdGUgb24g
dGhlIGxvY2FsIGNoZWNrb3V0IiIiCisKKyAgICBwcm92aWRlcyA9IFsibmVlZHNfaHVtYW4iXQor
CisgICAgZGVmIGNyZWF0ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGlmIHN0YXRlLnN5bmNfdHJl
ZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHN5bmNfcm9vdCA9IHN0YXRlLnN5bmNfdHJlZS5y
b290CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzeW5jX3Jvb3QgPSBOb25lCisKKyAgICAg
ICAgc3RhdGUubmVlZHNfaHVtYW4gPSBtZXRhZGF0YS51cGRhdGVfZXhwZWN0ZWQoc3RhdGUucGF0
aHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXRlLnNlcnZlX3Jvb3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0YXRlLnJ1bl9sb2csCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldl9vbGQ9Tm9uZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlX2V4aXN0aW5nPXN0
YXRlLmlnbm9yZV9leGlzdGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3luY19yb290PXN5bmNfcm9vdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlfb3JkZXI9c3RhdGUu
cHJvcGVydHlfb3JkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2xlYW5fcHJvcGVydGllcz1zdGF0ZS5ib29sZWFuX3Byb3BlcnRpZXMp
CisKKworY2xhc3MgQ3JlYXRlTWV0YWRhdGFQYXRjaChTdGVwKToKKyAgICAiIiJDcmVhdGUgYSBw
YXRjaC9jb21taXQgZm9yIHRoZSBtZXRhZGF0YSBjaGVja291dCIiIgorCisgICAgZGVmIGNyZWF0
ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGlmIHN0YXRlLm5vX3BhdGNoOgorICAgICAgICAgICAg
cmV0dXJuCisKKyAgICAgICAgbG9jYWxfdHJlZSA9IHN0YXRlLmxvY2FsX3RyZWUKKyAgICAgICAg
c3luY190cmVlID0gc3RhdGUuc3luY190cmVlCisKKyAgICAgICAgaWYgc3luY190cmVlIGlzIG5v
dCBOb25lOgorICAgICAgICAgICAgbmFtZSA9ICJ3ZWItcGxhdGZvcm0tdGVzdHNfdXBkYXRlXyVz
X21ldGFkYXRhIiAlIHN5bmNfdHJlZS5yZXYKKyAgICAgICAgICAgIG1lc3NhZ2UgPSAiVXBkYXRl
ICVzIGV4cGVjdGVkIGRhdGEgdG8gcmV2aXNpb24gJXMiICUgKHN0YXRlLnN1aXRlX25hbWUsIHN5
bmNfdHJlZS5yZXYpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBuYW1lID0gIndlYi1wbGF0
Zm9ybS10ZXN0c191cGRhdGVfbWV0YWRhdGEiCisgICAgICAgICAgICBtZXNzYWdlID0gIlVwZGF0
ZSAlcyBleHBlY3RlZCBkYXRhIiAlIHN0YXRlLnN1aXRlX25hbWUKKworICAgICAgICBsb2NhbF90
cmVlLmNyZWF0ZV9wYXRjaChuYW1lLCBtZXNzYWdlKQorCisgICAgICAgIGlmIG5vdCBsb2NhbF90
cmVlLmlzX2NsZWFuOgorICAgICAgICAgICAgbWV0YWRhdGFfcGF0aHMgPSBbbWFuaWZlc3RfcGF0
aFsibWV0YWRhdGFfcGF0aCJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgbWFu
aWZlc3RfcGF0aCBpbiBzdGF0ZS5wYXRocy5pdGVydmFsdWVzKCldCisgICAgICAgICAgICBmb3Ig
cGF0aCBpbiBtZXRhZGF0YV9wYXRoczoKKyAgICAgICAgICAgICAgICBsb2NhbF90cmVlLmFkZF9u
ZXcob3MucGF0aC5yZWxwYXRoKHBhdGgsIGxvY2FsX3RyZWUucm9vdCkpCisgICAgICAgICAgICBs
b2NhbF90cmVlLnVwZGF0ZV9wYXRjaChpbmNsdWRlPW1ldGFkYXRhX3BhdGhzKQorICAgICAgICAg
ICAgbG9jYWxfdHJlZS5jb21taXRfcGF0Y2goKQorCisKK2NsYXNzIE1ldGFkYXRhVXBkYXRlUnVu
bmVyKFN0ZXBSdW5uZXIpOgorICAgICIiIihTdWIpUnVubmVyIGZvciB1cGRhdGluZyBtZXRhZGF0
YSIiIgorICAgIHN0ZXBzID0gW0dldFVwZGF0ZVByb3BlcnR5TGlzdCwKKyAgICAgICAgICAgICBV
cGRhdGVFeHBlY3RlZCwKKyAgICAgICAgICAgICBDcmVhdGVNZXRhZGF0YVBhdGNoXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zdGF0ZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUv
c3RhdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQ1NDQxNGU2NDBiZWE5ZTIxYTU4YTA0ZTcwNDdjNWQ4Yzk3
YzhjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvc3RhdGUucHkKQEAg
LTAsMCArMSwxMzMgQEAKK2ltcG9ydCBvcworaW1wb3J0IGNQaWNrbGUgYXMgcGlja2xlCisKK2hl
cmUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0pCisKK2NsYXNz
IFN0YXRlKG9iamVjdCk6CisgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4oaGVyZSwgIi53cHQt
dXBkYXRlLmxvY2siKQorCisgICAgZGVmIF9fbmV3X18oY2xzLCBsb2dnZXIpOgorICAgICAgICBy
diA9IGNscy5sb2FkKGxvZ2dlcikKKyAgICAgICAgaWYgcnYgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICBsb2dnZXIuZGVidWcoIkV4aXN0aW5nIHN0YXRlIGZvdW5kIikKKyAgICAgICAgICAgIHJl
dHVybiBydgorCisgICAgICAgIGxvZ2dlci5kZWJ1ZygiTm8gZXhpc3Rpbmcgc3RhdGUgZm91bmQi
KQorICAgICAgICByZXR1cm4gb2JqZWN0Ll9fbmV3X18oY2xzLCBsb2dnZXIpCisKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgbG9nZ2VyKToKKyAgICAgICAgIiIiT2JqZWN0IGNvbnRhaW5pbmcgc3Rh
dGUgdmFyaWFibGVzIGNyZWF0ZWQgd2hlbiBydW5uaW5nIFN0ZXBzLgorCisgICAgICAgIE9uIHdy
aXRlIHRoZSBzdGF0ZSBpcyBzZXJpYWxpemVkIHRvIGRpc2ssIHN1Y2ggdGhhdCBpdCBjYW4gYmUg
cmVzdG9yZWQgaW4KKyAgICAgICAgdGhlIGV2ZW50IHRoYXQgdGhlIHByb2dyYW0gaXMgaW50ZXJy
dXB0ZWQgYmVmb3JlIGFsbCBzdGVwcyBhcmUgY29tcGxldGUuCisgICAgICAgIE5vdGUgdGhhdCB0
aGlzIG9ubHkgd29ya3Mgd2VsbCBpZiB0aGUgdmFsdWVzIGFyZSBpbW11dGFibGU7IG11dGF0aW5n
IGFuCisgICAgICAgIGV4aXN0aW5nIHZhbHVlIHdpbGwgbm90IGNhdXNlIHRoZSBkYXRhIHRvIGJl
IHNlcmlhbGl6ZWQuCisKKyAgICAgICAgVmFyaWFibGVzIGFyZSBzZXQgYW5kIGdldCBhcyBhdHRy
aWJ1dGVzIGUuZy4gc3RhdGVfb2JqLnNwYW0gPSAiZWdncyIuCisKKyAgICAgICAgOnBhcmFtIHBh
cmVudDogUGFyZW50IFN0YXRlIG9iamVjdCBvciBOb25lIGlmIHRoaXMgaXMgdGhlIHJvb3Qgb2Jq
ZWN0LgorICAgICAgICAiIiIKKworICAgICAgICBpZiBoYXNhdHRyKHNlbGYsICJfZGF0YSIpOgor
ICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgc2VsZi5fZGF0YSA9IFt7fV0KKyAgICAgICAg
c2VsZi5fbG9nZ2VyID0gbG9nZ2VyCisgICAgICAgIHNlbGYuX2luZGV4ID0gMAorCisgICAgZGVm
IF9fZ2V0c3RhdGVfXyhzZWxmKToKKyAgICAgICAgcnYgPSBzZWxmLl9fZGljdF9fLmNvcHkoKQor
ICAgICAgICBkZWwgcnZbIl9sb2dnZXIiXQorICAgICAgICByZXR1cm4gcnYKKworICAgIEBjbGFz
c21ldGhvZAorICAgIGRlZiBsb2FkKGNscywgbG9nZ2VyKToKKyAgICAgICAgIiIiTG9hZCBzYXZl
ZCBzdGF0ZSBmcm9tIGEgZmlsZSIiIgorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRoIG9w
ZW4oY2xzLmZpbGVuYW1lKSBhcyBmOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAg
ICAgICAgICAgcnYgPSBwaWNrbGUubG9hZChmKQorICAgICAgICAgICAgICAgICAgICBsb2dnZXIu
ZGVidWcoIkxvYWRpbmcgZGF0YSAlciIgJSAocnYuX2RhdGEsKSkKKyAgICAgICAgICAgICAgICAg
ICAgcnYuX2xvZ2dlciA9IGxvZ2dlcgorICAgICAgICAgICAgICAgICAgICBydi5faW5kZXggPSAw
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBydgorICAgICAgICAgICAgICAgIGV4Y2VwdCBF
T0ZFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIkZvdW5kIGVtcHR5
IHN0YXRlIGZpbGUiKQorICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgIGxvZ2dl
ci5kZWJ1ZygiSU9FcnJvciBsb2FkaW5nIHN0b3JlZCBzdGF0ZSIpCisKKyAgICBkZWYgcHVzaChz
ZWxmLCBpbml0X3ZhbHVlcyk6CisgICAgICAgICIiIlB1c2ggYSBuZXcgY2xlYW4gc3RhdGUgZGlj
dGlvbmFyeQorCisgICAgICAgIDpwYXJhbSBpbml0X3ZhbHVlczogTGlzdCBvZiB2YXJpYWJsZSBu
YW1lcyBpbiB0aGUgY3VycmVudCBzdGF0ZSBkaWN0IHRvIGNvcHkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnRvIHRoZSBuZXcgc3RhdGUgZGljdC4iIiIKKworICAgICAgICByZXR1cm4g
U3RhdGVDb250ZXh0KHNlbGYsIGluaXRfdmFsdWVzKQorCisgICAgZGVmIHNhdmUoc2VsZik6Cisg
ICAgICAgICIiIldyaXRlIHRoZSBzdGF0ZSB0byBkaXNrIiIiCisgICAgICAgIHdpdGggb3Blbihz
ZWxmLmZpbGVuYW1lLCAidyIpIGFzIGY6CisgICAgICAgICAgICBwaWNrbGUuZHVtcChzZWxmLCBm
KQorCisgICAgZGVmIGlzX2VtcHR5KHNlbGYpOgorICAgICAgICByZXR1cm4gbGVuKHNlbGYuX2Rh
dGEpID09IDEgYW5kIHNlbGYuX2RhdGFbMF0gPT0ge30KKworICAgIGRlZiBjbGVhcihzZWxmKToK
KyAgICAgICAgIiIiUmVtb3ZlIGFsbCBzdGF0ZSBhbmQgZGVsZXRlIHRoZSBzdG9yZWQgY29weS4i
IiIKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3MudW5saW5rKHNlbGYuZmlsZW5hbWUpCisg
ICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgcGFzcworICAgICAgICBzZWxmLl9k
YXRhID0gW3t9XQorCisKKyAgICBkZWYgX19zZXRhdHRyX18oc2VsZiwga2V5LCB2YWx1ZSk6Cisg
ICAgICAgIGlmIGtleS5zdGFydHN3aXRoKCJfIik6CisgICAgICAgICAgICBvYmplY3QuX19zZXRh
dHRyX18oc2VsZiwga2V5LCB2YWx1ZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYu
X2RhdGFbc2VsZi5faW5kZXhdW2tleV0gPSB2YWx1ZQorICAgICAgICAgICAgc2VsZi5zYXZlKCkK
KworICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBrZXkpOgorICAgICAgICBpZiBrZXkuc3RhcnRz
d2l0aCgiXyIpOgorICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IKKyAgICAgICAgdHJ5
OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2RhdGFbc2VsZi5faW5kZXhdW2tleV0KKyAgICAg
ICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IKKwor
ICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwga2V5KToKKyAgICAgICAgcmV0dXJuIGtleSBpbiBz
ZWxmLl9kYXRhW3NlbGYuX2luZGV4XQorCisgICAgZGVmIHVwZGF0ZShzZWxmLCBpdGVtcyk6Cisg
ICAgICAgICIiIkFkZCBhIGRpY3Rpb25hcnkgb2Yge25hbWU6IHZhbHVlfSBwYWlycyB0byB0aGUg
c3RhdGUiIiIKKyAgICAgICAgc2VsZi5fZGF0YVtzZWxmLl9pbmRleF0udXBkYXRlKGl0ZW1zKQor
ICAgICAgICBzZWxmLnNhdmUoKQorCisgICAgZGVmIGtleXMoc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmLl9kYXRhW3NlbGYuX2luZGV4XS5rZXlzKCkKKworY2xhc3MgU3RhdGVDb250ZXh0KG9i
amVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0YXRlLCBpbml0X3ZhbHVlcyk6CisgICAg
ICAgIHNlbGYuc3RhdGUgPSBzdGF0ZQorICAgICAgICBzZWxmLmluaXRfdmFsdWVzID0gaW5pdF92
YWx1ZXMKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIGlmIGxlbihzZWxmLnN0
YXRlLl9kYXRhKSA9PSBzZWxmLnN0YXRlLl9pbmRleCArIDE6CisgICAgICAgICAgICAjIFRoaXMg
aXMgdGhlIGNhc2Ugd2hlcmUgdGhlcmUgaXMgbm8gc3RvcmVkIHN0YXRlCisgICAgICAgICAgICBu
ZXdfc3RhdGUgPSB7fQorICAgICAgICAgICAgZm9yIGtleSBpbiBzZWxmLmluaXRfdmFsdWVzOgor
ICAgICAgICAgICAgICAgIG5ld19zdGF0ZVtrZXldID0gc2VsZi5zdGF0ZS5fZGF0YVtzZWxmLnN0
YXRlLl9pbmRleF1ba2V5XQorICAgICAgICAgICAgc2VsZi5zdGF0ZS5fZGF0YS5hcHBlbmQobmV3
X3N0YXRlKQorICAgICAgICBzZWxmLnN0YXRlLl9pbmRleCArPSAxCisgICAgICAgIHNlbGYuc3Rh
dGUuX2xvZ2dlci5kZWJ1ZygiSW5jcmVtZW50ZWQgaW5kZXggdG8gJXMiICUgc2VsZi5zdGF0ZS5f
aW5kZXgpCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAg
ICAgaWYgbGVuKHNlbGYuc3RhdGUuX2RhdGEpID4gMToKKyAgICAgICAgICAgIGFzc2VydCBzZWxm
LnN0YXRlLl9pbmRleCA9PSBsZW4oc2VsZi5zdGF0ZS5fZGF0YSkgLSAxCisgICAgICAgICAgICBz
ZWxmLnN0YXRlLl9kYXRhLnBvcCgpCisgICAgICAgICAgICBzZWxmLnN0YXRlLl9pbmRleCAtPSAx
CisgICAgICAgICAgICBzZWxmLnN0YXRlLl9sb2dnZXIuZGVidWcoIkRlY3JlbWVudGVkIGluZGV4
IHRvICVzIiAlIHNlbGYuc3RhdGUuX2luZGV4KQorICAgICAgICAgICAgYXNzZXJ0IHNlbGYuc3Rh
dGUuX2luZGV4ID49IDAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJy
b3IoIlRyaWVkIHRvIHBvcCB0aGUgdG9wIHN0YXRlIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci91cGRhdGUvc3luYy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvc3luYy5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zZjYwOTJhMDQ2YTA1YzFlMDU1NjVhNGExZmI3NDI5MGU1MzU5NDU5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zeW5jLnB5CkBAIC0wLDAgKzEsMTc3IEBACitpbXBv
cnQgb3MKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCBzeXMKK2ltcG9ydCB1dWlkCisKK2Zyb20gLi4g
aW1wb3J0IHRlc3Rsb2FkZXIKKworZnJvbSBiYXNlIGltcG9ydCBTdGVwLCBTdGVwUnVubmVyCitm
cm9tIHRyZWUgaW1wb3J0IENvbW1pdAorCitoZXJlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGgu
c3BsaXQoX19maWxlX18pWzBdKQorCitic2RfbGljZW5zZSA9ICIiIlczQyAzLWNsYXVzZSBCU0Qg
TGljZW5zZQorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKK21ldDoKKworKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygd29ya3MgbXVzdCByZXRhaW4gdGhlIG9yaWdpbmFsIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMKKyAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisKKyogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBv
cmlnaW5hbCBjb3B5cmlnaHQKKyAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCisqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgdGhlIFczQyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlCisgIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHdvcmsgd2l0aG91dAorICBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisKKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMKK0lTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCitJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRQorQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFCitMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCitDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCitJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKK0FSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
CitQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIgorCisKK2RlZiBjb3B5X3dwdF90cmVl
KHRyZWUsIGRlc3QpOgorICAgICIiIkNvcHkgdGhlIHdvcmtpbmcgY29weSBvZiBhIFRyZWUgdG8g
YSBkZXN0aW5hdGlvbiBkaXJlY3RvcnkuCisKKyAgICA6cGFyYW0gdHJlZTogVGhlIFRyZWUgdG8g
Y29weS4KKyAgICA6cGFyYW0gZGVzdDogVGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeSIiIgorICAg
IGlmIG9zLnBhdGguZXhpc3RzKGRlc3QpOgorICAgICAgICBhc3NlcnQgb3MucGF0aC5pc2Rpcihk
ZXN0KQorCisgICAgc2h1dGlsLnJtdHJlZShkZXN0KQorICAgIG9zLm1rZGlyKGRlc3QpCisKKyAg
ICBmb3IgdHJlZV9wYXRoIGluIHRyZWUucGF0aHMoKToKKyAgICAgICAgc291cmNlX3BhdGggPSBv
cy5wYXRoLmpvaW4odHJlZS5yb290LCB0cmVlX3BhdGgpCisgICAgICAgIGRlc3RfcGF0aCA9IG9z
LnBhdGguam9pbihkZXN0LCB0cmVlX3BhdGgpCisKKyAgICAgICAgZGVzdF9kaXIgPSBvcy5wYXRo
LnNwbGl0KGRlc3RfcGF0aClbMF0KKyAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoc291cmNl
X3BhdGgpOgorICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRlc3RfZGlyKToKKyAg
ICAgICAgICAgICAgICBvcy5tYWtlZGlycyhkZXN0X2RpcikKKyAgICAgICAgICAgIHNodXRpbC5j
b3B5Mihzb3VyY2VfcGF0aCwgZGVzdF9wYXRoKQorCisgICAgZm9yIHNvdXJjZSwgZGVzdGluYXRp
b24gaW4gWygidGVzdGhhcm5lc3NfcnVubmVyLmh0bWwiLCAiIiksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICgidGVzdGhhcm5lc3NyZXBvcnQuanMiLCAicmVzb3VyY2VzLyIpXToK
KyAgICAgICAgc291cmNlX3BhdGggPSBvcy5wYXRoLmpvaW4oaGVyZSwgb3MucGFyZGlyLCBzb3Vy
Y2UpCisgICAgICAgIGRlc3RfcGF0aCA9IG9zLnBhdGguam9pbihkZXN0LCBkZXN0aW5hdGlvbiwg
b3MucGF0aC5zcGxpdChzb3VyY2UpWzFdKQorICAgICAgICBzaHV0aWwuY29weTIoc291cmNlX3Bh
dGgsIGRlc3RfcGF0aCkKKworICAgIGFkZF9saWNlbnNlKGRlc3QpCisKKworZGVmIGFkZF9saWNl
bnNlKGRlc3QpOgorICAgICIiIldyaXRlIHRoZSBic2QgbGljZW5zZSBzdHJpbmcgdG8gYSBMSUNF
TlNFIGZpbGUuCisKKyAgICA6cGFyYW0gZGVzdDogRGlyZWN0b3J5IGluIHdoaWNoIHRvIHBsYWNl
IHRoZSBMSUNFTlNFIGZpbGUuIiIiCisgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihkZXN0LCAi
TElDRU5TRSIpLCAidyIpIGFzIGY6CisgICAgICAgIGYud3JpdGUoYnNkX2xpY2Vuc2UpCisKK2Ns
YXNzIFVwZGF0ZUNoZWNrb3V0KFN0ZXApOgorICAgICIiIlB1bGwgY2hhbmdlcyBmcm9tIHVwc3Ry
ZWFtIGludG8gdGhlIGxvY2FsIHN5bmMgdHJlZS4iIiIKKworICAgIHByb3ZpZGVzID0gWyJsb2Nh
bF9icmFuY2giXQorCisgICAgZGVmIGNyZWF0ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIHN5bmNf
dHJlZSA9IHN0YXRlLnN5bmNfdHJlZQorICAgICAgICBzdGF0ZS5sb2NhbF9icmFuY2ggPSB1dWlk
LnV1aWQ0KCkuaGV4CisgICAgICAgIHN5bmNfdHJlZS51cGRhdGUoc3RhdGUuc3luY1sicmVtb3Rl
X3VybCJdLAorICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnN5bmNbImJyYW5jaCJdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmxvY2FsX2JyYW5jaCkKKyAgICAgICAgc3lu
Y19wYXRoID0gb3MucGF0aC5hYnNwYXRoKHN5bmNfdHJlZS5yb290KQorICAgICAgICBpZiBub3Qg
c3luY19wYXRoIGluIHN5cy5wYXRoOgorICAgICAgICAgICAgZnJvbSB1cGRhdGUgaW1wb3J0IHNl
dHVwX3BhdGhzCisgICAgICAgICAgICBzZXR1cF9wYXRocyhzeW5jX3BhdGgpCisKKyAgICBkZWYg
cmVzdG9yZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGFzc2VydCBvcy5wYXRoLmFic3BhdGgoc3Rh
dGUuc3luY190cmVlLnJvb3QpIGluIHN5cy5wYXRoCisgICAgICAgIFN0ZXAucmVzdG9yZShzZWxm
LCBzdGF0ZSkKKworCitjbGFzcyBHZXRTeW5jVGFyZ2V0Q29tbWl0KFN0ZXApOgorICAgICIiIkZp
bmQgdGhlIGNvbW1pdCB0aGF0IHdlIHdpbGwgc3luYyB0by4iIiIKKworICAgIHByb3ZpZGVzID0g
WyJzeW5jX2NvbW1pdCJdCisKKyAgICBkZWYgY3JlYXRlKHNlbGYsIHN0YXRlKToKKyAgICAgICAg
aWYgc3RhdGUudGFyZ2V0X3JldiBpcyBOb25lOgorICAgICAgICAgICAgI1VzZSB1cHN0cmVhbSBi
cmFuY2ggSEVBRCBhcyB0aGUgYmFzZSBjb21taXQKKyAgICAgICAgICAgIHN0YXRlLnN5bmNfY29t
bWl0ID0gc3RhdGUuc3luY190cmVlLmdldF9yZW1vdGVfc2hhMShzdGF0ZS5zeW5jWyJyZW1vdGVf
dXJsIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RhdGUuc3luY1siYnJhbmNoIl0pCisgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICBzdGF0ZS5zeW5jX2NvbW1pdCA9IENvbW1pdChzdGF0ZS5zeW5jX3RyZWUsIHN0YXRl
LnJldikKKworICAgICAgICBzdGF0ZS5zeW5jX3RyZWUuY2hlY2tvdXQoc3RhdGUuc3luY19jb21t
aXQuc2hhMSwgc3RhdGUubG9jYWxfYnJhbmNoLCBmb3JjZT1UcnVlKQorICAgICAgICBzZWxmLmxv
Z2dlci5kZWJ1ZygiTmV3IGJhc2UgY29tbWl0IGlzICVzIiAlIHN0YXRlLnN5bmNfY29tbWl0LnNo
YTEpCisKKworY2xhc3MgTG9hZE1hbmlmZXN0KFN0ZXApOgorICAgICIiIkxvYWQgdGhlIHRlc3Qg
bWFuaWZlc3QiIiIKKworICAgIHByb3ZpZGVzID0gWyJtYW5pZmVzdF9wYXRoIiwgInRlc3RfbWFu
aWZlc3QiXQorCisgICAgZGVmIGNyZWF0ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGZyb20gbWFu
aWZlc3QgaW1wb3J0IG1hbmlmZXN0CisgICAgICAgIHN0YXRlLm1hbmlmZXN0X3BhdGggPSBvcy5w
YXRoLmpvaW4oc3RhdGUubWV0YWRhdGFfcGF0aCwgIk1BTklGRVNULmpzb24iKQorICAgICAgICBz
dGF0ZS50ZXN0X21hbmlmZXN0ID0gbWFuaWZlc3QuTWFuaWZlc3QoIi8iKQorCisKK2NsYXNzIFVw
ZGF0ZU1hbmlmZXN0KFN0ZXApOgorICAgICIiIlVwZGF0ZSB0aGUgbWFuaWZlc3QgdG8gbWF0Y2gg
dGhlIHRlc3RzIGluIHRoZSBzeW5jIHRyZWUgY2hlY2tvdXQiIiIKKworICAgIGRlZiBjcmVhdGUo
c2VsZiwgc3RhdGUpOgorICAgICAgICBmcm9tIG1hbmlmZXN0IGltcG9ydCBtYW5pZmVzdCwgdXBk
YXRlCisgICAgICAgIHVwZGF0ZS51cGRhdGUoc3RhdGUuc3luY1sicGF0aCJdLCBzdGF0ZS50ZXN0
X21hbmlmZXN0KQorICAgICAgICBtYW5pZmVzdC53cml0ZShzdGF0ZS50ZXN0X21hbmlmZXN0LCBz
dGF0ZS5tYW5pZmVzdF9wYXRoKQorCisKK2NsYXNzIENvcHlXb3JrVHJlZShTdGVwKToKKyAgICAi
IiJDb3B5IHRoZSBzeW5jIHRyZWUgb3ZlciB0byB0aGUgZGVzdGluYXRpb24gaW4gdGhlIGxvY2Fs
IHRyZWUiIiIKKworICAgIGRlZiBjcmVhdGUoc2VsZiwgc3RhdGUpOgorICAgICAgICBjb3B5X3dw
dF90cmVlKHN0YXRlLnN5bmNfdHJlZSwKKyAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS50ZXN0
c19wYXRoKQorCisKK2NsYXNzIENyZWF0ZVN5bmNQYXRjaChTdGVwKToKKyAgICAiIiJBZGQgdGhl
IHVwZGF0ZWQgdGVzdCBmaWxlcyB0byBhIGNvbW1pdC9wYXRjaCBpbiB0aGUgbG9jYWwgdHJlZS4i
IiIKKworICAgIGRlZiBjcmVhdGUoc2VsZiwgc3RhdGUpOgorICAgICAgICBpZiBzdGF0ZS5ub19w
YXRjaDoKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGxvY2FsX3RyZWUgPSBzdGF0ZS5s
b2NhbF90cmVlCisgICAgICAgIHN5bmNfdHJlZSA9IHN0YXRlLnN5bmNfdHJlZQorCisgICAgICAg
IGxvY2FsX3RyZWUuY3JlYXRlX3BhdGNoKCJ3ZWItcGxhdGZvcm0tdGVzdHNfdXBkYXRlXyVzIiAl
IHN5bmNfdHJlZS5yZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVcGRhdGUg
JXMgdG8gcmV2aXNpb24gJXMiICUgKHN0YXRlLnN1aXRlX25hbWUsIHN5bmNfdHJlZS5yZXYpKQor
ICAgICAgICBsb2NhbF90cmVlLmFkZF9uZXcob3MucGF0aC5yZWxwYXRoKHN0YXRlLnRlc3RzX3Bh
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxfdHJl
ZS5yb290KSkKKyAgICAgICAgdXBkYXRlZCA9IGxvY2FsX3RyZWUudXBkYXRlX3BhdGNoKGluY2x1
ZGU9W3N0YXRlLnRlc3RzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGF0ZS5tZXRhZGF0YV9wYXRoXSkKKyAgICAgICAgbG9jYWxfdHJl
ZS5jb21taXRfcGF0Y2goKQorCisgICAgICAgIGlmIG5vdCB1cGRhdGVkOgorICAgICAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygiTm90aGluZyB0byBzeW5jIikKKworCitjbGFzcyBTeW5jRnJvbVVw
c3RyZWFtUnVubmVyKFN0ZXBSdW5uZXIpOgorICAgICIiIihTdWIpUnVubmVyIGZvciBkb2luZyBh
biB1cHN0cmVhbSBzeW5jIiIiCisgICAgc3RlcHMgPSBbVXBkYXRlQ2hlY2tvdXQsCisgICAgICAg
ICAgICAgR2V0U3luY1RhcmdldENvbW1pdCwKKyAgICAgICAgICAgICBMb2FkTWFuaWZlc3QsCisg
ICAgICAgICAgICAgVXBkYXRlTWFuaWZlc3QsCisgICAgICAgICAgICAgQ29weVdvcmtUcmVlLAor
ICAgICAgICAgICAgIENyZWF0ZVN5bmNQYXRjaF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91
cGRhdGUvdHJlZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvdHJlZS5weQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
MTVkZjkwN2FhNDE2ZThhNDVhZTdkOTI5NzQxNmU3YTViMjU1NTcxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3VwZGF0ZS90cmVlLnB5CkBAIC0wLDAgKzEsMzgzIEBACitpbXBvcnQg
b3MKK2ltcG9ydCByZQoraW1wb3J0IHN1YnByb2Nlc3MKKworZnJvbSAuLiBpbXBvcnQgdmNzCitm
cm9tIC4udmNzIGltcG9ydCBiaW5kX3RvX3JlcG8sIGdpdCwgaGcKKworCitkZWYgZ2V0X3VuaXF1
ZV9uYW1lKGV4aXN0aW5nLCBpbml0aWFsKToKKyAgICAiIiJHZXQgYSBuYW1lIGVpdGhlciBlcXVh
bCB0byBpbml0aWFsIG9yIG9mIHRoZSBmb3JtIGluaXRpYWxfTiwgZm9yIHNvbWUKKyAgICBpbnRl
Z2VyIE4sIHRoYXQgaXMgbm90IGluIHRoZSBzZXQgZXhpc3RpbmcuCisKKworICAgIDpwYXJhbSBl
eGlzdGluZzogU2V0IG9mIG5hbWVzIHRoYXQgbXVzdCBub3QgYmUgY2hvc2VuLgorICAgIDpwYXJh
bSBpbml0aWFsOiBOYW1lLCBvciBuYW1lIHByZWZpeCwgdG8gdXNlIiIiCisgICAgaWYgaW5pdGlh
bCBub3QgaW4gZXhpc3Rpbmc6CisgICAgICAgIHJldHVybiBpbml0aWFsCisgICAgZm9yIGkgaW4g
eHJhbmdlKGxlbihleGlzdGluZykgKyAxKToKKyAgICAgICAgdGVzdCA9ICIlc18lcyIgJSAoaW5p
dGlhbCwgaSArIDEpCisgICAgICAgIGlmIHRlc3Qgbm90IGluIGV4aXN0aW5nOgorICAgICAgICAg
ICAgcmV0dXJuIHRlc3QKKyAgICBhc3NlcnQgRmFsc2UKKworY2xhc3MgTm9WQ1NUcmVlKG9iamVj
dCk6CisgICAgbmFtZSA9ICJub24tdmNzIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJvb3Q9
Tm9uZSk6CisgICAgICAgIGlmIHJvb3QgaXMgTm9uZToKKyAgICAgICAgICAgIHJvb3QgPSBvcy5w
YXRoLmFic3BhdGgob3MuY3VyZGlyKQorICAgICAgICBzZWxmLnJvb3QgPSByb290CisKKyAgICBA
Y2xhc3NtZXRob2QKKyAgICBkZWYgaXNfdHlwZShjbHMsIHBhdGg9Tm9uZSk6CisgICAgICAgIHJl
dHVybiBUcnVlCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaXNfY2xlYW4oc2VsZik6CisgICAg
ICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgYWRkX25ldyhzZWxmLCBwcmVmaXg9Tm9uZSk6Cisg
ICAgICAgIHBhc3MKKworICAgIGRlZiBjcmVhdGVfcGF0Y2goc2VsZiwgcGF0Y2hfbmFtZSwgbWVz
c2FnZSk6CisgICAgICAgIHBhc3MKKworICAgIGRlZiB1cGRhdGVfcGF0Y2goc2VsZiwgaW5jbHVk
ZT1Ob25lKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIGNvbW1pdF9wYXRjaChzZWxmKToKKyAg
ICAgICAgcGFzcworCisKK2NsYXNzIEhnVHJlZShvYmplY3QpOgorICAgIG5hbWUgPSAibWVyY3Vy
aWFsIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJvb3Q9Tm9uZSk6CisgICAgICAgIGlmIHJv
b3QgaXMgTm9uZToKKyAgICAgICAgICAgIHJvb3QgPSBoZygicm9vdCIpLnN0cmlwKCkKKyAgICAg
ICAgc2VsZi5yb290ID0gcm9vdAorICAgICAgICBzZWxmLmhnID0gdmNzLmJpbmRfdG9fcmVwbyho
Zywgc2VsZi5yb290KQorCisgICAgZGVmIF9fZ2V0c3RhdGVfXyhzZWxmKToKKyAgICAgICAgcnYg
PSBzZWxmLl9fZGljdF9fLmNvcHkoKQorICAgICAgICBkZWwgcnZbJ2hnJ10KKyAgICAgICAgcmV0
dXJuIHJ2CisKKyAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIGRpY3QpOgorICAgICAgICBzZWxm
Ll9fZGljdF9fLnVwZGF0ZShkaWN0KQorICAgICAgICBzZWxmLmhnID0gdmNzLmJpbmRfdG9fcmVw
byh2Y3MuaGcsIHNlbGYucm9vdCkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBpc190eXBl
KGNscywgcGF0aD1Ob25lKToKKyAgICAgICAga3dhcmdzID0geyJsb2dfZXJyb3IiOiBGYWxzZX0K
KyAgICAgICAgaWYgcGF0aCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGt3YXJnc1sicmVwbyJd
ID0gcGF0aAorICAgICAgICB0cnk6CisgICAgICAgICAgICBoZygicm9vdCIsICoqa3dhcmdzKQor
ICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJu
IFRydWUKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpc19jbGVhbihzZWxmKToKKyAgICAgICAg
cmV0dXJuIHNlbGYuaGcoInN0YXR1cyIpLnN0cmlwKCkgPT0gIiIKKworICAgIGRlZiBhZGRfbmV3
KHNlbGYsIHByZWZpeD1Ob25lKToKKyAgICAgICAgaWYgcHJlZml4IGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgYXJncyA9ICgiLUkiLCBwcmVmaXgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICBhcmdzID0gKCkKKyAgICAgICAgc2VsZi5oZygiYWRkIiwgKmFyZ3MpCisKKyAgICBkZWYgY3Jl
YXRlX3BhdGNoKHNlbGYsIHBhdGNoX25hbWUsIG1lc3NhZ2UpOgorICAgICAgICB0cnk6CisgICAg
ICAgICAgICBzZWxmLmhnKCJxaW5pdCIsIGxvZ19lcnJvcj1GYWxzZSkKKyAgICAgICAgZXhjZXB0
IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgorICAgICAgICAgICAgcGFzcworCisgICAg
ICAgIHBhdGNoX25hbWVzID0gW2l0ZW0uc3RyaXAoKSBmb3IgaXRlbSBpbiBzZWxmLmhnKCJxc2Vy
aWVzIikuc3BsaXQoIlxuIikgaWYgaXRlbS5zdHJpcCgpXQorCisgICAgICAgIHN1ZmZpeCA9IDAK
KyAgICAgICAgdGVzdF9uYW1lID0gcGF0Y2hfbmFtZQorICAgICAgICB3aGlsZSB0ZXN0X25hbWUg
aW4gcGF0Y2hfbmFtZXM6CisgICAgICAgICAgICBzdWZmaXggKz0gMQorICAgICAgICAgICAgdGVz
dF9uYW1lID0gIiVzLSVpIiAlIChwYXRjaF9uYW1lLCBzdWZmaXgpCisKKyAgICAgICAgc2VsZi5o
ZygicW5ldyIsIHRlc3RfbmFtZSwgIi1YIiwgc2VsZi5yb290LCAiLW0iLCBtZXNzYWdlKQorCisg
ICAgZGVmIHVwZGF0ZV9wYXRjaChzZWxmLCBpbmNsdWRlPU5vbmUpOgorICAgICAgICBpZiBpbmNs
dWRlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgYXJncyA9IFtdCisgICAgICAgICAgICBmb3Ig
aXRlbSBpbiBpbmNsdWRlOgorICAgICAgICAgICAgICAgIGFyZ3MuZXh0ZW5kKFsiLUkiLCBpdGVt
XSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFyZ3MgPSAoKQorCisgICAgICAgIHNlbGYu
aGcoInFyZWZyZXNoIiwgKmFyZ3MpCisgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgY29t
bWl0X3BhdGNoKHNlbGYpOgorICAgICAgICBzZWxmLmhnKCJxZmluaXNoIikKKworICAgIGRlZiBj
b250YWluc19jb21taXQoc2VsZiwgY29tbWl0KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAg
c2VsZi5oZygiaWRlbnRpZnkiLCAiLXIiLCBjb21taXQuc2hhMSkKKyAgICAgICAgICAgIHJldHVy
biBUcnVlCisgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKKyAg
ICAgICAgICAgIHJldHVybiBGYWxzZQorCisKK2NsYXNzIEdpdFRyZWUob2JqZWN0KToKKyAgICBu
YW1lID0gImdpdCIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCByb290PU5vbmUpOgorICAgICAg
ICBpZiByb290IGlzIE5vbmU6CisgICAgICAgICAgICByb290ID0gZ2l0KCJyZXYtcGFyc2UiLCAi
LS1zaG93LXRvcGxldmVsIikuc3RyaXAoKQorICAgICAgICBzZWxmLnJvb3QgPSByb290CisgICAg
ICAgIHNlbGYuZ2l0ID0gdmNzLmJpbmRfdG9fcmVwbyhnaXQsIHNlbGYucm9vdCkKKyAgICAgICAg
c2VsZi5tZXNzYWdlID0gTm9uZQorICAgICAgICBzZWxmLmNvbW1pdF9jbHMgPSBDb21taXQKKwor
ICAgIGRlZiBfX2dldHN0YXRlX18oc2VsZik6CisgICAgICAgIHJ2ID0gc2VsZi5fX2RpY3RfXy5j
b3B5KCkKKyAgICAgICAgZGVsIHJ2WydnaXQnXQorICAgICAgICByZXR1cm4gcnYKKworICAgIGRl
ZiBfX3NldHN0YXRlX18oc2VsZiwgZGljdCk6CisgICAgICAgIHNlbGYuX19kaWN0X18udXBkYXRl
KGRpY3QpCisgICAgICAgIHNlbGYuZ2l0ID0gdmNzLmJpbmRfdG9fcmVwbyh2Y3MuZ2l0LCBzZWxm
LnJvb3QpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgaXNfdHlwZShjbHMsIHBhdGg9Tm9u
ZSk6CisgICAgICAgIGt3YXJncyA9IHsibG9nX2Vycm9yIjogRmFsc2V9CisgICAgICAgIGlmIHBh
dGggaXMgbm90IE5vbmU6CisgICAgICAgICAgICBrd2FyZ3NbInJlcG8iXSA9IHBhdGgKKyAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgZ2l0KCJyZXYtcGFyc2UiLCAiLS1zaG93LXRvcGxldmVsIiwg
Kiprd2FyZ3MpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAg
ICAgICByZXR1cm4gVHJ1ZQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHJldihzZWxmKToKKyAg
ICAgICAgIiIiQ3VycmVudCBIRUFEIHJldmlzaW9uIiIiCisgICAgICAgIGlmIHZjcy5pc19naXRf
cm9vdChzZWxmLnJvb3QpOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuZ2l0KCJyZXYtcGFyc2Ui
LCAiSEVBRCIpLnN0cmlwKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBOb25l
CisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaXNfY2xlYW4oc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmLmdpdCgic3RhdHVzIikuc3RyaXAoKSA9PSAiIgorCisgICAgZGVmIGFkZF9uZXcoc2Vs
ZiwgcHJlZml4PU5vbmUpOgorICAgICAgICAiIiJBZGQgZmlsZXMgdG8gdGhlIHN0YWdpbmcgYXJl
YS4KKworICAgICAgICA6cGFyYW0gcHJlZml4OiBOb25lIHRvIGluY2x1ZGUgYWxsIGZpbGVzIG9y
IGEgcGF0aCBwcmVmaXggdG8KKyAgICAgICAgICAgICAgICAgICAgICAgYWRkIGFsbCBmaWxlcyB1
bmRlciB0aGF0IHBhdGguCisgICAgICAgICIiIgorICAgICAgICBpZiBwcmVmaXggaXMgTm9uZToK
KyAgICAgICAgICAgIGFyZ3MgPSAoIi1hIiwpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBh
cmdzID0gKCItLW5vLWlnbm9yZS1yZW1vdmFsIiwgcHJlZml4KQorICAgICAgICBzZWxmLmdpdCgi
YWRkIiwgKmFyZ3MpCisKKyAgICBkZWYgbGlzdF9yZWZzKHNlbGYsIHJlZl9maWx0ZXI9Tm9uZSk6
CisgICAgICAgICIiIkdldCBhIGxpc3Qgb2Ygc2hhMSwgbmFtZSB0dXBsZXMgZm9yIHJlZmVyZW5j
ZXMgaW4gYSByZXBvc2l0b3J5LgorCisgICAgICAgIDpwYXJhbSByZWZfZmlsdGVyOiBQYXR0ZXJu
IHRoYXQgcmVmZXJlbmNlIG5hbWUgbXVzdCBtYXRjaCAoZnJvbSB0aGUgZW5kLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWF0Y2hpbmcgd2hvbGUgLy1kZWxpbWl0ZWQgc2VnbWVudHMgb25s
eQorICAgICAgICAiIiIKKyAgICAgICAgYXJncyA9IFtdCisgICAgICAgIGlmIHJlZl9maWx0ZXIg
aXMgbm90IE5vbmU6CisgICAgICAgICAgICBhcmdzLmFwcGVuZChyZWZfZmlsdGVyKQorICAgICAg
ICBkYXRhID0gc2VsZi5naXQoInNob3ctcmVmIiwgKmFyZ3MpCisgICAgICAgIHJ2ID0gW10KKyAg
ICAgICAgZm9yIGxpbmUgaW4gZGF0YS5zcGxpdCgiXG4iKToKKyAgICAgICAgICAgIGlmIG5vdCBs
aW5lLnN0cmlwKCk6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHNoYTEs
IHJlZiA9IGxpbmUuc3BsaXQoKQorICAgICAgICAgICAgcnYuYXBwZW5kKChzaGExLCByZWYpKQor
ICAgICAgICByZXR1cm4gcnYKKworICAgIGRlZiBsaXN0X3JlbW90ZShzZWxmLCByZW1vdGUsIHJl
Zl9maWx0ZXI9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiBhIGxpc3Qgb2YgKHNoYTEsIG5hbWUp
IHR1cGVzIGZvciByZWZlcmVuY2VzIGluIGEgcmVtb3RlLgorCisgICAgICAgIDpwYXJhbSByZW1v
dGU6IFVSTCBvZiB0aGUgcmVtb3RlIHRvIGxpc3QuCisgICAgICAgIDpwYXJhbSByZWZfZmlsdGVy
OiBQYXR0ZXJuIHRoYXQgdGhlIHJlZmVyZW5jZSBuYW1lIG11c3QgbWF0Y2guCisgICAgICAgICIi
IgorICAgICAgICBhcmdzID0gW10KKyAgICAgICAgaWYgcmVmX2ZpbHRlciBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKHJlZl9maWx0ZXIpCisgICAgICAgIGRhdGEgPSBzZWxm
LmdpdCgibHMtcmVtb3RlIiwgcmVtb3RlLCAqYXJncykKKyAgICAgICAgcnYgPSBbXQorICAgICAg
ICBmb3IgbGluZSBpbiBkYXRhLnNwbGl0KCJcbiIpOgorICAgICAgICAgICAgaWYgbm90IGxpbmUu
c3RyaXAoKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgc2hhMSwgcmVm
ID0gbGluZS5zcGxpdCgpCisgICAgICAgICAgICBydi5hcHBlbmQoKHNoYTEsIHJlZikpCisgICAg
ICAgIHJldHVybiBydgorCisgICAgZGVmIGdldF9yZW1vdGVfc2hhMShzZWxmLCByZW1vdGUsIGJy
YW5jaCk6CisgICAgICAgICIiIlJldHVybiB0aGUgU0hBMSBvZiBhIHBhcnRpY3VsYXIgYnJhbmNo
IGluIGEgcmVtb3RlLgorCisgICAgICAgIDpwYXJhbSByZW1vdGU6IHRoZSByZW1vdGUgVVJMCisg
ICAgICAgIDpwYXJhbSBicmFuY2g6IHRoZSBicmFuY2ggbmFtZSIiIgorICAgICAgICBmb3Igc2hh
MSwgcmVmIGluIHNlbGYubGlzdF9yZW1vdGUocmVtb3RlLCBicmFuY2gpOgorICAgICAgICAgICAg
aWYgcmVmID09ICJyZWZzL2hlYWRzLyVzIiAlIGJyYW5jaDoKKyAgICAgICAgICAgICAgICByZXR1
cm4gc2VsZi5jb21taXRfY2xzKHNlbGYsIHNoYTEpCisgICAgICAgIGFzc2VydCBGYWxzZQorCisg
ICAgZGVmIGNyZWF0ZV9wYXRjaChzZWxmLCBwYXRjaF9uYW1lLCBtZXNzYWdlKToKKyAgICAgICAg
IyBJbiBnaXQgYSBwYXRjaCBpcyBhY3R1YWxseSBhIGNvbW1pdAorICAgICAgICBzZWxmLm1lc3Nh
Z2UgPSBtZXNzYWdlCisKKyAgICBkZWYgdXBkYXRlX3BhdGNoKHNlbGYsIGluY2x1ZGU9Tm9uZSk6
CisgICAgICAgICIiIkNvbW1pdCB0aGUgc3RhZ2VkIGNoYW5nZXMsIG9yIGNoYW5nZXMgdG8gbGlz
dGVkIGZpbGVzLgorCisgICAgICAgIDpwYXJhbSBpbmNsdWRlOiBFaXRoZXIgTm9uZSwgdG8gY29t
bWl0IHN0YWdlZCBjaGFuZ2VzLCBvciBhIGxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgIG9m
IGZpbGVuYW1lcyAod2hpY2ggbXVzdCBhbHJlYWR5IGJlIGluIHRoZSByZXBvKQorICAgICAgICAg
ICAgICAgICAgICAgICAgdG8gY29tbWl0CisgICAgICAgICIiIgorICAgICAgICBpZiBpbmNsdWRl
IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgYXJncyA9IHR1cGxlKGluY2x1ZGUpCisgICAgICAg
IGVsc2U6CisgICAgICAgICAgICBhcmdzID0gKCkKKworICAgICAgICBpZiBzZWxmLmdpdCgic3Rh
dHVzIiwgIi11bm8iLCAiLXoiLCAqYXJncykuc3RyaXAoKToKKyAgICAgICAgICAgIHNlbGYuZ2l0
KCJhZGQiLCAqYXJncykKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBG
YWxzZQorCisgICAgZGVmIGNvbW1pdF9wYXRjaChzZWxmKToKKyAgICAgICAgYXNzZXJ0IHNlbGYu
bWVzc2FnZSBpcyBub3QgTm9uZQorCisgICAgICAgIGlmIHNlbGYuZ2l0KCJkaWZmIiwgIi0tbmFt
ZS1vbmx5IiwgIi0tc3RhZ2VkIiwgIi16Iikuc3RyaXAoKToKKyAgICAgICAgICAgIHNlbGYuZ2l0
KCJjb21taXQiLCAiLW0iLCBzZWxmLm1lc3NhZ2UpCisgICAgICAgICAgICByZXR1cm4gVHJ1ZQor
CisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIGluaXQoc2VsZik6CisgICAgICAgIHNl
bGYuZ2l0KCJpbml0IikKKyAgICAgICAgYXNzZXJ0IHZjcy5pc19naXRfcm9vdChzZWxmLnJvb3Qp
CisKKyAgICBkZWYgY2hlY2tvdXQoc2VsZiwgcmV2LCBicmFuY2g9Tm9uZSwgZm9yY2U9RmFsc2Up
OgorICAgICAgICAiIiJDaGVja291dCBhIHBhcnRpY3VsYXIgcmV2aXNpb24sIG9wdGlvbmFsbHkg
aW50byBhIG5hbWVkIGJyYW5jaC4KKworICAgICAgICA6cGFyYW0gcmV2OiBSZXZpc2lvbiBpZGVu
dGlmaWVyIChlLmcuIFNIQTEpIHRvIGNoZWNrb3V0CisgICAgICAgIDpwYXJhbSBicmFuY2g6IEJy
YW5jaCBuYW1lIHRvIHVzZQorICAgICAgICA6cGFyYW0gZm9yY2U6IEZvcmNlLWNoZWNrb3V0Cisg
ICAgICAgICIiIgorICAgICAgICBhc3NlcnQgcmV2IGlzIG5vdCBOb25lCisKKyAgICAgICAgYXJn
cyA9IFtdCisgICAgICAgIGlmIGJyYW5jaDoKKyAgICAgICAgICAgIGJyYW5jaGVzID0gW3JlZlts
ZW4oInJlZnMvaGVhZHMvIik6XSBmb3Igc2hhMSwgcmVmIGluIHNlbGYubGlzdF9yZWZzKCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIHJlZi5zdGFydHN3aXRoKCJyZWZzL2hlYWRzLyIpXQor
ICAgICAgICAgICAgYnJhbmNoID0gZ2V0X3VuaXF1ZV9uYW1lKGJyYW5jaGVzLCBicmFuY2gpCisK
KyAgICAgICAgICAgIGFyZ3MgKz0gWyItYiIsIGJyYW5jaF0KKworICAgICAgICBpZiBmb3JjZToK
KyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCItZiIpCisgICAgICAgIGFyZ3MuYXBwZW5kKHJldikK
KyAgICAgICAgc2VsZi5naXQoImNoZWNrb3V0IiwgKmFyZ3MpCisKKyAgICBkZWYgdXBkYXRlKHNl
bGYsIHJlbW90ZSwgcmVtb3RlX2JyYW5jaCwgbG9jYWxfYnJhbmNoKToKKyAgICAgICAgIiIiRmV0
Y2ggZnJvbSB0aGUgcmVtb3RlIGFuZCBjaGVja291dCBpbnRvIGEgbG9jYWwgYnJhbmNoLgorCisg
ICAgICAgIDpwYXJhbSByZW1vdGU6IFVSTCB0byB0aGUgcmVtb3RlIHJlcG9zaXRvcnkKKyAgICAg
ICAgOnBhcmFtIHJlbW90ZV9icmFuY2g6IEJyYW5jaCBvbiB0aGUgcmVtb3RlIHJlcG9zaXRvcnkg
dG8gY2hlY2sgb3V0CisgICAgICAgIDpwYXJhbSBsb2NhbF9icmFuY2g6IExvY2FsIGJyYW5jaCBu
YW1lIHRvIGNoZWNrIG91dCBpbnRvCisgICAgICAgICIiIgorICAgICAgICBpZiBub3QgdmNzLmlz
X2dpdF9yb290KHNlbGYucm9vdCk6CisgICAgICAgICAgICBzZWxmLmluaXQoKQorICAgICAgICBz
ZWxmLmdpdCgiY2xlYW4iLCAiLXhkZiIpCisgICAgICAgIHNlbGYuZ2l0KCJmZXRjaCIsIHJlbW90
ZSwgIiVzOiVzIiAlIChyZW1vdGVfYnJhbmNoLCBsb2NhbF9icmFuY2gpKQorICAgICAgICBzZWxm
LmNoZWNrb3V0KGxvY2FsX2JyYW5jaCkKKyAgICAgICAgc2VsZi5naXQoInN1Ym1vZHVsZSIsICJ1
cGRhdGUiLCAiLS1pbml0IiwgIi0tcmVjdXJzaXZlIikKKworICAgIGRlZiBjbGVhbihzZWxmKToK
KyAgICAgICAgc2VsZi5naXQoImNoZWNrb3V0Iiwgc2VsZi5yZXYpCisgICAgICAgIHNlbGYuZ2l0
KCJicmFuY2giLCAiLUQiLCBzZWxmLmxvY2FsX2JyYW5jaCkKKworICAgIGRlZiBwYXRocyhzZWxm
KToKKyAgICAgICAgIiIiTGlzdCBwYXRocyBpbiB0aGUgdHJlZSIiIgorICAgICAgICByZXBvX3Bh
dGhzID0gW3NlbGYucm9vdF0gKyAgW29zLnBhdGguam9pbihzZWxmLnJvb3QsIHBhdGgpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHBhdGggaW4gc2VsZi5zdWJtb2R1
bGVzKCldCisKKyAgICAgICAgcnYgPSBbXQorCisgICAgICAgIGZvciByZXBvX3BhdGggaW4gcmVw
b19wYXRoczoKKyAgICAgICAgICAgIHBhdGhzID0gdmNzLmdpdCgibHMtdHJlZSIsICItciIsICIt
LW5hbWUtb25seSIsICJIRUFEIiwgcmVwbz1yZXBvX3BhdGgpLnNwbGl0KCJcbiIpCisgICAgICAg
ICAgICByZWxfcGF0aCA9IG9zLnBhdGgucmVscGF0aChyZXBvX3BhdGgsIHNlbGYucm9vdCkKKyAg
ICAgICAgICAgIHJ2LmV4dGVuZChvcy5wYXRoLmpvaW4ocmVsX3BhdGgsIGl0ZW0uc3RyaXAoKSkg
Zm9yIGl0ZW0gaW4gcGF0aHMgaWYgaXRlbS5zdHJpcCgpKQorCisgICAgICAgIHJldHVybiBydgor
CisgICAgZGVmIHN1Ym1vZHVsZXMoc2VsZik6CisgICAgICAgICIiIkxpc3Qgc3VibW9kdWxlIGRp
cmVjdG9yaWVzIiIiCisgICAgICAgIG91dHB1dCA9IHNlbGYuZ2l0KCJzdWJtb2R1bGUiLCAic3Rh
dHVzIiwgIi0tcmVjdXJzaXZlIikKKyAgICAgICAgcnYgPSBbXQorICAgICAgICBmb3IgbGluZSBp
biBvdXRwdXQuc3BsaXQoIlxuIik6CisgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCisg
ICAgICAgICAgICBpZiBub3QgbGluZToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAg
ICAgICAgcGFydHMgPSBsaW5lLnNwbGl0KCIgIikKKyAgICAgICAgICAgIHJ2LmFwcGVuZChwYXJ0
c1sxXSkKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgY29udGFpbnNfY29tbWl0KHNlbGYs
IGNvbW1pdCk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuZ2l0KCJyZXYtcGFyc2Ui
LCAiLS12ZXJpZnkiLCBjb21taXQuc2hhMSkKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAg
ICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKKyAgICAgICAgICAgIHJl
dHVybiBGYWxzZQorCisKK2NsYXNzIENvbW1pdE1lc3NhZ2Uob2JqZWN0KToKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgdGV4dCk6CisgICAgICAgIHNlbGYudGV4dCA9IHRleHQKKyAgICAgICAgc2Vs
Zi5fcGFyc2VfbWVzc2FnZSgpCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0
dXJuIHNlbGYudGV4dAorCisgICAgZGVmIF9wYXJzZV9tZXNzYWdlKHNlbGYpOgorICAgICAgICBs
aW5lcyA9IHNlbGYudGV4dC5zcGxpdGxpbmVzKCkKKyAgICAgICAgc2VsZi5mdWxsX3N1bW1hcnkg
PSBsaW5lc1swXQorICAgICAgICBzZWxmLmJvZHkgPSAiXG4iLmpvaW4obGluZXNbMTpdKQorCisK
K2NsYXNzIENvbW1pdChvYmplY3QpOgorICAgIG1zZ19jbHMgPSBDb21taXRNZXNzYWdlCisKKyAg
ICBfc2hhMV9yZSA9IHJlLmNvbXBpbGUoIl5bMC05YS1mXXs0MH0kIikKKworICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCB0cmVlLCBzaGExKToKKyAgICAgICAgIiIiT2JqZWN0IHJlcHJlc2VudGluZyBh
IGNvbW1pdCBpbiBhIHNwZWNpZmljIEdpdFRyZWUuCisKKyAgICAgICAgOnBhcmFtIHRyZWU6IEdp
dFRyZWUgdG8gd2hpY2ggdGhpcyBjb21taXQgYmVsb25ncy4KKyAgICAgICAgOnBhcmFtIHNoYTE6
IEZ1bGwgc2hhMSBzdHJpbmcgZm9yIHRoZSBjb21taXQKKyAgICAgICAgIiIiCisgICAgICAgIGFz
c2VydCBzZWxmLl9zaGExX3JlLm1hdGNoKHNoYTEpCisKKyAgICAgICAgc2VsZi50cmVlID0gdHJl
ZQorICAgICAgICBzZWxmLmdpdCA9IHRyZWUuZ2l0CisgICAgICAgIHNlbGYuc2hhMSA9IHNoYTEK
KyAgICAgICAgc2VsZi5hdXRob3IsIHNlbGYuZW1haWwsIHNlbGYubWVzc2FnZSA9IHNlbGYuX2dl
dF9tZXRhKCkKKworICAgIGRlZiBfX2dldHN0YXRlX18oc2VsZik6CisgICAgICAgIHJ2ID0gc2Vs
Zi5fX2RpY3RfXy5jb3B5KCkKKyAgICAgICAgZGVsIHJ2WydnaXQnXQorICAgICAgICByZXR1cm4g
cnYKKworICAgIGRlZiBfX3NldHN0YXRlX18oc2VsZiwgZGljdCk6CisgICAgICAgIHNlbGYuX19k
aWN0X18udXBkYXRlKGRpY3QpCisgICAgICAgIHNlbGYuZ2l0ID0gc2VsZi50cmVlLmdpdAorCisg
ICAgZGVmIF9nZXRfbWV0YShzZWxmKToKKyAgICAgICAgYXV0aG9yLCBlbWFpbCwgbWVzc2FnZSA9
IHNlbGYuZ2l0KCJzaG93IiwgIi1zIiwgIi0tZm9ybWF0PWZvcm1hdDolYW5cbiVhZVxuJUIiLCBz
ZWxmLnNoYTEpLnNwbGl0KCJcbiIsIDIpCisgICAgICAgIHJldHVybiBhdXRob3IsIGVtYWlsLCBz
ZWxmLm1zZ19jbHMobWVzc2FnZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvdXBk
YXRlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS91cGRhdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE1ZTdh
YjczZDRiZjEzMjMwNTRhYTkyMDU5YWI4ZGE2YTFiY2I4MAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci91cGRhdGUvdXBkYXRlLnB5CkBAIC0wLDAgKzEsMTU3IEBACitpbXBvcnQgb3MK
K2ltcG9ydCBzeXMKKworZnJvbSBtZXRhZGF0YSBpbXBvcnQgTWV0YWRhdGFVcGRhdGVSdW5uZXIK
K2Zyb20gc3luYyBpbXBvcnQgU3luY0Zyb21VcHN0cmVhbVJ1bm5lcgorZnJvbSB0cmVlIGltcG9y
dCBHaXRUcmVlLCBIZ1RyZWUsIE5vVkNTVHJlZQorCitmcm9tIC4uIGltcG9ydCBlbnZpcm9ubWVu
dCBhcyBlbnYKK2Zyb20gYmFzZSBpbXBvcnQgU3RlcCwgU3RlcFJ1bm5lciwgZXhpdF9jbGVhbiwg
ZXhpdF91bmNsZWFuCitmcm9tIHN0YXRlIGltcG9ydCBTdGF0ZQorCitkZWYgc2V0dXBfcGF0aHMo
c3luY19wYXRoKToKKyAgICBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5hYnNwYXRoKHN5bmNf
cGF0aCkpCisgICAgdHJ5OgorICAgICAgICBmcm9tIHRvb2xzIGltcG9ydCBsb2NhbHBhdGhzCisg
ICAgZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICBmcm9tIHdwdF90b29scyBpbXBvcnQgbG9j
YWxwYXRocworCitjbGFzcyBMb2FkQ29uZmlnKFN0ZXApOgorICAgICIiIlN0ZXAgZm9yIGxvYWRp
bmcgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBpbmkgZmlsZSBhbmQga3dhcmdzLiIiIgorCisgICAg
cHJvdmlkZXMgPSBbInN5bmMiLCAicGF0aHMiLCAibWV0YWRhdGFfcGF0aCIsICJ0ZXN0c19wYXRo
Il0KKworICAgIGRlZiBjcmVhdGUoc2VsZiwgc3RhdGUpOgorICAgICAgICBzdGF0ZS5zeW5jID0g
eyJyZW1vdGVfdXJsIjogc3RhdGUua3dhcmdzWyJyZW1vdGVfdXJsIl0sCisgICAgICAgICAgICAg
ICAgICAgICAgImJyYW5jaCI6IHN0YXRlLmt3YXJnc1siYnJhbmNoIl0sCisgICAgICAgICAgICAg
ICAgICAgICAgInBhdGgiOiBzdGF0ZS5rd2FyZ3NbInN5bmNfcGF0aCJdfQorCisgICAgICAgIHN0
YXRlLnBhdGhzID0gc3RhdGUua3dhcmdzWyJ0ZXN0X3BhdGhzIl0KKyAgICAgICAgc3RhdGUudGVz
dHNfcGF0aCA9IHN0YXRlLnBhdGhzWyIvIl1bInRlc3RzX3BhdGgiXQorICAgICAgICBzdGF0ZS5t
ZXRhZGF0YV9wYXRoID0gc3RhdGUucGF0aHNbIi8iXVsibWV0YWRhdGFfcGF0aCJdCisKKyAgICAg
ICAgYXNzZXJ0IHN0YXRlLnRlc3RzX3BhdGguc3RhcnRzd2l0aCgiLyIpCisKKworY2xhc3MgTG9h
ZFRyZWVzKFN0ZXApOgorICAgICIiIlN0ZXAgZm9yIGNyZWF0aW5nIGEgVHJlZSBmb3IgdGhlIGxv
Y2FsIGNvcHkgYW5kIGEgR2l0VHJlZSBmb3IgdGhlCisgICAgdXBzdHJlYW0gc3luYy4iIiIKKwor
ICAgIHByb3ZpZGVzID0gWyJsb2NhbF90cmVlIiwgInN5bmNfdHJlZSJdCisKKyAgICBkZWYgY3Jl
YXRlKHNlbGYsIHN0YXRlKToKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc3RhdGUuc3luY1si
cGF0aCJdKToKKyAgICAgICAgICAgIHN5bmNfdHJlZSA9IEdpdFRyZWUocm9vdD1zdGF0ZS5zeW5j
WyJwYXRoIl0pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzeW5jX3RyZWUgPSBOb25lCisK
KyAgICAgICAgaWYgR2l0VHJlZS5pc190eXBlKCk6CisgICAgICAgICAgICBsb2NhbF90cmVlID0g
R2l0VHJlZSgpCisgICAgICAgIGVsaWYgSGdUcmVlLmlzX3R5cGUoKToKKyAgICAgICAgICAgIGxv
Y2FsX3RyZWUgPSBIZ1RyZWUoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbG9jYWxfdHJl
ZSA9IE5vVkNTVHJlZSgpCisKKyAgICAgICAgc3RhdGUudXBkYXRlKHsibG9jYWxfdHJlZSI6IGxv
Y2FsX3RyZWUsCisgICAgICAgICAgICAgICAgICAgICAgInN5bmNfdHJlZSI6IHN5bmNfdHJlZX0p
CisKKworY2xhc3MgU3luY0Zyb21VcHN0cmVhbShTdGVwKToKKyAgICAiIiJTdGVwIHRoYXQgc3lu
Y2hyb25pc2VzIGEgbG9jYWwgY29weSBvZiB0aGUgY29kZSB3aXRoIHVwc3RyZWFtLiIiIgorCisg
ICAgZGVmIGNyZWF0ZShzZWxmLCBzdGF0ZSk6CisgICAgICAgIGlmIG5vdCBzdGF0ZS5rd2FyZ3Nb
InN5bmMiXToKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGlmIG5vdCBzdGF0ZS5zeW5j
X3RyZWU6CisgICAgICAgICAgICBvcy5ta2RpcihzdGF0ZS5zeW5jWyJwYXRoIl0pCisgICAgICAg
ICAgICBzdGF0ZS5zeW5jX3RyZWUgPSBHaXRUcmVlKHJvb3Q9c3RhdGUuc3luY1sicGF0aCJdKQor
CisgICAgICAgIGt3YXJncyA9IHN0YXRlLmt3YXJncworICAgICAgICB3aXRoIHN0YXRlLnB1c2go
WyJzeW5jIiwgInBhdGhzIiwgIm1ldGFkYXRhX3BhdGgiLCAidGVzdHNfcGF0aCIsICJsb2NhbF90
cmVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAic3luY190cmVlIl0pOgorICAgICAgICAg
ICAgc3RhdGUudGFyZ2V0X3JldiA9IGt3YXJnc1sicmV2Il0KKyAgICAgICAgICAgIHN0YXRlLm5v
X3BhdGNoID0ga3dhcmdzWyJub19wYXRjaCJdCisgICAgICAgICAgICBzdGF0ZS5zdWl0ZV9uYW1l
ID0ga3dhcmdzWyJzdWl0ZV9uYW1lIl0KKyAgICAgICAgICAgIHJ1bm5lciA9IFN5bmNGcm9tVXBz
dHJlYW1SdW5uZXIoc2VsZi5sb2dnZXIsIHN0YXRlKQorICAgICAgICAgICAgcnVubmVyLnJ1bigp
CisKKworY2xhc3MgVXBkYXRlTWV0YWRhdGEoU3RlcCk6CisgICAgIiIiVXBkYXRlIHRoZSBleHBl
Y3RhdGlvbiBtZXRhZGF0YSBmcm9tIGEgc2V0IG9mIHJ1biBsb2dzIiIiCisKKyAgICBkZWYgY3Jl
YXRlKHNlbGYsIHN0YXRlKToKKyAgICAgICAgaWYgbm90IHN0YXRlLmt3YXJnc1sicnVuX2xvZyJd
OgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAga3dhcmdzID0gc3RhdGUua3dhcmdzCisg
ICAgICAgIHdpdGggc3RhdGUucHVzaChbImxvY2FsX3RyZWUiLCAic3luY190cmVlIiwgInBhdGhz
IiwgInNlcnZlX3Jvb3QiXSk6CisgICAgICAgICAgICBzdGF0ZS5ydW5fbG9nID0ga3dhcmdzWyJy
dW5fbG9nIl0KKyAgICAgICAgICAgIHN0YXRlLmlnbm9yZV9leGlzdGluZyA9IGt3YXJnc1siaWdu
b3JlX2V4aXN0aW5nIl0KKyAgICAgICAgICAgIHN0YXRlLm5vX3BhdGNoID0ga3dhcmdzWyJub19w
YXRjaCJdCisgICAgICAgICAgICBzdGF0ZS5zdWl0ZV9uYW1lID0ga3dhcmdzWyJzdWl0ZV9uYW1l
Il0KKyAgICAgICAgICAgIHN0YXRlLnByb2R1Y3QgPSBrd2FyZ3NbInByb2R1Y3QiXQorICAgICAg
ICAgICAgc3RhdGUuY29uZmlnID0ga3dhcmdzWyJjb25maWciXQorICAgICAgICAgICAgcnVubmVy
ID0gTWV0YWRhdGFVcGRhdGVSdW5uZXIoc2VsZi5sb2dnZXIsIHN0YXRlKQorICAgICAgICAgICAg
cnVubmVyLnJ1bigpCisKKworY2xhc3MgVXBkYXRlUnVubmVyKFN0ZXBSdW5uZXIpOgorICAgICIi
IlJ1bm5lciBmb3IgZG9pbmcgYW4gb3ZlcmFsbCB1cGRhdGUuIiIiCisgICAgc3RlcHMgPSBbTG9h
ZENvbmZpZywKKyAgICAgICAgICAgICBMb2FkVHJlZXMsCisgICAgICAgICAgICAgU3luY0Zyb21V
cHN0cmVhbSwKKyAgICAgICAgICAgICBVcGRhdGVNZXRhZGF0YV0KKworCitjbGFzcyBXUFRVcGRh
dGUob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBydW5uZXJfY2xzPVVw
ZGF0ZVJ1bm5lciwgKiprd2FyZ3MpOgorICAgICAgICAiIiJPYmplY3QgdGhhdCBjb250cm9scyB0
aGUgcnVubmluZyBvZiBhIHdob2xlIHdwdHVwZGF0ZS4KKworICAgICAgICA6cGFyYW0gcnVubmVy
X2NsczogUnVubmVyIHN1YmNsYXNzIGhvbGRpbmcgdGhlIG92ZXJhbGwgbGlzdCBvZgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RlcHMgdG8gcnVuLgorICAgICAgICA6cGFyYW0ga3dhcmdz
OiBDb21tYW5kIGxpbmUgYXJndW1lbnRzCisgICAgICAgICIiIgorICAgICAgICBzZWxmLnJ1bm5l
cl9jbHMgPSBydW5uZXJfY2xzCisgICAgICAgIHNlbGYuc2VydmVfcm9vdCA9IGt3YXJnc1sidGVz
dF9wYXRocyJdWyIvIl1bInRlc3RzX3BhdGgiXQorCisgICAgICAgIGlmIG5vdCBrd2FyZ3NbInN5
bmMiXToKKyAgICAgICAgICAgIHNldHVwX3BhdGhzKHNlbGYuc2VydmVfcm9vdCkKKyAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGt3YXJnc1sic3luY19wYXRoIl0p
OgorICAgICAgICAgICAgICAgICMgSWYgdGhlIHN5bmMgcGF0aCBkb2Vzbid0IGV4aXN0IHdlIGRl
ZmVyIHRoaXMgdW50aWwgaXQgZG9lcworICAgICAgICAgICAgICAgIHNldHVwX3BhdGhzKGt3YXJn
c1sic3luY19wYXRoIl0pCisKKyAgICAgICAgc2VsZi5zdGF0ZSA9IFN0YXRlKGxvZ2dlcikKKyAg
ICAgICAgc2VsZi5rd2FyZ3MgPSBrd2FyZ3MKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIK
KworICAgIGRlZiBydW4oc2VsZiwgKiprd2FyZ3MpOgorICAgICAgICBpZiBzZWxmLmt3YXJnc1si
YWJvcnQiXToKKyAgICAgICAgICAgIHNlbGYuYWJvcnQoKQorICAgICAgICAgICAgcmV0dXJuIGV4
aXRfY2xlYW4KKworICAgICAgICBpZiBub3Qgc2VsZi5rd2FyZ3NbImNvbnRpbnVlIl0gYW5kIG5v
dCBzZWxmLnN0YXRlLmlzX2VtcHR5KCk6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcigi
Rm91bmQgZXhpc3Rpbmcgc3RhdGUuIFJ1biB3aXRoIC0tY29udGludWUgdG8gcmVzdW1lIG9yIC0t
YWJvcnQgdG8gY2xlYXIgc3RhdGUiKQorICAgICAgICAgICAgcmV0dXJuIGV4aXRfdW5jbGVhbgor
CisgICAgICAgIGlmIHNlbGYua3dhcmdzWyJjb250aW51ZSJdOgorICAgICAgICAgICAgaWYgc2Vs
Zi5zdGF0ZS5pc19lbXB0eSgpOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKCJO
byBzeW5jIGluIHByb2dyZXNzPyIpCisgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXRfY2xlYW4K
KworICAgICAgICAgICAgc2VsZi5rd2FyZ3MgPSBzZWxmLnN0YXRlLmt3YXJncworICAgICAgICBl
bHNlOgorICAgICAgICAgICAgc2VsZi5zdGF0ZS5rd2FyZ3MgPSBzZWxmLmt3YXJncworCisgICAg
ICAgIHNlbGYuc3RhdGUuc2VydmVfcm9vdCA9IHNlbGYuc2VydmVfcm9vdAorCisgICAgICAgIHVw
ZGF0ZV9ydW5uZXIgPSBzZWxmLnJ1bm5lcl9jbHMoc2VsZi5sb2dnZXIsIHNlbGYuc3RhdGUpCisg
ICAgICAgIHJ2ID0gdXBkYXRlX3J1bm5lci5ydW4oKQorICAgICAgICBpZiBydiBpbiAoZXhpdF9j
bGVhbiwgTm9uZSk6CisgICAgICAgICAgICBzZWxmLnN0YXRlLmNsZWFyKCkKKworICAgICAgICBy
ZXR1cm4gcnYKKworICAgIGRlZiBhYm9ydChzZWxmKToKKyAgICAgICAgc2VsZi5zdGF0ZS5jbGVh
cigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3VwZGF0ZS93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2RlZmM4NzI5NDY5
MzIxMGE1ZjA5OWI3NzdmMjJmMjI1OTk3NTdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3VwZGF0ZS93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIzIEBACitUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0Rv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvdXBkYXRlL19faW5pdF9fLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9iYXNlLnB5
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9tZXRhZGF0YS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUv
c3RhdGUucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3N5bmMucHkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBk
YXRlL3RyZWUucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3VwZGF0ZS5weQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3Zjcy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci92Y3MucHkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTZk
NTNhZmM4YmU2MjQ5NjFmMDU5ZWVmZDZmMmY0NmIxZGZjMGUwNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci92Y3MucHkKQEAgLTAsMCArMSw0OSBAQAoraW1wb3J0IHN1YnByb2Nlc3MK
K2Zyb20gZnVuY3Rvb2xzIGltcG9ydCBwYXJ0aWFsCisKK2Zyb20gbW96bG9nIGltcG9ydCBnZXRf
ZGVmYXVsdF9sb2dnZXIKKworbG9nZ2VyID0gTm9uZQorCitkZWYgdmNzKGJpbl9uYW1lKToKKyAg
ICBkZWYgaW5uZXIoY29tbWFuZCwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgZ2xvYmFsIGxv
Z2dlcgorCisgICAgICAgIGlmIGxvZ2dlciBpcyBOb25lOgorICAgICAgICAgICAgbG9nZ2VyID0g
Z2V0X2RlZmF1bHRfbG9nZ2VyKCJ2Y3MiKQorCisgICAgICAgIHJlcG8gPSBrd2FyZ3MucG9wKCJy
ZXBvIiwgTm9uZSkKKyAgICAgICAgbG9nX2Vycm9yID0ga3dhcmdzLnBvcCgibG9nX2Vycm9yIiwg
VHJ1ZSkKKyAgICAgICAgaWYga3dhcmdzOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yLCBr
d2FyZ3MKKworICAgICAgICBhcmdzID0gbGlzdChhcmdzKQorCisgICAgICAgIHByb2Nfa3dhcmdz
ID0ge30KKyAgICAgICAgaWYgcmVwbyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHByb2Nfa3dh
cmdzWyJjd2QiXSA9IHJlcG8KKworICAgICAgICBjb21tYW5kX2xpbmUgPSBbYmluX25hbWUsIGNv
bW1hbmRdICsgYXJncworICAgICAgICBsb2dnZXIuZGVidWcoIiAiLmpvaW4oY29tbWFuZF9saW5l
KSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0dXJuIHN1YnByb2Nlc3MuY2hlY2tfb3V0
cHV0KGNvbW1hbmRfbGluZSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VULCAqKnByb2Nfa3dhcmdz
KQorICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKKyAg
ICAgICAgICAgIGlmIGxvZ19lcnJvcjoKKyAgICAgICAgICAgICAgICBsb2dnZXIuZXJyb3IoZS5v
dXRwdXQpCisgICAgICAgICAgICByYWlzZQorICAgIHJldHVybiBpbm5lcgorCitnaXQgPSB2Y3Mo
ImdpdCIpCitoZyA9IHZjcygiaGciKQorCisKK2RlZiBiaW5kX3RvX3JlcG8odmNzX2Z1bmMsIHJl
cG8pOgorICAgIHJldHVybiBwYXJ0aWFsKHZjc19mdW5jLCByZXBvPXJlcG8pCisKKworZGVmIGlz
X2dpdF9yb290KHBhdGgpOgorICAgIHRyeToKKyAgICAgICAgcnYgPSBnaXQoInJldi1wYXJzZSIs
ICItLXNob3ctY2R1cCIsIHJlcG89cGF0aCkKKyAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQ
cm9jZXNzRXJyb3I6CisgICAgICAgIHJldHVybiBGYWxzZQorICAgIHJldHVybiBydiA9PSAiXG4i
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
dzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmU2OWRiZDFmYzBmNzJmYTU1MzQ2MjdmZWZkYTYy
NjFjZTkxMmRjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93M2MtaW1wb3J0Lmxv
ZwpAQCAtMCwwICsxLDQwIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBv
cnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMg
ZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRo
ZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0
IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25l
CitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvX19pbml0X18ucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvY29uZmlnLmpzb24KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvY29uZmlnLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL2Vudmlyb25tZW50LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4cGVjdGVkLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL2hvc3RzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0ZXhwZWN0ZWQucHkKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvbWFuaWZlc3RpbmNsdWRlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0dXBkYXRl
LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL21ldGFkYXRhLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Byb2R1Y3RzLnB5
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3JlZHVjZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFybmVzc19ydW5u
ZXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2by5qcworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci90ZXN0aGFybmVzc3JlcG9ydC1zZXJ2b2RyaXZlci5qcworL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90
ZXN0aGFybmVzc3JlcG9ydC5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0bG9hZGVyLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL3Rlc3RydW5uZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdmNzLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3dlYmRyaXZlcl9zZXJ2ZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0Y29tbWFuZGxpbmUucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0bG9nZ2luZy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRydW5uZXIucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0dGVzdC5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dlYmRyaXZl
cl9zZXJ2ZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd2ViZHJpdmVyX3NlcnZlci5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40OWQ5YzczYjUyZTVlZDExM2ZmMTFmOWE2NDY1MDE4YmYwZjFkNjA3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3dlYmRyaXZlcl9zZXJ2ZXIucHkKQEAgLTAsMCArMSwyMzMgQEAK
K2ltcG9ydCBhYmMKK2ltcG9ydCBlcnJubworaW1wb3J0IG9zCitpbXBvcnQgcGxhdGZvcm0KK2lt
cG9ydCBzb2NrZXQKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9ydCB0aW1lCitpbXBvcnQgdHJhY2Vi
YWNrCitpbXBvcnQgdXJscGFyc2UKKworaW1wb3J0IG1venByb2Nlc3MKKworCitfX2FsbF9fID0g
WyJTZWxlbml1bVNlcnZlciIsICJDaHJvbWVEcml2ZXJTZXJ2ZXIiLAorICAgICAgICAgICAiR2Vj
a29Ecml2ZXJTZXJ2ZXIiLCAiU2Vydm9Ecml2ZXJTZXJ2ZXIiLAorICAgICAgICAgICAiV2ViRHJp
dmVyU2VydmVyIl0KKworCitjbGFzcyBXZWJEcml2ZXJTZXJ2ZXIob2JqZWN0KToKKyAgICBfX21l
dGFjbGFzc19fID0gYWJjLkFCQ01ldGEKKworICAgIGRlZmF1bHRfYmFzZV9wYXRoID0gIi8iCisg
ICAgX3VzZWRfcG9ydHMgPSBzZXQoKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwg
YmluYXJ5LCBob3N0PSIxMjcuMC4wLjEiLCBwb3J0PU5vbmUsCisgICAgICAgICAgICAgICAgIGJh
c2VfcGF0aD0iIiwgZW52PU5vbmUsIGFyZ3M9Tm9uZSk6CisgICAgICAgIGlmIGJpbmFyeSBpcyBO
b25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiV2ViRHJpdmVyIHNlcnZlciBiaW5h
cnkgbXVzdCBiZSBnaXZlbiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0byAtLXdl
YmRyaXZlci1iaW5hcnkgYXJndW1lbnQiKQorCisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2Vy
CisgICAgICAgIHNlbGYuYmluYXJ5ID0gYmluYXJ5CisgICAgICAgIHNlbGYuaG9zdCA9IGhvc3QK
KyAgICAgICAgaWYgYmFzZV9wYXRoID09ICIiOgorICAgICAgICAgICAgc2VsZi5iYXNlX3BhdGgg
PSBzZWxmLmRlZmF1bHRfYmFzZV9wYXRoCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxm
LmJhc2VfcGF0aCA9IGJhc2VfcGF0aAorICAgICAgICBzZWxmLmVudiA9IG9zLmVudmlyb24uY29w
eSgpIGlmIGVudiBpcyBOb25lIGVsc2UgZW52CisKKyAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQK
KyAgICAgICAgc2VsZi5fY21kID0gTm9uZQorICAgICAgICBzZWxmLl9hcmdzID0gYXJncyBpZiBh
cmdzIGlzIG5vdCBOb25lIGVsc2UgW10KKyAgICAgICAgc2VsZi5fcHJvYyA9IE5vbmUKKworICAg
IEBhYmMuYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgbWFrZV9jb21tYW5kKHNlbGYpOgorICAgICAg
ICAiIiJSZXR1cm5zIHRoZSBmdWxsIGNvbW1hbmQgZm9yIHN0YXJ0aW5nIHRoZSBzZXJ2ZXIgcHJv
Y2VzcyBhcyBhIGxpc3QuIiIiCisKKyAgICBkZWYgc3RhcnQoc2VsZiwgYmxvY2s9RmFsc2UpOgor
ICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLl9ydW4oYmxvY2spCisgICAgICAgIGV4Y2Vw
dCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgICAgIHNlbGYuc3RvcCgpCisKKyAgICBkZWYg
X3J1bihzZWxmLCBibG9jayk6CisgICAgICAgIHNlbGYuX2NtZCA9IHNlbGYubWFrZV9jb21tYW5k
KCkKKyAgICAgICAgc2VsZi5fcHJvYyA9IG1venByb2Nlc3MuUHJvY2Vzc0hhbmRsZXIoCisgICAg
ICAgICAgICBzZWxmLl9jbWQsCisgICAgICAgICAgICBwcm9jZXNzT3V0cHV0TGluZT1zZWxmLm9u
X291dHB1dCwKKyAgICAgICAgICAgIGVudj1zZWxmLmVudiwKKyAgICAgICAgICAgIHN0b3JlT3V0
cHV0PUZhbHNlKQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuX3Byb2MucnVuKCkK
KyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGlmIGUuZXJybm8gPT0g
ZXJybm8uRU5PRU5UOgorICAgICAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoCisgICAgICAgICAg
ICAgICAgICAgICJXZWJEcml2ZXIgSFRUUCBzZXJ2ZXIgZXhlY3V0YWJsZSBub3QgZm91bmQ6ICVz
IiAlIHNlbGYuYmluYXJ5KQorICAgICAgICAgICAgcmFpc2UKKworICAgICAgICBzZWxmLmxvZ2dl
ci5kZWJ1ZygKKyAgICAgICAgICAgICJXYWl0aW5nIGZvciBzZXJ2ZXIgdG8gYmVjb21lIGFjY2Vz
c2libGU6ICVzIiAlIHNlbGYudXJsKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB3YWl0X2Zv
cl9zZXJ2aWNlKChzZWxmLmhvc3QsIHNlbGYucG9ydCkpCisgICAgICAgIGV4Y2VwdDoKKyAgICAg
ICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKAorICAgICAgICAgICAgICAgICJXZWJEcml2ZXIgSFRU
UCBzZXJ2ZXIgd2FzIG5vdCBhY2Nlc3NpYmxlICIKKyAgICAgICAgICAgICAgICAid2l0aGluIHRo
ZSB0aW1lb3V0OlxuJXMiICUgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICAgICAgICAgIHJh
aXNlCisKKyAgICAgICAgaWYgYmxvY2s6CisgICAgICAgICAgICBzZWxmLl9wcm9jLndhaXQoKQor
CisgICAgZGVmIHN0b3Aoc2VsZiwgZm9yY2U9RmFsc2UpOgorICAgICAgICBpZiBzZWxmLmlzX2Fs
aXZlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Byb2Mua2lsbCgpCisgICAgICAgIHJldHVy
biBub3Qgc2VsZi5pc19hbGl2ZQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGlzX2FsaXZlKHNl
bGYpOgorICAgICAgICByZXR1cm4gaGFzYXR0cihzZWxmLl9wcm9jLCAicHJvYyIpIGFuZCBzZWxm
Ll9wcm9jLnBvbGwoKSBpcyBOb25lCisKKyAgICBkZWYgb25fb3V0cHV0KHNlbGYsIGxpbmUpOgor
ICAgICAgICBzZWxmLmxvZ2dlci5wcm9jZXNzX291dHB1dChzZWxmLnBpZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGluZS5kZWNvZGUoInV0ZjgiLCAicmVwbGFjZSIpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPSIgIi5qb2luKHNlbGYu
X2NtZCkpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcGlkKHNlbGYpOgorICAgICAgICBpZiBz
ZWxmLl9wcm9jIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Byb2MucGlk
CisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgdXJsKHNlbGYpOgorICAgICAgICByZXR1cm4gImh0
dHA6Ly8lczolaSVzIiAlIChzZWxmLmhvc3QsIHNlbGYucG9ydCwgc2VsZi5iYXNlX3BhdGgpCisK
KyAgICBAcHJvcGVydHkKKyAgICBkZWYgcG9ydChzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fcG9y
dCBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5fcG9ydCA9IHNlbGYuX2ZpbmRfbmV4dF9mcmVl
X3BvcnQoKQorICAgICAgICByZXR1cm4gc2VsZi5fcG9ydAorCisgICAgQHN0YXRpY21ldGhvZAor
ICAgIGRlZiBfZmluZF9uZXh0X2ZyZWVfcG9ydCgpOgorICAgICAgICBwb3J0ID0gZ2V0X2ZyZWVf
cG9ydCg0NDQ0LCBleGNsdWRlPVdlYkRyaXZlclNlcnZlci5fdXNlZF9wb3J0cykKKyAgICAgICAg
V2ViRHJpdmVyU2VydmVyLl91c2VkX3BvcnRzLmFkZChwb3J0KQorICAgICAgICByZXR1cm4gcG9y
dAorCisKK2NsYXNzIFNlbGVuaXVtU2VydmVyKFdlYkRyaXZlclNlcnZlcik6CisgICAgZGVmYXVs
dF9iYXNlX3BhdGggPSAiL3dkL2h1YiIKKworICAgIGRlZiBtYWtlX2NvbW1hbmQoc2VsZik6Cisg
ICAgICAgIHJldHVybiBbImphdmEiLCAiLWphciIsIHNlbGYuYmluYXJ5LCAiLXBvcnQiLCBzdHIo
c2VsZi5wb3J0KV0gKyBzZWxmLl9hcmdzCisKKworY2xhc3MgQ2hyb21lRHJpdmVyU2VydmVyKFdl
YkRyaXZlclNlcnZlcik6CisgICAgZGVmYXVsdF9iYXNlX3BhdGggPSAiL3dkL2h1YiIKKworICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIGJpbmFyeT0iY2hyb21lZHJpdmVyIiwgcG9ydD1O
b25lLAorICAgICAgICAgICAgICAgICBiYXNlX3BhdGg9IiIsIGFyZ3M9Tm9uZSk6CisgICAgICAg
IFdlYkRyaXZlclNlcnZlci5fX2luaXRfXygKKyAgICAgICAgICAgIHNlbGYsIGxvZ2dlciwgYmlu
YXJ5LCBwb3J0PXBvcnQsIGJhc2VfcGF0aD1iYXNlX3BhdGgsIGFyZ3M9YXJncykKKworICAgIGRl
ZiBtYWtlX2NvbW1hbmQoc2VsZik6CisgICAgICAgIHJldHVybiBbc2VsZi5iaW5hcnksCisgICAg
ICAgICAgICAgICAgY21kX2FyZygicG9ydCIsIHN0cihzZWxmLnBvcnQpKSwKKyAgICAgICAgICAg
ICAgICBjbWRfYXJnKCJ1cmwtYmFzZSIsIHNlbGYuYmFzZV9wYXRoKSBpZiBzZWxmLmJhc2VfcGF0
aCBlbHNlICIiXSArIHNlbGYuX2FyZ3MKKworCitjbGFzcyBFZGdlRHJpdmVyU2VydmVyKFdlYkRy
aXZlclNlcnZlcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgYmluYXJ5PSJNaWNy
b3NvZnRXZWJEcml2ZXIuZXhlIiwgcG9ydD1Ob25lLAorICAgICAgICAgICAgICAgICBiYXNlX3Bh
dGg9IiIsIGhvc3Q9ImxvY2FsaG9zdCIsIGFyZ3M9Tm9uZSk6CisgICAgICAgIFdlYkRyaXZlclNl
cnZlci5fX2luaXRfXygKKyAgICAgICAgICAgIHNlbGYsIGxvZ2dlciwgYmluYXJ5LCBob3N0PWhv
c3QsIHBvcnQ9cG9ydCwgYXJncz1hcmdzKQorCisgICAgZGVmIG1ha2VfY29tbWFuZChzZWxmKToK
KyAgICAgICAgcmV0dXJuIFtzZWxmLmJpbmFyeSwKKyAgICAgICAgICAgICAgICAiLS1wb3J0PSVz
IiAlIHN0cihzZWxmLnBvcnQpXSArIHNlbGYuX2FyZ3MKKworCitjbGFzcyBHZWNrb0RyaXZlclNl
cnZlcihXZWJEcml2ZXJTZXJ2ZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIG1h
cmlvbmV0dGVfcG9ydD0yODI4LCBiaW5hcnk9ImdlY2tvZHJpdmVyIiwKKyAgICAgICAgICAgICAg
ICAgaG9zdD0iMTI3LjAuMC4xIiwgcG9ydD1Ob25lLCBhcmdzPU5vbmUpOgorICAgICAgICBlbnYg
PSBvcy5lbnZpcm9uLmNvcHkoKQorICAgICAgICBlbnZbIlJVU1RfQkFDS1RSQUNFIl0gPSAiMSIK
KyAgICAgICAgV2ViRHJpdmVyU2VydmVyLl9faW5pdF9fKHNlbGYsIGxvZ2dlciwgYmluYXJ5LCBo
b3N0PWhvc3QsIHBvcnQ9cG9ydCwgZW52PWVudiwgYXJncz1hcmdzKQorICAgICAgICBzZWxmLm1h
cmlvbmV0dGVfcG9ydCA9IG1hcmlvbmV0dGVfcG9ydAorCisgICAgZGVmIG1ha2VfY29tbWFuZChz
ZWxmKToKKyAgICAgICAgcmV0dXJuIFtzZWxmLmJpbmFyeSwKKyAgICAgICAgICAgICAgICAiLS1t
YXJpb25ldHRlLXBvcnQiLCBzdHIoc2VsZi5tYXJpb25ldHRlX3BvcnQpLAorICAgICAgICAgICAg
ICAgICItLWhvc3QiLCBzZWxmLmhvc3QsCisgICAgICAgICAgICAgICAgIi0tcG9ydCIsIHN0cihz
ZWxmLnBvcnQpXSArIHNlbGYuX2FyZ3MKKworCitjbGFzcyBTZXJ2b0RyaXZlclNlcnZlcihXZWJE
cml2ZXJTZXJ2ZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIGJpbmFyeT0ic2Vy
dm8iLCBiaW5hcnlfYXJncz1Ob25lLCBob3N0PSIxMjcuMC4wLjEiLCBwb3J0PU5vbmUpOgorICAg
ICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQorICAgICAgICBlbnZbIlJVU1RfQkFDS1RSQUNF
Il0gPSAiMSIKKyAgICAgICAgV2ViRHJpdmVyU2VydmVyLl9faW5pdF9fKHNlbGYsIGxvZ2dlciwg
YmluYXJ5LCBob3N0PWhvc3QsIHBvcnQ9cG9ydCwgZW52PWVudikKKyAgICAgICAgc2VsZi5iaW5h
cnlfYXJncyA9IGJpbmFyeV9hcmdzCisKKyAgICBkZWYgbWFrZV9jb21tYW5kKHNlbGYpOgorICAg
ICAgICBjb21tYW5kID0gW3NlbGYuYmluYXJ5LAorICAgICAgICAgICAgICAgICAgICItLXdlYmRy
aXZlciIsIHN0cihzZWxmLnBvcnQpLAorICAgICAgICAgICAgICAgICAgICItLWhhcmQtZmFpbCIs
CisgICAgICAgICAgICAgICAgICAgIi0taGVhZGxlc3MiXSArIHNlbGYuX2FyZ3MKKyAgICAgICAg
aWYgc2VsZi5iaW5hcnlfYXJnczoKKyAgICAgICAgICAgIGNvbW1hbmQgKz0gc2VsZi5iaW5hcnlf
YXJncworICAgICAgICByZXR1cm4gY29tbWFuZAorCisKK2RlZiBjbWRfYXJnKG5hbWUsIHZhbHVl
PU5vbmUpOgorICAgIHByZWZpeCA9ICItIiBpZiBwbGF0Zm9ybS5zeXN0ZW0oKSA9PSAiV2luZG93
cyIgZWxzZSAiLS0iCisgICAgcnYgPSBwcmVmaXggKyBuYW1lCisgICAgaWYgdmFsdWUgaXMgbm90
IE5vbmU6CisgICAgICAgIHJ2ICs9ICI9IiArIHZhbHVlCisgICAgcmV0dXJuIHJ2CisKKworZGVm
IGdldF9mcmVlX3BvcnQoc3RhcnRfcG9ydCwgZXhjbHVkZT1Ob25lKToKKyAgICAiIiJHZXQgdGhl
IGZpcnN0IHBvcnQgbnVtYmVyIGFmdGVyIHN0YXJ0X3BvcnQgKGluY2x1c2l2ZSkgdGhhdCBpcwor
ICAgIG5vdCBjdXJyZW50bHkgYm91bmQuCisKKyAgICA6cGFyYW0gc3RhcnRfcG9ydDogSW50ZWdl
ciBwb3J0IG51bWJlciBhdCB3aGljaCB0byBzdGFydCB0ZXN0aW5nLgorICAgIDpwYXJhbSBleGNs
dWRlOiBTZXQgb2YgcG9ydCBudW1iZXJzIHRvIHNraXAiIiIKKyAgICBwb3J0ID0gc3RhcnRfcG9y
dAorICAgIHdoaWxlIFRydWU6CisgICAgICAgIGlmIGV4Y2x1ZGUgYW5kIHBvcnQgaW4gZXhjbHVk
ZToKKyAgICAgICAgICAgIHBvcnQgKz0gMQorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAg
cyA9IHNvY2tldC5zb2NrZXQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzLmJpbmQoKCIx
MjcuMC4wLjEiLCBwb3J0KSkKKyAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAg
ICAgIHBvcnQgKz0gMQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHBvcnQKKyAg
ICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHMuY2xvc2UoKQorCisKK2RlZiB3YWl0X2Zvcl9z
ZXJ2aWNlKGFkZHIsIHRpbWVvdXQ9MTUpOgorICAgICIiIldhaXRzIHVudGlsIG5ldHdvcmsgc2Vy
dmljZSBnaXZlbiBhcyBhIHR1cGxlIG9mIChob3N0LCBwb3J0KSBiZWNvbWVzCisgICAgYXZhaWxh
YmxlIG9yIHRoZSBgdGltZW91dGAgZHVyYXRpb24gaXMgcmVhY2hlZCwgYXQgd2hpY2ggcG9pbnQK
KyAgICBgYHNvY2tldC5lcnJvcmBgIGlzIHJhaXNlZC4iIiIKKyAgICBlbmQgPSB0aW1lLnRpbWUo
KSArIHRpbWVvdXQKKyAgICB3aGlsZSBlbmQgPiB0aW1lLnRpbWUoKToKKyAgICAgICAgc28gPSBz
b2NrZXQuc29ja2V0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc28uY29ubmVjdChhZGRy
KQorICAgICAgICBleGNlcHQgc29ja2V0LnRpbWVvdXQ6CisgICAgICAgICAgICBwYXNzCisgICAg
ICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZToKKyAgICAgICAgICAgIGlmIGVbMF0gIT0gZXJy
bm8uRUNPTk5SRUZVU0VEOgorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgc28u
Y2xvc2UoKQorICAgICAgICB0aW1lLnNsZWVwKDAuNSkKKyAgICByYWlzZSBzb2NrZXQuZXJyb3Io
IlNlcnZpY2UgaXMgdW5hdmFpbGFibGU6ICVzOiVpIiAlIGFkZHIpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvd3B0Y29tbWFuZGxpbmUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0Y29tbWFuZGxpbmUu
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDFkM2FiOWZiNTJjM2IxNWQxZmE4MWY1YTY5NGY3MjA3MTYwNTFjMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRjb21tYW5kbGluZS5weQpAQCAtMCww
ICsxLDQ1OCBAQAoraW1wb3J0IGFyZ3BhcnNlCitpbXBvcnQgYXN0CitpbXBvcnQgb3MKK2ltcG9y
dCBzeXMKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IE9yZGVyZWREaWN0Citmcm9tIGRpc3R1dGls
cy5zcGF3biBpbXBvcnQgZmluZF9leGVjdXRhYmxlCisKK2ltcG9ydCBjb25maWcKK2ltcG9ydCB3
cHR0ZXN0CisKKworZGVmIGFic19wYXRoKHBhdGgpOgorICAgIHJldHVybiBvcy5wYXRoLmFic3Bh
dGgob3MucGF0aC5leHBhbmR1c2VyKHBhdGgpKQorCisKK2RlZiB1cmxfb3JfcGF0aChwYXRoKToK
KyAgICBpbXBvcnQgdXJscGFyc2UKKworICAgIHBhcnNlZCA9IHVybHBhcnNlLnVybHBhcnNlKHBh
dGgpCisgICAgaWYgbGVuKHBhcnNlZC5zY2hlbWUpID4gMjoKKyAgICAgICAgcmV0dXJuIHBhdGgK
KyAgICBlbHNlOgorICAgICAgICByZXR1cm4gYWJzX3BhdGgocGF0aCkKKworCitkZWYgcmVxdWly
ZV9hcmcoa3dhcmdzLCBuYW1lLCB2YWx1ZV9mdW5jPU5vbmUpOgorICAgIGlmIHZhbHVlX2Z1bmMg
aXMgTm9uZToKKyAgICAgICAgdmFsdWVfZnVuYyA9IGxhbWJkYSB4OiB4IGlzIG5vdCBOb25lCisK
KyAgICBpZiBub3QgbmFtZSBpbiBrd2FyZ3Mgb3Igbm90IHZhbHVlX2Z1bmMoa3dhcmdzW25hbWVd
KToKKyAgICAgICAgcHJpbnQgPj4gc3lzLnN0ZGVyciwgIk1pc3NpbmcgcmVxdWlyZWQgYXJndW1l
bnQgJXMiICUgbmFtZQorICAgICAgICBzeXMuZXhpdCgxKQorCisKK2RlZiBjcmVhdGVfcGFyc2Vy
KHByb2R1Y3RfY2hvaWNlcz1Ob25lKToKKyAgICBmcm9tIG1vemxvZyBpbXBvcnQgY29tbWFuZGxp
bmUKKworICAgIGltcG9ydCBwcm9kdWN0cworCisgICAgaWYgcHJvZHVjdF9jaG9pY2VzIGlzIE5v
bmU6CisgICAgICAgIGNvbmZpZ19kYXRhID0gY29uZmlnLmxvYWQoKQorICAgICAgICBwcm9kdWN0
X2Nob2ljZXMgPSBwcm9kdWN0cy5wcm9kdWN0c19lbmFibGVkKGNvbmZpZ19kYXRhKQorCisgICAg
cGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249IiIiUnVubmVyIGZv
ciB3ZWItcGxhdGZvcm0tdGVzdHMgdGVzdHMuIiIiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVzYWdlPSIiIiUocHJvZylzIFtPUFRJT05dLi4uIFtURVNUXS4uLgorCitU
RVNUIGlzIGVpdGhlciB0aGUgZnVsbCBwYXRoIHRvIGEgdGVzdCBmaWxlIHRvIHJ1biwgb3IgdGhl
IFVSTCBvZiBhIHRlc3QgZXhjbHVkaW5nCitzY2hlbWUgaG9zdCBhbmQgcG9ydC4iIiIpCisgICAg
cGFyc2VyLmFkZF9hcmd1bWVudCgiLS1tYW5pZmVzdC11cGRhdGUiLCBhY3Rpb249InN0b3JlX3Ry
dWUiLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUmVnZW5l
cmF0ZSB0aGUgdGVzdCBtYW5pZmVzdC4iKQorCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS10
aW1lb3V0LW11bHRpcGxpZXIiLCBhY3Rpb249InN0b3JlIiwgdHlwZT1mbG9hdCwgZGVmYXVsdD1O
b25lLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iTXVsdGlwbGllciByZWxhdGl2ZSB0
byBzdGFuZGFyZCB0ZXN0IHRpbWVvdXQgdG8gdXNlIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50
KCItLXJ1bi1ieS1kaXIiLCB0eXBlPWludCwgbmFyZ3M9Ij8iLCBkZWZhdWx0PUZhbHNlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iU3BsaXQgcnVuIGludG8gZ3JvdXBzIGJ5IGRpcmVj
dG9yaWVzLiBXaXRoIGEgcGFyYW1ldGVyLCIKKyAgICAgICAgICAgICAgICAgICAgICAgICJsaW1p
dCB0aGUgZGVwdGggb2Ygc3BsaXRzIGUuZy4gLS1ydW4tYnktZGlyPTEgdG8gc3BsaXQgYnkgdG9w
LWxldmVsIgorICAgICAgICAgICAgICAgICAgICAgICAgImRpcmVjdG9yeSIpCisgICAgcGFyc2Vy
LmFkZF9hcmd1bWVudCgiLS1wcm9jZXNzZXMiLCBhY3Rpb249InN0b3JlIiwgdHlwZT1pbnQsIGRl
ZmF1bHQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9Ik51bWJlciBvZiBzaW11
bHRhbmVvdXMgcHJvY2Vzc2VzIHRvIHVzZSIpCisKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCIt
LW5vLWNhcHR1cmUtc3RkaW8iLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG9uJ3QgY2FwdHVyZSBzdGRpbyBhbmQgd3Jp
dGUgdG8gbG9nZ2luZyIpCisKKyAgICBtb2RlX2dyb3VwID0gcGFyc2VyLmFkZF9hcmd1bWVudF9n
cm91cCgiTW9kZSIpCisgICAgbW9kZV9ncm91cC5hZGRfYXJndW1lbnQoIi0tbGlzdC10ZXN0LWdy
b3VwcyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJMaXN0IHRo
ZSB0b3AgbGV2ZWwgZGlyZWN0b3JpZXMgY29udGFpbmluZyB0ZXN0cyB0aGF0IHdpbGwgcnVuLiIp
CisgICAgbW9kZV9ncm91cC5hZGRfYXJndW1lbnQoIi0tbGlzdC1kaXNhYmxlZCIsIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJMaXN0IHRoZSB0ZXN0cyB0aGF0IGFy
ZSBkaXNhYmxlZCBvbiB0aGUgY3VycmVudCBwbGF0Zm9ybSIpCisKKyAgICB0ZXN0X3NlbGVjdGlv
bl9ncm91cCA9IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoIlRlc3QgU2VsZWN0aW9uIikKKyAg
ICB0ZXN0X3NlbGVjdGlvbl9ncm91cC5hZGRfYXJndW1lbnQoIi0tdGVzdC10eXBlcyIsIGFjdGlv
bj0ic3RvcmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXJncz0i
KiIsIGRlZmF1bHQ9d3B0dGVzdC5lbmFibGVkX3Rlc3RzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjaG9pY2VzPXdwdHRlc3QuZW5hYmxlZF90ZXN0cywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVGVzdCB0eXBlcyB0byBydW4iKQor
ICAgIHRlc3Rfc2VsZWN0aW9uX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1pbmNsdWRlIiwgYWN0aW9u
PSJhcHBlbmQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJV
UkwgcHJlZml4IHRvIGluY2x1ZGUiKQorICAgIHRlc3Rfc2VsZWN0aW9uX2dyb3VwLmFkZF9hcmd1
bWVudCgiLS1leGNsdWRlIiwgYWN0aW9uPSJhcHBlbmQiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJVUkwgcHJlZml4IHRvIGV4Y2x1ZGUiKQorICAgIHRlc3Rf
c2VsZWN0aW9uX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1pbmNsdWRlLW1hbmlmZXN0IiwgdHlwZT1h
YnNfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUGF0
aCB0byBtYW5pZmVzdCBsaXN0aW5nIHRlc3RzIHRvIGluY2x1ZGUiKQorICAgIHRlc3Rfc2VsZWN0
aW9uX2dyb3VwLmFkZF9hcmd1bWVudCgiLS10YWciLCBhY3Rpb249ImFwcGVuZCIsIGRlc3Q9InRh
Z3MiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJMYWJlbHMg
YXBwbGllZCB0byB0ZXN0cyB0byBpbmNsdWRlIGluIHRoZSBydW4uIExhYmVscyBzdGFydGluZyBk
aXI6IGFyZSBlcXVpdmFsZW50IHRvIHRvcC1sZXZlbCBkaXJlY3Rvcmllcy4iKQorCisgICAgZGVi
dWdnaW5nX2dyb3VwID0gcGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgiRGVidWdnaW5nIikKKyAg
ICBkZWJ1Z2dpbmdfZ3JvdXAuYWRkX2FyZ3VtZW50KCctLWRlYnVnZ2VyJywgY29uc3Q9Il9fZGVm
YXVsdF9fIiwgbmFyZ3M9Ij8iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0icnVuIHVuZGVyIGEgZGVidWdnZXIsIGUuZy4gZ2RiIG9yIHZhbGdyaW5kIikKKyAgICBkZWJ1
Z2dpbmdfZ3JvdXAuYWRkX2FyZ3VtZW50KCctLWRlYnVnZ2VyLWFyZ3MnLCBoZWxwPSJhcmd1bWVu
dHMgdG8gdGhlIGRlYnVnZ2VyIikKKyAgICBkZWJ1Z2dpbmdfZ3JvdXAuYWRkX2FyZ3VtZW50KCIt
LXJlcGVhdCIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPWludCwgZGVmYXVsdD0xLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iTnVtYmVyIG9mIHRpbWVzIHRvIHJ1biB0aGUg
dGVzdHMiKQorICAgIGRlYnVnZ2luZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tcmVwZWF0LXVudGls
LXVuZXhwZWN0ZWQiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PU5vbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJSdW4gdGVzdHMgaW4gYSBsb29wIHVudGls
IG9uZSByZXR1cm5zIGFuIHVuZXhwZWN0ZWQgcmVzdWx0IikKKyAgICBkZWJ1Z2dpbmdfZ3JvdXAu
YWRkX2FyZ3VtZW50KCctLXBhdXNlLWFmdGVyLXRlc3QnLCBhY3Rpb249InN0b3JlX3RydWUiLCBk
ZWZhdWx0PU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJIYWx0
IHRoZSB0ZXN0IHJ1bm5lciBhZnRlciBlYWNoIHRlc3QgKHRoaXMgaGFwcGVucyBieSBkZWZhdWx0
IGlmIG9ubHkgYSBzaW5nbGUgdGVzdCBpcyBydW4pIikKKyAgICBkZWJ1Z2dpbmdfZ3JvdXAuYWRk
X2FyZ3VtZW50KCctLW5vLXBhdXNlLWFmdGVyLXRlc3QnLCBkZXN0PSJwYXVzZV9hZnRlcl90ZXN0
IiwgYWN0aW9uPSJzdG9yZV9mYWxzZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJEb24ndCBoYWx0IHRoZSB0ZXN0IHJ1bm5lciBpcnJlc3BlY3RpdmUgb2YgdGhlIG51
bWJlciBvZiB0ZXN0cyBydW4iKQorCisgICAgZGVidWdnaW5nX2dyb3VwLmFkZF9hcmd1bWVudCgn
LS1wYXVzZS1vbi11bmV4cGVjdGVkJywgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkhhbHQgdGhlIHRlc3QgcnVubmVyIHdoZW4gYW4g
dW5leHBlY3RlZCByZXN1bHQgaXMgZW5jb3VudGVyZWQiKQorICAgIGRlYnVnZ2luZ19ncm91cC5h
ZGRfYXJndW1lbnQoJy0tbm8tcmVzdGFydC1vbi11bmV4cGVjdGVkJywgZGVzdD0icmVzdGFydF9v
bl91bmV4cGVjdGVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9
VHJ1ZSwgYWN0aW9uPSJzdG9yZV9mYWxzZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJEb24ndCByZXN0YXJ0IG9uIGFuIHVuZXhwZWN0ZWQgcmVzdWx0IikKKworICAg
IGRlYnVnZ2luZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tc3ltYm9scy1wYXRoIiwgYWN0aW9uPSJz
dG9yZSIsIHR5cGU9dXJsX29yX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJQYXRoIG9yIHVybCB0byBzeW1ib2xzIGZpbGUgdXNlZCB0byBhbmFseXNlIGNyYXNo
IG1pbmlkdW1wcy4iKQorICAgIGRlYnVnZ2luZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tc3RhY2t3
YWxrLWJpbmFyeSIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPWFic19wYXRoLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iUGF0aCB0byBzdGFja3dhbGtlciBwcm9ncmFtIHVz
ZWQgdG8gYW5hbHlzZSBtaW5pZHVtcHMuIikKKworICAgIGRlYnVnZ2luZ19ncm91cC5hZGRfYXJn
dW1lbnQoIi0tcGRiIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9IkRyb3AgaW50byBwZGIgb24gcHl0aG9uIGV4Y2VwdGlvbiIpCisK
KyAgICBjb25maWdfZ3JvdXAgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJDb25maWd1cmF0
aW9uIikKKyAgICBjb25maWdfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLWJpbmFyeSIsIGFjdGlvbj0i
c3RvcmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1hYnNfcGF0aCwgaGVs
cD0iQmluYXJ5IHRvIHJ1biB0ZXN0cyBhZ2FpbnN0IikKKyAgICBjb25maWdfZ3JvdXAuYWRkX2Fy
Z3VtZW50KCctLWJpbmFyeS1hcmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVm
YXVsdD1bXSwgYWN0aW9uPSJhcHBlbmQiLCBkZXN0PSJiaW5hcnlfYXJncyIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJFeHRyYSBhcmd1bWVudCBmb3IgdGhlIGJpbmFyeSIp
CisgICAgY29uZmlnX2dyb3VwLmFkZF9hcmd1bWVudCgiLS13ZWJkcml2ZXItYmluYXJ5IiwgYWN0
aW9uPSJzdG9yZSIsIG1ldGF2YXI9IkJJTkFSWSIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0eXBlPWFic19wYXRoLCBoZWxwPSJXZWJEcml2ZXIgc2VydmVyIGJpbmFyeSB0byB1c2Ui
KQorICAgIGNvbmZpZ19ncm91cC5hZGRfYXJndW1lbnQoJy0td2ViZHJpdmVyLWFyZycsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PVtdLCBhY3Rpb249ImFwcGVuZCIsIGRl
c3Q9IndlYmRyaXZlcl9hcmdzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
IkV4dHJhIGFyZ3VtZW50IGZvciB0aGUgV2ViRHJpdmVyIGJpbmFyeSIpCisKKyAgICBjb25maWdf
Z3JvdXAuYWRkX2FyZ3VtZW50KCItLW1ldGFkYXRhIiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9YWJz
X3BhdGgsIGRlc3Q9Im1ldGFkYXRhX3Jvb3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iUGF0aCB0byByb290IGRpcmVjdG9yeSBjb250YWluaW5nIHRlc3QgbWV0YWRhdGEi
KSwKKyAgICBjb25maWdfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXRlc3RzIiwgYWN0aW9uPSJzdG9y
ZSIsIHR5cGU9YWJzX3BhdGgsIGRlc3Q9InRlc3RzX3Jvb3QiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0iUGF0aCB0byByb290IGRpcmVjdG9yeSBjb250YWluaW5nIHRlc3Qg
ZmlsZXMiKSwKKyAgICBjb25maWdfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXJ1bi1pbmZvIiwgYWN0
aW9uPSJzdG9yZSIsIHR5cGU9YWJzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJQYXRoIHRvIGRpcmVjdG9yeSBjb250YWluaW5nIGV4dHJhIGpzb24gZmlsZXMgdG8g
YWRkIHRvIHJ1biBpbmZvIikKKyAgICBjb25maWdfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXByb2R1
Y3QiLCBhY3Rpb249InN0b3JlIiwgY2hvaWNlcz1wcm9kdWN0X2Nob2ljZXMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PU5vbmUsIGhlbHA9IkJyb3dzZXIgYWdhaW5zdCB3
aGljaCB0byBydW4gdGVzdHMiKQorICAgIGNvbmZpZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tY29u
ZmlnIiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9YWJzX3BhdGgsIGRlc3Q9ImNvbmZpZyIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIGNvbmZpZyBmaWxlIikKKwor
ICAgIGJ1aWxkX3R5cGUgPSBwYXJzZXIuYWRkX211dHVhbGx5X2V4Y2x1c2l2ZV9ncm91cCgpCisg
ICAgYnVpbGRfdHlwZS5hZGRfYXJndW1lbnQoIi0tZGVidWctYnVpbGQiLCBkZXN0PSJkZWJ1ZyIs
IGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVs
dD1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkJ1aWxkIGlzIGEgZGVi
dWcgYnVpbGQgKG92ZXJyaWRlcyBhbnkgbW96aW5mbyBmaWxlKSIpCisgICAgYnVpbGRfdHlwZS5h
ZGRfYXJndW1lbnQoIi0tcmVsZWFzZS1idWlsZCIsIGRlc3Q9ImRlYnVnIiwgYWN0aW9uPSJzdG9y
ZV9mYWxzZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1Ob25lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkJ1aWxkIGlzIGEgcmVsZWFzZSAob3ZlcnJp
ZGVzIGFueSBtb3ppbmZvIGZpbGUpIikKKworCisgICAgY2h1bmtpbmdfZ3JvdXAgPSBwYXJzZXIu
YWRkX2FyZ3VtZW50X2dyb3VwKCJUZXN0IENodW5raW5nIikKKyAgICBjaHVua2luZ19ncm91cC5h
ZGRfYXJndW1lbnQoIi0tdG90YWwtY2h1bmtzIiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9aW50LCBk
ZWZhdWx0PTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRvdGFsIG51
bWJlciBvZiBjaHVua3MgdG8gdXNlIikKKyAgICBjaHVua2luZ19ncm91cC5hZGRfYXJndW1lbnQo
Ii0tdGhpcy1jaHVuayIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPWludCwgZGVmYXVsdD0xLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJDaHVuayBudW1iZXIgdG8gcnVuIikK
KyAgICBjaHVua2luZ19ncm91cC5hZGRfYXJndW1lbnQoIi0tY2h1bmstdHlwZSIsIGFjdGlvbj0i
c3RvcmUiLCBjaG9pY2VzPVsibm9uZSIsICJlcXVhbF90aW1lIiwgImhhc2giLCAiZGlyX2hhc2gi
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1Ob25lLCBoZWxwPSJD
aHVua2luZyB0eXBlIHRvIHVzZSIpCisKKyAgICBzc2xfZ3JvdXAgPSBwYXJzZXIuYWRkX2FyZ3Vt
ZW50X2dyb3VwKCJTU0wvVExTIikKKyAgICBzc2xfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXNzbC10
eXBlIiwgYWN0aW9uPSJzdG9yZSIsIGRlZmF1bHQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNob2ljZXM9WyJvcGVuc3NsIiwgInByZWdlbmVyYXRlZCIsICJub25lIl0sCisgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJUeXBlIG9mIHNzbCBzdXBwb3J0IHRvIGVuYWJsZSAocnVu
bmluZyB3aXRob3V0IHNzbCBtYXkgbGVhZCB0byBzcHVyaW91cyBlcnJvcnMpIikKKworICAgIHNz
bF9ncm91cC5hZGRfYXJndW1lbnQoIi0tb3BlbnNzbC1iaW5hcnkiLCBhY3Rpb249InN0b3JlIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8gb3BlbnNzbCBiaW5hcnkiLCBk
ZWZhdWx0PSJvcGVuc3NsIikKKyAgICBzc2xfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLWNlcnR1dGls
LWJpbmFyeSIsIGFjdGlvbj0ic3RvcmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i
UGF0aCB0byBjZXJ0dXRpbCBiaW5hcnkgZm9yIHVzZSB3aXRoIEZpcmVmb3ggKyBzc2wiKQorCisg
ICAgc3NsX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1jYS1jZXJ0LXBhdGgiLCBhY3Rpb249InN0b3Jl
IiwgdHlwZT1hYnNfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8g
Y2EgY2VydGlmaWNhdGUgd2hlbiB1c2luZyBwcmVnZW5lcmF0ZWQgc3NsIGNlcnRpZmljYXRlcyIp
CisgICAgc3NsX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1ob3N0LWtleS1wYXRoIiwgYWN0aW9uPSJz
dG9yZSIsIHR5cGU9YWJzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXRo
IHRvIGhvc3QgcHJpdmF0ZSBrZXkgd2hlbiB1c2luZyBwcmVnZW5lcmF0ZWQgc3NsIGNlcnRpZmlj
YXRlcyIpCisgICAgc3NsX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1ob3N0LWNlcnQtcGF0aCIsIGFj
dGlvbj0ic3RvcmUiLCB0eXBlPWFic19wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iUGF0aCB0byBob3N0IGNlcnRpZmljYXRlIHdoZW4gdXNpbmcgcHJlZ2VuZXJhdGVkIHNzbCBj
ZXJ0aWZpY2F0ZXMiKQorCisgICAgZ2Vja29fZ3JvdXAgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dy
b3VwKCJHZWNrby1zcGVjaWZpYyIpCisgICAgZ2Vja29fZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXBy
ZWZzLXJvb3QiLCBkZXN0PSJwcmVmc19yb290IiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9YWJzX3Bh
dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8gdGhlIGZvbGRl
ciBjb250YWluaW5nIGJyb3dzZXIgcHJlZnMiKQorICAgIGdlY2tvX2dyb3VwLmFkZF9hcmd1bWVu
dCgiLS1kaXNhYmxlLWUxMHMiLCBkZXN0PSJnZWNrb19lMTBzIiwgYWN0aW9uPSJzdG9yZV9mYWxz
ZSIsIGRlZmF1bHQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUnVu
IHRlc3RzIHdpdGhvdXQgZWxlY3Ryb2x5c2lzIHByZWZlcmVuY2VzIikKKyAgICBnZWNrb19ncm91
cC5hZGRfYXJndW1lbnQoIi0tc3RhY2tmaXgtZGlyIiwgZGVzdD0ic3RhY2tmaXhfZGlyIiwgYWN0
aW9uPSJzdG9yZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8g
ZGlyZWN0b3J5IGNvbnRhaW5pbmcgYXNzZXJ0aW9uIHN0YWNrIGZpeGluZyBzY3JpcHRzIikKKyAg
ICBnZWNrb19ncm91cC5hZGRfYXJndW1lbnQoIi0tc2V0cHJlZiIsIGRlc3Q9ImV4dHJhX3ByZWZz
IiwgYWN0aW9uPSdhcHBlbmQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0
PVtdLCBtZXRhdmFyPSJQUkVGPVZBTFVFIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0iRGVmaW5lcyBhbiBleHRyYSB1c2VyIHByZWZlcmVuY2UgKG92ZXJyaWRlcyB0aG9zZSBp
biBwcmVmc19yb290KSIpCisKKyAgICBzZXJ2b19ncm91cCA9IHBhcnNlci5hZGRfYXJndW1lbnRf
Z3JvdXAoIlNlcnZvLXNwZWNpZmljIikKKyAgICBzZXJ2b19ncm91cC5hZGRfYXJndW1lbnQoIi0t
dXNlci1zdHlsZXNoZWV0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1b
XSwgYWN0aW9uPSJhcHBlbmQiLCBkZXN0PSJ1c2VyX3N0eWxlc2hlZXRzIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iSW5qZWN0IGEgdXNlciBDU1Mgc3R5bGVzaGVldCBpbnRv
IGV2ZXJ5IHRlc3QuIikKKworICAgIHNhdWNlX2dyb3VwID0gcGFyc2VyLmFkZF9hcmd1bWVudF9n
cm91cCgiU2F1Y2UgTGFicy1zcGVjaWZpYyIpCisgICAgc2F1Y2VfZ3JvdXAuYWRkX2FyZ3VtZW50
KCItLXNhdWNlLWJyb3dzZXIiLCBkZXN0PSJzYXVjZV9icm93c2VyIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iU2F1Y2UgTGFicyBicm93c2VyIG5hbWUiKQorICAgIHNhdWNl
X2dyb3VwLmFkZF9hcmd1bWVudCgiLS1zYXVjZS1wbGF0Zm9ybSIsIGRlc3Q9InNhdWNlX3BsYXRm
b3JtIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU2F1Y2UgTGFicyBPUyBw
bGF0Zm9ybSIpCisgICAgc2F1Y2VfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXNhdWNlLXZlcnNpb24i
LCBkZXN0PSJzYXVjZV92ZXJzaW9uIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0iU2F1Y2UgTGFicyBicm93c2VyIHZlcnNpb24iKQorICAgIHNhdWNlX2dyb3VwLmFkZF9hcmd1
bWVudCgiLS1zYXVjZS1idWlsZCIsIGRlc3Q9InNhdWNlX2J1aWxkIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0iU2F1Y2UgTGFicyBidWlsZCBpZGVudGlmaWVyIikKKyAgICBz
YXVjZV9ncm91cC5hZGRfYXJndW1lbnQoIi0tc2F1Y2UtdGFncyIsIGRlc3Q9InNhdWNlX3RhZ3Mi
LCBuYXJncz0iKiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlNhdWNlIExh
YnMgaWRlbnRpZnlpbmcgdGFnIiwgZGVmYXVsdD1bXSkKKyAgICBzYXVjZV9ncm91cC5hZGRfYXJn
dW1lbnQoIi0tc2F1Y2UtdHVubmVsLWlkIiwgZGVzdD0ic2F1Y2VfdHVubmVsX2lkIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU2F1Y2UgQ29ubmVjdCB0dW5uZWwgaWRlbnRp
ZmllciIpCisgICAgc2F1Y2VfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXNhdWNlLXVzZXIiLCBkZXN0
PSJzYXVjZV91c2VyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU2F1Y2Ug
TGFicyB1c2VyIG5hbWUiKQorICAgIHNhdWNlX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1zYXVjZS1r
ZXkiLCBkZXN0PSJzYXVjZV9rZXkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZh
dWx0PW9zLmVudmlyb24uZ2V0KCJTQVVDRV9BQ0NFU1NfS0VZIiksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9IlNhdWNlIExhYnMgYWNjZXNzIGtleSIpCisgICAgc2F1Y2VfZ3Jv
dXAuYWRkX2FyZ3VtZW50KCItLXNhdWNlLWNvbm5lY3QtYmluYXJ5IiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGVzdD0ic2F1Y2VfY29ubmVjdF9iaW5hcnkiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIFNhdWNlIENvbm5lY3QgYmluYXJ5IikKKwor
ICAgIHBhcnNlci5hZGRfYXJndW1lbnQoInRlc3RfbGlzdCIsIG5hcmdzPSIqIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9Ikxpc3Qgb2YgVVJMcyBmb3IgdGVzdHMgdG8gcnVuLCBvciBw
YXRocyBpbmNsdWRpbmcgdGVzdHMgdG8gcnVuLiAiCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICIoZXF1aXZhbGVudCB0byAtLWluY2x1ZGUpIikKKworICAgIGNvbW1hbmRsaW5lLmFkZF9s
b2dnaW5nX2dyb3VwKHBhcnNlcikKKyAgICByZXR1cm4gcGFyc2VyCisKKworZGVmIHNldF9mcm9t
X2NvbmZpZyhrd2FyZ3MpOgorICAgIGlmIGt3YXJnc1siY29uZmlnIl0gaXMgTm9uZToKKyAgICAg
ICAgY29uZmlnX3BhdGggPSBjb25maWcucGF0aCgpCisgICAgZWxzZToKKyAgICAgICAgY29uZmln
X3BhdGggPSBrd2FyZ3NbImNvbmZpZyJdCisKKyAgICBrd2FyZ3NbImNvbmZpZ19wYXRoIl0gPSBj
b25maWdfcGF0aAorCisgICAga3dhcmdzWyJjb25maWciXSA9IGNvbmZpZy5yZWFkKGt3YXJnc1si
Y29uZmlnX3BhdGgiXSkKKworICAgIGtleXMgPSB7InBhdGhzIjogWygicHJlZnMiLCAicHJlZnNf
cm9vdCIsIFRydWUpLAorICAgICAgICAgICAgICAgICAgICAgICgicnVuX2luZm8iLCAicnVuX2lu
Zm8iLCBUcnVlKV0sCisgICAgICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzIjogWygicmVtb3Rl
X3VybCIsICJyZW1vdGVfdXJsIiwgRmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoImJyYW5jaCIsICJicmFuY2giLCBGYWxzZSksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICgic3luY19wYXRoIiwgInN5bmNfcGF0aCIsIFRydWUpXSwKKyAgICAg
ICAgICAgICJTU0wiOiBbKCJvcGVuc3NsX2JpbmFyeSIsICJvcGVuc3NsX2JpbmFyeSIsIFRydWUp
LAorICAgICAgICAgICAgICAgICAgICAoImNlcnR1dGlsX2JpbmFyeSIsICJjZXJ0dXRpbF9iaW5h
cnkiLCBUcnVlKSwKKyAgICAgICAgICAgICAgICAgICAgKCJjYV9jZXJ0X3BhdGgiLCAiY2FfY2Vy
dF9wYXRoIiwgVHJ1ZSksCisgICAgICAgICAgICAgICAgICAgICgiaG9zdF9jZXJ0X3BhdGgiLCAi
aG9zdF9jZXJ0X3BhdGgiLCBUcnVlKSwKKyAgICAgICAgICAgICAgICAgICAgKCJob3N0X2tleV9w
YXRoIiwgImhvc3Rfa2V5X3BhdGgiLCBUcnVlKV19CisKKyAgICBmb3Igc2VjdGlvbiwgdmFsdWVz
IGluIGtleXMuaXRlcml0ZW1zKCk6CisgICAgICAgIGZvciBjb25maWdfdmFsdWUsIGt3X3ZhbHVl
LCBpc19wYXRoIGluIHZhbHVlczoKKyAgICAgICAgICAgIGlmIGt3X3ZhbHVlIGluIGt3YXJncyBh
bmQga3dhcmdzW2t3X3ZhbHVlXSBpcyBOb25lOgorICAgICAgICAgICAgICAgIGlmIG5vdCBpc19w
YXRoOgorICAgICAgICAgICAgICAgICAgICBuZXdfdmFsdWUgPSBrd2FyZ3NbImNvbmZpZyJdLmdl
dChzZWN0aW9uLCBjb25maWcuQ29uZmlnRGljdCh7fSkpLmdldChjb25maWdfdmFsdWUpCisgICAg
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbmV3X3ZhbHVlID0ga3dhcmdz
WyJjb25maWciXS5nZXQoc2VjdGlvbiwgY29uZmlnLkNvbmZpZ0RpY3Qoe30pKS5nZXRfcGF0aChj
b25maWdfdmFsdWUpCisgICAgICAgICAgICAgICAga3dhcmdzW2t3X3ZhbHVlXSA9IG5ld192YWx1
ZQorCisgICAga3dhcmdzWyJ0ZXN0X3BhdGhzIl0gPSBnZXRfdGVzdF9wYXRocyhrd2FyZ3NbImNv
bmZpZyJdKQorCisgICAgaWYga3dhcmdzWyJ0ZXN0c19yb290Il06CisgICAgICAgIGlmICIvIiBu
b3QgaW4ga3dhcmdzWyJ0ZXN0X3BhdGhzIl06CisgICAgICAgICAgICBrd2FyZ3NbInRlc3RfcGF0
aHMiXVsiLyJdID0ge30KKyAgICAgICAga3dhcmdzWyJ0ZXN0X3BhdGhzIl1bIi8iXVsidGVzdHNf
cGF0aCJdID0ga3dhcmdzWyJ0ZXN0c19yb290Il0KKworICAgIGlmIGt3YXJnc1sibWV0YWRhdGFf
cm9vdCJdOgorICAgICAgICBpZiAiLyIgbm90IGluIGt3YXJnc1sidGVzdF9wYXRocyJdOgorICAg
ICAgICAgICAga3dhcmdzWyJ0ZXN0X3BhdGhzIl1bIi8iXSA9IHt9CisgICAgICAgIGt3YXJnc1si
dGVzdF9wYXRocyJdWyIvIl1bIm1ldGFkYXRhX3BhdGgiXSA9IGt3YXJnc1sibWV0YWRhdGFfcm9v
dCJdCisKKyAgICBrd2FyZ3NbInN1aXRlX25hbWUiXSA9IGt3YXJnc1siY29uZmlnIl0uZ2V0KCJ3
ZWItcGxhdGZvcm0tdGVzdHMiLCB7fSkuZ2V0KCJuYW1lIiwgIndlYi1wbGF0Zm9ybS10ZXN0cyIp
CisKKworZGVmIGdldF90ZXN0X3BhdGhzKGNvbmZpZyk6CisgICAgIyBTZXQgdXAgdGVzdF9wYXRo
cworICAgIHRlc3RfcGF0aHMgPSBPcmRlcmVkRGljdCgpCisKKyAgICBmb3Igc2VjdGlvbiBpbiBj
b25maWcuaXRlcmtleXMoKToKKyAgICAgICAgaWYgc2VjdGlvbi5zdGFydHN3aXRoKCJtYW5pZmVz
dDoiKToKKyAgICAgICAgICAgIG1hbmlmZXN0X29wdHMgPSBjb25maWcuZ2V0KHNlY3Rpb24pCisg
ICAgICAgICAgICB1cmxfYmFzZSA9IG1hbmlmZXN0X29wdHMuZ2V0KCJ1cmxfYmFzZSIsICIvIikK
KyAgICAgICAgICAgIHRlc3RfcGF0aHNbdXJsX2Jhc2VdID0geworICAgICAgICAgICAgICAgICJ0
ZXN0c19wYXRoIjogbWFuaWZlc3Rfb3B0cy5nZXRfcGF0aCgidGVzdHMiKSwKKyAgICAgICAgICAg
ICAgICAibWV0YWRhdGFfcGF0aCI6IG1hbmlmZXN0X29wdHMuZ2V0X3BhdGgoIm1ldGFkYXRhIil9
CisKKyAgICByZXR1cm4gdGVzdF9wYXRocworCisKK2RlZiBleGVfcGF0aChuYW1lKToKKyAgICBp
ZiBuYW1lIGlzIE5vbmU6CisgICAgICAgIHJldHVybgorCisgICAgcGF0aCA9IGZpbmRfZXhlY3V0
YWJsZShuYW1lKQorICAgIGlmIG9zLmFjY2VzcyhwYXRoLCBvcy5YX09LKToKKyAgICAgICAgcmV0
dXJuIHBhdGgKKworCitkZWYgY2hlY2tfYXJncyhrd2FyZ3MpOgorICAgIHNldF9mcm9tX2NvbmZp
Zyhrd2FyZ3MpCisKKyAgICBmb3IgdGVzdF9wYXRocyBpbiBrd2FyZ3NbInRlc3RfcGF0aHMiXS5p
dGVydmFsdWVzKCk6CisgICAgICAgIGlmIG5vdCAoInRlc3RzX3BhdGgiIGluIHRlc3RfcGF0aHMg
YW5kCisgICAgICAgICAgICAgICAgIm1ldGFkYXRhX3BhdGgiIGluIHRlc3RfcGF0aHMpOgorICAg
ICAgICAgICAgcHJpbnQgIkZhdGFsOiBtdXN0IHNwZWNpZnkgYm90aCBhIHRlc3QgcGF0aCBhbmQg
bWV0YWRhdGEgcGF0aCIKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgIGZvciBrZXks
IHBhdGggaW4gdGVzdF9wYXRocy5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgIG5hbWUgPSBrZXku
c3BsaXQoIl8iLCAxKVswXQorCisgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGF0
aCk6CisgICAgICAgICAgICAgICAgcHJpbnQgIkZhdGFsOiAlcyBwYXRoICVzIGRvZXMgbm90IGV4
aXN0IiAlIChuYW1lLCBwYXRoKQorICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICAg
ICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKHBhdGgpOgorICAgICAgICAgICAgICAgIHByaW50
ICJGYXRhbDogJXMgcGF0aCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiICUgKG5hbWUsIHBhdGgpCisg
ICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkKKworICAgIGlmIGt3YXJnc1sicHJvZHVjdCJdIGlz
IE5vbmU6CisgICAgICAgIGt3YXJnc1sicHJvZHVjdCJdID0gImZpcmVmb3giCisKKyAgICBpZiAi
c2F1Y2UiIGluIGt3YXJnc1sicHJvZHVjdCJdOgorICAgICAgICBrd2FyZ3NbInBhdXNlX2FmdGVy
X3Rlc3QiXSA9IEZhbHNlCisKKyAgICBpZiBrd2FyZ3NbInRlc3RfbGlzdCJdOgorICAgICAgICBp
ZiBrd2FyZ3NbImluY2x1ZGUiXSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGt3YXJnc1siaW5j
bHVkZSJdLmV4dGVuZChrd2FyZ3NbInRlc3RfbGlzdCJdKQorICAgICAgICBlbHNlOgorICAgICAg
ICAgICAga3dhcmdzWyJpbmNsdWRlIl0gPSBrd2FyZ3NbInRlc3RfbGlzdCJdCisKKyAgICBpZiBr
d2FyZ3NbInJ1bl9pbmZvIl0gaXMgTm9uZToKKyAgICAgICAga3dhcmdzWyJydW5faW5mbyJdID0g
a3dhcmdzWyJjb25maWdfcGF0aCJdCisKKyAgICBpZiBrd2FyZ3NbInRoaXNfY2h1bmsiXSA+IDE6
CisgICAgICAgIHJlcXVpcmVfYXJnKGt3YXJncywgInRvdGFsX2NodW5rcyIsIGxhbWJkYSB4OiB4
ID49IGt3YXJnc1sidGhpc19jaHVuayJdKQorCisgICAgaWYga3dhcmdzWyJjaHVua190eXBlIl0g
aXMgTm9uZToKKyAgICAgICAgaWYga3dhcmdzWyJ0b3RhbF9jaHVua3MiXSA+IDE6CisgICAgICAg
ICAgICBrd2FyZ3NbImNodW5rX3R5cGUiXSA9ICJkaXJfaGFzaCIKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIGt3YXJnc1siY2h1bmtfdHlwZSJdID0gIm5vbmUiCisKKyAgICBpZiBrd2FyZ3Nb
InByb2Nlc3NlcyJdIGlzIE5vbmU6CisgICAgICAgIGt3YXJnc1sicHJvY2Vzc2VzIl0gPSAxCisK
KyAgICBpZiBrd2FyZ3NbImRlYnVnZ2VyIl0gaXMgbm90IE5vbmU6CisgICAgICAgIGltcG9ydCBt
b3pkZWJ1ZworICAgICAgICBpZiBrd2FyZ3NbImRlYnVnZ2VyIl0gPT0gIl9fZGVmYXVsdF9fIjoK
KyAgICAgICAgICAgIGt3YXJnc1siZGVidWdnZXIiXSA9IG1vemRlYnVnLmdldF9kZWZhdWx0X2Rl
YnVnZ2VyX25hbWUoKQorICAgICAgICBkZWJ1Z19pbmZvID0gbW96ZGVidWcuZ2V0X2RlYnVnZ2Vy
X2luZm8oa3dhcmdzWyJkZWJ1Z2dlciJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAga3dhcmdzWyJkZWJ1Z2dlcl9hcmdzIl0pCisgICAgICAgIGlmIGRl
YnVnX2luZm8gYW5kIGRlYnVnX2luZm8uaW50ZXJhY3RpdmU6CisgICAgICAgICAgICBpZiBrd2Fy
Z3NbInByb2Nlc3NlcyJdICE9IDE6CisgICAgICAgICAgICAgICAga3dhcmdzWyJwcm9jZXNzZXMi
XSA9IDEKKyAgICAgICAgICAgIGt3YXJnc1sibm9fY2FwdHVyZV9zdGRpbyJdID0gVHJ1ZQorICAg
ICAgICBrd2FyZ3NbImRlYnVnX2luZm8iXSA9IGRlYnVnX2luZm8KKyAgICBlbHNlOgorICAgICAg
ICBrd2FyZ3NbImRlYnVnX2luZm8iXSA9IE5vbmUKKworICAgIGlmIGt3YXJnc1siYmluYXJ5Il0g
aXMgbm90IE5vbmU6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhrd2FyZ3NbImJpbmFy
eSJdKToKKyAgICAgICAgICAgIHByaW50ID4+IHN5cy5zdGRlcnIsICJCaW5hcnkgcGF0aCAlcyBk
b2VzIG5vdCBleGlzdCIgJSBrd2FyZ3NbImJpbmFyeSJdCisgICAgICAgICAgICBzeXMuZXhpdCgx
KQorCisgICAgaWYga3dhcmdzWyJzc2xfdHlwZSJdIGlzIE5vbmU6CisgICAgICAgIGlmIE5vbmUg
bm90IGluIChrd2FyZ3NbImNhX2NlcnRfcGF0aCJdLCBrd2FyZ3NbImhvc3RfY2VydF9wYXRoIl0s
IGt3YXJnc1siaG9zdF9rZXlfcGF0aCJdKToKKyAgICAgICAgICAgIGt3YXJnc1sic3NsX3R5cGUi
XSA9ICJwcmVnZW5lcmF0ZWQiCisgICAgICAgIGVsaWYgZXhlX3BhdGgoa3dhcmdzWyJvcGVuc3Ns
X2JpbmFyeSJdKSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGt3YXJnc1sic3NsX3R5cGUiXSA9
ICJvcGVuc3NsIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAga3dhcmdzWyJzc2xfdHlwZSJd
ID0gIm5vbmUiCisKKyAgICBpZiBrd2FyZ3NbInNzbF90eXBlIl0gPT0gInByZWdlbmVyYXRlZCI6
CisgICAgICAgIHJlcXVpcmVfYXJnKGt3YXJncywgImNhX2NlcnRfcGF0aCIsIGxhbWJkYSB4Om9z
LnBhdGguZXhpc3RzKHgpKQorICAgICAgICByZXF1aXJlX2FyZyhrd2FyZ3MsICJob3N0X2NlcnRf
cGF0aCIsIGxhbWJkYSB4Om9zLnBhdGguZXhpc3RzKHgpKQorICAgICAgICByZXF1aXJlX2FyZyhr
d2FyZ3MsICJob3N0X2tleV9wYXRoIiwgbGFtYmRhIHg6b3MucGF0aC5leGlzdHMoeCkpCisKKyAg
ICBlbGlmIGt3YXJnc1sic3NsX3R5cGUiXSA9PSAib3BlbnNzbCI6CisgICAgICAgIHBhdGggPSBl
eGVfcGF0aChrd2FyZ3NbIm9wZW5zc2xfYmluYXJ5Il0pCisgICAgICAgIGlmIHBhdGggaXMgTm9u
ZToKKyAgICAgICAgICAgIHByaW50ID4+IHN5cy5zdGRlcnIsICJvcGVuc3NsLWJpbmFyeSBhcmd1
bWVudCBtaXNzaW5nIG9yIG5vdCBhIHZhbGlkIGV4ZWN1dGFibGUiCisgICAgICAgICAgICBzeXMu
ZXhpdCgxKQorICAgICAgICBrd2FyZ3NbIm9wZW5zc2xfYmluYXJ5Il0gPSBwYXRoCisKKyAgICBp
ZiBrd2FyZ3NbInNzbF90eXBlIl0gIT0gIm5vbmUiIGFuZCBrd2FyZ3NbInByb2R1Y3QiXSA9PSAi
ZmlyZWZveCI6CisgICAgICAgIHBhdGggPSBleGVfcGF0aChrd2FyZ3NbImNlcnR1dGlsX2JpbmFy
eSJdKQorICAgICAgICBpZiBwYXRoIGlzIE5vbmU6CisgICAgICAgICAgICBwcmludCA+PiBzeXMu
c3RkZXJyLCAiY2VydHV0aWwtYmluYXJ5IGFyZ3VtZW50IG1pc3Npbmcgb3Igbm90IGEgdmFsaWQg
ZXhlY3V0YWJsZSIKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgIGt3YXJnc1siY2Vy
dHV0aWxfYmluYXJ5Il0gPSBwYXRoCisKKyAgICBpZiBrd2FyZ3NbJ2V4dHJhX3ByZWZzJ106Cisg
ICAgICAgIG1pc3NpbmcgPSBhbnkoJz0nIG5vdCBpbiBwcmVmYXJnIGZvciBwcmVmYXJnIGluIGt3
YXJnc1snZXh0cmFfcHJlZnMnXSkKKyAgICAgICAgaWYgbWlzc2luZzoKKyAgICAgICAgICAgIHBy
aW50ID4+IHN5cy5zdGRlcnIsICJQcmVmZXJlbmNlcyB2aWEgLS1zZXRwcmVmIG11c3QgYmUgaW4g
a2V5PXZhbHVlIGZvcm1hdCIKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgIGt3YXJn
c1snZXh0cmFfcHJlZnMnXSA9IFt0dXBsZShwcmVmYXJnLnNwbGl0KCc9JywgMSkpIGZvciBwcmVm
YXJnIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZ3NbJ2V4dHJhX3By
ZWZzJ11dCisKKyAgICByZXR1cm4ga3dhcmdzCisKKworZGVmIGNoZWNrX2FyZ3NfdXBkYXRlKGt3
YXJncyk6CisgICAgc2V0X2Zyb21fY29uZmlnKGt3YXJncykKKworICAgIGlmIGt3YXJnc1sicHJv
ZHVjdCJdIGlzIE5vbmU6CisgICAgICAgIGt3YXJnc1sicHJvZHVjdCJdID0gImZpcmVmb3giCisK
KworZGVmIGNyZWF0ZV9wYXJzZXJfdXBkYXRlKHByb2R1Y3RfY2hvaWNlcz1Ob25lKToKKyAgICBm
cm9tIG1vemxvZy5zdHJ1Y3R1cmVkIGltcG9ydCBjb21tYW5kbGluZQorCisgICAgaW1wb3J0IHBy
b2R1Y3RzCisKKyAgICBpZiBwcm9kdWN0X2Nob2ljZXMgaXMgTm9uZToKKyAgICAgICAgY29uZmln
X2RhdGEgPSBjb25maWcubG9hZCgpCisgICAgICAgIHByb2R1Y3RfY2hvaWNlcyA9IHByb2R1Y3Rz
LnByb2R1Y3RzX2VuYWJsZWQoY29uZmlnX2RhdGEpCisKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5B
cmd1bWVudFBhcnNlcigid2ViLXBsYXRmb3JtLXRlc3RzLXVwZGF0ZSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249IlVwZGF0ZSBzY3JpcHQgZm9yIHdl
Yi1wbGF0Zm9ybS10ZXN0cyB0ZXN0cy4iKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tcHJv
ZHVjdCIsIGFjdGlvbj0ic3RvcmUiLCBjaG9pY2VzPXByb2R1Y3RfY2hvaWNlcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGRlZmF1bHQ9Tm9uZSwgaGVscD0iQnJvd3NlciBmb3Igd2hpY2ggbWV0
YWRhdGEgaXMgYmVpbmcgdXBkYXRlZCIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1jb25m
aWciLCBhY3Rpb249InN0b3JlIiwgdHlwZT1hYnNfcGF0aCwgaGVscD0iUGF0aCB0byBjb25maWcg
ZmlsZSIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1tZXRhZGF0YSIsIGFjdGlvbj0ic3Rv
cmUiLCB0eXBlPWFic19wYXRoLCBkZXN0PSJtZXRhZGF0YV9yb290IiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IlBhdGggdG8gdGhlIGZvbGRlciBjb250YWluaW5nIHRlc3QgbWV0YWRh
dGEiKSwKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXRlc3RzIiwgYWN0aW9uPSJzdG9yZSIs
IHR5cGU9YWJzX3BhdGgsIGRlc3Q9InRlc3RzX3Jvb3QiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0iUGF0aCB0byB3ZWItcGxhdGZvcm0tdGVzdHMiKSwKKyAgICBwYXJzZXIuYWRkX2Fy
Z3VtZW50KCItLXN5bmMtcGF0aCIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPWFic19wYXRoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iUGF0aCB0byBzdG9yZSBnaXQgY2hlY2tvdXQgb2Yg
d2ViLXBsYXRmb3JtLXRlc3RzIGR1cmluZyB1cGRhdGUiKSwKKyAgICBwYXJzZXIuYWRkX2FyZ3Vt
ZW50KCItLXJlbW90ZV91cmwiLCBhY3Rpb249InN0b3JlIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGhlbHA9IlVSTCBvZiB3ZWItcGxhdGZyb20tdGVzdHMgcmVwb3NpdG9yeSB0byBzeW5jIGFn
YWluc3QiKSwKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLWJyYW5jaCIsIGFjdGlvbj0ic3Rv
cmUiLCB0eXBlPWFic19wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUmVtb3Rl
IGJyYW5jaCB0byBzeW5jIGFnYWluc3QiKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tcmV2
IiwgYWN0aW9uPSJzdG9yZSIsIGhlbHA9IlJldmlzaW9uIHRvIHN5bmMgdG8iKQorICAgIHBhcnNl
ci5hZGRfYXJndW1lbnQoIi0tbm8tcGF0Y2giLCBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0iRG9uJ3QgY3JlYXRlIGFuIG1xIHBhdGNoIG9yIGdpdCBj
b21taXQgY29udGFpbmluZyB0aGUgY2hhbmdlcy4iKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQo
Ii0tc3luYyIsIGRlc3Q9InN5bmMiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNl
LAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU3luYyB0aGUgdGVzdHMgd2l0aCB0aGUg
bGF0ZXN0IGZyb20gdXBzdHJlYW0iKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0taWdub3Jl
LWV4aXN0aW5nIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iV2hlbiB1cGRhdGluZyB0ZXN0
IHJlc3VsdHMgb25seSBjb25zaWRlciByZXN1bHRzIGZyb20gdGhlIGxvZ2ZpbGVzIHByb3ZpZGVk
LCBub3QgZXhpc3RpbmcgZXhwZWN0YXRpb25zLiIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgi
LS1jb250aW51ZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9IkNvbnRpbnVlIGEgcHJldmlv
dXNseSBzdGFydGVkIHJ1biBvZiB0aGUgdXBkYXRlIHNjcmlwdCIpCisgICAgcGFyc2VyLmFkZF9h
cmd1bWVudCgiLS1hYm9ydCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9IkNsZWFyIHN0YXRl
IGZyb20gYSBwcmV2aW91cyBpbmNvbXBsZXRlIHJ1biBvZiB0aGUgdXBkYXRlIHNjcmlwdCIpCisg
ICAgIyBTaG91bGQgbWFrZSB0aGlzIHJlcXVpcmVkIGlmZiBydW49bG9nZmlsZQorICAgIHBhcnNl
ci5hZGRfYXJndW1lbnQoInJ1bl9sb2ciLCBuYXJncz0iKiIsIHR5cGU9YWJzX3BhdGgsCisgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJMb2cgZmlsZSBmcm9tIHJ1biBvZiB0ZXN0cyIpCisg
ICAgY29tbWFuZGxpbmUuYWRkX2xvZ2dpbmdfZ3JvdXAocGFyc2VyKQorICAgIHJldHVybiBwYXJz
ZXIKKworCitkZWYgY3JlYXRlX3BhcnNlcl9yZWR1Y2UocHJvZHVjdF9jaG9pY2VzPU5vbmUpOgor
ICAgIHBhcnNlciA9IGNyZWF0ZV9wYXJzZXIocHJvZHVjdF9jaG9pY2VzKQorICAgIHBhcnNlci5h
ZGRfYXJndW1lbnQoInRhcmdldCIsIGFjdGlvbj0ic3RvcmUiLCBoZWxwPSJUZXN0IGlkIHRoYXQg
aXMgdW5zdGFibGUiKQorICAgIHJldHVybiBwYXJzZXIKKworCitkZWYgcGFyc2VfYXJncygpOgor
ICAgIHBhcnNlciA9IGNyZWF0ZV9wYXJzZXIoKQorICAgIHJ2ID0gdmFycyhwYXJzZXIucGFyc2Vf
YXJncygpKQorICAgIGNoZWNrX2FyZ3MocnYpCisgICAgcmV0dXJuIHJ2CisKKworZGVmIHBhcnNl
X2FyZ3NfdXBkYXRlKCk6CisgICAgcGFyc2VyID0gY3JlYXRlX3BhcnNlcl91cGRhdGUoKQorICAg
IHJ2ID0gdmFycyhwYXJzZXIucGFyc2VfYXJncygpKQorICAgIGNoZWNrX2FyZ3NfdXBkYXRlKHJ2
KQorICAgIHJldHVybiBydgorCisKK2RlZiBwYXJzZV9hcmdzX3JlZHVjZSgpOgorICAgIHBhcnNl
ciA9IGNyZWF0ZV9wYXJzZXJfcmVkdWNlKCkKKyAgICBydiA9IHZhcnMocGFyc2VyLnBhcnNlX2Fy
Z3MoKSkKKyAgICBjaGVja19hcmdzKHJ2KQorICAgIHJldHVybiBydgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3dwdGxvZ2dpbmcucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bG9nZ2luZy5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xYWI2NzU1YzQzNTIzYWNkOGUyZmY4MTgyMmM4YmEyMDY4YjJkOTA2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdGxvZ2dpbmcucHkKQEAgLTAsMCArMSwxMjEgQEAK
K2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgc3lzCitpbXBvcnQgdGhyZWFkaW5nCitmcm9tIFN0cmlu
Z0lPIGltcG9ydCBTdHJpbmdJTworZnJvbSBtdWx0aXByb2Nlc3NpbmcgaW1wb3J0IFF1ZXVlCisK
K2Zyb20gbW96bG9nIGltcG9ydCBjb21tYW5kbGluZSwgc3RkYWRhcHRlcgorCitkZWYgc2V0dXAo
YXJncywgZGVmYXVsdHMpOgorICAgIGxvZ2dlciA9IGNvbW1hbmRsaW5lLnNldHVwX2xvZ2dpbmco
IndlYi1wbGF0Zm9ybS10ZXN0cyIsIGFyZ3MsIGRlZmF1bHRzKQorICAgIHNldHVwX3N0ZGxpYl9s
b2dnZXIoKQorCisgICAgZm9yIG5hbWUgaW4gYXJncy5rZXlzKCk6CisgICAgICAgIGlmIG5hbWUu
c3RhcnRzd2l0aCgibG9nXyIpOgorICAgICAgICAgICAgYXJncy5wb3AobmFtZSkKKworICAgIHJl
dHVybiBsb2dnZXIKKworCitkZWYgc2V0dXBfc3RkbGliX2xvZ2dlcigpOgorICAgIGxvZ2dpbmcu
cm9vdC5oYW5kbGVycyA9IFtdCisgICAgbG9nZ2luZy5yb290ID0gc3RkYWRhcHRlci5zdGRfbG9n
Z2luZ19hZGFwdGVyKGxvZ2dpbmcucm9vdCkKKworCitjbGFzcyBMb2dMZXZlbFJld3JpdGVyKG9i
amVjdCk6CisgICAgIiIiRmlsdGVyIHRoYXQgcmVwbGFjZXMgbG9nIG1lc3NhZ2VzIGF0IHNwZWNp
ZmllZCBsZXZlbHMgd2l0aCBtZXNzYWdlcworICAgIGF0IGEgZGlmZmVyZW50IGxldmVsLgorCisg
ICAgVGhpcyBjYW4gYmUgdXNlZCB0byBlLmcuIGRvd25ncmFkZSBsb2cgbWVzc2FnZXMgZnJvbSBF
UlJPUiB0byBXQVJOSU5HCisgICAgaW4gc29tZSBjb21wb25lbnQgd2hlcmUgRVJST1JzIGFyZSBu
b3QgY3JpdGljYWwuCisKKyAgICA6cGFyYW0gaW5uZXI6IEhhbmRsZXIgdG8gdXNlIGZvciBtZXNz
YWdlcyB0aGF0IHBhc3MgdGhpcyBmaWx0ZXIKKyAgICA6cGFyYW0gZnJvbV9sZXZlbHM6IExpc3Qg
b2YgbGV2ZWxzIHdoaWNoIHNob3VsZCBiZSBhZmZlY3RlZAorICAgIDpwYXJhbSB0b19sZXZlbDog
TG9nIGxldmVsIHRvIHNldCBmb3IgdGhlIGFmZmVjdGVkIG1lc3NhZ2VzCisgICAgIiIiCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGlubmVyLCBmcm9tX2xldmVscywgdG9fbGV2ZWwpOgorICAgICAg
ICBzZWxmLmlubmVyID0gaW5uZXIKKyAgICAgICAgc2VsZi5mcm9tX2xldmVscyA9IFtpdGVtLnVw
cGVyKCkgZm9yIGl0ZW0gaW4gZnJvbV9sZXZlbHNdCisgICAgICAgIHNlbGYudG9fbGV2ZWwgPSB0
b19sZXZlbC51cHBlcigpCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgZGF0YSk6CisgICAgICAg
IGlmIGRhdGFbImFjdGlvbiJdID09ICJsb2ciIGFuZCBkYXRhWyJsZXZlbCJdLnVwcGVyKCkgaW4g
c2VsZi5mcm9tX2xldmVsczoKKyAgICAgICAgICAgIGRhdGEgPSBkYXRhLmNvcHkoKQorICAgICAg
ICAgICAgZGF0YVsibGV2ZWwiXSA9IHNlbGYudG9fbGV2ZWwKKyAgICAgICAgcmV0dXJuIHNlbGYu
aW5uZXIoZGF0YSkKKworCisKK2NsYXNzIExvZ1RocmVhZCh0aHJlYWRpbmcuVGhyZWFkKToKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgcXVldWUsIGxvZ2dlciwgbGV2ZWwpOgorICAgICAgICBzZWxm
LnF1ZXVlID0gcXVldWUKKyAgICAgICAgc2VsZi5sb2dfZnVuYyA9IGdldGF0dHIobG9nZ2VyLCBs
ZXZlbCkKKyAgICAgICAgdGhyZWFkaW5nLlRocmVhZC5fX2luaXRfXyhzZWxmLCBuYW1lPSJUaHJl
YWQtTG9nIikKKyAgICAgICAgc2VsZi5kYWVtb24gPSBUcnVlCisKKyAgICBkZWYgcnVuKHNlbGYp
OgorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAg
IG1zZyA9IHNlbGYucXVldWUuZ2V0KCkKKyAgICAgICAgICAgIGV4Y2VwdCAoRU9GRXJyb3IsIElP
RXJyb3IpOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBpZiBtc2cgaXMgTm9u
ZToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICBzZWxmLmxvZ19mdW5jKG1zZykKKworCitjbGFzcyBMb2dnaW5nV3JhcHBlcihTdHJpbmdJ
Tyk6CisgICAgIiIiV3JhcHBlciBmb3IgZmlsZSBsaWtlIG9iamVjdHMgdG8gcmVkaXJlY3Qgb3V0
cHV0IHRvIGxvZ2dlcgorICAgIGluc3RlYWQiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBx
dWV1ZSwgcHJlZml4PU5vbmUpOgorICAgICAgICBTdHJpbmdJTy5fX2luaXRfXyhzZWxmKQorICAg
ICAgICBzZWxmLnF1ZXVlID0gcXVldWUKKyAgICAgICAgc2VsZi5wcmVmaXggPSBwcmVmaXgKKwor
ICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShkYXRhLCBz
dHIpOgorICAgICAgICAgICAgZGF0YSA9IGRhdGEuZGVjb2RlKCJ1dGY4IikKKworICAgICAgICBp
ZiBkYXRhLmVuZHN3aXRoKCJcbiIpOgorICAgICAgICAgICAgZGF0YSA9IGRhdGFbOi0xXQorICAg
ICAgICBpZiBkYXRhLmVuZHN3aXRoKCJcciIpOgorICAgICAgICAgICAgZGF0YSA9IGRhdGFbOi0x
XQorICAgICAgICBpZiBub3QgZGF0YToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBpZiBz
ZWxmLnByZWZpeCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGRhdGEgPSAiJXM6ICVzIiAlIChz
ZWxmLnByZWZpeCwgZGF0YSkKKyAgICAgICAgc2VsZi5xdWV1ZS5wdXQoZGF0YSkKKworICAgIGRl
ZiBmbHVzaChzZWxmKToKKyAgICAgICAgcGFzcworCisKK2NsYXNzIENhcHR1cmVJTyhvYmplY3Qp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIGRvX2NhcHR1cmUpOgorICAgICAgICBz
ZWxmLmxvZ2dlciA9IGxvZ2dlcgorICAgICAgICBzZWxmLmRvX2NhcHR1cmUgPSBkb19jYXB0dXJl
CisgICAgICAgIHNlbGYubG9nZ2luZ19xdWV1ZSA9IE5vbmUKKyAgICAgICAgc2VsZi5sb2dnaW5n
X3RocmVhZCA9IE5vbmUKKyAgICAgICAgc2VsZi5vcmlnaW5hbF9zdGRpbyA9IE5vbmUKKworICAg
IGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIGlmIHNlbGYuZG9fY2FwdHVyZToKKyAgICAg
ICAgICAgIHNlbGYub3JpZ2luYWxfc3RkaW8gPSAoc3lzLnN0ZG91dCwgc3lzLnN0ZGVycikKKyAg
ICAgICAgICAgIHNlbGYubG9nZ2luZ19xdWV1ZSA9IFF1ZXVlKCkKKyAgICAgICAgICAgIHNlbGYu
bG9nZ2luZ190aHJlYWQgPSBMb2dUaHJlYWQoc2VsZi5sb2dnaW5nX3F1ZXVlLCBzZWxmLmxvZ2dl
ciwgImluZm8iKQorICAgICAgICAgICAgc3lzLnN0ZG91dCA9IExvZ2dpbmdXcmFwcGVyKHNlbGYu
bG9nZ2luZ19xdWV1ZSwgcHJlZml4PSJTVERPVVQiKQorICAgICAgICAgICAgc3lzLnN0ZGVyciA9
IExvZ2dpbmdXcmFwcGVyKHNlbGYubG9nZ2luZ19xdWV1ZSwgcHJlZml4PSJTVERFUlIiKQorICAg
ICAgICAgICAgc2VsZi5sb2dnaW5nX3RocmVhZC5zdGFydCgpCisKKyAgICBkZWYgX19leGl0X18o
c2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgaWYgc2VsZi5kb19jYXB0dXJlOgorICAg
ICAgICAgICAgc3lzLnN0ZG91dCwgc3lzLnN0ZGVyciA9IHNlbGYub3JpZ2luYWxfc3RkaW8KKyAg
ICAgICAgICAgIGlmIHNlbGYubG9nZ2luZ19xdWV1ZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
ICAgICBzZWxmLmxvZ2dlci5pbmZvKCJDbG9zaW5nIGxvZ2dpbmcgcXVldWUiKQorICAgICAgICAg
ICAgICAgIHNlbGYubG9nZ2luZ19xdWV1ZS5wdXQoTm9uZSkKKyAgICAgICAgICAgICAgICBpZiBz
ZWxmLmxvZ2dpbmdfdGhyZWFkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICBzZWxm
LmxvZ2dpbmdfdGhyZWFkLmpvaW4oMTApCisgICAgICAgICAgICAgICAgc2VsZi5sb2dnaW5nX3F1
ZXVlLmNsb3NlKCkKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJxdWV1ZSBjbG9z
ZWQiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L19faW5pdF9fLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiNjQ3ODRj
N2U2Njc4MjY1OGJjY2VmMDFlY2M5MTBjNzY4NDViZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvd3B0bWFuaWZlc3QvX19pbml0X18ucHkKQEAgLTAsMCArMSw0IEBACitmcm9tIHNl
cmlhbGl6ZXIgaW1wb3J0IHNlcmlhbGl6ZQorZnJvbSBwYXJzZXIgaW1wb3J0IHBhcnNlCitmcm9t
IGJhY2tlbmRzLnN0YXRpYyBpbXBvcnQgY29tcGlsZSBhcyBjb21waWxlX3N0YXRpYworZnJvbSBi
YWNrZW5kcy5jb25kaXRpb25hbCBpbXBvcnQgY29tcGlsZSBhcyBjb21waWxlX2NvbmRpdGlvbgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRzL19faW5pdF9fLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRzL19faW5pdF9fLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE2ODM0YjgyODVhNTZiZWYwZTE1NDNmZDkwMWM3ZTZmMmY4YmMyMDIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvYmFja2VuZHMvX19pbml0X18ucHkKQEAg
LTAsMCArMSBAQAorIyBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2gg
dGhpcyBkaXJlY3RvcnkgZm9yIG1vZHVsZXMuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRzL2NvbmRpdGlvbmFs
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRzL2NvbmRpdGlvbmFsLnB5Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYwZjRlY2YzMzVmZjNjNjYwYmI0Mzc0MDkxZmNiNmEzZTcyYmVmZmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvYmFja2VuZHMvY29uZGl0aW9u
YWwucHkKQEAgLTAsMCArMSwzMzAgQEAKK2ltcG9ydCBvcGVyYXRvcgorCitmcm9tIC4ubm9kZSBp
bXBvcnQgTm9kZVZpc2l0b3IsIERhdGFOb2RlLCBDb25kaXRpb25hbE5vZGUsIEtleVZhbHVlTm9k
ZSwgTGlzdE5vZGUsIFZhbHVlTm9kZQorZnJvbSAuLnBhcnNlciBpbXBvcnQgcGFyc2UKKworCitj
bGFzcyBDb25kaXRpb25hbFZhbHVlKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5v
ZGUsIGNvbmRpdGlvbl9mdW5jKToKKyAgICAgICAgc2VsZi5ub2RlID0gbm9kZQorICAgICAgICBz
ZWxmLmNvbmRpdGlvbl9mdW5jID0gY29uZGl0aW9uX2Z1bmMKKyAgICAgICAgaWYgaXNpbnN0YW5j
ZShub2RlLCBDb25kaXRpb25hbE5vZGUpOgorICAgICAgICAgICAgYXNzZXJ0IGxlbihub2RlLmNo
aWxkcmVuKSA9PSAyCisgICAgICAgICAgICBzZWxmLmNvbmRpdGlvbl9ub2RlID0gc2VsZi5ub2Rl
LmNoaWxkcmVuWzBdCisgICAgICAgICAgICBzZWxmLnZhbHVlX25vZGUgPSBzZWxmLm5vZGUuY2hp
bGRyZW5bMV0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG5v
ZGUsIChWYWx1ZU5vZGUsIExpc3ROb2RlKSkKKyAgICAgICAgICAgIHNlbGYuY29uZGl0aW9uX25v
ZGUgPSBOb25lCisgICAgICAgICAgICBzZWxmLnZhbHVlX25vZGUgPSBzZWxmLm5vZGUKKworICAg
IEBwcm9wZXJ0eQorICAgIGRlZiB2YWx1ZShzZWxmKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShz
ZWxmLnZhbHVlX25vZGUsIFZhbHVlTm9kZSk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi52YWx1
ZV9ub2RlLmRhdGEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBbaXRlbS5kYXRh
IGZvciBpdGVtIGluIHNlbGYudmFsdWVfbm9kZS5jaGlsZHJlbl0KKworICAgIEB2YWx1ZS5zZXR0
ZXIKKyAgICBkZWYgdmFsdWUoc2VsZiwgdmFsdWUpOgorICAgICAgICBzZWxmLnZhbHVlX25vZGUu
ZGF0YSA9IHZhbHVlCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgcnVuX2luZm8pOgorICAgICAg
ICByZXR1cm4gc2VsZi5jb25kaXRpb25fZnVuYyhydW5faW5mbykKKworICAgIGRlZiBzZXRfdmFs
dWUoc2VsZiwgdmFsdWUpOgorICAgICAgICBzZWxmLnZhbHVlID0gdmFsdWUKKworICAgIGRlZiBy
ZW1vdmUoc2VsZik6CisgICAgICAgIGlmIGxlbihzZWxmLm5vZGUucGFyZW50LmNoaWxkcmVuKSA9
PSAxOgorICAgICAgICAgICAgc2VsZi5ub2RlLnBhcmVudC5yZW1vdmUoKQorICAgICAgICBzZWxm
Lm5vZGUucmVtb3ZlKCkKKworCitjbGFzcyBDb21waWxlcihOb2RlVmlzaXRvcik6CisgICAgZGVm
IGNvbXBpbGUoc2VsZiwgdHJlZSwgZGF0YV9jbHNfZ2V0dGVyPU5vbmUsICoqa3dhcmdzKToKKyAg
ICAgICAgIiIiQ29tcGlsZSBhIHJhdyBBU1QgaW50byBhIGZvcm0gd2hlcmUgY29uZGl0aW9uYWwg
ZXhwcmVzc2lvbnMKKyAgICAgICAgYXJlIHJlcHJlc2VudGVkIGJ5IENvbmRpdGlvbmFsVmFsdWUg
b2JqZWN0cyB0aGF0IGNhbiBiZSBldmFsdWF0ZWQKKyAgICAgICAgYXQgcnVudGltZS4KKworICAg
ICAgICB0cmVlIC0gVGhlIHJvb3Qgbm9kZSBvZiB0aGUgd3B0bWFuaWZlc3QgQVNUIHRvIGNvbXBp
bGUKKworICAgICAgICBkYXRhX2Nsc19nZXR0ZXIgLSBBIGZ1bmN0aW9uIHRha2luZyB0d28gcGFy
YW1ldGVyczsgdGhlIHByZXZpb3VzCisgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCBu
b2RlIGFuZCB0aGUgY3VycmVudCBhc3Qgbm9kZSBhbmQgcmV0dXJuaW5nCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoZSBjbGFzcyBvZiB0aGUgb3V0cHV0IG5vZGUgdG8gdXNlIGZvciB0aGUg
Y3VycmVudAorICAgICAgICAgICAgICAgICAgICAgICAgICBhc3Qgbm9kZQorICAgICAgICAiIiIK
KyAgICAgICAgaWYgZGF0YV9jbHNfZ2V0dGVyIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmRh
dGFfY2xzX2dldHRlciA9IGxhbWJkYSB4LCB5OiBNYW5pZmVzdEl0ZW0KKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIHNlbGYuZGF0YV9jbHNfZ2V0dGVyID0gZGF0YV9jbHNfZ2V0dGVyCisKKyAg
ICAgICAgc2VsZi50cmVlID0gdHJlZQorICAgICAgICBzZWxmLm91dHB1dF9ub2RlID0gc2VsZi5f
aW5pdGlhbF9vdXRwdXRfbm9kZSh0cmVlLCAqKmt3YXJncykKKyAgICAgICAgc2VsZi52aXNpdCh0
cmVlKQorICAgICAgICBhc3NlcnQgc2VsZi5vdXRwdXRfbm9kZSBpcyBub3QgTm9uZQorICAgICAg
ICByZXR1cm4gc2VsZi5vdXRwdXRfbm9kZQorCisgICAgZGVmIGNvbXBpbGVfY29uZGl0aW9uKHNl
bGYsIGNvbmRpdGlvbik6CisgICAgICAgICIiIkNvbXBpbGUgYSBDb25kaXRpb25hbE5vZGUgaW50
byBhIENvbmRpdGlvbmFsVmFsdWUuCisKKyAgICAgICAgY29uZGl0aW9uOiBBIENvbmRpdGlvbmFs
Tm9kZSIiIgorICAgICAgICBkYXRhX25vZGUgPSBEYXRhTm9kZSgpCisgICAgICAgIGtleV92YWx1
ZV9ub2RlID0gS2V5VmFsdWVOb2RlKCkKKyAgICAgICAga2V5X3ZhbHVlX25vZGUuYXBwZW5kKGNv
bmRpdGlvbi5jb3B5KCkpCisgICAgICAgIGRhdGFfbm9kZS5hcHBlbmQoa2V5X3ZhbHVlX25vZGUp
CisgICAgICAgIG1hbmlmZXN0X2l0ZW0gPSBzZWxmLmNvbXBpbGUoZGF0YV9ub2RlKQorICAgICAg
ICByZXR1cm4gbWFuaWZlc3RfaXRlbS5fZGF0YVtOb25lXVswXQorCisgICAgZGVmIF9pbml0aWFs
X291dHB1dF9ub2RlKHNlbGYsIG5vZGUsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYu
ZGF0YV9jbHNfZ2V0dGVyKE5vbmUsIE5vbmUpKG5vZGUsICoqa3dhcmdzKQorCisgICAgZGVmIHZp
c2l0X0RhdGFOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICBpZiBub2RlICE9IHNlbGYudHJlZToK
KyAgICAgICAgICAgIG91dHB1dF9wYXJlbnQgPSBzZWxmLm91dHB1dF9ub2RlCisgICAgICAgICAg
ICBzZWxmLm91dHB1dF9ub2RlID0gc2VsZi5kYXRhX2Nsc19nZXR0ZXIoc2VsZi5vdXRwdXRfbm9k
ZSwgbm9kZSkobm9kZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG91dHB1dF9wYXJlbnQg
PSBOb25lCisKKyAgICAgICAgYXNzZXJ0IHNlbGYub3V0cHV0X25vZGUgaXMgbm90IE5vbmUKKwor
ICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgIHNlbGYudmlz
aXQoY2hpbGQpCisKKyAgICAgICAgaWYgb3V0cHV0X3BhcmVudCBpcyBub3QgTm9uZToKKyAgICAg
ICAgICAgICMgQXBwZW5kIHRvIHRoZSBwYXJlbnQgKmFmdGVyKiBwcm9jZXNzaW5nIGFsbCB0aGUg
bm9kZSBkYXRhCisgICAgICAgICAgICBvdXRwdXRfcGFyZW50LmFwcGVuZChzZWxmLm91dHB1dF9u
b2RlKQorICAgICAgICAgICAgc2VsZi5vdXRwdXRfbm9kZSA9IHNlbGYub3V0cHV0X25vZGUucGFy
ZW50CisKKyAgICAgICAgYXNzZXJ0IHNlbGYub3V0cHV0X25vZGUgaXMgbm90IE5vbmUKKworICAg
IGRlZiB2aXNpdF9LZXlWYWx1ZU5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGtleV92YWx1ZXMg
PSBbXQorICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgIGNv
bmRpdGlvbiwgdmFsdWUgPSBzZWxmLnZpc2l0KGNoaWxkKQorICAgICAgICAgICAga2V5X3ZhbHVl
cy5hcHBlbmQoQ29uZGl0aW9uYWxWYWx1ZShjaGlsZCwgY29uZGl0aW9uKSkKKworICAgICAgICBz
ZWxmLm91dHB1dF9ub2RlLl9hZGRfa2V5X3ZhbHVlKG5vZGUsIGtleV92YWx1ZXMpCisKKyAgICBk
ZWYgdmlzaXRfTGlzdE5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVybiAobGFtYmRhIHg6
VHJ1ZSwgW3NlbGYudmlzaXQoY2hpbGQpIGZvciBjaGlsZCBpbiBub2RlLmNoaWxkcmVuXSkKKwor
ICAgIGRlZiB2aXNpdF9WYWx1ZU5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVybiAobGFt
YmRhIHg6IFRydWUsIG5vZGUuZGF0YSkKKworICAgIGRlZiB2aXNpdF9BdG9tTm9kZShzZWxmLCBu
b2RlKToKKyAgICAgICAgcmV0dXJuIChsYW1iZGEgeDogVHJ1ZSwgbm9kZS5kYXRhKQorCisgICAg
ZGVmIHZpc2l0X0NvbmRpdGlvbmFsTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIHNl
bGYudmlzaXQobm9kZS5jaGlsZHJlblswXSksIHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblsxXSkK
KworICAgIGRlZiB2aXNpdF9TdHJpbmdOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICBpbmRleGVz
ID0gW3NlbGYudmlzaXQoY2hpbGQpIGZvciBjaGlsZCBpbiBub2RlLmNoaWxkcmVuXQorCisgICAg
ICAgIGRlZiB2YWx1ZSh4KToKKyAgICAgICAgICAgIHJ2ID0gbm9kZS5kYXRhCisgICAgICAgICAg
ICBmb3IgaW5kZXggaW4gaW5kZXhlczoKKyAgICAgICAgICAgICAgICBydiA9IHJ2W2luZGV4KHgp
XQorICAgICAgICAgICAgcmV0dXJuIHJ2CisgICAgICAgIHJldHVybiB2YWx1ZQorCisgICAgZGVm
IHZpc2l0X051bWJlck5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGlmICIuIiBpbiBub2RlLmRh
dGE6CisgICAgICAgICAgICByZXR1cm4gbGFtYmRhIHg6IGZsb2F0KG5vZGUuZGF0YSkKKyAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBsYW1iZGEgeDogaW50KG5vZGUuZGF0YSkKKwor
ICAgIGRlZiB2aXNpdF9WYXJpYWJsZU5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGluZGV4ZXMg
PSBbc2VsZi52aXNpdChjaGlsZCkgZm9yIGNoaWxkIGluIG5vZGUuY2hpbGRyZW5dCisKKyAgICAg
ICAgZGVmIHZhbHVlKHgpOgorICAgICAgICAgICAgZGF0YSA9IHhbbm9kZS5kYXRhXQorICAgICAg
ICAgICAgZm9yIGluZGV4IGluIGluZGV4ZXM6CisgICAgICAgICAgICAgICAgZGF0YSA9IGRhdGFb
aW5kZXgoeCldCisgICAgICAgICAgICByZXR1cm4gZGF0YQorICAgICAgICByZXR1cm4gdmFsdWUK
KworICAgIGRlZiB2aXNpdF9JbmRleE5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGFzc2VydCBs
ZW4obm9kZS5jaGlsZHJlbikgPT0gMQorICAgICAgICByZXR1cm4gc2VsZi52aXNpdChub2RlLmNo
aWxkcmVuWzBdKQorCisgICAgZGVmIHZpc2l0X1VuYXJ5RXhwcmVzc2lvbk5vZGUoc2VsZiwgbm9k
ZSk6CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5jaGlsZHJlbikgPT0gMgorICAgICAgICBvcGVy
YXRvciA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblswXSkKKyAgICAgICAgb3BlcmFuZCA9IHNl
bGYudmlzaXQobm9kZS5jaGlsZHJlblsxXSkKKworICAgICAgICByZXR1cm4gbGFtYmRhIHg6IG9w
ZXJhdG9yKG9wZXJhbmQoeCkpCisKKyAgICBkZWYgdmlzaXRfQmluYXJ5RXhwcmVzc2lvbk5vZGUo
c2VsZiwgbm9kZSk6CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5jaGlsZHJlbikgPT0gMworICAg
ICAgICBvcGVyYXRvciA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblswXSkKKyAgICAgICAgb3Bl
cmFuZF8wID0gc2VsZi52aXNpdChub2RlLmNoaWxkcmVuWzFdKQorICAgICAgICBvcGVyYW5kXzEg
PSBzZWxmLnZpc2l0KG5vZGUuY2hpbGRyZW5bMl0pCisKKyAgICAgICAgYXNzZXJ0IG9wZXJhbmRf
MCBpcyBub3QgTm9uZQorICAgICAgICBhc3NlcnQgb3BlcmFuZF8xIGlzIG5vdCBOb25lCisKKyAg
ICAgICAgcmV0dXJuIGxhbWJkYSB4OiBvcGVyYXRvcihvcGVyYW5kXzAoeCksIG9wZXJhbmRfMSh4
KSkKKworICAgIGRlZiB2aXNpdF9VbmFyeU9wZXJhdG9yTm9kZShzZWxmLCBub2RlKToKKyAgICAg
ICAgcmV0dXJuIHsibm90Ijogb3BlcmF0b3Iubm90X31bbm9kZS5kYXRhXQorCisgICAgZGVmIHZp
c2l0X0JpbmFyeU9wZXJhdG9yTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIHsiYW5k
Ijogb3BlcmF0b3IuYW5kXywKKyAgICAgICAgICAgICAgICAib3IiOiBvcGVyYXRvci5vcl8sCisg
ICAgICAgICAgICAgICAgIj09Ijogb3BlcmF0b3IuZXEsCisgICAgICAgICAgICAgICAgIiE9Ijog
b3BlcmF0b3IubmV9W25vZGUuZGF0YV0KKworCitjbGFzcyBNYW5pZmVzdEl0ZW0ob2JqZWN0KToK
KyAgICBkZWYgX19pbml0X18oc2VsZiwgbm9kZT1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgIHNl
bGYubm9kZSA9IG5vZGUKKyAgICAgICAgc2VsZi5wYXJlbnQgPSBOb25lCisgICAgICAgIHNlbGYu
Y2hpbGRyZW4gPSBbXQorICAgICAgICBzZWxmLl9kYXRhID0ge30KKworICAgIGRlZiBfX3JlcHJf
XyhzZWxmKToKKyAgICAgICAgcmV0dXJuICI8TWFuaWZlc3RJdGVtICVzPiIgJSAoc2VsZi5ub2Rl
LmRhdGEpCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcnYgPSBbcmVwcihzZWxm
KV0KKyAgICAgICAgZm9yIGl0ZW0gaW4gc2VsZi5jaGlsZHJlbjoKKyAgICAgICAgICAgIHJ2LmV4
dGVuZCgiICAlcyIgJSBsaW5lIGZvciBsaW5lIGluIHN0cihpdGVtKS5zcGxpdCgiXG4iKSkKKyAg
ICAgICAgcmV0dXJuICJcbiIuam9pbihydikKKworICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwg
a2V5KToKKyAgICAgICAgcmV0dXJuIGtleSBpbiBzZWxmLl9kYXRhCisKKyAgICBAcHJvcGVydHkK
KyAgICBkZWYgaXNfZW1wdHkoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2RhdGE6CisgICAgICAg
ICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIGFsbChjaGlsZC5pc19lbXB0eSBmb3Ig
Y2hpbGQgaW4gc2VsZi5jaGlsZHJlbikKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiByb290KHNl
bGYpOgorICAgICAgICBub2RlID0gc2VsZgorICAgICAgICB3aGlsZSBub2RlLnBhcmVudCBpcyBu
b3QgTm9uZToKKyAgICAgICAgICAgIG5vZGUgPSBub2RlLnBhcmVudAorICAgICAgICByZXR1cm4g
bm9kZQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIG5hbWUoc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmLm5vZGUuZGF0YQorCisgICAgZGVmIGhhc19rZXkoc2VsZiwga2V5KToKKyAgICAgICAg
Zm9yIG5vZGUgaW4gW3NlbGYsIHNlbGYucm9vdF06CisgICAgICAgICAgICBpZiBrZXkgaW4gbm9k
ZS5fZGF0YToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gRmFs
c2UKKworICAgIGRlZiBnZXQoc2VsZiwga2V5LCBydW5faW5mbz1Ob25lKToKKyAgICAgICAgaWYg
cnVuX2luZm8gaXMgTm9uZToKKyAgICAgICAgICAgIHJ1bl9pbmZvID0ge30KKworICAgICAgICBm
b3Igbm9kZSBpbiBbc2VsZiwgc2VsZi5yb290XToKKyAgICAgICAgICAgIGlmIGtleSBpbiBub2Rl
Ll9kYXRhOgorICAgICAgICAgICAgICAgIGZvciBjb25kX3ZhbHVlIGluIG5vZGUuX2RhdGFba2V5
XToKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgbWF0
Y2hlcyA9IGNvbmRfdmFsdWUocnVuX2luZm8pCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBL
ZXlFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoZXMgPSBGYWxzZQorICAgICAg
ICAgICAgICAgICAgICBpZiBtYXRjaGVzOgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGNvbmRfdmFsdWUudmFsdWUKKyAgICAgICAgcmFpc2UgS2V5RXJyb3IKKworICAgIGRlZiBzZXQo
c2VsZiwga2V5LCB2YWx1ZSwgY29uZGl0aW9uPU5vbmUpOgorICAgICAgICAjIEZpcnN0IHRyeSB0
byB1cGRhdGUgdGhlIGV4aXN0aW5nIHZhbHVlCisgICAgICAgIGlmIGtleSBpbiBzZWxmLl9kYXRh
OgorICAgICAgICAgICAgY29uZF92YWx1ZXMgPSBzZWxmLl9kYXRhW2tleV0KKyAgICAgICAgICAg
IGZvciBjb25kX3ZhbHVlIGluIGNvbmRfdmFsdWVzOgorICAgICAgICAgICAgICAgIGlmIGNvbmRf
dmFsdWUuY29uZGl0aW9uX25vZGUgPT0gY29uZGl0aW9uOgorICAgICAgICAgICAgICAgICAgICBj
b25kX3ZhbHVlLnZhbHVlID0gdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisgICAg
ICAgICAgICAjIElmIHRoZXJlIGlzbid0IGEgY29uZGl0aW9uYWwgbWF0Y2ggcmV1c2UgdGhlIGV4
aXN0aW5nIEtleVZhbHVlTm9kZSBhcyB0aGUKKyAgICAgICAgICAgICMgcGFyZW50CisgICAgICAg
ICAgICBub2RlID0gTm9uZQorICAgICAgICAgICAgZm9yIGNoaWxkIGluIHNlbGYubm9kZS5jaGls
ZHJlbjoKKyAgICAgICAgICAgICAgICBpZiBjaGlsZC5kYXRhID09IGtleToKKyAgICAgICAgICAg
ICAgICAgICAgbm9kZSA9IGNoaWxkCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAg
ICAgICBhc3NlcnQgbm9kZSBpcyBub3QgTm9uZQorCisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICBub2RlID0gS2V5VmFsdWVOb2RlKGtleSkKKyAgICAgICAgICAgIHNlbGYubm9kZS5hcHBlbmQo
bm9kZSkKKworICAgICAgICB2YWx1ZV9ub2RlID0gVmFsdWVOb2RlKHZhbHVlKQorICAgICAgICBp
ZiBjb25kaXRpb24gaXMgbm90IE5vbmU6CisgICAgICAgICAgICBjb25kaXRpb25hbF9ub2RlID0g
Q29uZGl0aW9uYWxOb2RlKCkKKyAgICAgICAgICAgIGNvbmRpdGlvbmFsX25vZGUuYXBwZW5kKGNv
bmRpdGlvbikKKyAgICAgICAgICAgIGNvbmRpdGlvbmFsX25vZGUuYXBwZW5kKHZhbHVlX25vZGUp
CisgICAgICAgICAgICBub2RlLmFwcGVuZChjb25kaXRpb25hbF9ub2RlKQorICAgICAgICAgICAg
Y29uZF92YWx1ZSA9IENvbXBpbGVyKCkuY29tcGlsZV9jb25kaXRpb24oY29uZGl0aW9uYWxfbm9k
ZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG5vZGUuYXBwZW5kKHZhbHVlX25vZGUpCisg
ICAgICAgICAgICBjb25kX3ZhbHVlID0gQ29uZGl0aW9uYWxWYWx1ZSh2YWx1ZV9ub2RlLCBsYW1i
ZGEgeDogVHJ1ZSkKKworICAgICAgICAjIFVwZGF0ZSB0aGUgY2FjaGUgb2YgY2hpbGQgdmFsdWVz
LiBUaGlzIGlzIHByZXR0eSBhbm5veWluZyBhbmQgbWF5YmUKKyAgICAgICAgIyBpdCBzaG91bGQg
anVzdCB3b3JrIGRpcmVjdGx5IG9uIHRoZSB0cmVlCisgICAgICAgIGlmIGtleSBub3QgaW4gc2Vs
Zi5fZGF0YToKKyAgICAgICAgICAgIHNlbGYuX2RhdGFba2V5XSA9IFtdCisgICAgICAgIGlmIHNl
bGYuX2RhdGFba2V5XSBhbmQgc2VsZi5fZGF0YVtrZXldWy0xXS5jb25kaXRpb25fbm9kZSBpcyBO
b25lOgorICAgICAgICAgICAgc2VsZi5fZGF0YVtrZXldLmluc2VydChsZW4oc2VsZi5fZGF0YVtr
ZXldKSAtIDEsIGNvbmRfdmFsdWUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9k
YXRhW2tleV0uYXBwZW5kKGNvbmRfdmFsdWUpCisKKyAgICBkZWYgX2FkZF9rZXlfdmFsdWUoc2Vs
Ziwgbm9kZSwgdmFsdWVzKToKKyAgICAgICAgIiIiQ2FsbGVkIGR1cmluZyBjb25zdHJ1Y3Rpb24g
dG8gc2V0IGEga2V5LXZhbHVlIG5vZGUiIiIKKyAgICAgICAgc2VsZi5fZGF0YVtub2RlLmRhdGFd
ID0gdmFsdWVzCisKKyAgICBkZWYgYXBwZW5kKHNlbGYsIGNoaWxkKToKKyAgICAgICAgc2VsZi5j
aGlsZHJlbi5hcHBlbmQoY2hpbGQpCisgICAgICAgIGNoaWxkLnBhcmVudCA9IHNlbGYKKyAgICAg
ICAgaWYgY2hpbGQubm9kZS5wYXJlbnQgIT0gc2VsZi5ub2RlOgorICAgICAgICAgICAgc2VsZi5u
b2RlLmFwcGVuZChjaGlsZC5ub2RlKQorICAgICAgICByZXR1cm4gY2hpbGQKKworICAgIGRlZiBy
ZW1vdmUoc2VsZik6CisgICAgICAgIGlmIHNlbGYucGFyZW50OgorICAgICAgICAgICAgc2VsZi5w
YXJlbnQuX3JlbW92ZV9jaGlsZChzZWxmKQorCisgICAgZGVmIF9yZW1vdmVfY2hpbGQoc2VsZiwg
Y2hpbGQpOgorICAgICAgICBzZWxmLmNoaWxkcmVuLnJlbW92ZShjaGlsZCkKKyAgICAgICAgY2hp
bGQucGFyZW50ID0gTm9uZQorCisgICAgZGVmIGl0ZXJjaGlsZHJlbihzZWxmLCBuYW1lPU5vbmUp
OgorICAgICAgICBmb3IgaXRlbSBpbiBzZWxmLmNoaWxkcmVuOgorICAgICAgICAgICAgaWYgaXRl
bS5uYW1lID09IG5hbWUgb3IgbmFtZSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHlpZWxkIGl0
ZW0KKworICAgIGRlZiBfZmxhdHRlbihzZWxmKToKKyAgICAgICAgcnYgPSB7fQorICAgICAgICBm
b3Igbm9kZSBpbiBbc2VsZiwgc2VsZi5yb290XToKKyAgICAgICAgICAgIGZvciBuYW1lLCB2YWx1
ZSBpbiBub2RlLl9kYXRhLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgICAgIGlmIG5hbWUgbm90
IGluIHJ2OgorICAgICAgICAgICAgICAgICAgICBydltuYW1lXSA9IHZhbHVlCisgICAgICAgIHJl
dHVybiBydgorCisgICAgZGVmIGl0ZXJpdGVtcyhzZWxmKToKKyAgICAgICAgZm9yIGl0ZW0gaW4g
c2VsZi5fZmxhdHRlbigpLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgeWllbGQgaXRlbQorCisg
ICAgZGVmIGl0ZXJrZXlzKHNlbGYpOgorICAgICAgICBmb3IgaXRlbSBpbiBzZWxmLl9mbGF0dGVu
KCkuaXRlcmtleXMoKToKKyAgICAgICAgICAgIHlpZWxkIGl0ZW0KKworICAgIGRlZiByZW1vdmVf
dmFsdWUoc2VsZiwga2V5LCB2YWx1ZSk6CisgICAgICAgIHNlbGYuX2RhdGFba2V5XS5yZW1vdmUo
dmFsdWUpCisgICAgICAgIGlmIG5vdCBzZWxmLl9kYXRhW2tleV06CisgICAgICAgICAgICBkZWwg
c2VsZi5fZGF0YVtrZXldCisgICAgICAgIHZhbHVlLnJlbW92ZSgpCisKKworZGVmIGNvbXBpbGVf
YXN0KGFzdCwgZGF0YV9jbHNfZ2V0dGVyPU5vbmUsICoqa3dhcmdzKToKKyAgICByZXR1cm4gQ29t
cGlsZXIoKS5jb21waWxlKGFzdCwgZGF0YV9jbHNfZ2V0dGVyPWRhdGFfY2xzX2dldHRlciwgKipr
d2FyZ3MpCisKKworZGVmIGNvbXBpbGUoc3RyZWFtLCBkYXRhX2Nsc19nZXR0ZXI9Tm9uZSwgKipr
d2FyZ3MpOgorICAgIHJldHVybiBjb21waWxlX2FzdChwYXJzZShzdHJlYW0pLAorICAgICAgICAg
ICAgICAgICAgICAgICBkYXRhX2Nsc19nZXR0ZXI9ZGF0YV9jbHNfZ2V0dGVyLAorICAgICAgICAg
ICAgICAgICAgICAgICAqKmt3YXJncykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5p
ZmVzdC9iYWNrZW5kcy9zdGF0aWMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvYmFja2Vu
ZHMvc3RhdGljLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyYjlmYmU5NDI5ODU5NjY4MmUyZGY4NTllNWU5MTJi
MDJkNTBkYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvYmFj
a2VuZHMvc3RhdGljLnB5CkBAIC0wLDAgKzEsMjIwIEBACitpbXBvcnQgb3BlcmF0b3IKKworZnJv
bSAuLm5vZGUgaW1wb3J0IE5vZGVWaXNpdG9yCitmcm9tIC4ucGFyc2VyIGltcG9ydCBwYXJzZQor
CisKK2NsYXNzIENvbXBpbGVyKE5vZGVWaXNpdG9yKToKKyAgICAiIiJDb21waWxlciBiYWNrZW5k
IHRoYXQgZXZhbHVhdGVzIGNvbmRpdGlvbmFsIGV4cHJlc3Npb25zCisgICAgdG8gZ2l2ZSBzdGF0
aWMgb3V0cHV0IiIiCisKKyAgICBkZWYgY29tcGlsZShzZWxmLCB0cmVlLCBleHByX2RhdGEsIGRh
dGFfY2xzX2dldHRlcj1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgICIiIkNvbXBpbGUgYSByYXcg
QVNUIGludG8gYSBmb3JtIHdpdGggY29uZGl0aW9uYWwgZXhwcmVzc2lvbnMKKyAgICAgICAgZXZh
bHVhdGVkLgorCisgICAgICAgIHRyZWUgLSBUaGUgcm9vdCBub2RlIG9mIHRoZSB3cHRtYW5pZmVz
dCBBU1QgdG8gY29tcGlsZQorCisgICAgICAgIGV4cHJfZGF0YSAtIEEgZGljdGlvbmFyeSBvZiBr
ZXkgLyB2YWx1ZSBwYWlycyB0byB1c2Ugd2hlbgorICAgICAgICAgICAgICAgICAgICBldmFsdWF0
aW5nIGNvbmRpdGlvbmFsIGV4cHJlc3Npb25zCisKKyAgICAgICAgZGF0YV9jbHNfZ2V0dGVyIC0g
QSBmdW5jdGlvbiB0YWtpbmcgdHdvIHBhcmFtZXRlcnM7IHRoZSBwcmV2aW91cworICAgICAgICAg
ICAgICAgICAgICAgICAgICBvdXRwdXQgbm9kZSBhbmQgdGhlIGN1cnJlbnQgYXN0IG5vZGUgYW5k
IHJldHVybmluZworICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xhc3Mgb2YgdGhlIG91
dHB1dCBub2RlIHRvIHVzZSBmb3IgdGhlIGN1cnJlbnQKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgYXN0IG5vZGUKKyAgICAgICAgIiIiCisKKyAgICAgICAgc2VsZi5fa3dhcmdzID0ga3dhcmdz
CisgICAgICAgIHNlbGYuZXhwcl9kYXRhID0gZXhwcl9kYXRhCisKKyAgICAgICAgaWYgZGF0YV9j
bHNfZ2V0dGVyIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmRhdGFfY2xzX2dldHRlciA9IGxh
bWJkYSB4LCB5OiBNYW5pZmVzdEl0ZW0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYu
ZGF0YV9jbHNfZ2V0dGVyID0gZGF0YV9jbHNfZ2V0dGVyCisKKyAgICAgICAgc2VsZi5vdXRwdXRf
bm9kZSA9IE5vbmUKKyAgICAgICAgc2VsZi52aXNpdCh0cmVlKQorICAgICAgICByZXR1cm4gc2Vs
Zi5vdXRwdXRfbm9kZQorCisgICAgZGVmIHZpc2l0X0RhdGFOb2RlKHNlbGYsIG5vZGUpOgorICAg
ICAgICBvdXRwdXRfcGFyZW50ID0gc2VsZi5vdXRwdXRfbm9kZQorICAgICAgICBpZiBzZWxmLm91
dHB1dF9ub2RlIGlzIE5vbmU6CisgICAgICAgICAgICBhc3NlcnQgbm9kZS5wYXJlbnQgaXMgTm9u
ZQorICAgICAgICAgICAgc2VsZi5vdXRwdXRfbm9kZSA9IHNlbGYuZGF0YV9jbHNfZ2V0dGVyKE5v
bmUsIE5vbmUpKE5vbmUsICoqc2VsZi5fa3dhcmdzKQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgc2VsZi5vdXRwdXRfbm9kZSA9IHNlbGYuZGF0YV9jbHNfZ2V0dGVyKHNlbGYub3V0cHV0X25v
ZGUsIG5vZGUpKG5vZGUuZGF0YSkKKworICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJl
bjoKKyAgICAgICAgICAgIHNlbGYudmlzaXQoY2hpbGQpCisKKyAgICAgICAgaWYgb3V0cHV0X3Bh
cmVudCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIG91dHB1dF9wYXJlbnQuYXBwZW5kKHNlbGYu
b3V0cHV0X25vZGUpCisgICAgICAgICAgICBzZWxmLm91dHB1dF9ub2RlID0gc2VsZi5vdXRwdXRf
bm9kZS5wYXJlbnQKKworICAgIGRlZiB2aXNpdF9LZXlWYWx1ZU5vZGUoc2VsZiwgbm9kZSk6Cisg
ICAgICAgIGtleV9uYW1lID0gbm9kZS5kYXRhCisgICAgICAgIGtleV92YWx1ZSA9IE5vbmUKKyAg
ICAgICAgZm9yIGNoaWxkIGluIG5vZGUuY2hpbGRyZW46CisgICAgICAgICAgICB2YWx1ZSA9IHNl
bGYudmlzaXQoY2hpbGQpCisgICAgICAgICAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKKyAgICAg
ICAgICAgICAgICBrZXlfdmFsdWUgPSB2YWx1ZQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAg
ICAgIGlmIGtleV92YWx1ZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYub3V0cHV0X25v
ZGUuc2V0KGtleV9uYW1lLCBrZXlfdmFsdWUpCisKKyAgICBkZWYgdmlzaXRfVmFsdWVOb2RlKHNl
bGYsIG5vZGUpOgorICAgICAgICByZXR1cm4gbm9kZS5kYXRhCisKKyAgICBkZWYgdmlzaXRfQXRv
bU5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVybiBub2RlLmRhdGEKKworICAgIGRlZiB2
aXNpdF9MaXN0Tm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIFtzZWxmLnZpc2l0KGNo
aWxkKSBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbl0KKworICAgIGRlZiB2aXNpdF9Db25kaXRp
b25hbE5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5jaGlsZHJlbikg
PT0gMgorICAgICAgICBpZiBzZWxmLnZpc2l0KG5vZGUuY2hpbGRyZW5bMF0pOgorICAgICAgICAg
ICAgcmV0dXJuIHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblsxXSkKKworICAgIGRlZiB2aXNpdF9T
dHJpbmdOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICB2YWx1ZSA9IG5vZGUuZGF0YQorICAgICAg
ICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgIHZhbHVlID0gc2VsZi52
aXNpdChjaGlsZCkodmFsdWUpCisgICAgICAgIHJldHVybiB2YWx1ZQorCisgICAgZGVmIHZpc2l0
X051bWJlck5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGlmICIuIiBpbiBub2RlLmRhdGE6Cisg
ICAgICAgICAgICByZXR1cm4gZmxvYXQobm9kZS5kYXRhKQorICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgcmV0dXJuIGludChub2RlLmRhdGEpCisKKyAgICBkZWYgdmlzaXRfVmFyaWFibGVOb2Rl
KHNlbGYsIG5vZGUpOgorICAgICAgICB2YWx1ZSA9IHNlbGYuZXhwcl9kYXRhW25vZGUuZGF0YV0K
KyAgICAgICAgZm9yIGNoaWxkIGluIG5vZGUuY2hpbGRyZW46CisgICAgICAgICAgICB2YWx1ZSA9
IHNlbGYudmlzaXQoY2hpbGQpKHZhbHVlKQorICAgICAgICByZXR1cm4gdmFsdWUKKworICAgIGRl
ZiB2aXNpdF9JbmRleE5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5j
aGlsZHJlbikgPT0gMQorICAgICAgICBpbmRleCA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblsw
XSkKKyAgICAgICAgcmV0dXJuIGxhbWJkYSB4OiB4W2luZGV4XQorCisgICAgZGVmIHZpc2l0X1Vu
YXJ5RXhwcmVzc2lvbk5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5j
aGlsZHJlbikgPT0gMgorICAgICAgICBvcGVyYXRvciA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJl
blswXSkKKyAgICAgICAgb3BlcmFuZCA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblsxXSkKKwor
ICAgICAgICByZXR1cm4gb3BlcmF0b3Iob3BlcmFuZCkKKworICAgIGRlZiB2aXNpdF9CaW5hcnlF
eHByZXNzaW9uTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgYXNzZXJ0IGxlbihub2RlLmNoaWxk
cmVuKSA9PSAzCisgICAgICAgIG9wZXJhdG9yID0gc2VsZi52aXNpdChub2RlLmNoaWxkcmVuWzBd
KQorICAgICAgICBvcGVyYW5kXzAgPSBzZWxmLnZpc2l0KG5vZGUuY2hpbGRyZW5bMV0pCisgICAg
ICAgIG9wZXJhbmRfMSA9IHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblsyXSkKKworICAgICAgICBy
ZXR1cm4gb3BlcmF0b3Iob3BlcmFuZF8wLCBvcGVyYW5kXzEpCisKKyAgICBkZWYgdmlzaXRfVW5h
cnlPcGVyYXRvck5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVybiB7Im5vdCI6IG9wZXJh
dG9yLm5vdF99W25vZGUuZGF0YV0KKworICAgIGRlZiB2aXNpdF9CaW5hcnlPcGVyYXRvck5vZGUo
c2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVybiB7ImFuZCI6IG9wZXJhdG9yLmFuZF8sCisgICAg
ICAgICAgICAgICAgIm9yIjogb3BlcmF0b3Iub3JfLAorICAgICAgICAgICAgICAgICI9PSI6IG9w
ZXJhdG9yLmVxLAorICAgICAgICAgICAgICAgICIhPSI6IG9wZXJhdG9yLm5lfVtub2RlLmRhdGFd
CisKKworY2xhc3MgTWFuaWZlc3RJdGVtKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IG5hbWUsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5wYXJlbnQgPSBOb25lCisgICAgICAgIHNl
bGYubmFtZSA9IG5hbWUKKyAgICAgICAgc2VsZi5jaGlsZHJlbiA9IFtdCisgICAgICAgIHNlbGYu
X2RhdGEgPSB7fQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gIjxN
YW5pZmVzdEl0ZW0gJXM+IiAlIChzZWxmLm5hbWUpCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToK
KyAgICAgICAgcnYgPSBbcmVwcihzZWxmKV0KKyAgICAgICAgZm9yIGl0ZW0gaW4gc2VsZi5jaGls
ZHJlbjoKKyAgICAgICAgICAgIHJ2LmV4dGVuZCgiICAlcyIgJSBsaW5lIGZvciBsaW5lIGluIHN0
cihpdGVtKS5zcGxpdCgiXG4iKSkKKyAgICAgICAgcmV0dXJuICJcbiIuam9pbihydikKKworICAg
IEBwcm9wZXJ0eQorICAgIGRlZiBpc19lbXB0eShzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fZGF0
YToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gYWxsKGNoaWxkLmlz
X2VtcHR5IGZvciBjaGlsZCBpbiBzZWxmLmNoaWxkcmVuKQorCisgICAgQHByb3BlcnR5CisgICAg
ZGVmIHJvb3Qoc2VsZik6CisgICAgICAgIG5vZGUgPSBzZWxmCisgICAgICAgIHdoaWxlIG5vZGUu
cGFyZW50IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgbm9kZSA9IG5vZGUucGFyZW50CisgICAg
ICAgIHJldHVybiBub2RlCisKKyAgICBkZWYgaGFzX2tleShzZWxmLCBrZXkpOgorICAgICAgICBm
b3Igbm9kZSBpbiBbc2VsZiwgc2VsZi5yb290XToKKyAgICAgICAgICAgIGlmIGtleSBpbiBub2Rl
Ll9kYXRhOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBGYWxz
ZQorCisgICAgZGVmIGdldChzZWxmLCBrZXkpOgorICAgICAgICBmb3Igbm9kZSBpbiBbc2VsZiwg
c2VsZi5yb290XToKKyAgICAgICAgICAgIGlmIGtleSBpbiBub2RlLl9kYXRhOgorICAgICAgICAg
ICAgICAgIHJldHVybiBub2RlLl9kYXRhW2tleV0KKyAgICAgICAgcmFpc2UgS2V5RXJyb3IKKwor
ICAgIGRlZiBzZXQoc2VsZiwgbmFtZSwgdmFsdWUpOgorICAgICAgICBzZWxmLl9kYXRhW25hbWVd
ID0gdmFsdWUKKworICAgIGRlZiByZW1vdmUoc2VsZik6CisgICAgICAgIGlmIHNlbGYucGFyZW50
OgorICAgICAgICAgICAgc2VsZi5wYXJlbnQuX3JlbW92ZV9jaGlsZChzZWxmKQorCisgICAgZGVm
IF9yZW1vdmVfY2hpbGQoc2VsZiwgY2hpbGQpOgorICAgICAgICBzZWxmLmNoaWxkcmVuLnJlbW92
ZShjaGlsZCkKKyAgICAgICAgY2hpbGQucGFyZW50ID0gTm9uZQorCisgICAgZGVmIGl0ZXJjaGls
ZHJlbihzZWxmLCBuYW1lPU5vbmUpOgorICAgICAgICBmb3IgaXRlbSBpbiBzZWxmLmNoaWxkcmVu
OgorICAgICAgICAgICAgaWYgaXRlbS5uYW1lID09IG5hbWUgb3IgbmFtZSBpcyBOb25lOgorICAg
ICAgICAgICAgICAgIHlpZWxkIGl0ZW0KKworICAgIGRlZiBfZmxhdHRlbihzZWxmKToKKyAgICAg
ICAgcnYgPSB7fQorICAgICAgICBmb3Igbm9kZSBpbiBbc2VsZiwgc2VsZi5yb290XToKKyAgICAg
ICAgICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBub2RlLl9kYXRhLml0ZXJpdGVtcygpOgorICAgICAg
ICAgICAgICAgIGlmIG5hbWUgbm90IGluIHJ2OgorICAgICAgICAgICAgICAgICAgICBydltuYW1l
XSA9IHZhbHVlCisgICAgICAgIHJldHVybiBydgorCisgICAgZGVmIGl0ZXJpdGVtcyhzZWxmKToK
KyAgICAgICAgZm9yIGl0ZW0gaW4gc2VsZi5fZmxhdHRlbigpLml0ZXJpdGVtcygpOgorICAgICAg
ICAgICAgeWllbGQgaXRlbQorCisgICAgZGVmIGl0ZXJrZXlzKHNlbGYpOgorICAgICAgICBmb3Ig
aXRlbSBpbiBzZWxmLl9mbGF0dGVuKCkuaXRlcmtleXMoKToKKyAgICAgICAgICAgIHlpZWxkIGl0
ZW0KKworICAgIGRlZiBpdGVydmFsdWVzKHNlbGYpOgorICAgICAgICBmb3IgaXRlbSBpbiBzZWxm
Ll9mbGF0dGVuKCkuaXRlcnZhbHVlcygpOgorICAgICAgICAgICAgeWllbGQgaXRlbQorCisgICAg
ZGVmIGFwcGVuZChzZWxmLCBjaGlsZCk6CisgICAgICAgIGNoaWxkLnBhcmVudCA9IHNlbGYKKyAg
ICAgICAgc2VsZi5jaGlsZHJlbi5hcHBlbmQoY2hpbGQpCisgICAgICAgIHJldHVybiBjaGlsZAor
CisKK2RlZiBjb21waWxlX2FzdChhc3QsIGV4cHJfZGF0YSwgZGF0YV9jbHNfZ2V0dGVyPU5vbmUs
ICoqa3dhcmdzKToKKyAgICByZXR1cm4gQ29tcGlsZXIoKS5jb21waWxlKGFzdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGV4cHJfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRhdGFfY2xzX2dldHRlcj1kYXRhX2Nsc19nZXR0ZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqKmt3YXJncykKKworCitkZWYgY29tcGlsZShzdHJlYW0sIGV4cHJfZGF0
YSwgZGF0YV9jbHNfZ2V0dGVyPU5vbmUsICoqa3dhcmdzKToKKyAgICByZXR1cm4gY29tcGlsZV9h
c3QocGFyc2Uoc3RyZWFtKSwKKyAgICAgICAgICAgICAgICAgICAgICAgZXhwcl9kYXRhLAorICAg
ICAgICAgICAgICAgICAgICAgICBkYXRhX2Nsc19nZXR0ZXI9ZGF0YV9jbHNfZ2V0dGVyLAorICAg
ICAgICAgICAgICAgICAgICAgICAqKmt3YXJncykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93
cHRtYW5pZmVzdC9iYWNrZW5kcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5p
ZmVzdC9iYWNrZW5kcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNzkzYTJhZGQwMGJjM2Zm
NWI3NWQyMjc5NDY3OWUxNTc0YzExY2VhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3dwdG1hbmlmZXN0L2JhY2tlbmRzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTkgQEAKK1Ro
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6
Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZp
bGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9fX2luaXRfXy5weQorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9jb25kaXRpb25hbC5weQorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9zdGF0aWMucHkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93cHRtYW5pZmVzdC9ub2RlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L25vZGUu
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzNlOTc5NmM0MzBjMzNhYTAzMjg1NTlmMTIwNzlmMjIxMTgwZDY3OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9ub2RlLnB5CkBAIC0w
LDAgKzEsMTU3IEBACitjbGFzcyBOb2RlVmlzaXRvcihvYmplY3QpOgorICAgIGRlZiB2aXNpdChz
ZWxmLCBub2RlKToKKyAgICAgICAgIyBUaGlzIGlzIHVnbHkgYXMgaGVsbCwgYnV0IHdlIGRvbid0
IGhhdmUgbXVsdGltZXRob2RzIGFuZAorICAgICAgICAjIHRoZXkgYXJlbid0IHRyaXZpYWwgdG8g
ZmFrZSB3aXRob3V0IGFjY2VzcyB0byB0aGUgY2xhc3MKKyAgICAgICAgIyBvYmplY3QgZnJvbSB0
aGUgY2xhc3MgYm9keQorICAgICAgICBmdW5jID0gZ2V0YXR0cihzZWxmLCAidmlzaXRfJXMiICUg
KG5vZGUuX19jbGFzc19fLl9fbmFtZV9fKSkKKyAgICAgICAgcmV0dXJuIGZ1bmMobm9kZSkKKwor
CitjbGFzcyBOb2RlKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRhdGE9Tm9uZSk6
CisgICAgICAgIHNlbGYuZGF0YSA9IGRhdGEKKyAgICAgICAgc2VsZi5wYXJlbnQgPSBOb25lCisg
ICAgICAgIHNlbGYuY2hpbGRyZW4gPSBbXQorCisgICAgZGVmIGFwcGVuZChzZWxmLCBvdGhlcik6
CisgICAgICAgIG90aGVyLnBhcmVudCA9IHNlbGYKKyAgICAgICAgc2VsZi5jaGlsZHJlbi5hcHBl
bmQob3RoZXIpCisKKyAgICBkZWYgcmVtb3ZlKHNlbGYpOgorICAgICAgICBzZWxmLnBhcmVudC5j
aGlsZHJlbi5yZW1vdmUoc2VsZikKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAg
cmV0dXJuICI8JXMgJXM+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi5kYXRhKQor
CisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJ2ID0gW3JlcHIoc2VsZildCisgICAg
ICAgIGZvciBpdGVtIGluIHNlbGYuY2hpbGRyZW46CisgICAgICAgICAgICBydi5leHRlbmQoIiAg
JXMiICUgbGluZSBmb3IgbGluZSBpbiBzdHIoaXRlbSkuc3BsaXQoIlxuIikpCisgICAgICAgIHJl
dHVybiAiXG4iLmpvaW4ocnYpCisKKyAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAg
ICAgaWYgbm90IChzZWxmLl9fY2xhc3NfXyA9PSBvdGhlci5fX2NsYXNzX18gYW5kCisgICAgICAg
ICAgICAgICAgc2VsZi5kYXRhID09IG90aGVyLmRhdGEgYW5kCisgICAgICAgICAgICAgICAgbGVu
KHNlbGYuY2hpbGRyZW4pID09IGxlbihvdGhlci5jaGlsZHJlbikpOgorICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCisgICAgICAgIGZvciBjaGlsZCwgb3RoZXJfY2hpbGQgaW4gemlwKHNlbGYuY2hp
bGRyZW4sIG90aGVyLmNoaWxkcmVuKToKKyAgICAgICAgICAgIGlmIG5vdCBjaGlsZCA9PSBvdGhl
cl9jaGlsZDoKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRy
dWUKKworICAgIGRlZiBjb3B5KHNlbGYpOgorICAgICAgICBuZXcgPSBzZWxmLl9fY2xhc3NfXyhz
ZWxmLmRhdGEpCisgICAgICAgIGZvciBpdGVtIGluIHNlbGYuY2hpbGRyZW46CisgICAgICAgICAg
ICBuZXcuYXBwZW5kKGl0ZW0uY29weSgpKQorICAgICAgICByZXR1cm4gbmV3CisKKworY2xhc3Mg
RGF0YU5vZGUoTm9kZSk6CisgICAgZGVmIGFwcGVuZChzZWxmLCBvdGhlcik6CisgICAgICAgICMg
QXBwZW5kIHRoYXQgcmV0YWlucyB0aGUgaW52YXJpYW50IHRoYXQgY2hpbGQgZGF0YSBub2Rlcwor
ICAgICAgICAjIGNvbWUgYWZ0ZXIgY2hpbGQgbm9kZXMgb2Ygb3RoZXIgdHlwZXMKKyAgICAgICAg
b3RoZXIucGFyZW50ID0gc2VsZgorICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBEYXRhTm9k
ZSk6CisgICAgICAgICAgICBzZWxmLmNoaWxkcmVuLmFwcGVuZChvdGhlcikKKyAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgIGluZGV4ID0gbGVuKHNlbGYuY2hpbGRyZW4pCisgICAgICAgICAgICB3
aGlsZSBpbmRleCA+IDAgYW5kIGlzaW5zdGFuY2Uoc2VsZi5jaGlsZHJlbltpbmRleCAtIDFdLCBE
YXRhTm9kZSk6CisgICAgICAgICAgICAgICAgaW5kZXggLT0gMQorICAgICAgICAgICAgZm9yIGkg
aW4geHJhbmdlKGluZGV4KToKKyAgICAgICAgICAgICAgICBhc3NlcnQgb3RoZXIuZGF0YSAhPSBz
ZWxmLmNoaWxkcmVuW2ldLmRhdGEKKyAgICAgICAgICAgIHNlbGYuY2hpbGRyZW4uaW5zZXJ0KGlu
ZGV4LCBvdGhlcikKKworCitjbGFzcyBLZXlWYWx1ZU5vZGUoTm9kZSk6CisgICAgZGVmIGFwcGVu
ZChzZWxmLCBvdGhlcik6CisgICAgICAgICMgQXBwZW5kIHRoYXQgcmV0YWlucyB0aGUgaW52YXJp
YW50IHRoYXQgY29uZGl0aW9uYWwgbm9kZXMKKyAgICAgICAgIyBjb21lIGJlZm9yZSB1bmNvbmRp
dGlvbmFsIG5vZGVzCisgICAgICAgIG90aGVyLnBhcmVudCA9IHNlbGYKKyAgICAgICAgaWYgaXNp
bnN0YW5jZShvdGhlciwgVmFsdWVOb2RlKToKKyAgICAgICAgICAgIGlmIHNlbGYuY2hpbGRyZW46
CisgICAgICAgICAgICAgICAgYXNzZXJ0IG5vdCBpc2luc3RhbmNlKHNlbGYuY2hpbGRyZW5bLTFd
LCBWYWx1ZU5vZGUpCisgICAgICAgICAgICBzZWxmLmNoaWxkcmVuLmFwcGVuZChvdGhlcikKKyAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYuY2hpbGRyZW4gYW5kIGlzaW5zdGFuY2Uo
c2VsZi5jaGlsZHJlblstMV0sIFZhbHVlTm9kZSk6CisgICAgICAgICAgICAgICAgc2VsZi5jaGls
ZHJlbi5pbnNlcnQobGVuKHNlbGYuY2hpbGRyZW4pIC0gMSwgb3RoZXIpCisgICAgICAgICAgICBl
bHNlOgorICAgICAgICAgICAgICAgIHNlbGYuY2hpbGRyZW4uYXBwZW5kKG90aGVyKQorCisKK2Ns
YXNzIExpc3ROb2RlKE5vZGUpOgorICAgIGRlZiBhcHBlbmQoc2VsZiwgb3RoZXIpOgorICAgICAg
ICBvdGhlci5wYXJlbnQgPSBzZWxmCisgICAgICAgIHNlbGYuY2hpbGRyZW4uYXBwZW5kKG90aGVy
KQorCisKK2NsYXNzIFZhbHVlTm9kZShOb2RlKToKKyAgICBkZWYgYXBwZW5kKHNlbGYsIG90aGVy
KToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yCisKKworY2xhc3MgQXRvbU5vZGUoVmFsdWVOb2Rl
KToKKyAgICBwYXNzCisKKworY2xhc3MgQ29uZGl0aW9uYWxOb2RlKE5vZGUpOgorICAgIHBhc3MK
KworCitjbGFzcyBVbmFyeUV4cHJlc3Npb25Ob2RlKE5vZGUpOgorICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBvcGVyYXRvciwgb3BlcmFuZCk6CisgICAgICAgIE5vZGUuX19pbml0X18oc2VsZikKKyAg
ICAgICAgc2VsZi5hcHBlbmQob3BlcmF0b3IpCisgICAgICAgIHNlbGYuYXBwZW5kKG9wZXJhbmQp
CisKKyAgICBkZWYgYXBwZW5kKHNlbGYsIG90aGVyKToKKyAgICAgICAgTm9kZS5hcHBlbmQoc2Vs
Ziwgb3RoZXIpCisgICAgICAgIGFzc2VydCBsZW4oc2VsZi5jaGlsZHJlbikgPD0gMgorCisgICAg
ZGVmIGNvcHkoc2VsZik6CisgICAgICAgIG5ldyA9IHNlbGYuX19jbGFzc19fKHNlbGYuY2hpbGRy
ZW5bMF0uY29weSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNoaWxkcmVu
WzFdLmNvcHkoKSkKKyAgICAgICAgcmV0dXJuIG5ldworCisKK2NsYXNzIEJpbmFyeUV4cHJlc3Np
b25Ob2RlKE5vZGUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcGVyYXRvciwgb3BlcmFuZF8w
LCBvcGVyYW5kXzEpOgorICAgICAgICBOb2RlLl9faW5pdF9fKHNlbGYpCisgICAgICAgIHNlbGYu
YXBwZW5kKG9wZXJhdG9yKQorICAgICAgICBzZWxmLmFwcGVuZChvcGVyYW5kXzApCisgICAgICAg
IHNlbGYuYXBwZW5kKG9wZXJhbmRfMSkKKworICAgIGRlZiBhcHBlbmQoc2VsZiwgb3RoZXIpOgor
ICAgICAgICBOb2RlLmFwcGVuZChzZWxmLCBvdGhlcikKKyAgICAgICAgYXNzZXJ0IGxlbihzZWxm
LmNoaWxkcmVuKSA8PSAzCisKKyAgICBkZWYgY29weShzZWxmKToKKyAgICAgICAgbmV3ID0gc2Vs
Zi5fX2NsYXNzX18oc2VsZi5jaGlsZHJlblswXS5jb3B5KCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlbGYuY2hpbGRyZW5bMV0uY29weSgpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxmLmNoaWxkcmVuWzJdLmNvcHkoKSkKKyAgICAgICAgcmV0dXJuIG5ldworCisK
K2NsYXNzIFVuYXJ5T3BlcmF0b3JOb2RlKE5vZGUpOgorICAgIGRlZiBhcHBlbmQoc2VsZiwgb3Ro
ZXIpOgorICAgICAgICByYWlzZSBUeXBlRXJyb3IKKworCitjbGFzcyBCaW5hcnlPcGVyYXRvck5v
ZGUoTm9kZSk6CisgICAgZGVmIGFwcGVuZChzZWxmLCBvdGhlcik6CisgICAgICAgIHJhaXNlIFR5
cGVFcnJvcgorCisKK2NsYXNzIEluZGV4Tm9kZShOb2RlKToKKyAgICBwYXNzCisKKworY2xhc3Mg
VmFyaWFibGVOb2RlKE5vZGUpOgorICAgIHBhc3MKKworCitjbGFzcyBTdHJpbmdOb2RlKE5vZGUp
OgorICAgIHBhc3MKKworCitjbGFzcyBOdW1iZXJOb2RlKFZhbHVlTm9kZSk6CisgICAgcGFzcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3BhcnNlci5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93cHRtYW5pZmVzdC9wYXJzZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDg0YTkxNDNmYTYzYmRkNDc0
OWUxZDFjNzEyZTk0MTVhNzA2M2JhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93
cHRtYW5pZmVzdC9wYXJzZXIucHkKQEAgLTAsMCArMSw3NDYgQEAKKyNkZWZhdWx0X3ZhbHVlOmZv
bworI2luY2x1ZGU6IG90aGVyLm1hbmlmZXN0CisjCisjW3Rlc3RfbmFtZS5qc10KKyMgIGV4cGVj
dGVkOiBFUlJPUgorIworIyAgW3N1YnRlc3QgMV0KKyMgICAgZXhwZWN0ZWQ6CisjICAgICAgb3Mg
PT0gd2luOiBGQUlMICNUaGlzIGlzIGEgY29tbWVudAorIyAgICAgIFBBU1MKKyMKKworIyBUT0RP
OiBrZWVwIGNvbW1lbnRzIGluIHRoZSB0cmVlCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgdW5p
Y29kZV9saXRlcmFscworCitpbXBvcnQgdHlwZXMKK2Zyb20gY1N0cmluZ0lPIGltcG9ydCBTdHJp
bmdJTworCitmcm9tIG5vZGUgaW1wb3J0ICoKKworCitjbGFzcyBQYXJzZUVycm9yKEV4Y2VwdGlv
bik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBsaW5lLCBkZXRhaWwpOgorICAg
ICAgICBzZWxmLmxpbmUgPSBsaW5lCisgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZQor
ICAgICAgICBzZWxmLmRldGFpbCA9IGRldGFpbAorICAgICAgICBzZWxmLm1lc3NhZ2UgPSAiJXM6
ICVzIGxpbmUgJXMiICUgKHNlbGYuZGV0YWlsLCBzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmUpCisg
ICAgICAgIEV4Y2VwdGlvbi5fX2luaXRfXyhzZWxmLCBzZWxmLm1lc3NhZ2UpCisKK2VvbCA9IG9i
amVjdAorZ3JvdXBfc3RhcnQgPSBvYmplY3QKK2dyb3VwX2VuZCA9IG9iamVjdAorZGlnaXRzID0g
IjAxMjM0NTY3ODkiCitvcGVuX3BhcmVucyA9ICJbKCIKK2Nsb3NlX3BhcmVucyA9ICJdKSIKK3Bh
cmVucyA9IG9wZW5fcGFyZW5zICsgY2xvc2VfcGFyZW5zCitvcGVyYXRvcl9jaGFycyA9ICI9ISIK
KwordW5hcnlfb3BlcmF0b3JzID0gWyJub3QiXQorYmluYXJ5X29wZXJhdG9ycyA9IFsiPT0iLCAi
IT0iLCAiYW5kIiwgIm9yIl0KKworb3BlcmF0b3JzID0gWyI9PSIsICIhPSIsICJub3QiLCAiYW5k
IiwgIm9yIl0KKworYXRvbXMgPSB7IlRydWUiOiBUcnVlLAorICAgICAgICAgIkZhbHNlIjogRmFs
c2UsCisgICAgICAgICAiUmVzZXQiOiBvYmplY3QoKX0KKworZGVmIGRlY29kZShzKToKKyAgICBh
c3NlcnQgaXNpbnN0YW5jZShzLCB1bmljb2RlKQorICAgIHJldHVybiBzCisKKworZGVmIHByZWNl
ZGVuY2Uob3BlcmF0b3Jfbm9kZSk6CisgICAgcmV0dXJuIGxlbihvcGVyYXRvcnMpIC0gb3BlcmF0
b3JzLmluZGV4KG9wZXJhdG9yX25vZGUuZGF0YSkKKworCitjbGFzcyBUb2tlblR5cGVzKG9iamVj
dCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBmb3IgdHlwZSBpbiBbImdyb3Vw
X3N0YXJ0IiwgImdyb3VwX2VuZCIsICJwYXJlbiIsICJsaXN0X3N0YXJ0IiwgImxpc3RfZW5kIiwg
InNlcGFyYXRvciIsICJpZGVudCIsICJzdHJpbmciLCAibnVtYmVyIiwgImF0b20iLCAiZW9mIl06
CisgICAgICAgICAgICBzZXRhdHRyKHNlbGYsIHR5cGUsIHR5cGUpCisKK3Rva2VuX3R5cGVzID0g
VG9rZW5UeXBlcygpCisKKworY2xhc3MgVG9rZW5pemVyKG9iamVjdCk6CisgICAgZGVmIF9faW5p
dF9fKHNlbGYpOgorICAgICAgICBzZWxmLnJlc2V0KCkKKworICAgIGRlZiByZXNldChzZWxmKToK
KyAgICAgICAgc2VsZi5pbmRlbnRfbGV2ZWxzID0gWzBdCisgICAgICAgIHNlbGYuc3RhdGUgPSBz
ZWxmLmxpbmVfc3RhcnRfc3RhdGUKKyAgICAgICAgc2VsZi5uZXh0X3N0YXRlID0gc2VsZi5kYXRh
X2xpbmVfc3RhdGUKKyAgICAgICAgc2VsZi5saW5lX251bWJlciA9IDAKKworICAgIGRlZiB0b2tl
bml6ZShzZWxmLCBzdHJlYW0pOgorICAgICAgICBzZWxmLnJlc2V0KCkKKyAgICAgICAgYXNzZXJ0
IG5vdCBpc2luc3RhbmNlKHN0cmVhbSwgdW5pY29kZSkKKyAgICAgICAgaWYgaXNpbnN0YW5jZShz
dHJlYW0sIHN0cik6CisgICAgICAgICAgICBzdHJlYW0gPSBTdHJpbmdJTyhzdHJlYW0pCisgICAg
ICAgIGlmIG5vdCBoYXNhdHRyKHN0cmVhbSwgIm5hbWUiKToKKyAgICAgICAgICAgIHNlbGYuZmls
ZW5hbWUgPSAiIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5maWxlbmFtZSA9IHN0
cmVhbS5uYW1lCisKKyAgICAgICAgc2VsZi5uZXh0X2xpbmVfc3RhdGUgPSBzZWxmLmxpbmVfc3Rh
cnRfc3RhdGUKKyAgICAgICAgZm9yIGksIGxpbmUgaW4gZW51bWVyYXRlKHN0cmVhbSk6CisgICAg
ICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShsaW5lLCBzdHIpCisgICAgICAgICAgICBzZWxmLnN0
YXRlID0gc2VsZi5uZXh0X2xpbmVfc3RhdGUKKyAgICAgICAgICAgIGFzc2VydCBzZWxmLnN0YXRl
IGlzIG5vdCBOb25lCisgICAgICAgICAgICBzdGF0ZXMgPSBbXQorICAgICAgICAgICAgc2VsZi5u
ZXh0X2xpbmVfc3RhdGUgPSBOb25lCisgICAgICAgICAgICBzZWxmLmxpbmVfbnVtYmVyID0gaSAr
IDEKKyAgICAgICAgICAgIHNlbGYuaW5kZXggPSAwCisgICAgICAgICAgICBzZWxmLmxpbmUgPSBs
aW5lLmRlY29kZSgndXRmLTgnKS5yc3RyaXAoKQorICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFu
Y2Uoc2VsZi5saW5lLCB1bmljb2RlKQorICAgICAgICAgICAgd2hpbGUgc2VsZi5zdGF0ZSAhPSBz
ZWxmLmVvbF9zdGF0ZToKKyAgICAgICAgICAgICAgICBzdGF0ZXMuYXBwZW5kKHNlbGYuc3RhdGUp
CisgICAgICAgICAgICAgICAgdG9rZW5zID0gc2VsZi5zdGF0ZSgpCisgICAgICAgICAgICAgICAg
aWYgdG9rZW5zOgorICAgICAgICAgICAgICAgICAgICBmb3IgdG9rZW4gaW4gdG9rZW5zOgorICAg
ICAgICAgICAgICAgICAgICAgICAgeWllbGQgdG9rZW4KKyAgICAgICAgICAgIHNlbGYuc3RhdGUo
KQorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLmVv
ZiwgTm9uZSkKKworICAgIGRlZiBjaGFyKHNlbGYpOgorICAgICAgICBpZiBzZWxmLmluZGV4ID09
IGxlbihzZWxmLmxpbmUpOgorICAgICAgICAgICAgcmV0dXJuIGVvbAorICAgICAgICByZXR1cm4g
c2VsZi5saW5lW3NlbGYuaW5kZXhdCisKKyAgICBkZWYgY29uc3VtZShzZWxmKToKKyAgICAgICAg
aWYgc2VsZi5pbmRleCA8IGxlbihzZWxmLmxpbmUpOgorICAgICAgICAgICAgc2VsZi5pbmRleCAr
PSAxCisKKyAgICBkZWYgcGVlayhzZWxmLCBsZW5ndGgpOgorICAgICAgICByZXR1cm4gc2VsZi5s
aW5lW3NlbGYuaW5kZXg6c2VsZi5pbmRleCArIGxlbmd0aF0KKworICAgIGRlZiBza2lwX3doaXRl
c3BhY2Uoc2VsZik6CisgICAgICAgIHdoaWxlIHNlbGYuY2hhcigpID09ICIgIjoKKyAgICAgICAg
ICAgIHNlbGYuY29uc3VtZSgpCisKKyAgICBkZWYgZW9sX3N0YXRlKHNlbGYpOgorICAgICAgICBp
ZiBzZWxmLm5leHRfbGluZV9zdGF0ZSBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5uZXh0X2xp
bmVfc3RhdGUgPSBzZWxmLmxpbmVfc3RhcnRfc3RhdGUKKworICAgIGRlZiBsaW5lX3N0YXJ0X3N0
YXRlKHNlbGYpOgorICAgICAgICBzZWxmLnNraXBfd2hpdGVzcGFjZSgpCisgICAgICAgIGlmIHNl
bGYuY2hhcigpID09IGVvbDoKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmVvbF9zdGF0
ZQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIHNlbGYuaW5kZXggPiBzZWxmLmluZGVu
dF9sZXZlbHNbLTFdOgorICAgICAgICAgICAgc2VsZi5pbmRlbnRfbGV2ZWxzLmFwcGVuZChzZWxm
LmluZGV4KQorICAgICAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLmdyb3VwX3N0YXJ0LCBOb25l
KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgd2hpbGUgc2VsZi5pbmRleCA8IHNlbGYuaW5k
ZW50X2xldmVsc1stMV06CisgICAgICAgICAgICAgICAgc2VsZi5pbmRlbnRfbGV2ZWxzLnBvcCgp
CisgICAgICAgICAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLmdyb3VwX2VuZCwgTm9uZSkKKyAg
ICAgICAgICAgICAgICAjIFRoaXMgaXMgdGVycmlibGU7IGlmIHdlIHdlcmUgcGFyc2luZyBhbiBl
eHByZXNzaW9uCisgICAgICAgICAgICAgICAgIyB0aGVuIHRoZSBuZXh0X3N0YXRlIHdpbGwgYmUg
ZXhwcl9vcl92YWx1ZSBidXQgd2hlbiB3ZSBkZWluZGVudAorICAgICAgICAgICAgICAgICMgaXQg
bXVzdCBhbHdheXMgYmUgYSBoZWFkaW5nIG9yIGtleSBuZXh0IHNvIHdlIGdvIGJhY2sgdG8gZGF0
YV9saW5lX3N0YXRlCisgICAgICAgICAgICAgICAgc2VsZi5uZXh0X3N0YXRlID0gc2VsZi5kYXRh
X2xpbmVfc3RhdGUKKyAgICAgICAgICAgIGlmIHNlbGYuaW5kZXggIT0gc2VsZi5pbmRlbnRfbGV2
ZWxzWy0xXToKKyAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUs
IHNlbGYubGluZV9udW1iZXIsICJVbmV4cGVjdGVkIGluZGVudCIpCisKKyAgICAgICAgc2VsZi5z
dGF0ZSA9IHNlbGYubmV4dF9zdGF0ZQorCisgICAgZGVmIGRhdGFfbGluZV9zdGF0ZShzZWxmKToK
KyAgICAgICAgaWYgc2VsZi5jaGFyKCkgPT0gIlsiOgorICAgICAgICAgICAgeWllbGQgKHRva2Vu
X3R5cGVzLnBhcmVuLCBzZWxmLmNoYXIoKSkKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisg
ICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5oZWFkaW5nX3N0YXRlCisgICAgICAgIGVsc2U6
CisgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5rZXlfc3RhdGUKKworICAgIGRlZiBoZWFk
aW5nX3N0YXRlKHNlbGYpOgorICAgICAgICBydiA9ICIiCisgICAgICAgIHdoaWxlIFRydWU6Cisg
ICAgICAgICAgICBjID0gc2VsZi5jaGFyKCkKKyAgICAgICAgICAgIGlmIGMgPT0gIlxcIjoKKyAg
ICAgICAgICAgICAgICBydiArPSBzZWxmLmNvbnN1bWVfZXNjYXBlKCkKKyAgICAgICAgICAgIGVs
aWYgYyA9PSAiXSI6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgYyA9
PSBlb2w6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBz
ZWxmLmxpbmVfbnVtYmVyLCAiRU9MIGluIGhlYWRpbmciKQorICAgICAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgICAgICBydiArPSBjCisgICAgICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKwor
ICAgICAgICB5aWVsZCAodG9rZW5fdHlwZXMuc3RyaW5nLCBkZWNvZGUocnYpKQorICAgICAgICB5
aWVsZCAodG9rZW5fdHlwZXMucGFyZW4sICJdIikKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAg
ICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYubGluZV9lbmRfc3RhdGUKKyAgICAgICAgc2VsZi5uZXh0
X3N0YXRlID0gc2VsZi5kYXRhX2xpbmVfc3RhdGUKKworICAgIGRlZiBrZXlfc3RhdGUoc2VsZik6
CisgICAgICAgIHJ2ID0gIiIKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGMgPSBz
ZWxmLmNoYXIoKQorICAgICAgICAgICAgaWYgYyA9PSAiICI6CisgICAgICAgICAgICAgICAgc2Vs
Zi5za2lwX3doaXRlc3BhY2UoKQorICAgICAgICAgICAgICAgIGlmIHNlbGYuY2hhcigpICE9ICI6
IjoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBz
ZWxmLmxpbmVfbnVtYmVyLCAiU3BhY2UgaW4ga2V5IG5hbWUiKQorICAgICAgICAgICAgICAgIGJy
ZWFrCisgICAgICAgICAgICBlbGlmIGMgPT0gIjoiOgorICAgICAgICAgICAgICAgIGJyZWFrCisg
ICAgICAgICAgICBlbGlmIGMgPT0gZW9sOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhcnNlRXJy
b3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwgIkVPTCBpbiBrZXkgbmFtZSAobWlz
c2luZyAnOic/KSIpCisgICAgICAgICAgICBlbGlmIGMgPT0gIlxcIjoKKyAgICAgICAgICAgICAg
ICBydiArPSBzZWxmLmNvbnN1bWVfZXNjYXBlKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICAgICAgcnYgKz0gYworICAgICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAg
IHlpZWxkICh0b2tlbl90eXBlcy5zdHJpbmcsIGRlY29kZShydikpCisgICAgICAgIHlpZWxkICh0
b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IikKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAg
ICAgc2VsZi5zdGF0ZSA9IHNlbGYuYWZ0ZXJfa2V5X3N0YXRlCisKKyAgICBkZWYgYWZ0ZXJfa2V5
X3N0YXRlKHNlbGYpOgorICAgICAgICBzZWxmLnNraXBfd2hpdGVzcGFjZSgpCisgICAgICAgIGMg
PSBzZWxmLmNoYXIoKQorICAgICAgICBpZiBjID09ICIjIjoKKyAgICAgICAgICAgIHNlbGYubmV4
dF9zdGF0ZSA9IHNlbGYuZXhwcl9vcl92YWx1ZV9zdGF0ZQorICAgICAgICAgICAgc2VsZi5zdGF0
ZSA9IHNlbGYuY29tbWVudF9zdGF0ZQorICAgICAgICBlbGlmIGMgPT0gZW9sOgorICAgICAgICAg
ICAgc2VsZi5uZXh0X3N0YXRlID0gc2VsZi5leHByX29yX3ZhbHVlX3N0YXRlCisgICAgICAgICAg
ICBzZWxmLnN0YXRlID0gc2VsZi5lb2xfc3RhdGUKKyAgICAgICAgZWxpZiBjID09ICJbIjoKKyAg
ICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmxpc3Rfc3RhcnRfc3RhdGUKKyAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLnZhbHVlX3N0YXRlCisKKyAgICBkZWYg
bGlzdF9zdGFydF9zdGF0ZShzZWxmKToKKyAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLmxpc3Rf
c3RhcnQsICJbIikKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgc2VsZi5zdGF0ZSA9
IHNlbGYubGlzdF92YWx1ZV9zdGFydF9zdGF0ZQorCisgICAgZGVmIGxpc3RfdmFsdWVfc3RhcnRf
c3RhdGUoc2VsZik6CisgICAgICAgIHNlbGYuc2tpcF93aGl0ZXNwYWNlKCkKKyAgICAgICAgaWYg
c2VsZi5jaGFyKCkgPT0gIl0iOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYubGlzdF9l
bmRfc3RhdGUKKyAgICAgICAgZWxpZiBzZWxmLmNoYXIoKSBpbiAoIiciLCAnIicpOgorICAgICAg
ICAgICAgcXVvdGVfY2hhciA9IHNlbGYuY2hhcigpCisgICAgICAgICAgICBzZWxmLmNvbnN1bWUo
KQorICAgICAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLnN0cmluZywgc2VsZi5jb25zdW1lX3N0
cmluZyhxdW90ZV9jaGFyKSkKKyAgICAgICAgICAgIHNlbGYuc2tpcF93aGl0ZXNwYWNlKCkKKyAg
ICAgICAgICAgIGlmIHNlbGYuY2hhcigpID09ICJdIjoKKyAgICAgICAgICAgICAgICBzZWxmLnN0
YXRlID0gc2VsZi5saXN0X2VuZF9zdGF0ZQorICAgICAgICAgICAgZWxpZiBzZWxmLmNoYXIoKSAh
PSAiLCI6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBz
ZWxmLmxpbmVfbnVtYmVyLCAiSnVuayBhZnRlciBxdW90ZWQgc3RyaW5nIikKKyAgICAgICAgICAg
IHNlbGYuY29uc3VtZSgpCisgICAgICAgIGVsaWYgc2VsZi5jaGFyKCkgPT0gIiMiOgorICAgICAg
ICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuY29tbWVudF9zdGF0ZQorICAgICAgICAgICAgc2VsZi5u
ZXh0X2xpbmVfc3RhdGUgPSBzZWxmLmxpc3RfdmFsdWVfc3RhcnRfc3RhdGUKKyAgICAgICAgZWxp
ZiBzZWxmLmNoYXIoKSA9PSBlb2w6CisgICAgICAgICAgICBzZWxmLm5leHRfbGluZV9zdGF0ZSA9
IHNlbGYubGlzdF92YWx1ZV9zdGFydF9zdGF0ZQorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNl
bGYuZW9sX3N0YXRlCisgICAgICAgIGVsaWYgc2VsZi5jaGFyKCkgPT0gIiwiOgorICAgICAgICAg
ICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyLCAiTGlz
dCBpdGVtIHN0YXJ0ZWQgd2l0aCBzZXBhcmF0b3IiKQorICAgICAgICBlbGlmIHNlbGYuY2hhcigp
ID09ICJAIjoKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmxpc3RfdmFsdWVfYXRvbV9z
dGF0ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYubGlzdF92
YWx1ZV9zdGF0ZQorCisgICAgZGVmIGxpc3RfdmFsdWVfc3RhdGUoc2VsZik6CisgICAgICAgIHJ2
ID0gIiIKKyAgICAgICAgc3BhY2VzID0gMAorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAg
ICAgYyA9IHNlbGYuY2hhcigpCisgICAgICAgICAgICBpZiBjID09ICJcXCI6CisgICAgICAgICAg
ICAgICAgZXNjYXBlID0gc2VsZi5jb25zdW1lX2VzY2FwZSgpCisgICAgICAgICAgICAgICAgcnYg
Kz0gZXNjYXBlCisgICAgICAgICAgICBlbGlmIGMgPT0gZW9sOgorICAgICAgICAgICAgICAgIHJh
aXNlIFBhcnNlRXJyb3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwgIkVPTCBpbiBs
aXN0IHZhbHVlIikKKyAgICAgICAgICAgIGVsaWYgYyA9PSAiIyI6CisgICAgICAgICAgICAgICAg
cmFpc2UgUGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyLCAiRU9MIGlu
IGxpc3QgdmFsdWUgKGNvbW1lbnQpIikKKyAgICAgICAgICAgIGVsaWYgYyA9PSAiLCI6CisgICAg
ICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYubGlzdF92YWx1ZV9zdGFydF9zdGF0ZQorICAg
ICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAg
ICAgICAgIGVsaWYgYyA9PSAiICI6CisgICAgICAgICAgICAgICAgc3BhY2VzICs9IDEKKyAgICAg
ICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICAgICAgZWxpZiBjID09ICJdIjoKKyAg
ICAgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5saXN0X2VuZF9zdGF0ZQorICAgICAgICAg
ICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAg
IGVsc2U6CisgICAgICAgICAgICAgICAgcnYgKz0gIiAiICogc3BhY2VzCisgICAgICAgICAgICAg
ICAgc3BhY2VzID0gMAorICAgICAgICAgICAgICAgIHJ2ICs9IGMKKyAgICAgICAgICAgICAgICBz
ZWxmLmNvbnN1bWUoKQorCisgICAgICAgIGlmIHJ2OgorICAgICAgICAgICAgeWllbGQgKHRva2Vu
X3R5cGVzLnN0cmluZywgZGVjb2RlKHJ2KSkKKworICAgIGRlZiBsaXN0X3ZhbHVlX2F0b21fc3Rh
dGUoc2VsZik6CisgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgIGZvciBfLCB2YWx1ZSBp
biBzZWxmLmxpc3RfdmFsdWVfc3RhdGUoKToKKyAgICAgICAgICAgIHlpZWxkIHRva2VuX3R5cGVz
LmF0b20sIHZhbHVlCisKKyAgICBkZWYgbGlzdF9lbmRfc3RhdGUoc2VsZik6CisgICAgICAgIHNl
bGYuY29uc3VtZSgpCisgICAgICAgIHlpZWxkICh0b2tlbl90eXBlcy5saXN0X2VuZCwgIl0iKQor
ICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5saW5lX2VuZF9zdGF0ZQorCisgICAgZGVmIHZhbHVl
X3N0YXRlKHNlbGYpOgorICAgICAgICBzZWxmLnNraXBfd2hpdGVzcGFjZSgpCisgICAgICAgIGlm
IHNlbGYuY2hhcigpIGluICgiJyIsICciJyk6CisgICAgICAgICAgICBxdW90ZV9jaGFyID0gc2Vs
Zi5jaGFyKCkKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICB5aWVsZCAo
dG9rZW5fdHlwZXMuc3RyaW5nLCBzZWxmLmNvbnN1bWVfc3RyaW5nKHF1b3RlX2NoYXIpKQorICAg
ICAgICAgICAgaWYgc2VsZi5jaGFyKCkgPT0gIiMiOgorICAgICAgICAgICAgICAgIHNlbGYuc3Rh
dGUgPSBzZWxmLmNvbW1lbnRfc3RhdGUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg
ICAgc2VsZi5zdGF0ZSA9IHNlbGYubGluZV9lbmRfc3RhdGUKKyAgICAgICAgZWxpZiBzZWxmLmNo
YXIoKSA9PSAiQCI6CisgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICAgICAgZm9y
IF8sIHZhbHVlIGluIHNlbGYudmFsdWVfaW5uZXJfc3RhdGUoKToKKyAgICAgICAgICAgICAgICB5
aWVsZCB0b2tlbl90eXBlcy5hdG9tLCB2YWx1ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAg
c2VsZi5zdGF0ZSA9IHNlbGYudmFsdWVfaW5uZXJfc3RhdGUKKworICAgIGRlZiB2YWx1ZV9pbm5l
cl9zdGF0ZShzZWxmKToKKyAgICAgICAgcnYgPSAiIgorICAgICAgICBzcGFjZXMgPSAwCisgICAg
ICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjID0gc2VsZi5jaGFyKCkKKyAgICAgICAgICAg
IGlmIGMgPT0gIlxcIjoKKyAgICAgICAgICAgICAgICBydiArPSBzZWxmLmNvbnN1bWVfZXNjYXBl
KCkKKyAgICAgICAgICAgIGVsaWYgYyA9PSAiIyI6CisgICAgICAgICAgICAgICAgc2VsZi5zdGF0
ZSA9IHNlbGYuY29tbWVudF9zdGF0ZQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAg
ICBlbGlmIGMgPT0gIiAiOgorICAgICAgICAgICAgICAgICMgcHJldmVudCB3aGl0ZXNwYWNlIGJl
Zm9yZSBjb21tZW50cyBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHRoZSB2YWx1ZQorICAgICAgICAg
ICAgICAgIHNwYWNlcyArPSAxCisgICAgICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAg
ICAgICAgIGVsaWYgYyA9PSBlb2w6CisgICAgICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYu
bGluZV9lbmRfc3RhdGUKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToK
KyAgICAgICAgICAgICAgICBydiArPSAiICIgKiBzcGFjZXMKKyAgICAgICAgICAgICAgICBzcGFj
ZXMgPSAwCisgICAgICAgICAgICAgICAgcnYgKz0gYworICAgICAgICAgICAgICAgIHNlbGYuY29u
c3VtZSgpCisgICAgICAgIHlpZWxkICh0b2tlbl90eXBlcy5zdHJpbmcsIGRlY29kZShydikpCisK
KyAgICBkZWYgY29tbWVudF9zdGF0ZShzZWxmKToKKyAgICAgICAgd2hpbGUgc2VsZi5jaGFyKCkg
aXMgbm90IGVvbDoKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgIHNlbGYuc3Rh
dGUgPSBzZWxmLmVvbF9zdGF0ZQorCisgICAgZGVmIGxpbmVfZW5kX3N0YXRlKHNlbGYpOgorICAg
ICAgICBzZWxmLnNraXBfd2hpdGVzcGFjZSgpCisgICAgICAgIGMgPSBzZWxmLmNoYXIoKQorICAg
ICAgICBpZiBjID09ICIjIjoKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmNvbW1lbnRf
c3RhdGUKKyAgICAgICAgZWxpZiBjID09IGVvbDoKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBz
ZWxmLmVvbF9zdGF0ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJv
cihzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyLCAiSnVuayBiZWZvcmUgRU9MICVzIiAl
IGMpCisKKyAgICBkZWYgY29uc3VtZV9zdHJpbmcoc2VsZiwgcXVvdGVfY2hhcik6CisgICAgICAg
IHJ2ID0gIiIKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGMgPSBzZWxmLmNoYXIo
KQorICAgICAgICAgICAgaWYgYyA9PSAiXFwiOgorICAgICAgICAgICAgICAgIHJ2ICs9IHNlbGYu
Y29uc3VtZV9lc2NhcGUoKQorICAgICAgICAgICAgZWxpZiBjID09IHF1b3RlX2NoYXI6CisgICAg
ICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAg
ICAgICAgZWxpZiBjID09IGVvbDoKKyAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNl
bGYuZmlsZW5hbWUsIHNlbGYubGluZV9udW1iZXIsICJFT0wgaW4gcXVvdGVkIHN0cmluZyIpCisg
ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJ2ICs9IGMKKyAgICAgICAgICAgICAg
ICBzZWxmLmNvbnN1bWUoKQorCisgICAgICAgIHJldHVybiBkZWNvZGUocnYpCisKKyAgICBkZWYg
ZXhwcl9vcl92YWx1ZV9zdGF0ZShzZWxmKToKKyAgICAgICAgaWYgc2VsZi5wZWVrKDMpID09ICJp
ZiAiOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuZXhwcl9zdGF0ZQorICAgICAgICBl
bHNlOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYudmFsdWVfc3RhdGUKKworICAgIGRl
ZiBleHByX3N0YXRlKHNlbGYpOgorICAgICAgICBzZWxmLnNraXBfd2hpdGVzcGFjZSgpCisgICAg
ICAgIGMgPSBzZWxmLmNoYXIoKQorICAgICAgICBpZiBjID09IGVvbDoKKyAgICAgICAgICAgIHJh
aXNlIFBhcnNlRXJyb3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwgIkVPTCBpbiBl
eHByZXNzaW9uIikKKyAgICAgICAgZWxpZiBjIGluICInXCIiOgorICAgICAgICAgICAgc2VsZi5j
b25zdW1lKCkKKyAgICAgICAgICAgIHlpZWxkICh0b2tlbl90eXBlcy5zdHJpbmcsIHNlbGYuY29u
c3VtZV9zdHJpbmcoYykpCisgICAgICAgIGVsaWYgYyA9PSAiIyI6CisgICAgICAgICAgICByYWlz
ZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZV9udW1iZXIsICJDb21tZW50IGJl
Zm9yZSBlbmQgb2YgZXhwcmVzc2lvbiIpCisgICAgICAgIGVsaWYgYyA9PSAiOiI6CisgICAgICAg
ICAgICB5aWVsZCAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCBjKQorICAgICAgICAgICAgc2VsZi5j
b25zdW1lKCkKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLnZhbHVlX3N0YXRlCisgICAg
ICAgIGVsaWYgYyBpbiBwYXJlbnM6CisgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAg
ICAgICAgeWllbGQgKHRva2VuX3R5cGVzLnBhcmVuLCBjKQorICAgICAgICBlbGlmIGMgaW4gKCIh
IiwgIj0iKToKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLm9wZXJhdG9yX3N0YXRlCisg
ICAgICAgIGVsaWYgYyBpbiBkaWdpdHM6CisgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5k
aWdpdF9zdGF0ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYu
aWRlbnRfc3RhdGUKKworICAgIGRlZiBvcGVyYXRvcl9zdGF0ZShzZWxmKToKKyAgICAgICAgIyBP
bmx5IHN5bWJvbGljIG9wZXJhdG9ycworICAgICAgICBpbmRleF8wID0gc2VsZi5pbmRleAorICAg
ICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgYyA9IHNlbGYuY2hhcigpCisgICAgICAgICAg
ICBpZiBjID09IGVvbDoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxpZiBj
IGluIG9wZXJhdG9yX2NoYXJzOgorICAgICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAg
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLmV4cHJfc3Rh
dGUKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICB5aWVsZCAodG9rZW5fdHlwZXMuaWRl
bnQsIHNlbGYubGluZVtpbmRleF8wOnNlbGYuaW5kZXhdKQorCisgICAgZGVmIGRpZ2l0X3N0YXRl
KHNlbGYpOgorICAgICAgICBpbmRleF8wID0gc2VsZi5pbmRleAorICAgICAgICBzZWVuX2RvdCA9
IEZhbHNlCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjID0gc2VsZi5jaGFyKCkK
KyAgICAgICAgICAgIGlmIGMgPT0gZW9sOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAg
ICAgICBlbGlmIGMgaW4gZGlnaXRzOgorICAgICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisg
ICAgICAgICAgICBlbGlmIGMgPT0gIi4iOgorICAgICAgICAgICAgICAgIGlmIHNlZW5fZG90Ogor
ICAgICAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUsIHNlbGYu
bGluZV9udW1iZXIsICJJbnZhbGlkIG51bWJlciIpCisgICAgICAgICAgICAgICAgc2VsZi5jb25z
dW1lKCkKKyAgICAgICAgICAgICAgICBzZWVuX2RvdCA9IFRydWUKKyAgICAgICAgICAgIGVsaWYg
YyBpbiBwYXJlbnM6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgYyBp
biBvcGVyYXRvcl9jaGFyczoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxp
ZiBjID09ICIgIjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxpZiBjID09
ICI6IjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgICAgICByYWlzZSBQYXJzZUVycm9yKHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZV9udW1iZXIs
ICJJbnZhbGlkIGNoYXJhY3RlciBpbiBudW1iZXIiKQorCisgICAgICAgIHNlbGYuc3RhdGUgPSBz
ZWxmLmV4cHJfc3RhdGUKKyAgICAgICAgeWllbGQgKHRva2VuX3R5cGVzLm51bWJlciwgc2VsZi5s
aW5lW2luZGV4XzA6c2VsZi5pbmRleF0pCisKKyAgICBkZWYgaWRlbnRfc3RhdGUoc2VsZik6Cisg
ICAgICAgIGluZGV4XzAgPSBzZWxmLmluZGV4CisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAg
ICAgICBjID0gc2VsZi5jaGFyKCkKKyAgICAgICAgICAgIGlmIGMgPT0gZW9sOgorICAgICAgICAg
ICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbGlmIGMgPT0gIi4iOgorICAgICAgICAgICAgICAg
IGJyZWFrCisgICAgICAgICAgICBlbGlmIGMgaW4gcGFyZW5zOgorICAgICAgICAgICAgICAgIGJy
ZWFrCisgICAgICAgICAgICBlbGlmIGMgaW4gb3BlcmF0b3JfY2hhcnM6CisgICAgICAgICAgICAg
ICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgYyA9PSAiICI6CisgICAgICAgICAgICAgICAgYnJl
YWsKKyAgICAgICAgICAgIGVsaWYgYyA9PSAiOiI6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAg
ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAg
c2VsZi5zdGF0ZSA9IHNlbGYuZXhwcl9zdGF0ZQorICAgICAgICB5aWVsZCAodG9rZW5fdHlwZXMu
aWRlbnQsIHNlbGYubGluZVtpbmRleF8wOnNlbGYuaW5kZXhdKQorCisgICAgZGVmIGNvbnN1bWVf
ZXNjYXBlKHNlbGYpOgorICAgICAgICBhc3NlcnQgc2VsZi5jaGFyKCkgPT0gIlxcIgorICAgICAg
ICBzZWxmLmNvbnN1bWUoKQorICAgICAgICBjID0gc2VsZi5jaGFyKCkKKyAgICAgICAgc2VsZi5j
b25zdW1lKCkKKyAgICAgICAgaWYgYyA9PSAieCI6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5k
ZWNvZGVfZXNjYXBlKDIpCisgICAgICAgIGVsaWYgYyA9PSAidSI6CisgICAgICAgICAgICByZXR1
cm4gc2VsZi5kZWNvZGVfZXNjYXBlKDQpCisgICAgICAgIGVsaWYgYyA9PSAiVSI6CisgICAgICAg
ICAgICByZXR1cm4gc2VsZi5kZWNvZGVfZXNjYXBlKDYpCisgICAgICAgIGVsaWYgYyBpbiBbImEi
LCAiYiIsICJmIiwgIm4iLCAiciIsICJ0IiwgInYiXToKKyAgICAgICAgICAgIHJldHVybiBldmFs
KCInXCVzJyIgJSBjKQorICAgICAgICBlbGlmIGMgaXMgZW9sOgorICAgICAgICAgICAgcmFpc2Ug
UGFyc2VFcnJvcihzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmVfbnVtYmVyLCAiRU9MIGluIGVzY2Fw
ZSIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gYworCisgICAgZGVmIGRlY29k
ZV9lc2NhcGUoc2VsZiwgbGVuZ3RoKToKKyAgICAgICAgdmFsdWUgPSAwCisgICAgICAgIGZvciBp
IGluIHhyYW5nZShsZW5ndGgpOgorICAgICAgICAgICAgYyA9IHNlbGYuY2hhcigpCisgICAgICAg
ICAgICB2YWx1ZSAqPSAxNgorICAgICAgICAgICAgdmFsdWUgKz0gc2VsZi5lc2NhcGVfdmFsdWUo
YykKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisKKyAgICAgICAgcmV0dXJuIHVuaWNocih2
YWx1ZSkKKworICAgIGRlZiBlc2NhcGVfdmFsdWUoc2VsZiwgYyk6CisgICAgICAgIGlmICcwJyA8
PSBjIDw9ICc5JzoKKyAgICAgICAgICAgIHJldHVybiBvcmQoYykgLSBvcmQoJzAnKQorICAgICAg
ICBlbGlmICdhJyA8PSBjIDw9ICdmJzoKKyAgICAgICAgICAgIHJldHVybiBvcmQoYykgLSBvcmQo
J2EnKSArIDEwCisgICAgICAgIGVsaWYgJ0EnIDw9IGMgPD0gJ0YnOgorICAgICAgICAgICAgcmV0
dXJuIG9yZChjKSAtIG9yZCgnQScpICsgMTAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJh
aXNlIFBhcnNlRXJyb3Ioc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lX251bWJlciwgIkludmFsaWQg
Y2hhcmFjdGVyIGVzY2FwZSIpCisKKworY2xhc3MgUGFyc2VyKG9iamVjdCk6CisgICAgZGVmIF9f
aW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLnJlc2V0KCkKKworICAgIGRlZiByZXNldChzZWxm
KToKKyAgICAgICAgc2VsZi50b2tlbiA9IE5vbmUKKyAgICAgICAgc2VsZi51bmFyeV9vcGVyYXRv
cnMgPSAiISIKKyAgICAgICAgc2VsZi5iaW5hcnlfb3BlcmF0b3JzID0gZnJvemVuc2V0KFsiJiYi
LCAifHwiLCAiPT0iXSkKKyAgICAgICAgc2VsZi50b2tlbml6ZXIgPSBUb2tlbml6ZXIoKQorICAg
ICAgICBzZWxmLnRva2VuX2dlbmVyYXRvciA9IE5vbmUKKyAgICAgICAgc2VsZi50cmVlID0gVHJl
ZWJ1aWxkZXIoRGF0YU5vZGUoTm9uZSkpCisgICAgICAgIHNlbGYuZXhwcl9idWlsZGVyID0gTm9u
ZQorICAgICAgICBzZWxmLmV4cHJfYnVpbGRlcnMgPSBbXQorCisgICAgZGVmIHBhcnNlKHNlbGYs
IGlucHV0KToKKyAgICAgICAgc2VsZi5yZXNldCgpCisgICAgICAgIHNlbGYudG9rZW5fZ2VuZXJh
dG9yID0gc2VsZi50b2tlbml6ZXIudG9rZW5pemUoaW5wdXQpCisgICAgICAgIHNlbGYuY29uc3Vt
ZSgpCisgICAgICAgIHNlbGYubWFuaWZlc3QoKQorICAgICAgICByZXR1cm4gc2VsZi50cmVlLm5v
ZGUKKworICAgIGRlZiBjb25zdW1lKHNlbGYpOgorICAgICAgICBzZWxmLnRva2VuID0gc2VsZi50
b2tlbl9nZW5lcmF0b3IubmV4dCgpCisKKyAgICBkZWYgZXhwZWN0KHNlbGYsIHR5cGUsIHZhbHVl
PU5vbmUpOgorICAgICAgICBpZiBzZWxmLnRva2VuWzBdICE9IHR5cGU6CisgICAgICAgICAgICBy
YWlzZSBQYXJzZUVycm9yCisgICAgICAgIGlmIHZhbHVlIGlzIG5vdCBOb25lOgorICAgICAgICAg
ICAgaWYgc2VsZi50b2tlblsxXSAhPSB2YWx1ZToKKyAgICAgICAgICAgICAgICByYWlzZSBQYXJz
ZUVycm9yCisKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKworICAgIGRlZiBtYW5pZmVzdChzZWxm
KToKKyAgICAgICAgc2VsZi5kYXRhX2Jsb2NrKCkKKyAgICAgICAgc2VsZi5leHBlY3QodG9rZW5f
dHlwZXMuZW9mKQorCisgICAgZGVmIGRhdGFfYmxvY2soc2VsZik6CisgICAgICAgIHdoaWxlIHNl
bGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMuc3RyaW5nOgorICAgICAgICAgICAgc2VsZi50cmVl
LmFwcGVuZChLZXlWYWx1ZU5vZGUoc2VsZi50b2tlblsxXSkpCisgICAgICAgICAgICBzZWxmLmNv
bnN1bWUoKQorICAgICAgICAgICAgc2VsZi5leHBlY3QodG9rZW5fdHlwZXMuc2VwYXJhdG9yKQor
ICAgICAgICAgICAgc2VsZi52YWx1ZV9ibG9jaygpCisgICAgICAgICAgICBzZWxmLnRyZWUucG9w
KCkKKworICAgICAgICB3aGlsZSBzZWxmLnRva2VuID09ICh0b2tlbl90eXBlcy5wYXJlbiwgIlsi
KToKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICBpZiBzZWxmLnRva2Vu
WzBdICE9IHRva2VuX3R5cGVzLnN0cmluZzoKKyAgICAgICAgICAgICAgICByYWlzZSBQYXJzZUVy
cm9yCisgICAgICAgICAgICBzZWxmLnRyZWUuYXBwZW5kKERhdGFOb2RlKHNlbGYudG9rZW5bMV0p
KQorICAgICAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgICAgIHNlbGYuZXhwZWN0KHRv
a2VuX3R5cGVzLnBhcmVuLCAiXSIpCisgICAgICAgICAgICBpZiBzZWxmLnRva2VuWzBdID09IHRv
a2VuX3R5cGVzLmdyb3VwX3N0YXJ0OgorICAgICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCisg
ICAgICAgICAgICAgICAgc2VsZi5kYXRhX2Jsb2NrKCkKKyAgICAgICAgICAgICAgICBzZWxmLmVv
Zl9vcl9lbmRfZ3JvdXAoKQorICAgICAgICAgICAgc2VsZi50cmVlLnBvcCgpCisKKyAgICBkZWYg
ZW9mX29yX2VuZF9ncm91cChzZWxmKToKKyAgICAgICAgaWYgc2VsZi50b2tlblswXSAhPSB0b2tl
bl90eXBlcy5lb2Y6CisgICAgICAgICAgICBzZWxmLmV4cGVjdCh0b2tlbl90eXBlcy5ncm91cF9l
bmQpCisKKyAgICBkZWYgdmFsdWVfYmxvY2soc2VsZik6CisgICAgICAgIGlmIHNlbGYudG9rZW5b
MF0gPT0gdG9rZW5fdHlwZXMubGlzdF9zdGFydDoKKyAgICAgICAgICAgIHNlbGYuY29uc3VtZSgp
CisgICAgICAgICAgICBzZWxmLmxpc3RfdmFsdWUoKQorICAgICAgICBlbGlmIHNlbGYudG9rZW5b
MF0gPT0gdG9rZW5fdHlwZXMuc3RyaW5nOgorICAgICAgICAgICAgc2VsZi52YWx1ZSgpCisgICAg
ICAgIGVsaWYgc2VsZi50b2tlblswXSA9PSB0b2tlbl90eXBlcy5ncm91cF9zdGFydDoKKyAgICAg
ICAgICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgICAgICBzZWxmLmV4cHJlc3Npb25fdmFsdWVz
KCkKKyAgICAgICAgICAgIGlmIHNlbGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMuc3RyaW5nOgor
ICAgICAgICAgICAgICAgIHNlbGYudmFsdWUoKQorICAgICAgICAgICAgc2VsZi5lb2Zfb3JfZW5k
X2dyb3VwKCkKKyAgICAgICAgZWxpZiBzZWxmLnRva2VuWzBdID09IHRva2VuX3R5cGVzLmF0b206
CisgICAgICAgICAgICBzZWxmLmF0b20oKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFp
c2UgUGFyc2VFcnJvcgorCisgICAgZGVmIGxpc3RfdmFsdWUoc2VsZik6CisgICAgICAgIHNlbGYu
dHJlZS5hcHBlbmQoTGlzdE5vZGUoKSkKKyAgICAgICAgd2hpbGUgc2VsZi50b2tlblswXSBpbiAo
dG9rZW5fdHlwZXMuYXRvbSwgdG9rZW5fdHlwZXMuc3RyaW5nKToKKyAgICAgICAgICAgIGlmIHNl
bGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMuYXRvbToKKyAgICAgICAgICAgICAgICBzZWxmLmF0
b20oKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnZhbHVlKCkKKyAg
ICAgICAgc2VsZi5leHBlY3QodG9rZW5fdHlwZXMubGlzdF9lbmQpCisgICAgICAgIHNlbGYudHJl
ZS5wb3AoKQorCisgICAgZGVmIGV4cHJlc3Npb25fdmFsdWVzKHNlbGYpOgorICAgICAgICB3aGls
ZSBzZWxmLnRva2VuID09ICh0b2tlbl90eXBlcy5pZGVudCwgImlmIik6CisgICAgICAgICAgICBz
ZWxmLmNvbnN1bWUoKQorICAgICAgICAgICAgc2VsZi50cmVlLmFwcGVuZChDb25kaXRpb25hbE5v
ZGUoKSkKKyAgICAgICAgICAgIHNlbGYuZXhwcl9zdGFydCgpCisgICAgICAgICAgICBzZWxmLmV4
cGVjdCh0b2tlbl90eXBlcy5zZXBhcmF0b3IpCisgICAgICAgICAgICBpZiBzZWxmLnRva2VuWzBd
ID09IHRva2VuX3R5cGVzLnN0cmluZzoKKyAgICAgICAgICAgICAgICBzZWxmLnZhbHVlKCkKKyAg
ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcgorICAgICAg
ICAgICAgc2VsZi50cmVlLnBvcCgpCisKKyAgICBkZWYgdmFsdWUoc2VsZik6CisgICAgICAgIHNl
bGYudHJlZS5hcHBlbmQoVmFsdWVOb2RlKHNlbGYudG9rZW5bMV0pKQorICAgICAgICBzZWxmLmNv
bnN1bWUoKQorICAgICAgICBzZWxmLnRyZWUucG9wKCkKKworICAgIGRlZiBhdG9tKHNlbGYpOgor
ICAgICAgICBpZiBzZWxmLnRva2VuWzFdIG5vdCBpbiBhdG9tczoKKyAgICAgICAgICAgIHJhaXNl
IFBhcnNlRXJyb3Ioc2VsZi50b2tlbml6ZXIuZmlsZW5hbWUsIHNlbGYudG9rZW5pemVyLmxpbmVf
bnVtYmVyLCAiVW5yZWNvZ25pc2VkIHN5bWJvbCBAJXMiICUgc2VsZi50b2tlblsxXSkKKyAgICAg
ICAgc2VsZi50cmVlLmFwcGVuZChBdG9tTm9kZShhdG9tc1tzZWxmLnRva2VuWzFdXSkpCisgICAg
ICAgIHNlbGYuY29uc3VtZSgpCisgICAgICAgIHNlbGYudHJlZS5wb3AoKQorCisgICAgZGVmIGV4
cHJfc3RhcnQoc2VsZik6CisgICAgICAgIHNlbGYuZXhwcl9idWlsZGVyID0gRXhwcmVzc2lvbkJ1
aWxkZXIoc2VsZi50b2tlbml6ZXIpCisgICAgICAgIHNlbGYuZXhwcl9idWlsZGVycy5hcHBlbmQo
c2VsZi5leHByX2J1aWxkZXIpCisgICAgICAgIHNlbGYuZXhwcigpCisgICAgICAgIGV4cHJlc3Np
b24gPSBzZWxmLmV4cHJfYnVpbGRlci5maW5pc2goKQorICAgICAgICBzZWxmLmV4cHJfYnVpbGRl
cnMucG9wKCkKKyAgICAgICAgc2VsZi5leHByX2J1aWxkZXIgPSBzZWxmLmV4cHJfYnVpbGRlcnNb
LTFdIGlmIHNlbGYuZXhwcl9idWlsZGVycyBlbHNlIE5vbmUKKyAgICAgICAgaWYgc2VsZi5leHBy
X2J1aWxkZXI6CisgICAgICAgICAgICBzZWxmLmV4cHJfYnVpbGRlci5vcGVyYW5kc1stMV0uY2hp
bGRyZW5bLTFdLmFwcGVuZChleHByZXNzaW9uKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAg
c2VsZi50cmVlLmFwcGVuZChleHByZXNzaW9uKQorICAgICAgICAgICAgc2VsZi50cmVlLnBvcCgp
CisKKyAgICBkZWYgZXhwcihzZWxmKToKKyAgICAgICAgc2VsZi5leHByX29wZXJhbmQoKQorICAg
ICAgICB3aGlsZSAoc2VsZi50b2tlblswXSA9PSB0b2tlbl90eXBlcy5pZGVudCBhbmQgc2VsZi50
b2tlblsxXSBpbiBiaW5hcnlfb3BlcmF0b3JzKToKKyAgICAgICAgICAgIHNlbGYuZXhwcl9iaW5f
b3AoKQorICAgICAgICAgICAgc2VsZi5leHByX29wZXJhbmQoKQorCisgICAgZGVmIGV4cHJfb3Bl
cmFuZChzZWxmKToKKyAgICAgICAgaWYgc2VsZi50b2tlbiA9PSAodG9rZW5fdHlwZXMucGFyZW4s
ICIoIik6CisgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICAgICAgc2VsZi5leHBy
X2J1aWxkZXIubGVmdF9wYXJlbigpCisgICAgICAgICAgICBzZWxmLmV4cHIoKQorICAgICAgICAg
ICAgc2VsZi5leHBlY3QodG9rZW5fdHlwZXMucGFyZW4sICIpIikKKyAgICAgICAgICAgIHNlbGYu
ZXhwcl9idWlsZGVyLnJpZ2h0X3BhcmVuKCkKKyAgICAgICAgZWxpZiBzZWxmLnRva2VuWzBdID09
IHRva2VuX3R5cGVzLmlkZW50IGFuZCBzZWxmLnRva2VuWzFdIGluIHVuYXJ5X29wZXJhdG9yczoK
KyAgICAgICAgICAgIHNlbGYuZXhwcl91bmFyeV9vcCgpCisgICAgICAgICAgICBzZWxmLmV4cHJf
b3BlcmFuZCgpCisgICAgICAgIGVsaWYgc2VsZi50b2tlblswXSBpbiBbdG9rZW5fdHlwZXMuc3Ry
aW5nLCB0b2tlbl90eXBlcy5pZGVudF06CisgICAgICAgICAgICBzZWxmLmV4cHJfdmFsdWUoKQor
ICAgICAgICBlbGlmIHNlbGYudG9rZW5bMF0gPT0gdG9rZW5fdHlwZXMubnVtYmVyOgorICAgICAg
ICAgICAgc2VsZi5leHByX251bWJlcigpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlz
ZSBQYXJzZUVycm9yKHNlbGYudG9rZW5pemVyLmZpbGVuYW1lLCBzZWxmLnRva2VuaXplci5saW5l
X251bWJlciwgIlVucmVjb2duaXNlZCBvcGVyYW5kIikKKworICAgIGRlZiBleHByX3VuYXJ5X29w
KHNlbGYpOgorICAgICAgICBpZiBzZWxmLnRva2VuWzFdIGluIHVuYXJ5X29wZXJhdG9yczoKKyAg
ICAgICAgICAgIHNlbGYuZXhwcl9idWlsZGVyLnB1c2hfb3BlcmF0b3IoVW5hcnlPcGVyYXRvck5v
ZGUoc2VsZi50b2tlblsxXSkpCisgICAgICAgICAgICBzZWxmLmNvbnN1bWUoKQorICAgICAgICBl
bHNlOgorICAgICAgICAgICAgcmFpc2UgUGFyc2VFcnJvcihzZWxmLnRva2VuaXplci5maWxlbmFt
ZSwgc2VsZi50b2tlbml6ZXIubGluZV9udW1iZXIsICJFeHBlY3RlZCB1bmFyeSBvcGVyYXRvciIp
CisKKyAgICBkZWYgZXhwcl9iaW5fb3Aoc2VsZik6CisgICAgICAgIGlmIHNlbGYudG9rZW5bMV0g
aW4gYmluYXJ5X29wZXJhdG9yczoKKyAgICAgICAgICAgIHNlbGYuZXhwcl9idWlsZGVyLnB1c2hf
b3BlcmF0b3IoQmluYXJ5T3BlcmF0b3JOb2RlKHNlbGYudG9rZW5bMV0pKQorICAgICAgICAgICAg
c2VsZi5jb25zdW1lKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFBhcnNlRXJy
b3Ioc2VsZi50b2tlbml6ZXIuZmlsZW5hbWUsIHNlbGYudG9rZW5pemVyLmxpbmVfbnVtYmVyLCAi
RXhwZWN0ZWQgYmluYXJ5IG9wZXJhdG9yIikKKworICAgIGRlZiBleHByX3ZhbHVlKHNlbGYpOgor
ICAgICAgICBub2RlX3R5cGUgPSB7dG9rZW5fdHlwZXMuc3RyaW5nOiBTdHJpbmdOb2RlLAorICAg
ICAgICAgICAgICAgICAgICAgdG9rZW5fdHlwZXMuaWRlbnQ6IFZhcmlhYmxlTm9kZX1bc2VsZi50
b2tlblswXV0KKyAgICAgICAgc2VsZi5leHByX2J1aWxkZXIucHVzaF9vcGVyYW5kKG5vZGVfdHlw
ZShzZWxmLnRva2VuWzFdKSkKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKyAgICAgICAgaWYgc2Vs
Zi50b2tlbiA9PSAodG9rZW5fdHlwZXMucGFyZW4sICJbIik6CisgICAgICAgICAgICBzZWxmLmNv
bnN1bWUoKQorICAgICAgICAgICAgc2VsZi5leHByX2J1aWxkZXIub3BlcmFuZHNbLTFdLmFwcGVu
ZChJbmRleE5vZGUoKSkKKyAgICAgICAgICAgIHNlbGYuZXhwcl9zdGFydCgpCisgICAgICAgICAg
ICBzZWxmLmV4cGVjdCh0b2tlbl90eXBlcy5wYXJlbiwgIl0iKQorCisgICAgZGVmIGV4cHJfbnVt
YmVyKHNlbGYpOgorICAgICAgICBzZWxmLmV4cHJfYnVpbGRlci5wdXNoX29wZXJhbmQoTnVtYmVy
Tm9kZShzZWxmLnRva2VuWzFdKSkKKyAgICAgICAgc2VsZi5jb25zdW1lKCkKKworCitjbGFzcyBU
cmVlYnVpbGRlcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCByb290KToKKyAgICAg
ICAgc2VsZi5yb290ID0gcm9vdAorICAgICAgICBzZWxmLm5vZGUgPSByb290CisKKyAgICBkZWYg
YXBwZW5kKHNlbGYsIG5vZGUpOgorICAgICAgICBzZWxmLm5vZGUuYXBwZW5kKG5vZGUpCisgICAg
ICAgIHNlbGYubm9kZSA9IG5vZGUKKyAgICAgICAgcmV0dXJuIG5vZGUKKworICAgIGRlZiBwb3Ao
c2VsZik6CisgICAgICAgIG5vZGUgPSBzZWxmLm5vZGUKKyAgICAgICAgc2VsZi5ub2RlID0gc2Vs
Zi5ub2RlLnBhcmVudAorICAgICAgICByZXR1cm4gbm9kZQorCisKK2NsYXNzIEV4cHJlc3Npb25C
dWlsZGVyKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRva2VuaXplcik6CisgICAg
ICAgIHNlbGYub3BlcmFuZHMgPSBbXQorICAgICAgICBzZWxmLm9wZXJhdG9ycyA9IFtOb25lXQor
ICAgICAgICBzZWxmLnRva2VuaXplciA9IHRva2VuaXplcgorCisgICAgZGVmIGZpbmlzaChzZWxm
KToKKyAgICAgICAgd2hpbGUgc2VsZi5vcGVyYXRvcnNbLTFdIGlzIG5vdCBOb25lOgorICAgICAg
ICAgICAgc2VsZi5wb3Bfb3BlcmF0b3IoKQorICAgICAgICBydiA9IHNlbGYucG9wX29wZXJhbmQo
KQorICAgICAgICBhc3NlcnQgc2VsZi5pc19lbXB0eSgpCisgICAgICAgIHJldHVybiBydgorCisg
ICAgZGVmIGxlZnRfcGFyZW4oc2VsZik6CisgICAgICAgIHNlbGYub3BlcmF0b3JzLmFwcGVuZChO
b25lKQorCisgICAgZGVmIHJpZ2h0X3BhcmVuKHNlbGYpOgorICAgICAgICB3aGlsZSBzZWxmLm9w
ZXJhdG9yc1stMV0gaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLnBvcF9vcGVyYXRvcigp
CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5vcGVyYXRvcnM6CisgICAgICAgICAgICAgICAgcmFp
c2UgUGFyc2VFcnJvcihzZWxmLnRva2VuaXplci5maWxlbmFtZSwgc2VsZi50b2tlbml6ZXIubGlu
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmJhbGFuY2VkIHBhcmVucyIp
CisKKyAgICAgICAgYXNzZXJ0IHNlbGYub3BlcmF0b3JzLnBvcCgpIGlzIE5vbmUKKworICAgIGRl
ZiBwdXNoX29wZXJhdG9yKHNlbGYsIG9wZXJhdG9yKToKKyAgICAgICAgYXNzZXJ0IG9wZXJhdG9y
IGlzIG5vdCBOb25lCisgICAgICAgIHdoaWxlIHNlbGYucHJlY2VkZW5jZShzZWxmLm9wZXJhdG9y
c1stMV0pID4gc2VsZi5wcmVjZWRlbmNlKG9wZXJhdG9yKToKKyAgICAgICAgICAgIHNlbGYucG9w
X29wZXJhdG9yKCkKKworICAgICAgICBzZWxmLm9wZXJhdG9ycy5hcHBlbmQob3BlcmF0b3IpCisK
KyAgICBkZWYgcG9wX29wZXJhdG9yKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYub3Bl
cmF0b3JzLnBvcCgpCisgICAgICAgIGlmIGlzaW5zdGFuY2Uob3BlcmF0b3IsIEJpbmFyeU9wZXJh
dG9yTm9kZSk6CisgICAgICAgICAgICBvcGVyYW5kXzEgPSBzZWxmLm9wZXJhbmRzLnBvcCgpCisg
ICAgICAgICAgICBvcGVyYW5kXzAgPSBzZWxmLm9wZXJhbmRzLnBvcCgpCisgICAgICAgICAgICBz
ZWxmLm9wZXJhbmRzLmFwcGVuZChCaW5hcnlFeHByZXNzaW9uTm9kZShvcGVyYXRvciwgb3BlcmFu
ZF8wLCBvcGVyYW5kXzEpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgb3BlcmFuZF8wID0g
c2VsZi5vcGVyYW5kcy5wb3AoKQorICAgICAgICAgICAgc2VsZi5vcGVyYW5kcy5hcHBlbmQoVW5h
cnlFeHByZXNzaW9uTm9kZShvcGVyYXRvciwgb3BlcmFuZF8wKSkKKworICAgIGRlZiBwdXNoX29w
ZXJhbmQoc2VsZiwgbm9kZSk6CisgICAgICAgIHNlbGYub3BlcmFuZHMuYXBwZW5kKG5vZGUpCisK
KyAgICBkZWYgcG9wX29wZXJhbmQoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm9wZXJhbmRz
LnBvcCgpCisKKyAgICBkZWYgaXNfZW1wdHkoc2VsZik6CisgICAgICAgIHJldHVybiBsZW4oc2Vs
Zi5vcGVyYW5kcykgPT0gMCBhbmQgYWxsKGl0ZW0gaXMgTm9uZSBmb3IgaXRlbSBpbiBzZWxmLm9w
ZXJhdG9ycykKKworICAgIGRlZiBwcmVjZWRlbmNlKHNlbGYsIG9wZXJhdG9yKToKKyAgICAgICAg
aWYgb3BlcmF0b3IgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgIHJldHVy
biBwcmVjZWRlbmNlKG9wZXJhdG9yKQorCisKK2RlZiBwYXJzZShzdHJlYW0pOgorICAgIHAgPSBQ
YXJzZXIoKQorICAgIHJldHVybiBwLnBhcnNlKHN0cmVhbSkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93cHRtYW5pZmVzdC9zZXJpYWxpemVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0
L3NlcmlhbGl6ZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIyMDNhYjI0MGE5MmM2ZDAyOGM4NThhYTRlMGY1
MjM4MjBhY2Q4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9z
ZXJpYWxpemVyLnB5CkBAIC0wLDAgKzEsMTM2IEBACitmcm9tIG5vZGUgaW1wb3J0IE5vZGVWaXNp
dG9yLCBWYWx1ZU5vZGUsIExpc3ROb2RlLCBCaW5hcnlFeHByZXNzaW9uTm9kZQorZnJvbSBwYXJz
ZXIgaW1wb3J0IGF0b21zLCBwcmVjZWRlbmNlCisKK2F0b21fbmFtZXMgPSB7djoiQCVzIiAlIGsg
Zm9yIChrLHYpIGluIGF0b21zLml0ZXJpdGVtcygpfQorCituYW1lZF9lc2NhcGVzID0gc2V0KFsi
XGEiLCAiXGIiLCAiXGYiLCAiXG4iLCAiXHIiLCAiXHQiLCAiXHYiXSkKKworZGVmIGVzY2FwZShz
dHJpbmcsIGV4dHJhcz0iIik6CisgICAgcnYgPSAiIgorICAgIGZvciBjIGluIHN0cmluZzoKKyAg
ICAgICAgaWYgYyBpbiBuYW1lZF9lc2NhcGVzOgorICAgICAgICAgICAgcnYgKz0gYy5lbmNvZGUo
InVuaWNvZGVfZXNjYXBlIikKKyAgICAgICAgZWxpZiBjID09ICJcXCI6CisgICAgICAgICAgICBy
diArPSAiXFxcXCIKKyAgICAgICAgZWxpZiBjIDwgJ1x4MjAnOgorICAgICAgICAgICAgcnYgKz0g
IlxceCUwMngiICUgb3JkKGMpCisgICAgICAgIGVsaWYgYyBpbiBleHRyYXM6CisgICAgICAgICAg
ICBydiArPSAiXFwiICsgYworICAgICAgICBlbHNlOgorICAgICAgICAgICAgcnYgKz0gYworICAg
IHJldHVybiBydi5lbmNvZGUoInV0ZjgiKQorCisKK2NsYXNzIE1hbmlmZXN0U2VyaWFsaXplcihO
b2RlVmlzaXRvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNraXBfZW1wdHlfZGF0YT1GYWxz
ZSk6CisgICAgICAgIHNlbGYuc2tpcF9lbXB0eV9kYXRhID0gc2tpcF9lbXB0eV9kYXRhCisKKyAg
ICBkZWYgc2VyaWFsaXplKHNlbGYsIHJvb3QpOgorICAgICAgICBzZWxmLmluZGVudCA9IDIKKyAg
ICAgICAgcnYgPSAiXG4iLmpvaW4oc2VsZi52aXNpdChyb290KSkKKyAgICAgICAgaWYgcnZbLTFd
ICE9ICJcbiI6CisgICAgICAgICAgICBydiA9IHJ2ICsgIlxuIgorICAgICAgICByZXR1cm4gcnYK
KworICAgIGRlZiB2aXNpdF9EYXRhTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcnYgPSBbXQor
ICAgICAgICBpZiBub3Qgc2VsZi5za2lwX2VtcHR5X2RhdGEgb3Igbm9kZS5jaGlsZHJlbjoKKyAg
ICAgICAgICAgIGlmIG5vZGUuZGF0YToKKyAgICAgICAgICAgICAgICBydi5hcHBlbmQoIlslc10i
ICUgZXNjYXBlKG5vZGUuZGF0YSwgZXh0cmFzPSJdIikpCisgICAgICAgICAgICAgICAgaW5kZW50
ID0gc2VsZi5pbmRlbnQgKiAiICIKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg
aW5kZW50ID0gIiIKKworICAgICAgICAgICAgZm9yIGNoaWxkIGluIG5vZGUuY2hpbGRyZW46Cisg
ICAgICAgICAgICAgICAgcnYuZXh0ZW5kKCIlcyVzIiAlIChpbmRlbnQgaWYgaXRlbSBlbHNlICIi
LCBpdGVtKSBmb3IgaXRlbSBpbiBzZWxmLnZpc2l0KGNoaWxkKSkKKworICAgICAgICAgICAgaWYg
bm9kZS5wYXJlbnQ6CisgICAgICAgICAgICAgICAgcnYuYXBwZW5kKCIiKQorCisgICAgICAgIHJl
dHVybiBydgorCisgICAgZGVmIHZpc2l0X0tleVZhbHVlTm9kZShzZWxmLCBub2RlKToKKyAgICAg
ICAgcnYgPSBbZXNjYXBlKG5vZGUuZGF0YSwgIjoiKSArICI6Il0KKyAgICAgICAgaW5kZW50ID0g
IiAiICogc2VsZi5pbmRlbnQKKworICAgICAgICBpZiBsZW4obm9kZS5jaGlsZHJlbikgPT0gMSBh
bmQgaXNpbnN0YW5jZShub2RlLmNoaWxkcmVuWzBdLCAoVmFsdWVOb2RlLCBMaXN0Tm9kZSkpOgor
ICAgICAgICAgICAgcnZbMF0gKz0gIiAlcyIgJSBzZWxmLnZpc2l0KG5vZGUuY2hpbGRyZW5bMF0p
WzBdCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJl
bjoKKyAgICAgICAgICAgICAgICBydi5hcHBlbmQoaW5kZW50ICsgc2VsZi52aXNpdChjaGlsZClb
MF0pCisKKyAgICAgICAgcmV0dXJuIHJ2CisKKyAgICBkZWYgdmlzaXRfTGlzdE5vZGUoc2VsZiwg
bm9kZSk6CisgICAgICAgIHJ2ID0gWyJbIl0KKyAgICAgICAgcnYuZXh0ZW5kKCIsICIuam9pbihz
ZWxmLnZpc2l0KGNoaWxkKVswXSBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbikpCisgICAgICAg
IHJ2LmFwcGVuZCgiXSIpCisgICAgICAgIHJldHVybiBbIiIuam9pbihydildCisKKyAgICBkZWYg
dmlzaXRfVmFsdWVOb2RlKHNlbGYsIG5vZGUpOgorICAgICAgICBpZiAiIyIgaW4gbm9kZS5kYXRh
IG9yIChpc2luc3RhbmNlKG5vZGUucGFyZW50LCBMaXN0Tm9kZSkgYW5kCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICgiLCIgaW4gbm9kZS5kYXRhIG9yICJdIiBpbiBub2RlLmRhdGEp
KToKKyAgICAgICAgICAgIGlmICJcIiIgaW4gbm9kZS5kYXRhOgorICAgICAgICAgICAgICAgIHF1
b3RlID0gIiciCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHF1b3RlID0gIlwi
IgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcXVvdGUgPSAiIgorICAgICAgICByZXR1cm4g
W3F1b3RlICsgZXNjYXBlKG5vZGUuZGF0YSwgZXh0cmFzPXF1b3RlKSArIHF1b3RlXQorCisgICAg
ZGVmIHZpc2l0X0F0b21Ob2RlKHNlbGYsIG5vZGUpOgorICAgICAgICByZXR1cm4gW2F0b21fbmFt
ZXNbbm9kZS5kYXRhXV0KKworICAgIGRlZiB2aXNpdF9Db25kaXRpb25hbE5vZGUoc2VsZiwgbm9k
ZSk6CisgICAgICAgIHJldHVybiBbImlmICVzOiAlcyIgJSB0dXBsZShzZWxmLnZpc2l0KGl0ZW0p
WzBdIGZvciBpdGVtIGluIG5vZGUuY2hpbGRyZW4pXQorCisgICAgZGVmIHZpc2l0X1N0cmluZ05v
ZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJ2ID0gWyJcIiVzXCIiICUgZXNjYXBlKG5vZGUuZGF0
YSwgZXh0cmFzPSJcIiIpXQorICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbjoKKyAg
ICAgICAgICAgIHJ2WzBdICs9IHNlbGYudmlzaXQoY2hpbGQpWzBdCisgICAgICAgIHJldHVybiBy
dgorCisgICAgZGVmIHZpc2l0X051bWJlck5vZGUoc2VsZiwgbm9kZSk6CisgICAgICAgIHJldHVy
biBbc3RyKG5vZGUuZGF0YSldCisKKyAgICBkZWYgdmlzaXRfVmFyaWFibGVOb2RlKHNlbGYsIG5v
ZGUpOgorICAgICAgICBydiA9IGVzY2FwZShub2RlLmRhdGEpCisgICAgICAgIGZvciBjaGlsZCBp
biBub2RlLmNoaWxkcmVuOgorICAgICAgICAgICAgcnYgKz0gc2VsZi52aXNpdChjaGlsZCkKKyAg
ICAgICAgcmV0dXJuIFtydl0KKworICAgIGRlZiB2aXNpdF9JbmRleE5vZGUoc2VsZiwgbm9kZSk6
CisgICAgICAgIGFzc2VydCBsZW4obm9kZS5jaGlsZHJlbikgPT0gMQorICAgICAgICByZXR1cm4g
WyJbJXNdIiAlIHNlbGYudmlzaXQobm9kZS5jaGlsZHJlblswXSlbMF1dCisKKyAgICBkZWYgdmlz
aXRfVW5hcnlFeHByZXNzaW9uTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgY2hpbGRyZW4gPSBb
XQorICAgICAgICBmb3IgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbjoKKyAgICAgICAgICAgIGNoaWxk
X3N0ciA9IHNlbGYudmlzaXQoY2hpbGQpWzBdCisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGNo
aWxkLCBCaW5hcnlFeHByZXNzaW9uTm9kZSk6CisgICAgICAgICAgICAgICAgY2hpbGRfc3RyID0g
IiglcykiICUgY2hpbGRfc3RyCisgICAgICAgICAgICBjaGlsZHJlbi5hcHBlbmQoY2hpbGRfc3Ry
KQorICAgICAgICByZXR1cm4gWyIgIi5qb2luKGNoaWxkcmVuKV0KKworICAgIGRlZiB2aXNpdF9C
aW5hcnlFeHByZXNzaW9uTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgYXNzZXJ0IGxlbihub2Rl
LmNoaWxkcmVuKSA9PSAzCisgICAgICAgIGNoaWxkcmVuID0gW10KKyAgICAgICAgZm9yIGNoaWxk
X2luZGV4IGluIFsxLCAwLCAyXToKKyAgICAgICAgICAgIGNoaWxkID0gbm9kZS5jaGlsZHJlbltj
aGlsZF9pbmRleF0KKyAgICAgICAgICAgIGNoaWxkX3N0ciA9IHNlbGYudmlzaXQoY2hpbGQpWzBd
CisgICAgICAgICAgICBpZiAoaXNpbnN0YW5jZShjaGlsZCwgQmluYXJ5RXhwcmVzc2lvbk5vZGUp
IGFuZAorICAgICAgICAgICAgICAgIHByZWNlZGVuY2Uobm9kZS5jaGlsZHJlblswXSkgPCBwcmVj
ZWRlbmNlKGNoaWxkLmNoaWxkcmVuWzBdKSk6CisgICAgICAgICAgICAgICAgY2hpbGRfc3RyID0g
IiglcykiICUgY2hpbGRfc3RyCisgICAgICAgICAgICBjaGlsZHJlbi5hcHBlbmQoY2hpbGRfc3Ry
KQorICAgICAgICByZXR1cm4gWyIgIi5qb2luKGNoaWxkcmVuKV0KKworICAgIGRlZiB2aXNpdF9V
bmFyeU9wZXJhdG9yTm9kZShzZWxmLCBub2RlKToKKyAgICAgICAgcmV0dXJuIFtzdHIobm9kZS5k
YXRhKV0KKworICAgIGRlZiB2aXNpdF9CaW5hcnlPcGVyYXRvck5vZGUoc2VsZiwgbm9kZSk6Cisg
ICAgICAgIHJldHVybiBbc3RyKG5vZGUuZGF0YSldCisKKworZGVmIHNlcmlhbGl6ZSh0cmVlLCAq
YXJncywgKiprd2FyZ3MpOgorICAgIHMgPSBNYW5pZmVzdFNlcmlhbGl6ZXIoKmFyZ3MsICoqa3dh
cmdzKQorICAgIHJldHVybiBzLnNlcmlhbGl6ZSh0cmVlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3dwdG1hbmlmZXN0L3Rlc3RzL19faW5pdF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlm
ZXN0L3Rlc3RzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ODM0YjgyODVhNTZiZWYwZTE1NDNm
ZDkwMWM3ZTZmMmY4YmMyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFu
aWZlc3QvdGVzdHMvX19pbml0X18ucHkKQEAgLTAsMCArMSBAQAorIyBUaGlzIGZpbGUgaXMgcmVx
dWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2ggdGhpcyBkaXJlY3RvcnkgZm9yIG1vZHVsZXMuClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1h
bmlmZXN0L3Rlc3RzL3Rlc3RfY29uZGl0aW9uYWwucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZl
c3QvdGVzdHMvdGVzdF9jb25kaXRpb25hbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOWZmZGYyNTUwNzJlMjE3
YWEwMjNkMmEwNGUyOWQwOGI1ZDJmYTdiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3RfY29uZGl0aW9uYWwucHkKQEAgLTAsMCArMSwxNDMgQEAK
K2ltcG9ydCB1bml0dGVzdAorCitmcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KKworZnJv
bSAuLmJhY2tlbmRzIGltcG9ydCBjb25kaXRpb25hbAorZnJvbSAuLm5vZGUgaW1wb3J0IEJpbmFy
eUV4cHJlc3Npb25Ob2RlLCBCaW5hcnlPcGVyYXRvck5vZGUsIFZhcmlhYmxlTm9kZSwgTnVtYmVy
Tm9kZQorCisKK2NsYXNzIFRlc3RDb25kaXRpb25hbCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAg
ZGVmIGNvbXBpbGUoc2VsZiwgaW5wdXRfdGV4dCk6CisgICAgICAgIHJldHVybiBjb25kaXRpb25h
bC5jb21waWxlKGlucHV0X3RleHQpCisKKyAgICBkZWYgdGVzdF9nZXRfMChzZWxmKToKKyAgICAg
ICAgZGF0YSA9ICIiIgora2V5OiB2YWx1ZQorCitbSGVhZGluZyAxXQorICBvdGhlcl9rZXk6Cisg
ICAgaWYgYSA9PSAxOiB2YWx1ZV8xCisgICAgaWYgYSA9PSAyOiB2YWx1ZV8yCisgICAgdmFsdWVf
MworIiIiCisKKyAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSkKKworICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtleSIpLCAidmFsdWUiKQorICAgICAg
ICBjaGlsZHJlbiA9IGxpc3QoaXRlbSBmb3IgaXRlbSBpbiBtYW5pZmVzdC5pdGVyY2hpbGRyZW4o
KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobGVuKGNoaWxkcmVuKSwgMSkKKyAgICAgICAg
c2VjdGlvbiA9IGNoaWxkcmVuWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24u
bmFtZSwgIkhlYWRpbmcgMSIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2VjdGlvbi5n
ZXQoIm90aGVyX2tleSIsIHsiYSI6IDF9KSwgInZhbHVlXzEiKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFscyhzZWN0aW9uLmdldCgib3RoZXJfa2V5IiwgeyJhIjogMn0pLCAidmFsdWVfMiIpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24uZ2V0KCJvdGhlcl9rZXkiLCB7ImEiOiA3
fSksICJ2YWx1ZV8zIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2VjdGlvbi5nZXQoImtl
eSIpLCAidmFsdWUiKQorCisgICAgZGVmIHRlc3RfZ2V0XzEoc2VsZik6CisgICAgICAgIGRhdGEg
PSAiIiIKK2tleTogdmFsdWUKKworW0hlYWRpbmcgMV0KKyAgb3RoZXJfa2V5OgorICAgIGlmIGEg
PT0gIjEiOiB2YWx1ZV8xCisgICAgaWYgYSA9PSAyOiB2YWx1ZV8yCisgICAgdmFsdWVfMworIiIi
CisKKyAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSkKKworICAgICAgICBjaGls
ZHJlbiA9IGxpc3QoaXRlbSBmb3IgaXRlbSBpbiBtYW5pZmVzdC5pdGVyY2hpbGRyZW4oKSkKKyAg
ICAgICAgc2VjdGlvbiA9IGNoaWxkcmVuWzBdCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo
c2VjdGlvbi5nZXQoIm90aGVyX2tleSIsIHsiYSI6ICIxIn0pLCAidmFsdWVfMSIpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24uZ2V0KCJvdGhlcl9rZXkiLCB7ImEiOiAxfSksICJ2
YWx1ZV8zIikKKworICAgIGRlZiB0ZXN0X2dldF8yKHNlbGYpOgorICAgICAgICBkYXRhID0gIiIi
CitrZXk6CisgIGlmIGFbMV0gPT0gImIiOiB2YWx1ZV8xCisgIGlmIGFbMV0gPT0gMjogdmFsdWVf
MgorICB2YWx1ZV8zCisiIiIKKworICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRh
KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5IiwgeyJhIjog
ImFiIn0pLCAidmFsdWVfMSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0Lmdl
dCgia2V5IiwgeyJhIjogWzEsIDJdfSksICJ2YWx1ZV8yIikKKworICAgIGRlZiB0ZXN0X2dldF8z
KHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6CisgIGlmIGFbMV0gPT0gImFiIlsxXTog
dmFsdWVfMQorICBpZiBhWzFdID09IDI6IHZhbHVlXzIKKyAgdmFsdWVfMworIiIiCisKKyAgICAg
ICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSkKKworICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhtYW5pZmVzdC5nZXQoImtleSIsIHsiYSI6ICJhYiJ9KSwgInZhbHVlXzEiKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtleSIsIHsiYSI6IFsxLCAyXX0pLCAi
dmFsdWVfMiIpCisKKyAgICBkZWYgdGVzdF9zZXRfMChzZWxmKToKKyAgICAgICAgZGF0YSA9ICIi
Igora2V5OgorICBpZiBhID09ICJhIjogdmFsdWVfMQorICBpZiBhID09ICJiIjogdmFsdWVfMgor
ICB2YWx1ZV8zCisiIiIKKyAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSkKKwor
ICAgICAgICBtYW5pZmVzdC5zZXQoIm5ld19rZXkiLCAidmFsdWVfbmV3IikKKworICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoIm5ld19rZXkiKSwgInZhbHVlX25ldyIpCisK
KyAgICBkZWYgdGVzdF9zZXRfMShzZWxmKToKKyAgICAgICAgZGF0YSA9ICIiIgora2V5OgorICBp
ZiBhID09ICJhIjogdmFsdWVfMQorICBpZiBhID09ICJiIjogdmFsdWVfMgorICB2YWx1ZV8zCisi
IiIKKworICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhKQorCisgICAgICAgIG1h
bmlmZXN0LnNldCgia2V5IiwgInZhbHVlX25ldyIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMobWFuaWZlc3QuZ2V0KCJrZXkiKSwgInZhbHVlX25ldyIpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5IiwgeyJhIjogImEifSksICJ2YWx1ZV8xIikKKworICAg
IGRlZiB0ZXN0X3NldF8yKHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6CisgIGlmIGEg
PT0gImEiOiB2YWx1ZV8xCisgIGlmIGEgPT0gImIiOiB2YWx1ZV8yCisgIHZhbHVlXzMKKyIiIgor
CisgICAgICAgIG1hbmlmZXN0ID0gc2VsZi5jb21waWxlKGRhdGEpCisKKyAgICAgICAgZXhwciA9
IEJpbmFyeUV4cHJlc3Npb25Ob2RlKEJpbmFyeU9wZXJhdG9yTm9kZSgiPT0iKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlTm9kZSgiYSIpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtYmVyTm9kZSgiMSIpKQorCisgICAgICAgIG1h
bmlmZXN0LnNldCgia2V5IiwgInZhbHVlX25ldyIsIGV4cHIpCisKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMobWFuaWZlc3QuZ2V0KCJrZXkiLCB7ImEiOiAxfSksICJ2YWx1ZV9uZXciKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtleSIsIHsiYSI6ICJhIn0pLCAi
dmFsdWVfMSIpCisKKyAgICBkZWYgdGVzdF9hcGlfMChzZWxmKToKKyAgICAgICAgZGF0YSA9ICIi
Igora2V5OgorICBpZiBhID09IDEuNTogdmFsdWVfMQorICB2YWx1ZV8yCitrZXlfMTogb3RoZXJf
dmFsdWUKKyIiIgorICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhKQorCisgICAg
ICAgIHNlbGYuYXNzZXJ0RmFsc2UobWFuaWZlc3QuaXNfZW1wdHkpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKG1hbmlmZXN0LnJvb3QsIG1hbmlmZXN0KQorICAgICAgICBzZWxmLmFzc2VydFRy
dWUobWFuaWZlc3QuaGFzX2tleSgia2V5XzEiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSht
YW5pZmVzdC5oYXNfa2V5KCJrZXlfMiIpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNl
dChtYW5pZmVzdC5pdGVya2V5cygpKSwgc2V0KFsia2V5IiwgImtleV8xIl0pKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3RfcGFyc2VyLnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3RfcGFyc2VyLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2NWM5
ODRmNDJmNTZkNGI4ODhhNWE1ZWI4MTcxNDc0ODUyZmZiZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9wYXJzZXIucHkKQEAgLTAsMCArMSw3
NSBAQAoraW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gY1N0cmluZ0lPIGltcG9ydCBTdHJpbmdJTwor
Citmcm9tIC4uIGltcG9ydCBwYXJzZXIKKworIyBUaGVyZSBhcmVuJ3QgbWFueSB0ZXN0cyBoZXJl
IGJlY2F1c2UgaXQgdHVybnMgb3V0IHRvIGJlIHdheSBtb3JlIGNvbnZlbmllbnQgdG8KKyMgdXNl
IHRlc3Rfc2VyaWFsaXplciBmb3IgdGhlIG1ham9yaXR5IG9mIGNhc2VzCisKKworY2xhc3MgVGVz
dEV4cHJlc3Npb24odW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAg
ICAgICAgc2VsZi5wYXJzZXIgPSBwYXJzZXIuUGFyc2VyKCkKKworICAgIGRlZiBwYXJzZShzZWxm
LCBpbnB1dF9zdHIpOgorICAgICAgICByZXR1cm4gc2VsZi5wYXJzZXIucGFyc2UoU3RyaW5nSU8o
aW5wdXRfc3RyKSkKKworICAgIGRlZiBjb21wYXJlKHNlbGYsIGlucHV0X3RleHQsIGV4cGVjdGVk
KToKKyAgICAgICAgYWN0dWFsID0gc2VsZi5wYXJzZShpbnB1dF90ZXh0KQorICAgICAgICBzZWxm
Lm1hdGNoKGV4cGVjdGVkLCBhY3R1YWwpCisKKyAgICBkZWYgbWF0Y2goc2VsZiwgZXhwZWN0ZWRf
bm9kZSwgYWN0dWFsX25vZGUpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBlY3RlZF9u
b2RlWzBdLCBhY3R1YWxfbm9kZS5fX2NsYXNzX18uX19uYW1lX18pCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKGV4cGVjdGVkX25vZGVbMV0sIGFjdHVhbF9ub2RlLmRhdGEpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKGxlbihleHBlY3RlZF9ub2RlWzJdKSwgbGVuKGFjdHVhbF9ub2RlLmNo
aWxkcmVuKSkKKyAgICAgICAgZm9yIGV4cGVjdGVkX2NoaWxkLCBhY3R1YWxfY2hpbGQgaW4gemlw
KGV4cGVjdGVkX25vZGVbMl0sIGFjdHVhbF9ub2RlLmNoaWxkcmVuKToKKyAgICAgICAgICAgIHNl
bGYubWF0Y2goZXhwZWN0ZWRfY2hpbGQsIGFjdHVhbF9jaGlsZCkKKworICAgIGRlZiB0ZXN0X2V4
cHJfMChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorICAgICAgICAgICAgIiIiCitrZXk6
CisgIGlmIHggPT0gMSA6IHZhbHVlIiIiLAorICAgICAgICAgICAgWyJEYXRhTm9kZSIsIE5vbmUs
CisgICAgICAgICAgICAgW1siS2V5VmFsdWVOb2RlIiwgImtleSIsCisgICAgICAgICAgICAgICBb
WyJDb25kaXRpb25hbE5vZGUiLCBOb25lLAorICAgICAgICAgICAgICAgICBbWyJCaW5hcnlFeHBy
ZXNzaW9uTm9kZSIsIE5vbmUsCisgICAgICAgICAgICAgICAgICAgW1siQmluYXJ5T3BlcmF0b3JO
b2RlIiwgIj09IiwgW11dLAorICAgICAgICAgICAgICAgICAgICBbIlZhcmlhYmxlTm9kZSIsICJ4
IiwgW11dLAorICAgICAgICAgICAgICAgICAgICAgICBbIk51bWJlck5vZGUiLCAiMSIsIFtdXQor
ICAgICAgICAgICAgICAgICAgICBdXSwKKyAgICAgICAgICAgICAgICAgICAgIFsiVmFsdWVOb2Rl
IiwgInZhbHVlIiwgW11dLAorICAgICAgICAgICAgICAgICAgXV1dXV1dCisgICAgICAgICkKKwor
ICAgIGRlZiB0ZXN0X2V4cHJfMShzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorICAgICAg
ICAgICAgIiIiCitrZXk6CisgIGlmIG5vdCB4IGFuZCB5IDogdmFsdWUiIiIsCisgICAgICAgICAg
ICBbIkRhdGFOb2RlIiwgTm9uZSwKKyAgICAgICAgICAgICBbWyJLZXlWYWx1ZU5vZGUiLCAia2V5
IiwKKyAgICAgICAgICAgICAgIFtbIkNvbmRpdGlvbmFsTm9kZSIsIE5vbmUsCisgICAgICAgICAg
ICAgICAgIFtbIkJpbmFyeUV4cHJlc3Npb25Ob2RlIiwgTm9uZSwKKyAgICAgICAgICAgICAgICAg
ICBbWyJCaW5hcnlPcGVyYXRvck5vZGUiLCAiYW5kIiwgW11dLAorICAgICAgICAgICAgICAgICAg
ICBbIlVuYXJ5RXhwcmVzc2lvbk5vZGUiLCBOb25lLAorICAgICAgICAgICAgICAgICAgICAgICBb
WyJVbmFyeU9wZXJhdG9yTm9kZSIsICJub3QiLCBbXV0sCisgICAgICAgICAgICAgICAgICAgICAg
ICBbIlZhcmlhYmxlTm9kZSIsICJ4IiwgW11dCisgICAgICAgICAgICAgICAgICAgICAgICBdXSwK
KyAgICAgICAgICAgICAgICAgICAgICAgWyJWYXJpYWJsZU5vZGUiLCAieSIsIFtdXQorICAgICAg
ICAgICAgICAgICAgICBdXSwKKyAgICAgICAgICAgICAgICAgICAgIFsiVmFsdWVOb2RlIiwgInZh
bHVlIiwgW11dLAorICAgICAgICAgICAgICAgICAgXV1dXV1dCisgICAgICAgICkKKworICAgIGRl
ZiB0ZXN0X2F0b21fMChzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhwYXJz
ZXIuUGFyc2VFcnJvcik6CisgICAgICAgICAgICBzZWxmLnBhcnNlKCJrZXk6IEBVbmtub3duIikK
KworICAgIGRlZiB0ZXN0X2F0b21fMShzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJh
aXNlcyhwYXJzZXIuUGFyc2VFcnJvcik6CisgICAgICAgICAgICBzZWxmLnBhcnNlKCJrZXk6IEB0
cnVlIikKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3NlcmlhbGl6
ZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zZXJpYWxpemVyLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZkYjJjYmJiYjQ3N2I0ZWVmZGY5YThjZmYwNjIzYjk5YWFkYTQwODAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zZXJp
YWxpemVyLnB5CkBAIC0wLDAgKzEsMjI3IEBACitpbXBvcnQgc3lzCitpbXBvcnQgdW5pdHRlc3QK
KworZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCisKK2ltcG9ydCBweXRlc3QKKworZnJv
bSAuLiBpbXBvcnQgcGFyc2VyLCBzZXJpYWxpemVyCisKKworY2xhc3MgVG9rZW5pemVyVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLnNl
cmlhbGl6ZXIgPSBzZXJpYWxpemVyLk1hbmlmZXN0U2VyaWFsaXplcigpCisgICAgICAgIHNlbGYu
cGFyc2VyID0gcGFyc2VyLlBhcnNlcigpCisKKyAgICBkZWYgc2VyaWFsaXplKHNlbGYsIGlucHV0
X3N0cik6CisgICAgICAgIHJldHVybiBzZWxmLnNlcmlhbGl6ZXIuc2VyaWFsaXplKHNlbGYucGFy
c2VyLnBhcnNlKGlucHV0X3N0cikpCisKKyAgICBkZWYgY29tcGFyZShzZWxmLCBpbnB1dF9zdHIs
IGV4cGVjdGVkPU5vbmUpOgorICAgICAgICBpZiBleHBlY3RlZCBpcyBOb25lOgorICAgICAgICAg
ICAgZXhwZWN0ZWQgPSBpbnB1dF9zdHIKKyAgICAgICAgZXhwZWN0ZWQgPSBleHBlY3RlZC5lbmNv
ZGUoInV0ZjgiKQorICAgICAgICBhY3R1YWwgPSBzZWxmLnNlcmlhbGl6ZShpbnB1dF9zdHIpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVz
dF8wKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQorW0hlYWRpbmcg
MV0KKyAgb3RoZXJfa2V5OiBvdGhlcl92YWx1ZQorIiIiKQorCisgICAgZGVmIHRlc3RfMShzZWxm
KToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogdmFsdWUKK1tIZWFkaW5nIDFdCisgIG90
aGVyX2tleToKKyAgICBpZiBhIG9yIGI6IG90aGVyX3ZhbHVlCisiIiIpCisKKyAgICBkZWYgdGVz
dF8yKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQorW0hlYWRpbmcg
MV0KKyAgb3RoZXJfa2V5OgorICAgIGlmIGEgb3IgYjogb3RoZXJfdmFsdWUKKyAgICBmYWxsYmFj
a192YWx1ZQorIiIiKQorCisgICAgZGVmIHRlc3RfMyhzZWxmKToKKyAgICAgICAgc2VsZi5jb21w
YXJlKCIiImtleTogdmFsdWUKK1tIZWFkaW5nIDFdCisgIG90aGVyX2tleToKKyAgICBpZiBhID09
IDE6IG90aGVyX3ZhbHVlCisgICAgZmFsbGJhY2tfdmFsdWUKKyIiIikKKworICAgIGRlZiB0ZXN0
XzQoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IHZhbHVlCitbSGVhZGluZyAx
XQorICBvdGhlcl9rZXk6CisgICAgaWYgYSA9PSAiMSI6IG90aGVyX3ZhbHVlCisgICAgZmFsbGJh
Y2tfdmFsdWUKKyIiIikKKworICAgIGRlZiB0ZXN0XzUoc2VsZik6CisgICAgICAgIHNlbGYuY29t
cGFyZSgiIiJrZXk6IHZhbHVlCitbSGVhZGluZyAxXQorICBvdGhlcl9rZXk6CisgICAgaWYgYSA9
PSAiYWJjIlsxXTogb3RoZXJfdmFsdWUKKyAgICBmYWxsYmFja192YWx1ZQorIiIiKQorCisgICAg
ZGVmIHRlc3RfNihzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogdmFsdWUKK1tI
ZWFkaW5nIDFdCisgIG90aGVyX2tleToKKyAgICBpZiBhID09ICJhYmMiW2NdOiBvdGhlcl92YWx1
ZQorICAgIGZhbGxiYWNrX3ZhbHVlCisiIiIpCisKKyAgICBkZWYgdGVzdF83KHNlbGYpOgorICAg
ICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQorW0hlYWRpbmcgMV0KKyAgb3RoZXJfa2V5
OgorICAgIGlmIChhIG9yIGIpIGFuZCBjOiBvdGhlcl92YWx1ZQorICAgIGZhbGxiYWNrX3ZhbHVl
CisiIiIsCisiIiJrZXk6IHZhbHVlCitbSGVhZGluZyAxXQorICBvdGhlcl9rZXk6CisgICAgaWYg
YSBvciBiIGFuZCBjOiBvdGhlcl92YWx1ZQorICAgIGZhbGxiYWNrX3ZhbHVlCisiIiIpCisKKyAg
ICBkZWYgdGVzdF84KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQor
W0hlYWRpbmcgMV0KKyAgb3RoZXJfa2V5OgorICAgIGlmIGEgb3IgKGIgYW5kIGMpOiBvdGhlcl92
YWx1ZQorICAgIGZhbGxiYWNrX3ZhbHVlCisiIiIpCisKKyAgICBkZWYgdGVzdF85KHNlbGYpOgor
ICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQorW0hlYWRpbmcgMV0KKyAgb3RoZXJf
a2V5OgorICAgIGlmIG5vdCAoYSBhbmQgYik6IG90aGVyX3ZhbHVlCisgICAgZmFsbGJhY2tfdmFs
dWUKKyIiIikKKworICAgIGRlZiB0ZXN0XzEwKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUo
IiIia2V5OiB2YWx1ZQorW0hlYWRpbmcgMV0KKyAgc29tZV9rZXk6IHNvbWVfdmFsdWUKKworW0hl
YWRpbmcgMl0KKyAgb3RoZXJfa2V5OiBvdGhlcl92YWx1ZQorIiIiKQorCisgICAgZGVmIHRlc3Rf
MTEoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6CisgIGlmIG5vdCBhIGFuZCBi
IGFuZCBjIGFuZCBkOiB0cnVlCisiIiIpCisKKyAgICBkZWYgdGVzdF8xMihzZWxmKToKKyAgICAg
ICAgc2VsZi5jb21wYXJlKCIiIltIZWFkaW5nIDFdCisgIGtleTogW2E6MSwgYjoyXQorIiIiKQor
CisgICAgZGVmIHRlc3RfMTMoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IFth
OjEsICJiOiMiXQorIiIiKQorCisgICAgZGVmIHRlc3RfMTQoc2VsZik6CisgICAgICAgIHNlbGYu
Y29tcGFyZSgiIiJrZXk6IFsiLCJdCisiIiIpCisKKyAgICBkZWYgdGVzdF8xNShzZWxmKToKKyAg
ICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogLAorIiIiKQorCisgICAgZGVmIHRlc3RfMTYoc2Vs
Zik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IFsiXSIsIGJdCisiIiIpCisKKyAgICBk
ZWYgdGVzdF8xNyhzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogXQorIiIiKQor
CisgICAgZGVmIHRlc3RfMTgoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IFxd
CisgICAgICAgICIiIiwgIiIia2V5OiBdCisiIiIpCisKKyAgICBkZWYgdGVzdF9lc2NhcGVfMChz
ZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrXHRcOnk6IFxhXGJcZlxuXHJcdFx2IiIi
LAorICAgICAgICAgICAgICAgICAgICAgciIiImtcdFw6eTogXHgwN1x4MDhceDBjXG5cclx0XHgw
YgorIiIiKQorCisgICAgZGVmIHRlc3RfZXNjYXBlXzEoc2VsZik6CisgICAgICAgIHNlbGYuY29t
cGFyZShyIiIia1x4MDA6IFx4MTJBXHg0NSIiIiwKKyAgICAgICAgICAgICAgICAgICAgIHIiIiJr
XHgwMDogXHgxMkFFCisiIiIpCisKKyAgICBkZWYgdGVzdF9lc2NhcGVfMihzZWxmKToKKyAgICAg
ICAgc2VsZi5jb21wYXJlKHIiIiJrXHUwMDQ1eTogXHUxMjM0QVx1QUJjNiIiIiwKKyAgICAgICAg
ICAgICAgICAgICAgIHUiIiJrRXk6IFx1MTIzNEFcdWFiYzYKKyIiIikKKworICAgIGRlZiB0ZXN0
X2VzY2FwZV8zKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUociIiImtcdTAwNDV5OiBcdTEy
MzRBXHVBQmM2IiIiLAorICAgICAgICAgICAgICAgICAgICAgdSIiImtFeTogXHUxMjM0QVx1YWJj
NgorIiIiKQorCisgICAgZGVmIHRlc3RfZXNjYXBlXzQoc2VsZik6CisgICAgICAgIHNlbGYuY29t
cGFyZShyIiIia2V5OiAnXHUxMjM0QVx1QUJjNiciIiIsCisgICAgICAgICAgICAgICAgICAgICB1
IiIia2V5OiBcdTEyMzRBXHVhYmM2CisiIiIpCisKKyAgICBkZWYgdGVzdF9lc2NhcGVfNShzZWxm
KToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6IFtcdTEyMzRBXHVBQmM2XSIiIiwKKyAg
ICAgICAgICAgICAgICAgICAgIHUiIiJrZXk6IFtcdTEyMzRBXHVhYmM2XQorIiIiKQorCisgICAg
ZGVmIHRlc3RfZXNjYXBlXzYoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZShyIiIia2V5OiBb
XHUxMjM0QVx1QUJjNlwsXSIiIiwKKyAgICAgICAgICAgICAgICAgICAgIHUiIiJrZXk6IFsiXHUx
MjM0QVx1YWJjNiwiXQorIiIiKQorCisgICAgZGVmIHRlc3RfZXNjYXBlXzcoc2VsZik6CisgICAg
ICAgIHNlbGYuY29tcGFyZShyIiIia2V5OiBbXCxcXVwjXSIiIiwKKyAgICAgICAgICAgICAgICAg
ICAgIHIiIiJrZXk6IFsiLF0jIl0KKyIiIikKKworICAgIGRlZiB0ZXN0X2VzY2FwZV84KHNlbGYp
OgorICAgICAgICBzZWxmLmNvbXBhcmUociIiImtleTogXCMiIiIsCisgICAgICAgICAgICAgICAg
ICAgICByIiIia2V5OiAiIyIKKyIiIikKKworICAgIEBweXRlc3QubWFyay54ZmFpbChzeXMubWF4
dW5pY29kZSA9PSAweEZGRkYsIHJlYXNvbj0ibmFycm93IHVuaWNvZGUiKQorICAgIGRlZiB0ZXN0
X2VzY2FwZV85KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUociIiImtleTogXFUxMEZGRkZh
YmMiIiIsCisgICAgICAgICAgICAgICAgICAgICB1IiIia2V5OiBcVTAwMTBGRkZGYWJjCisiIiIp
CisKKyAgICBkZWYgdGVzdF9lc2NhcGVfMTAoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZShy
IiIia2V5OiBcdTEwRkZhYiIiIiwKKyAgICAgICAgICAgICAgICAgICAgIHUiIiJrZXk6IFx1MTBG
RmFiCisiIiIpCisKKyAgICBkZWYgdGVzdF9lc2NhcGVfMTEoc2VsZik6CisgICAgICAgIHNlbGYu
Y29tcGFyZShyIiIia2V5OiBcXGFiCisiIiIpCisKKyAgICBkZWYgdGVzdF9hdG9tXzEoc2VsZik6
CisgICAgICAgICAgICBzZWxmLmNvbXBhcmUociIiImtleTogQFRydWUKKyIiIikKKworICAgIGRl
ZiB0ZXN0X2F0b21fMihzZWxmKToKKyAgICAgICAgICAgIHNlbGYuY29tcGFyZShyIiIia2V5OiBA
RmFsc2UKKyIiIikKKworICAgIGRlZiB0ZXN0X2F0b21fMyhzZWxmKToKKyAgICAgICAgICAgIHNl
bGYuY29tcGFyZShyIiIia2V5OiBAUmVzZXQKKyIiIikKKworICAgIGRlZiB0ZXN0X2F0b21fNChz
ZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6IFthLCBAUmVzZXQsIGJdCisiIiIp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zdGF0aWMu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zdGF0aWMucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZWQyODU3OGQzYmZjM2E1ZTEzNTYxN2EzMmMzZTcxOTNjNGM1M2JiOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3N0YXRpYy5weQpA
QCAtMCwwICsxLDk4IEBACitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSBjU3RyaW5nSU8gaW1wb3J0
IFN0cmluZ0lPCisKK2Zyb20gLi5iYWNrZW5kcyBpbXBvcnQgc3RhdGljCisKKyMgVGhlcmUgYXJl
bid0IG1hbnkgdGVzdHMgaGVyZSBiZWNhdXNlIGl0IHR1cm5zIG91dCB0byBiZSB3YXkgbW9yZSBj
b252ZW5pZW50IHRvCisjIHVzZSB0ZXN0X3NlcmlhbGl6ZXIgZm9yIHRoZSBtYWpvcml0eSBvZiBj
YXNlcworCisKK2NsYXNzIFRlc3RTdGF0aWModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBj
b21waWxlKHNlbGYsIGlucHV0X3RleHQsIGlucHV0X2RhdGEpOgorICAgICAgICByZXR1cm4gc3Rh
dGljLmNvbXBpbGUoaW5wdXRfdGV4dCwgaW5wdXRfZGF0YSkKKworICAgIGRlZiB0ZXN0X2dldF8w
KHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6IHZhbHVlCisKK1tIZWFkaW5nIDFdCisg
IG90aGVyX2tleToKKyAgICBpZiBhID09IDE6IHZhbHVlXzEKKyAgICBpZiBhID09IDI6IHZhbHVl
XzIKKyAgICB2YWx1ZV8zCisiIiIKKworICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShk
YXRhLCB7ImEiOiAyfSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQo
ImtleSIpLCAidmFsdWUiKQorICAgICAgICBjaGlsZHJlbiA9IGxpc3QoaXRlbSBmb3IgaXRlbSBp
biBtYW5pZmVzdC5pdGVyY2hpbGRyZW4oKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobGVu
KGNoaWxkcmVuKSwgMSkKKyAgICAgICAgc2VjdGlvbiA9IGNoaWxkcmVuWzBdCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24ubmFtZSwgIkhlYWRpbmcgMSIpCisKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoc2VjdGlvbi5nZXQoIm90aGVyX2tleSIpLCAidmFsdWVfMiIpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24uZ2V0KCJrZXkiKSwgInZhbHVlIikKKworICAg
IGRlZiB0ZXN0X2dldF8xKHNlbGYpOgorICAgICAgICBkYXRhID0gIiIiCitrZXk6IHZhbHVlCisK
K1tIZWFkaW5nIDFdCisgIG90aGVyX2tleToKKyAgICBpZiBhID09IDE6IHZhbHVlXzEKKyAgICBp
ZiBhID09IDI6IHZhbHVlXzIKKyAgICB2YWx1ZV8zCisiIiIKKyAgICAgICAgbWFuaWZlc3QgPSBz
ZWxmLmNvbXBpbGUoZGF0YSwgeyJhIjogM30pCisKKyAgICAgICAgY2hpbGRyZW4gPSBsaXN0KGl0
ZW0gZm9yIGl0ZW0gaW4gbWFuaWZlc3QuaXRlcmNoaWxkcmVuKCkpCisgICAgICAgIHNlY3Rpb24g
PSBjaGlsZHJlblswXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZWN0aW9uLmdldCgib3Ro
ZXJfa2V5IiksICJ2YWx1ZV8zIikKKworICAgIGRlZiB0ZXN0X2dldF8zKHNlbGYpOgorICAgICAg
ICBkYXRhID0gIiIia2V5OgorICBpZiBhID09ICIxIjogdmFsdWVfMQorICBpZiBhWzBdID09ICJh
YiJbMF06IHZhbHVlXzIKKyIiIgorICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRh
LCB7ImEiOiAiMSJ9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtl
eSIpLCAidmFsdWVfMSIpCisKKyAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSwg
eyJhIjogImFjIn0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5
IiksICJ2YWx1ZV8yIikKKworICAgIGRlZiB0ZXN0X2dldF80KHNlbGYpOgorICAgICAgICBkYXRh
ID0gIiIia2V5OgorICBpZiBub3QgYTogdmFsdWVfMQorICB2YWx1ZV8yCisiIiIKKyAgICAgICAg
bWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSwgeyJhIjogVHJ1ZX0pCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5IiksICJ2YWx1ZV8yIikKKworICAgICAgICBt
YW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhLCB7ImEiOiBGYWxzZX0pCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKG1hbmlmZXN0LmdldCgia2V5IiksICJ2YWx1ZV8xIikKKworICAgIGRlZiB0
ZXN0X2FwaShzZWxmKToKKyAgICAgICAgZGF0YSA9ICIiImtleToKKyAgaWYgYSA9PSAxLjU6IHZh
bHVlXzEKKyAgdmFsdWVfMgora2V5XzE6IG90aGVyX3ZhbHVlCisiIiIKKyAgICAgICAgbWFuaWZl
c3QgPSBzZWxmLmNvbXBpbGUoZGF0YSwgeyJhIjogMS41fSkKKworICAgICAgICBzZWxmLmFzc2Vy
dEZhbHNlKG1hbmlmZXN0LmlzX2VtcHR5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5p
ZmVzdC5yb290LCBtYW5pZmVzdCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hbmlmZXN0Lmhh
c19rZXkoImtleV8xIikpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobWFuaWZlc3QuaGFzX2tl
eSgia2V5XzIiKSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZXQobWFuaWZlc3QuaXRl
cmtleXMoKSksIHNldChbImtleSIsICJrZXlfMSJdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMoc2V0KG1hbmlmZXN0Lml0ZXJ2YWx1ZXMoKSksIHNldChbInZhbHVlXzEiLCAib3RoZXJfdmFs
dWUiXSkpCisKKyAgICBkZWYgdGVzdF9pc19lbXB0eV8xKHNlbGYpOgorICAgICAgICBkYXRhID0g
IiIiCitbU2VjdGlvbl0KKyAgW1N1YnNlY3Rpb25dCisiIiIKKyAgICAgICAgbWFuaWZlc3QgPSBz
ZWxmLmNvbXBpbGUoZGF0YSwge30pCisKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hbmlmZXN0
LmlzX2VtcHR5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rl
c3RfdG9rZW5pemVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3RfdG9r
ZW5pemVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4MTc2YzVhMTY5MDUyYTVjMDZmMmU1MzVhMzdiOGY1M2I1
MmRhNWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMv
dGVzdF90b2tlbml6ZXIucHkKQEAgLTAsMCArMSwzNTcgQEAKK2ltcG9ydCBzeXMKK2ltcG9ydCBv
cworaW1wb3J0IHVuaXR0ZXN0CisKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmFic3BhdGgo
Ii4uIikpCitmcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KKworZnJvbSAuLiBpbXBvcnQg
cGFyc2VyCitmcm9tIC4ucGFyc2VyIGltcG9ydCB0b2tlbl90eXBlcworCisKK2NsYXNzIFRva2Vu
aXplclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAg
ICAgc2VsZi50b2tlbml6ZXIgPSBwYXJzZXIuVG9rZW5pemVyKCkKKworICAgIGRlZiB0b2tlbml6
ZShzZWxmLCBpbnB1dF9zdHIpOgorICAgICAgICBydiA9IFtdCisgICAgICAgIGZvciBpdGVtIGlu
IHNlbGYudG9rZW5pemVyLnRva2VuaXplKFN0cmluZ0lPKGlucHV0X3N0cikpOgorICAgICAgICAg
ICAgcnYuYXBwZW5kKGl0ZW0pCisgICAgICAgICAgICBpZiBpdGVtWzBdID09IHRva2VuX3R5cGVz
LmVvZjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICByZXR1cm4gcnYKKworICAgIGRl
ZiBjb21wYXJlKHNlbGYsIGlucHV0X3RleHQsIGV4cGVjdGVkKToKKyAgICAgICAgZXhwZWN0ZWQg
PSBleHBlY3RlZCArIFsodG9rZW5fdHlwZXMuZW9mLCBOb25lKV0KKyAgICAgICAgYWN0dWFsID0g
c2VsZi50b2tlbml6ZShpbnB1dF90ZXh0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhhY3R1
YWwsIGV4cGVjdGVkKQorCisgICAgZGVmIHRlc3RfaGVhZGluZ18wKHNlbGYpOgorICAgICAgICBz
ZWxmLmNvbXBhcmUoIiIiW0hlYWRpbmcgdGV4dF0iIiIsCisgICAgICAgICAgICAgICAgICAgICBb
KHRva2VuX3R5cGVzLnBhcmVuLCAiWyIpLAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90
eXBlcy5zdHJpbmcsICJIZWFkaW5nIHRleHQiKSwKKyAgICAgICAgICAgICAgICAgICAgICAodG9r
ZW5fdHlwZXMucGFyZW4sICJdIildKQorCisgICAgZGVmIHRlc3RfaGVhZGluZ18xKHNlbGYpOgor
ICAgICAgICBzZWxmLmNvbXBhcmUoIiIiW0hlYWRpbmcgW3RleHRcXV0iIiIsCisgICAgICAgICAg
ICAgICAgICAgICBbKHRva2VuX3R5cGVzLnBhcmVuLCAiWyIpLAorICAgICAgICAgICAgICAgICAg
ICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJIZWFkaW5nIFt0ZXh0XSIpLAorICAgICAgICAgICAg
ICAgICAgICAgICh0b2tlbl90eXBlcy5wYXJlbiwgIl0iKV0pCisKKyAgICBkZWYgdGVzdF9oZWFk
aW5nXzIoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJbSGVhZGluZyAjdGV4dF0iIiIs
CisgICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnBhcmVuLCAiWyIpLAorICAgICAg
ICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJIZWFkaW5nICN0ZXh0IiksCisg
ICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnBhcmVuLCAiXSIpXSkKKworICAgIGRl
ZiB0ZXN0X2hlYWRpbmdfMyhzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiIltIZWFkaW5n
IFtcXXRleHRdIiIiLAorICAgICAgICAgICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5wYXJlbiwg
IlsiKSwKKyAgICAgICAgICAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAiSGVhZGlu
ZyBbXXRleHQiKSwKKyAgICAgICAgICAgICAgICAgICAgICAodG9rZW5fdHlwZXMucGFyZW4sICJd
IildKQorCisgICAgZGVmIHRlc3RfaGVhZGluZ180KHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYu
YXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAgICAgICAgIHNlbGYudG9rZW5p
emUoIltIZWFkaW5nIikKKworICAgIGRlZiB0ZXN0X2hlYWRpbmdfNShzZWxmKToKKyAgICAgICAg
c2VsZi5jb21wYXJlKCIiIltIZWFkaW5nIFtcXXRleHRdICNjb21tZW50IiIiLAorICAgICAgICAg
ICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5wYXJlbiwgIlsiKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAiSGVhZGluZyBbXXRleHQiKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAodG9rZW5fdHlwZXMucGFyZW4sICJdIildKQorCisgICAgZGVmIHRlc3RfaGVh
ZGluZ182KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUociIiIltIZWFkaW5nIFx0dGV4dF0i
IiIsCisgICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnBhcmVuLCAiWyIpLAorICAg
ICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJIZWFkaW5nIFx0dGV4dCIp
LAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5wYXJlbiwgIl0iKV0pCisKKyAg
ICBkZWYgdGVzdF9rZXlfMChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTp2YWx1
ZSIiIiwKKyAgICAgICAgICAgICAgICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5Iiks
CisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUiKV0pCisKKyAg
ICBkZWYgdGVzdF9rZXlfMShzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleSAgOiAg
dmFsdWUiIiIsCisgICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtl
eSIpLAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6Iiks
CisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgInZhbHVlIildKQor
CisgICAgZGVmIHRlc3Rfa2V5XzIoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXkg
IDogIHZhbCB1ZSIiIiwKKyAgICAgICAgICAgICAgICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5n
LCAia2V5IiksCisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwg
IjoiKSwKKyAgICAgICAgICAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsIHVl
IildKQorCisgICAgZGVmIHRlc3Rfa2V5XzMoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgi
IiJrZXk6IHZhbHVlI2NvbW1lbnQiIiIsCisgICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5
cGVzLnN0cmluZywgImtleSIpLAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5z
ZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmlu
ZywgInZhbHVlIildKQorCisgICAgZGVmIHRlc3Rfa2V5XzQoc2VsZik6CisgICAgICAgIHdpdGgg
c2VsZi5hc3NlcnRSYWlzZXMocGFyc2VyLlBhcnNlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi50
b2tlbml6ZSgiIiJrZSB5OiB2YWx1ZSIiIikKKworICAgIGRlZiB0ZXN0X2tleV81KHNlbGYpOgor
ICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAg
ICAgICAgIHNlbGYudG9rZW5pemUoIiIia2V5IiIiKQorCisgICAgZGVmIHRlc3Rfa2V5XzYoc2Vs
Zik6CisgICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6ICJ2YWx1ZVwiIiIiLAorICAgICAgICAg
ICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAgICAgICAg
ICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJ2YWx1ZSIpXSkKKworICAgIGRlZiB0ZXN0X2tleV83
KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiAndmFsdWUnIiIiLAorICAgICAg
ICAgICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAgICAg
ICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJ2YWx1ZSIpXSkKKworICAgIGRlZiB0ZXN0X2tl
eV84KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiAiI3ZhbHVlXCIiIiIsCisg
ICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAg
ICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAg
ICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgIiN2YWx1ZSIpXSkKKworICAgIGRlZiB0
ZXN0X2tleV85KHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiAnI3ZhbHVlXCci
IiIsCisgICAgICAgICAgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAor
ICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAg
ICAgICAgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgIiN2YWx1ZSIpXSkKKworICAg
IGRlZiB0ZXN0X2tleV8xMChzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhw
YXJzZXIuUGFyc2VFcnJvcik6CisgICAgICAgICAgICBzZWxmLnRva2VuaXplKCIiImtleTogInZh
bHVlIiIiKQorCisgICAgZGVmIHRlc3Rfa2V5XzExKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYu
YXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAgICAgICAgIHNlbGYudG9rZW5p
emUoIiIia2V5OiAndmFsdWUiIiIpCisKKyAgICBkZWYgdGVzdF9rZXlfMTIoc2VsZik6CisgICAg
ICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMocGFyc2VyLlBhcnNlRXJyb3IpOgorICAgICAgICAg
ICAgc2VsZi50b2tlbml6ZSgiIiJrZXk6ICd2YWx1ZSIiIikKKworICAgIGRlZiB0ZXN0X2tleV8x
MyhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhwYXJzZXIuUGFyc2VFcnJv
cik6CisgICAgICAgICAgICBzZWxmLnRva2VuaXplKCIiImtleTogJ3ZhbHVlJyBhYmMiIiIpCisK
KyAgICBkZWYgdGVzdF9rZXlfMTQoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZShyIiIia2V5
OiBcXG5iIiIiLAorICAgICAgICAgICAgICAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJpbmcsICJr
ZXkiKSwKKyAgICAgICAgICAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIp
LAorICAgICAgICAgICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsIHIiXG5iIildKQor
CisgICAgZGVmIHRlc3RfbGlzdF8wKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoCisiIiIK
K2tleTogW10iIiIsCisgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAor
ICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAg
KHRva2VuX3R5cGVzLmxpc3Rfc3RhcnQsICJbIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVz
Lmxpc3RfZW5kLCAiXSIpXSkKKworICAgIGRlZiB0ZXN0X2xpc3RfMShzZWxmKToKKyAgICAgICAg
c2VsZi5jb21wYXJlKAorIiIiCitrZXk6IFthLCAiYiJdIiIiLAorICAgICAgICAgICAgWyh0b2tl
bl90eXBlcy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJh
dG9yLCAiOiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5saXN0X3N0YXJ0LCAiWyIpLAor
ICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJhIiksCisgICAgICAgICAgICAgKHRv
a2VuX3R5cGVzLnN0cmluZywgImIiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubGlzdF9l
bmQsICJdIildKQorCisgICAgZGVmIHRlc3RfbGlzdF8yKHNlbGYpOgorICAgICAgICBzZWxmLmNv
bXBhcmUoCisiIiIKK2tleTogW2EsCisgICAgICBiXSIiIiwKKyAgICAgICAgICAgIFsodG9rZW5f
dHlwZXMuc3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRv
ciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubGlzdF9zdGFydCwgIlsiKSwKKyAg
ICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAiYSIpLAorICAgICAgICAgICAgICh0b2tl
bl90eXBlcy5zdHJpbmcsICJiIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLmxpc3RfZW5k
LCAiXSIpXSkKKworICAgIGRlZiB0ZXN0X2xpc3RfMyhzZWxmKToKKyAgICAgICAgc2VsZi5jb21w
YXJlKAorIiIiCitrZXk6IFthLCAjYl0KKyAgICAgIGNdIiIiLAorICAgICAgICAgICAgWyh0b2tl
bl90eXBlcy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJh
dG9yLCAiOiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5saXN0X3N0YXJ0LCAiWyIpLAor
ICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zdHJpbmcsICJhIiksCisgICAgICAgICAgICAgKHRv
a2VuX3R5cGVzLnN0cmluZywgImMiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubGlzdF9l
bmQsICJdIildKQorCisgICAgZGVmIHRlc3RfbGlzdF80KHNlbGYpOgorICAgICAgICB3aXRoIHNl
bGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAgICAgICAgIHNlbGYudG9r
ZW5pemUoIiIia2V5OiBbYSAjYl0KKyAgICAgICAgICAgIGNdIiIiKQorCisgICAgZGVmIHRlc3Rf
bGlzdF81KHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJz
ZUVycm9yKToKKyAgICAgICAgICAgIHNlbGYudG9rZW5pemUoIiIia2V5OiBbYSBcXAorICAgICAg
ICAgICAgY10iIiIpCisKKyAgICBkZWYgdGVzdF9saXN0XzYoc2VsZik6CisgICAgICAgIHNlbGYu
Y29tcGFyZSgKKyIiImtleTogW2EgLCBiXSIiIiwKKyAgICAgICAgWyh0b2tlbl90eXBlcy5zdHJp
bmcsICJrZXkiKSwKKyAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAg
ICAgICAodG9rZW5fdHlwZXMubGlzdF9zdGFydCwgIlsiKSwKKyAgICAgICAgICh0b2tlbl90eXBl
cy5zdHJpbmcsICJhIiksCisgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAiYiIpLAorICAg
ICAgICAgKHRva2VuX3R5cGVzLmxpc3RfZW5kLCAiXSIpXSkKKworICAgIGRlZiB0ZXN0X2V4cHJf
MChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorIiIiCitrZXk6CisgIGlmIGNvbmQgPT0g
MTogdmFsdWUiIiIsCisgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAor
ICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAg
KHRva2VuX3R5cGVzLmdyb3VwX3N0YXJ0LCBOb25lKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlw
ZXMuaWRlbnQsICJpZiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImNvbmQi
KSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICI9PSIpLAorICAgICAgICAgICAg
ICh0b2tlbl90eXBlcy5udW1iZXIsICIxIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNl
cGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUi
KV0pCisKKyAgICBkZWYgdGVzdF9leHByXzEoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgK
KyIiIgora2V5OgorICBpZiBjb25kID09IDE6IHZhbHVlMQorICB2YWx1ZTIiIiIsCisgICAgICAg
ICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAgICAgICAgICh0b2tlbl90
eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLmdyb3VwX3N0
YXJ0LCBOb25lKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICJpZiIpLAorICAg
ICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImNvbmQiKSwKKyAgICAgICAgICAgICAodG9r
ZW5fdHlwZXMuaWRlbnQsICI9PSIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5udW1iZXIs
ICIxIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAg
ICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUxIiksCisgICAgICAgICAgICAgKHRv
a2VuX3R5cGVzLnN0cmluZywgInZhbHVlMiIpXSkKKworICAgIGRlZiB0ZXN0X2V4cHJfMihzZWxm
KToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorIiIiCitrZXk6CisgIGlmIGNvbmQ9PSIxIjogdmFs
dWUiIiIsCisgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAg
ICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgKHRva2Vu
X3R5cGVzLmdyb3VwX3N0YXJ0LCBOb25lKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRl
bnQsICJpZiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImNvbmQiKSwKKyAg
ICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICI9PSIpLAorICAgICAgICAgICAgICh0b2tl
bl90eXBlcy5zdHJpbmcsICIxIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRv
ciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUiKV0pCisK
KyAgICBkZWYgdGVzdF9leHByXzMoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZSgKKyIiIgor
a2V5OgorICBpZiBjb25kPT0xLjE6IHZhbHVlIiIiLAorICAgICAgICAgICAgWyh0b2tlbl90eXBl
cy5zdHJpbmcsICJrZXkiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAi
OiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5ncm91cF9zdGFydCwgTm9uZSksCisgICAg
ICAgICAgICAgKHRva2VuX3R5cGVzLmlkZW50LCAiaWYiKSwKKyAgICAgICAgICAgICAodG9rZW5f
dHlwZXMuaWRlbnQsICJjb25kIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLmlkZW50LCAi
PT0iKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubnVtYmVyLCAiMS4xIiksCisgICAgICAg
ICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5f
dHlwZXMuc3RyaW5nLCAidmFsdWUiKV0pCisKKyAgICBkZWYgdGVzdF9leHByXzQoc2VsZik6Cisg
ICAgICAgIHNlbGYuY29tcGFyZSgKKyAgICAgICAgICAgICIiIgora2V5OgorICBpZiBjb25kPT0x
LjEgYW5kIGNvbmQyID09ICJhIjogdmFsdWUiIiIsCisgICAgICAgICAgICBbKHRva2VuX3R5cGVz
LnN0cmluZywgImtleSIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6
IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLmdyb3VwX3N0YXJ0LCBOb25lKSwKKyAgICAg
ICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICJpZiIpLAorICAgICAgICAgICAgICh0b2tlbl90
eXBlcy5pZGVudCwgImNvbmQiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICI9
PSIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5udW1iZXIsICIxLjEiKSwKKyAgICAgICAg
ICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICJhbmQiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlw
ZXMuaWRlbnQsICJjb25kMiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgIj09
IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgImEiKSwKKyAgICAgICAgICAg
ICAodG9rZW5fdHlwZXMuc2VwYXJhdG9yLCAiOiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBl
cy5zdHJpbmcsICJ2YWx1ZSIpXSkKKworICAgIGRlZiB0ZXN0X2V4cHJfNShzZWxmKToKKyAgICAg
ICAgc2VsZi5jb21wYXJlKAorIiIiCitrZXk6CisgIGlmIChjb25kPT0xLjEgKTogdmFsdWUiIiIs
CisgICAgICAgICAgICBbKHRva2VuX3R5cGVzLnN0cmluZywgImtleSIpLAorICAgICAgICAgICAg
ICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVz
Lmdyb3VwX3N0YXJ0LCBOb25lKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuaWRlbnQsICJp
ZiIpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5wYXJlbiwgIigiKSwKKyAgICAgICAgICAg
ICAodG9rZW5fdHlwZXMuaWRlbnQsICJjb25kIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVz
LmlkZW50LCAiPT0iKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMubnVtYmVyLCAiMS4xIiks
CisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnBhcmVuLCAiKSIpLAorICAgICAgICAgICAgICh0
b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0
cmluZywgInZhbHVlIildKQorCisgICAgZGVmIHRlc3RfZXhwcl82KHNlbGYpOgorICAgICAgICBz
ZWxmLmNvbXBhcmUoCisiIiIKK2tleToKKyAgaWYgIlxcdHRlc3QiOiB2YWx1ZSIiIiwKKyAgICAg
ICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5IiksCisgICAgICAgICAgICAgKHRva2Vu
X3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAgICAgICAodG9rZW5fdHlwZXMuZ3JvdXBf
c3RhcnQsIE5vbmUpLAorICAgICAgICAgICAgICh0b2tlbl90eXBlcy5pZGVudCwgImlmIiksCisg
ICAgICAgICAgICAgKHRva2VuX3R5cGVzLnN0cmluZywgIlx0dGVzdCIpLAorICAgICAgICAgICAg
ICh0b2tlbl90eXBlcy5zZXBhcmF0b3IsICI6IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVz
LnN0cmluZywgInZhbHVlIildKQorCisgICAgZGVmIHRlc3RfZXhwcl83KHNlbGYpOgorICAgICAg
ICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAgICAgICAg
IHNlbGYudG9rZW5pemUoCisiIiIKK2tleToKKyAgaWYgMUE6IHZhbHVlIiIiKQorCisgICAgZGVm
IHRlc3RfZXhwcl84KHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNl
ci5QYXJzZUVycm9yKToKKyAgICAgICAgICAgIHNlbGYudG9rZW5pemUoCisiIiIKK2tleToKKyAg
aWYgMWE6IHZhbHVlIiIiKQorCisgICAgZGVmIHRlc3RfZXhwcl85KHNlbGYpOgorICAgICAgICB3
aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHBhcnNlci5QYXJzZUVycm9yKToKKyAgICAgICAgICAgIHNl
bGYudG9rZW5pemUoCisiIiIKK2tleToKKyAgaWYgMS4xLjE6IHZhbHVlIiIiKQorCisgICAgZGVm
IHRlc3RfZXhwcl8xMChzZWxmKToKKyAgICAgICAgc2VsZi5jb21wYXJlKAorIiIiCitrZXk6Cisg
IGlmIDEuOiB2YWx1ZSIiIiwKKyAgICAgICAgICAgIFsodG9rZW5fdHlwZXMuc3RyaW5nLCAia2V5
IiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAgICAg
ICAgICAodG9rZW5fdHlwZXMuZ3JvdXBfc3RhcnQsIE5vbmUpLAorICAgICAgICAgICAgICh0b2tl
bl90eXBlcy5pZGVudCwgImlmIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLm51bWJlciwg
IjEuIiksCisgICAgICAgICAgICAgKHRva2VuX3R5cGVzLnNlcGFyYXRvciwgIjoiKSwKKyAgICAg
ICAgICAgICAodG9rZW5fdHlwZXMuc3RyaW5nLCAidmFsdWUiKV0pCisKK2lmIF9fbmFtZV9fID09
ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvd3B0bWFuaWZlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFu
aWZlc3QvdGVzdHMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjdkNDc2NGFjZWEzZjk1M2E0
YWEzYjBmYTYyOGJmYjJiMWM0MjY3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93
cHRtYW5pZmVzdC90ZXN0cy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvX19pbml0X18ucHkKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9jb25kaXRpb25hbC5weQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93
cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3BhcnNlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVz
dC90ZXN0cy90ZXN0X3NlcmlhbGl6ZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVz
dHMvdGVzdF9zdGF0aWMucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF90
b2tlbml6ZXIucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC93M2MtaW1wb3J0LmxvZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wMTNjNTQ2ZTNmZDc5NjlkZGJmYzM0YzYwNjJjYTcxNWJmMzA3ZDU4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3czYy1pbXBvcnQubG9nCkBAIC0wLDAg
KzEsMjAgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9fX2luaXRfXy5weQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9ub2RlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlm
ZXN0L3BhcnNlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9zZXJpYWxpemVyLnB5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0cnVubmVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdHJ1
bm5lci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iZjliNzRlNDM5OGZhZTkxNWY3MzQ1NTFmNTY0NDFlMjk3NmI2
MjE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdHJ1bm5lci5weQpAQCAtMCww
ICsxLDI1OSBAQAorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCisKK2lt
cG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworaW1wb3J0IGVudmlyb25tZW50IGFz
IGVudgoraW1wb3J0IHByb2R1Y3RzCitpbXBvcnQgdGVzdGxvYWRlcgoraW1wb3J0IHdwdGNvbW1h
bmRsaW5lCitpbXBvcnQgd3B0bG9nZ2luZworaW1wb3J0IHdwdHRlc3QKK2Zyb20gdGVzdHJ1bm5l
ciBpbXBvcnQgTWFuYWdlckdyb3VwCitmcm9tIGJyb3dzZXJzLmJhc2UgaW1wb3J0IE51bGxCcm93
c2VyCisKK2hlcmUgPSBvcy5wYXRoLnNwbGl0KF9fZmlsZV9fKVswXQorCitsb2dnZXIgPSBOb25l
CisKKyIiIlJ1bm5lciBmb3Igd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZSBydW5uZXIgaGFzIHNl
dmVyYWwgZGVzaWduIGdvYWxzOgorCisqIFRlc3RzIHNob3VsZCBydW4gd2l0aCBubyBtb2RpZmlj
YXRpb24gZnJvbSB1cHN0cmVhbS4KKworKiBUZXN0cyBzaG91bGQgYmUgcmVnYXJkZWQgYXMgInVu
dHJ1c3RlZCIgc28gdGhhdCBlcnJvcnMsIHRpbWVvdXRzIGFuZCBldmVuCisgIGNyYXNoZXMgaW4g
dGhlIHRlc3RzIGNhbiBiZSBoYW5kbGVkIHdpdGhvdXQgZmFpbGluZyB0aGUgZW50aXJlIHRlc3Qg
cnVuLgorCisqIEZvciBwZXJmb3JtYW5jZSB0ZXN0cyBjYW4gYmUgcnVuIGluIG11bHRpcGxlIGJy
b3dzZXJzIGluIHBhcmFsbGVsLgorCitUaGUgdXBzdHJlYW0gcmVwb3NpdG9yeSBoYXMgdGhlIGZh
Y2lsaXR5IGZvciBjcmVhdGluZyBhIHRlc3QgbWFuaWZlc3QgaW4gSlNPTgorZm9ybWF0LiBUaGlz
IG1hbmlmZXN0IGlzIHVzZWQgZGlyZWN0bHkgdG8gZGV0ZXJtaW5lIHdoaWNoIHRlc3RzIGV4aXN0
LiBMb2NhbAorbWV0YWRhdGEgZmlsZXMgYXJlIHVzZWQgdG8gc3RvcmUgdGhlIGV4cGVjdGVkIHRl
c3QgcmVzdWx0cy4KKyIiIgorCitkZWYgc2V0dXBfbG9nZ2luZygqYXJncywgKiprd2FyZ3MpOgor
ICAgIGdsb2JhbCBsb2dnZXIKKyAgICBsb2dnZXIgPSB3cHRsb2dnaW5nLnNldHVwKCphcmdzLCAq
Kmt3YXJncykKKworZGVmIGdldF9sb2FkZXIodGVzdF9wYXRocywgcHJvZHVjdCwgc3NsX2Vudiwg
ZGVidWc9Tm9uZSwgcnVuX2luZm9fZXh0cmFzPU5vbmUsICoqa3dhcmdzKToKKyAgICBpZiBydW5f
aW5mb19leHRyYXMgaXMgTm9uZToKKyAgICAgICAgcnVuX2luZm9fZXh0cmFzID0ge30KKworICAg
IHJ1bl9pbmZvID0gd3B0dGVzdC5nZXRfcnVuX2luZm8oa3dhcmdzWyJydW5faW5mbyJdLCBwcm9k
dWN0LCBkZWJ1Zz1kZWJ1ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4
dHJhcz1ydW5faW5mb19leHRyYXMpCisKKyAgICB0ZXN0X21hbmlmZXN0cyA9IHRlc3Rsb2FkZXIu
TWFuaWZlc3RMb2FkZXIodGVzdF9wYXRocywgZm9yY2VfbWFuaWZlc3RfdXBkYXRlPWt3YXJnc1si
bWFuaWZlc3RfdXBkYXRlIl0pLmxvYWQoKQorCisgICAgbWFuaWZlc3RfZmlsdGVycyA9IFtdCisg
ICAgbWV0YV9maWx0ZXJzID0gW10KKworICAgIGlmIGt3YXJnc1siaW5jbHVkZSJdIG9yIGt3YXJn
c1siZXhjbHVkZSJdIG9yIGt3YXJnc1siaW5jbHVkZV9tYW5pZmVzdCJdOgorICAgICAgICBtYW5p
ZmVzdF9maWx0ZXJzLmFwcGVuZCh0ZXN0bG9hZGVyLlRlc3RGaWx0ZXIoaW5jbHVkZT1rd2FyZ3Nb
ImluY2x1ZGUiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4Y2x1ZGU9a3dhcmdzWyJleGNsdWRlIl0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5pZmVzdF9wYXRoPWt3YXJnc1si
aW5jbHVkZV9tYW5pZmVzdCJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdF9tYW5pZmVzdHM9dGVzdF9tYW5pZmVzdHMpKQorICAgIGlm
IGt3YXJnc1sidGFncyJdOgorICAgICAgICBtZXRhX2ZpbHRlcnMuYXBwZW5kKHRlc3Rsb2FkZXIu
VGFnRmlsdGVyKHRhZ3M9a3dhcmdzWyJ0YWdzIl0pKQorCisgICAgdGVzdF9sb2FkZXIgPSB0ZXN0
bG9hZGVyLlRlc3RMb2FkZXIodGVzdF9tYW5pZmVzdHMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAga3dhcmdzWyJ0ZXN0X3R5cGVzIl0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcnVuX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWFuaWZlc3RfZmlsdGVycz1tYW5pZmVzdF9maWx0ZXJzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFfZmlsdGVycz1tZXRhX2Zp
bHRlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmtfdHlw
ZT1rd2FyZ3NbImNodW5rX3R5cGUiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0b3RhbF9jaHVua3M9a3dhcmdzWyJ0b3RhbF9jaHVua3MiXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVua19udW1iZXI9a3dhcmdzWyJ0aGlzX2No
dW5rIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9o
dHRwcz1zc2xfZW52LnNzbF9lbmFibGVkKQorICAgIHJldHVybiBydW5faW5mbywgdGVzdF9sb2Fk
ZXIKKworZGVmIGxpc3RfdGVzdF9ncm91cHModGVzdF9wYXRocywgcHJvZHVjdCwgKiprd2FyZ3Mp
OgorICAgIGVudi5kb19kZWxheWVkX2ltcG9ydHMobG9nZ2VyLCB0ZXN0X3BhdGhzKQorCisgICAg
c3NsX2VudiA9IGVudi5zc2xfZW52KGxvZ2dlciwgKiprd2FyZ3MpCisKKyAgICBydW5faW5mbywg
dGVzdF9sb2FkZXIgPSBnZXRfbG9hZGVyKHRlc3RfcGF0aHMsIHByb2R1Y3QsIHNzbF9lbnYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKmt3YXJncykKKworICAgIGZv
ciBpdGVtIGluIHNvcnRlZCh0ZXN0X2xvYWRlci5ncm91cHMoa3dhcmdzWyJ0ZXN0X3R5cGVzIl0p
KToKKyAgICAgICAgcHJpbnQgaXRlbQorCisKK2RlZiBsaXN0X2Rpc2FibGVkKHRlc3RfcGF0aHMs
IHByb2R1Y3QsICoqa3dhcmdzKToKKyAgICBlbnYuZG9fZGVsYXllZF9pbXBvcnRzKGxvZ2dlciwg
dGVzdF9wYXRocykKKworICAgIHJ2ID0gW10KKworICAgIHNzbF9lbnYgPSBlbnYuc3NsX2Vudihs
b2dnZXIsICoqa3dhcmdzKQorCisgICAgcnVuX2luZm8sIHRlc3RfbG9hZGVyID0gZ2V0X2xvYWRl
cih0ZXN0X3BhdGhzLCBwcm9kdWN0LCBzc2xfZW52LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKiprd2FyZ3MpCisKKyAgICBmb3IgdGVzdF90eXBlLCB0ZXN0cyBpbiB0
ZXN0X2xvYWRlci5kaXNhYmxlZF90ZXN0cy5pdGVyaXRlbXMoKToKKyAgICAgICAgZm9yIHRlc3Qg
aW4gdGVzdHM6CisgICAgICAgICAgICBydi5hcHBlbmQoeyJ0ZXN0IjogdGVzdC5pZCwgInJlYXNv
biI6IHRlc3QuZGlzYWJsZWQoKX0pCisgICAgcHJpbnQganNvbi5kdW1wcyhydiwgaW5kZW50PTIp
CisKKworZGVmIGdldF9wYXVzZV9hZnRlcl90ZXN0KHRlc3RfbG9hZGVyLCAqKmt3YXJncyk6Cisg
ICAgdG90YWxfdGVzdHMgPSBzdW0obGVuKGl0ZW0pIGZvciBpdGVtIGluIHRlc3RfbG9hZGVyLnRl
c3RzLml0ZXJ2YWx1ZXMoKSkKKyAgICBpZiBrd2FyZ3NbInBhdXNlX2FmdGVyX3Rlc3QiXSBpcyBO
b25lOgorICAgICAgICBpZiBrd2FyZ3NbInJlcGVhdF91bnRpbF91bmV4cGVjdGVkIl06CisgICAg
ICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgaWYga3dhcmdzWyJyZXBlYXQiXSA9PSAxIGFu
ZCB0b3RhbF90ZXN0cyA9PSAxOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0
dXJuIEZhbHNlCisgICAgcmV0dXJuIGt3YXJnc1sicGF1c2VfYWZ0ZXJfdGVzdCJdCisKKworZGVm
IHJ1bl90ZXN0cyhjb25maWcsIHRlc3RfcGF0aHMsIHByb2R1Y3QsICoqa3dhcmdzKToKKyAgICB3
aXRoIHdwdGxvZ2dpbmcuQ2FwdHVyZUlPKGxvZ2dlciwgbm90IGt3YXJnc1sibm9fY2FwdHVyZV9z
dGRpbyJdKToKKyAgICAgICAgZW52LmRvX2RlbGF5ZWRfaW1wb3J0cyhsb2dnZXIsIHRlc3RfcGF0
aHMpCisKKyAgICAgICAgKGNoZWNrX2FyZ3MsCisgICAgICAgICB0YXJnZXRfYnJvd3Nlcl9jbHMs
IGdldF9icm93c2VyX2t3YXJncywKKyAgICAgICAgIGV4ZWN1dG9yX2NsYXNzZXMsIGdldF9leGVj
dXRvcl9rd2FyZ3MsCisgICAgICAgICBlbnZfb3B0aW9ucywgZ2V0X2Vudl9leHRyYXMsIHJ1bl9p
bmZvX2V4dHJhcykgPSBwcm9kdWN0cy5sb2FkX3Byb2R1Y3QoY29uZmlnLCBwcm9kdWN0KQorCisg
ICAgICAgIHNzbF9lbnYgPSBlbnYuc3NsX2Vudihsb2dnZXIsICoqa3dhcmdzKQorICAgICAgICBl
bnZfZXh0cmFzID0gZ2V0X2Vudl9leHRyYXMoKiprd2FyZ3MpCisKKyAgICAgICAgY2hlY2tfYXJn
cygqKmt3YXJncykKKworICAgICAgICBpZiAidGVzdF9sb2FkZXIiIGluIGt3YXJnczoKKyAgICAg
ICAgICAgIHJ1bl9pbmZvID0gd3B0dGVzdC5nZXRfcnVuX2luZm8oa3dhcmdzWyJydW5faW5mbyJd
LCBwcm9kdWN0LCBkZWJ1Zz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBleHRyYXM9cnVuX2luZm9fZXh0cmFzKCoqa3dhcmdzKSkKKyAgICAgICAgICAg
IHRlc3RfbG9hZGVyID0ga3dhcmdzWyJ0ZXN0X2xvYWRlciJdCisgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICBydW5faW5mbywgdGVzdF9sb2FkZXIgPSBnZXRfbG9hZGVyKHRlc3RfcGF0aHMsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3QsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF9lbnYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvX2V4
dHJhcz1ydW5faW5mb19leHRyYXMoKiprd2FyZ3MpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqKmt3YXJncykKKworICAgICAgICBpZiBrd2FyZ3NbInJ1
bl9ieV9kaXIiXSBpcyBGYWxzZToKKyAgICAgICAgICAgIHRlc3Rfc291cmNlX2NscyA9IHRlc3Rs
b2FkZXIuU2luZ2xlVGVzdFNvdXJjZQorICAgICAgICAgICAgdGVzdF9zb3VyY2Vfa3dhcmdzID0g
e30KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgQSB2YWx1ZSBvZiBOb25lIGluZGljYXRl
cyBpbmZpbml0ZSBkZXB0aAorICAgICAgICAgICAgdGVzdF9zb3VyY2VfY2xzID0gdGVzdGxvYWRl
ci5QYXRoR3JvdXBlZFNvdXJjZQorICAgICAgICAgICAgdGVzdF9zb3VyY2Vfa3dhcmdzID0geyJk
ZXB0aCI6IGt3YXJnc1sicnVuX2J5X2RpciJdfQorCisgICAgICAgIGxvZ2dlci5pbmZvKCJVc2lu
ZyAlaSBjbGllbnQgcHJvY2Vzc2VzIiAlIGt3YXJnc1sicHJvY2Vzc2VzIl0pCisKKyAgICAgICAg
dW5leHBlY3RlZF90b3RhbCA9IDAKKworICAgICAgICBrd2FyZ3NbInBhdXNlX2FmdGVyX3Rlc3Qi
XSA9IGdldF9wYXVzZV9hZnRlcl90ZXN0KHRlc3RfbG9hZGVyLCAqKmt3YXJncykKKworICAgICAg
ICB3aXRoIGVudi5UZXN0RW52aXJvbm1lbnQodGVzdF9wYXRocywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNzbF9lbnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBrd2FyZ3NbInBhdXNlX2FmdGVyX3Rlc3QiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGt3YXJnc1siZGVidWdfaW5mbyJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZW52X29wdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZf
ZXh0cmFzKSBhcyB0ZXN0X2Vudmlyb25tZW50OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAg
ICAgICAgIHRlc3RfZW52aXJvbm1lbnQuZW5zdXJlX3N0YXJ0ZWQoKQorICAgICAgICAgICAgZXhj
ZXB0IGVudi5UZXN0RW52aXJvbm1lbnRFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIGxvZ2dl
ci5jcml0aWNhbCgiRXJyb3Igc3RhcnRpbmcgdGVzdCBlbnZpcm9ubWVudDogJXMiICUgZS5tZXNz
YWdlKQorICAgICAgICAgICAgICAgIHJhaXNlCisKKyAgICAgICAgICAgIGJyb3dzZXJfa3dhcmdz
ID0gZ2V0X2Jyb3dzZXJfa3dhcmdzKHNzbF9lbnY9c3NsX2VudiwgKiprd2FyZ3MpCisKKyAgICAg
ICAgICAgIHJlcGVhdCA9IGt3YXJnc1sicmVwZWF0Il0KKyAgICAgICAgICAgIHJlcGVhdF9jb3Vu
dCA9IDAKKyAgICAgICAgICAgIHJlcGVhdF91bnRpbF91bmV4cGVjdGVkID0ga3dhcmdzWyJyZXBl
YXRfdW50aWxfdW5leHBlY3RlZCJdCisKKyAgICAgICAgICAgIHdoaWxlIHJlcGVhdF9jb3VudCA8
IHJlcGVhdCBvciByZXBlYXRfdW50aWxfdW5leHBlY3RlZDoKKyAgICAgICAgICAgICAgICByZXBl
YXRfY291bnQgKz0gMQorICAgICAgICAgICAgICAgIGlmIHJlcGVhdF91bnRpbF91bmV4cGVjdGVk
OgorICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiUmVwZXRpdGlvbiAlaSIgJSAocmVw
ZWF0X2NvdW50KSkKKyAgICAgICAgICAgICAgICBlbGlmIHJlcGVhdCA+IDE6CisgICAgICAgICAg
ICAgICAgICAgIGxvZ2dlci5pbmZvKCJSZXBldGl0aW9uICVpIC8gJWkiICUgKHJlcGVhdF9jb3Vu
dCwgcmVwZWF0KSkKKworICAgICAgICAgICAgICAgIHVuZXhwZWN0ZWRfY291bnQgPSAwCisgICAg
ICAgICAgICAgICAgbG9nZ2VyLnN1aXRlX3N0YXJ0KHRlc3RfbG9hZGVyLnRlc3RfaWRzLCBydW5f
aW5mbykKKyAgICAgICAgICAgICAgICBmb3IgdGVzdF90eXBlIGluIGt3YXJnc1sidGVzdF90eXBl
cyJdOgorICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiUnVubmluZyAlcyB0ZXN0cyIg
JSB0ZXN0X3R5cGUpCisKKyAgICAgICAgICAgICAgICAgICAgIyBXZWJEcml2ZXIgdGVzdHMgbWF5
IGNyZWF0ZSBhbmQgZGVzdHJveSBtdWx0aXBsZSBicm93c2VyCisgICAgICAgICAgICAgICAgICAg
ICMgcHJvY2Vzc2VzIGFzIHBhcnQgb2YgdGhlaXIgZXhwZWN0ZWQgYmVoYXZpb3IuIFRoZXNlCisg
ICAgICAgICAgICAgICAgICAgICMgcHJvY2Vzc2VzIGFyZSBtYW5hZ2VkIGJ5IGEgV2ViRHJpdmVy
IHNlcnZlciBiaW5hcnkuIFRoaXMKKyAgICAgICAgICAgICAgICAgICAgIyBvYnZpYXRlcyB0aGUg
bmVlZCBmb3Igd3B0cnVubmVyIHRvIHByb3ZpZGUgYSBicm93c2VyLCBzbworICAgICAgICAgICAg
ICAgICAgICAjIHRoZSBOdWxsQnJvd3NlciBpcyB1c2VkIGluIHBsYWNlIG9mIHRoZSAidGFyZ2V0
IiBicm93c2VyCisgICAgICAgICAgICAgICAgICAgIGlmIHRlc3RfdHlwZSA9PSAid2RzcGVjIjoK
KyAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXJfY2xzID0gTnVsbEJyb3dzZXIKKyAgICAg
ICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXJfY2xz
ID0gdGFyZ2V0X2Jyb3dzZXJfY2xzCisKKyAgICAgICAgICAgICAgICAgICAgZm9yIHRlc3QgaW4g
dGVzdF9sb2FkZXIuZGlzYWJsZWRfdGVzdHNbdGVzdF90eXBlXToKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGxvZ2dlci50ZXN0X3N0YXJ0KHRlc3QuaWQpCisgICAgICAgICAgICAgICAgICAgICAg
ICBsb2dnZXIudGVzdF9lbmQodGVzdC5pZCwgc3RhdHVzPSJTS0lQIikKKworICAgICAgICAgICAg
ICAgICAgICBleGVjdXRvcl9jbHMgPSBleGVjdXRvcl9jbGFzc2VzLmdldCh0ZXN0X3R5cGUpCisg
ICAgICAgICAgICAgICAgICAgIGV4ZWN1dG9yX2t3YXJncyA9IGdldF9leGVjdXRvcl9rd2FyZ3Mo
dGVzdF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RfZW52aXJvbm1lbnQuZXh0ZXJuYWxfY29uZmlnLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZW52
aXJvbm1lbnQuY2FjaGVfbWFuYWdlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKmt3YXJncykKKworICAgICAg
ICAgICAgICAgICAgICBpZiBleGVjdXRvcl9jbHMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGxvZ2dlci5lcnJvcigiVW5zdXBwb3J0ZWQgdGVzdCB0eXBlICVzIGZvciBwcm9kdWN0
ICVzIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRlc3RfdHlwZSwg
cHJvZHVjdCkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorCisKKyAgICAgICAg
ICAgICAgICAgICAgd2l0aCBNYW5hZ2VyR3JvdXAoIndlYi1wbGF0Zm9ybS10ZXN0cyIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnc1sicHJvY2Vzc2VzIl0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Rfc291cmNlX2NscywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9zb3VyY2Vfa3dhcmdzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyX2NscywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJvd3Nlcl9rd2FyZ3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWN1dG9yX2NscywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0b3Jfa3dhcmdzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZ3NbInBhdXNlX2FmdGVyX3Rlc3QiXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dhcmdzWyJwYXVzZV9vbl91bmV4
cGVjdGVkIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnc1si
cmVzdGFydF9vbl91bmV4cGVjdGVkIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGt3YXJnc1siZGVidWdfaW5mbyJdKSBhcyBtYW5hZ2VyX2dyb3VwOgorICAgICAgICAg
ICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZXJf
Z3JvdXAucnVuKHRlc3RfdHlwZSwgdGVzdF9sb2FkZXIudGVzdHMpCisgICAgICAgICAgICAgICAg
ICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9nZ2VyLmNyaXRpY2FsKCJNYWluIHRocmVhZCBnb3Qgc2lnbmFsIikKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyX2dyb3VwLnN0b3AoKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgICAgIHVuZXhwZWN0ZWRfY291bnQg
Kz0gbWFuYWdlcl9ncm91cC51bmV4cGVjdGVkX2NvdW50KCkKKworICAgICAgICAgICAgICAgIHVu
ZXhwZWN0ZWRfdG90YWwgKz0gdW5leHBlY3RlZF9jb3VudAorICAgICAgICAgICAgICAgIGxvZ2dl
ci5pbmZvKCJHb3QgJWkgdW5leHBlY3RlZCByZXN1bHRzIiAlIHVuZXhwZWN0ZWRfY291bnQpCisg
ICAgICAgICAgICAgICAgaWYgcmVwZWF0X3VudGlsX3VuZXhwZWN0ZWQgYW5kIHVuZXhwZWN0ZWRf
dG90YWwgPiAwOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGxv
Z2dlci5zdWl0ZV9lbmQoKQorCisgICAgcmV0dXJuIHVuZXhwZWN0ZWRfdG90YWwgPT0gMAorCitk
ZWYgc3RhcnQoKiprd2FyZ3MpOgorICAgIGlmIGt3YXJnc1sibGlzdF90ZXN0X2dyb3VwcyJdOgor
ICAgICAgICBsaXN0X3Rlc3RfZ3JvdXBzKCoqa3dhcmdzKQorICAgIGVsaWYga3dhcmdzWyJsaXN0
X2Rpc2FibGVkIl06CisgICAgICAgIGxpc3RfZGlzYWJsZWQoKiprd2FyZ3MpCisgICAgZWxzZToK
KyAgICAgICAgcmV0dXJuIG5vdCBydW5fdGVzdHMoKiprd2FyZ3MpCisKK2RlZiBtYWluKCk6Cisg
ICAgIiIiTWFpbiBlbnRyeSBwb2ludCB3aGVuIGNhbGxpbmcgZnJvbSB0aGUgY29tbWFuZCBsaW5l
IiIiCisgICAga3dhcmdzID0gd3B0Y29tbWFuZGxpbmUucGFyc2VfYXJncygpCisKKyAgICB0cnk6
CisgICAgICAgIGlmIGt3YXJnc1sicHJlZnNfcm9vdCJdIGlzIE5vbmU6CisgICAgICAgICAgICBr
d2FyZ3NbInByZWZzX3Jvb3QiXSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oaGVyZSwg
InByZWZzIikpCisKKyAgICAgICAgc2V0dXBfbG9nZ2luZyhrd2FyZ3MsIHsicmF3Ijogc3lzLnN0
ZG91dH0pCisKKyAgICAgICAgcmV0dXJuIHN0YXJ0KCoqa3dhcmdzKQorICAgIGV4Y2VwdCBFeGNl
cHRpb246CisgICAgICAgIGlmIGt3YXJnc1sicGRiIl06CisgICAgICAgICAgICBpbXBvcnQgcGRi
LCB0cmFjZWJhY2sKKyAgICAgICAgICAgIHByaW50IHRyYWNlYmFjay5mb3JtYXRfZXhjKCkKKyAg
ICAgICAgICAgIHBkYi5wb3N0X21vcnRlbSgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBy
YWlzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdHRlc3QucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
d3B0dGVzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTQ0Y2Q2NmVhNzhlMmVhNjQ5ZDc0ZGVmMzhlYzFhZjBh
MDkzNWQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdHRlc3QucHkKQEAgLTAs
MCArMSwzMzggQEAKK0RFRkFVTFRfVElNRU9VVCA9IDEwICAjIHNlY29uZHMKK0xPTkdfVElNRU9V
VCA9IDYwICAjIHNlY29uZHMKKworaW1wb3J0IG9zCisKK2ltcG9ydCBtb3ppbmZvCisKK2Zyb20g
d3B0bWFuaWZlc3QucGFyc2VyIGltcG9ydCBhdG9tcworCithdG9tX3Jlc2V0ID0gYXRvbXNbIlJl
c2V0Il0KK2VuYWJsZWRfdGVzdHMgPSBzZXQoWyJ0ZXN0aGFybmVzcyIsICJyZWZ0ZXN0IiwgIndk
c3BlYyJdKQorCisKK2NsYXNzIFJlc3VsdChvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBzdGF0dXMsIG1lc3NhZ2UsIGV4cGVjdGVkPU5vbmUsIGV4dHJhPU5vbmUpOgorICAgICAgICBp
ZiBzdGF0dXMgbm90IGluIHNlbGYuc3RhdHVzZXM6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVy
cm9yKCJVbnJlY29nbmlzZWQgc3RhdHVzICVzIiAlIHN0YXR1cykKKyAgICAgICAgc2VsZi5zdGF0
dXMgPSBzdGF0dXMKKyAgICAgICAgc2VsZi5tZXNzYWdlID0gbWVzc2FnZQorICAgICAgICBzZWxm
LmV4cGVjdGVkID0gZXhwZWN0ZWQKKyAgICAgICAgc2VsZi5leHRyYSA9IGV4dHJhCisKKyAgICBk
ZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAiPCVzLiVzICVzPiIgJSAoc2VsZi5f
X21vZHVsZV9fLCBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi5zdGF0dXMpCisKKworY2xh
c3MgU3VidGVzdFJlc3VsdChvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBz
dGF0dXMsIG1lc3NhZ2UsIHN0YWNrPU5vbmUsIGV4cGVjdGVkPU5vbmUpOgorICAgICAgICBzZWxm
Lm5hbWUgPSBuYW1lCisgICAgICAgIGlmIHN0YXR1cyBub3QgaW4gc2VsZi5zdGF0dXNlczoKKyAg
ICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVucmVjb2duaXNlZCBzdGF0dXMgJXMiICUgc3Rh
dHVzKQorICAgICAgICBzZWxmLnN0YXR1cyA9IHN0YXR1cworICAgICAgICBzZWxmLm1lc3NhZ2Ug
PSBtZXNzYWdlCisgICAgICAgIHNlbGYuc3RhY2sgPSBzdGFjaworICAgICAgICBzZWxmLmV4cGVj
dGVkID0gZXhwZWN0ZWQKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJu
ICI8JXMuJXMgJXMgJXM+IiAlIChzZWxmLl9fbW9kdWxlX18sIHNlbGYuX19jbGFzc19fLl9fbmFt
ZV9fLCBzZWxmLm5hbWUsIHNlbGYuc3RhdHVzKQorCisKK2NsYXNzIFRlc3RoYXJuZXNzUmVzdWx0
KFJlc3VsdCk6CisgICAgZGVmYXVsdF9leHBlY3RlZCA9ICJPSyIKKyAgICBzdGF0dXNlcyA9IHNl
dChbIk9LIiwgIkVSUk9SIiwgIlRJTUVPVVQiLCAiRVhURVJOQUwtVElNRU9VVCIsICJDUkFTSCJd
KQorCisKK2NsYXNzIFRlc3RoYXJuZXNzU3VidGVzdFJlc3VsdChTdWJ0ZXN0UmVzdWx0KToKKyAg
ICBkZWZhdWx0X2V4cGVjdGVkID0gIlBBU1MiCisgICAgc3RhdHVzZXMgPSBzZXQoWyJQQVNTIiwg
IkZBSUwiLCAiVElNRU9VVCIsICJOT1RSVU4iXSkKKworCitjbGFzcyBSZWZ0ZXN0UmVzdWx0KFJl
c3VsdCk6CisgICAgZGVmYXVsdF9leHBlY3RlZCA9ICJQQVNTIgorICAgIHN0YXR1c2VzID0gc2V0
KFsiUEFTUyIsICJGQUlMIiwgIkVSUk9SIiwgIlRJTUVPVVQiLCAiRVhURVJOQUwtVElNRU9VVCIs
ICJDUkFTSCJdKQorCisKK2NsYXNzIFdkc3BlY1Jlc3VsdChSZXN1bHQpOgorICAgIGRlZmF1bHRf
ZXhwZWN0ZWQgPSAiT0siCisgICAgc3RhdHVzZXMgPSBzZXQoWyJPSyIsICJFUlJPUiIsICJUSU1F
T1VUIiwgIkVYVEVSTkFMLVRJTUVPVVQiLCAiQ1JBU0giXSkKKworCitjbGFzcyBXZHNwZWNTdWJ0
ZXN0UmVzdWx0KFN1YnRlc3RSZXN1bHQpOgorICAgIGRlZmF1bHRfZXhwZWN0ZWQgPSAiUEFTUyIK
KyAgICBzdGF0dXNlcyA9IHNldChbIlBBU1MiLCAiRkFJTCIsICJFUlJPUiJdKQorCisKK2RlZiBn
ZXRfcnVuX2luZm8obWV0YWRhdGFfcm9vdCwgcHJvZHVjdCwgKiprd2FyZ3MpOgorICAgIHJldHVy
biBSdW5JbmZvKG1ldGFkYXRhX3Jvb3QsIHByb2R1Y3QsICoqa3dhcmdzKQorCisKK2NsYXNzIFJ1
bkluZm8oZGljdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1ldGFkYXRhX3Jvb3QsIHByb2R1
Y3QsIGRlYnVnLCBleHRyYXM9Tm9uZSk6CisgICAgICAgIHNlbGYuX3VwZGF0ZV9tb3ppbmZvKG1l
dGFkYXRhX3Jvb3QpCisgICAgICAgIHNlbGYudXBkYXRlKG1vemluZm8uaW5mbykKKyAgICAgICAg
c2VsZlsicHJvZHVjdCJdID0gcHJvZHVjdAorICAgICAgICBpZiBkZWJ1ZyBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgIHNlbGZbImRlYnVnIl0gPSBkZWJ1ZworICAgICAgICBlbGlmICJkZWJ1ZyIg
bm90IGluIHNlbGY6CisgICAgICAgICAgICAjIERlZmF1bHQgdG8gcmVsZWFzZQorICAgICAgICAg
ICAgc2VsZlsiZGVidWciXSA9IEZhbHNlCisgICAgICAgIGlmIGV4dHJhcyBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgIHNlbGYudXBkYXRlKGV4dHJhcykKKworICAgIGRlZiBfdXBkYXRlX21vemlu
Zm8oc2VsZiwgbWV0YWRhdGFfcm9vdCk6CisgICAgICAgICIiIkFkZCBleHRyYSBidWlsZCBpbmZv
cm1hdGlvbiBmcm9tIGEgbW96aW5mby5qc29uIGZpbGUgaW4gYSBwYXJlbnQKKyAgICAgICAgZGly
ZWN0b3J5IiIiCisgICAgICAgIHBhdGggPSBtZXRhZGF0YV9yb290CisgICAgICAgIGRpcnMgPSBz
ZXQoKQorICAgICAgICB3aGlsZSBwYXRoICE9IG9zLnBhdGguZXhwYW5kdXNlcignficpOgorICAg
ICAgICAgICAgaWYgcGF0aCBpbiBkaXJzOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAg
ICAgICBkaXJzLmFkZChzdHIocGF0aCkpCisgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5zcGxp
dChwYXRoKVswXQorCisgICAgICAgIG1vemluZm8uZmluZF9hbmRfdXBkYXRlX2Zyb21fanNvbigq
ZGlycykKKworCitjbGFzcyBUZXN0KG9iamVjdCk6CisgICAgcmVzdWx0X2NscyA9IE5vbmUKKyAg
ICBzdWJ0ZXN0X3Jlc3VsdF9jbHMgPSBOb25lCisgICAgdGVzdF90eXBlID0gTm9uZQorCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RzX3Jvb3QsIHVybCwgaW5oZXJpdF9tZXRhZGF0YSwgdGVz
dF9tZXRhZGF0YSwKKyAgICAgICAgICAgICAgICAgdGltZW91dD1ERUZBVUxUX1RJTUVPVVQsIHBh
dGg9Tm9uZSwgcHJvdG9jb2w9Imh0dHAiKToKKyAgICAgICAgc2VsZi50ZXN0c19yb290ID0gdGVz
dHNfcm9vdAorICAgICAgICBzZWxmLnVybCA9IHVybAorICAgICAgICBzZWxmLl9pbmhlcml0X21l
dGFkYXRhID0gaW5oZXJpdF9tZXRhZGF0YQorICAgICAgICBzZWxmLl90ZXN0X21ldGFkYXRhID0g
dGVzdF9tZXRhZGF0YQorICAgICAgICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CisgICAgICAgIHNl
bGYucGF0aCA9IHBhdGgKKyAgICAgICAgc2VsZi5lbnZpcm9ubWVudCA9IHsicHJvdG9jb2wiOiBw
cm90b2NvbCwgInByZWZzIjogc2VsZi5wcmVmc30KKworICAgIGRlZiBfX2VxX18oc2VsZiwgb3Ro
ZXIpOgorICAgICAgICByZXR1cm4gc2VsZi5pZCA9PSBvdGhlci5pZAorCisgICAgQGNsYXNzbWV0
aG9kCisgICAgZGVmIGZyb21fbWFuaWZlc3QoY2xzLCBtYW5pZmVzdF9pdGVtLCBpbmhlcml0X21l
dGFkYXRhLCB0ZXN0X21ldGFkYXRhKToKKyAgICAgICAgdGltZW91dCA9IExPTkdfVElNRU9VVCBp
ZiBtYW5pZmVzdF9pdGVtLnRpbWVvdXQgPT0gImxvbmciIGVsc2UgREVGQVVMVF9USU1FT1VUCisg
ICAgICAgIHByb3RvY29sID0gImh0dHBzIiBpZiBoYXNhdHRyKG1hbmlmZXN0X2l0ZW0sICJodHRw
cyIpIGFuZCBtYW5pZmVzdF9pdGVtLmh0dHBzIGVsc2UgImh0dHAiCisgICAgICAgIHJldHVybiBj
bHMobWFuaWZlc3RfaXRlbS5zb3VyY2VfZmlsZS50ZXN0c19yb290LAorICAgICAgICAgICAgICAg
ICAgIG1hbmlmZXN0X2l0ZW0udXJsLAorICAgICAgICAgICAgICAgICAgIGluaGVyaXRfbWV0YWRh
dGEsCisgICAgICAgICAgICAgICAgICAgdGVzdF9tZXRhZGF0YSwKKyAgICAgICAgICAgICAgICAg
ICB0aW1lb3V0PXRpbWVvdXQsCisgICAgICAgICAgICAgICAgICAgcGF0aD1tYW5pZmVzdF9pdGVt
LnNvdXJjZV9maWxlLnBhdGgsCisgICAgICAgICAgICAgICAgICAgcHJvdG9jb2w9cHJvdG9jb2wp
CisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaWQoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxm
LnVybAorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGtleXMoc2VsZik6CisgICAgICAgIHJldHVy
biB0dXBsZSgpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgYWJzX3BhdGgoc2VsZik6CisgICAg
ICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi50ZXN0c19yb290LCBzZWxmLnBhdGgpCisKKyAg
ICBkZWYgX2dldF9tZXRhZGF0YShzZWxmLCBzdWJ0ZXN0PU5vbmUpOgorICAgICAgICBpZiBzZWxm
Ll90ZXN0X21ldGFkYXRhIGlzIG5vdCBOb25lIGFuZCBzdWJ0ZXN0IGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgcmV0dXJuIHNlbGYuX3Rlc3RfbWV0YWRhdGEuZ2V0X3N1YnRlc3Qoc3VidGVzdCkK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl90ZXN0X21ldGFkYXRhCisK
KyAgICBkZWYgaXRlcm1ldGEoc2VsZiwgc3VidGVzdD1Ob25lKToKKyAgICAgICAgZm9yIG1ldGFk
YXRhIGluIHNlbGYuX2luaGVyaXRfbWV0YWRhdGE6CisgICAgICAgICAgICB5aWVsZCBtZXRhZGF0
YQorCisgICAgICAgIGlmIHNlbGYuX3Rlc3RfbWV0YWRhdGEgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICB5aWVsZCBzZWxmLl9nZXRfbWV0YWRhdGEoKQorICAgICAgICAgICAgaWYgc3VidGVzdCBp
cyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBzdWJ0ZXN0X21ldGEgPSBzZWxmLl9nZXRfbWV0
YWRhdGEoc3VidGVzdCkKKyAgICAgICAgICAgICAgICBpZiBzdWJ0ZXN0X21ldGEgaXMgbm90IE5v
bmU6CisgICAgICAgICAgICAgICAgICAgIHlpZWxkIHN1YnRlc3RfbWV0YQorCisgICAgZGVmIGRp
c2FibGVkKHNlbGYsIHN1YnRlc3Q9Tm9uZSk6CisgICAgICAgIGZvciBtZXRhIGluIHNlbGYuaXRl
cm1ldGEoc3VidGVzdCk6CisgICAgICAgICAgICBkaXNhYmxlZCA9IG1ldGEuZGlzYWJsZWQKKyAg
ICAgICAgICAgIGlmIGRpc2FibGVkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHJldHVy
biBkaXNhYmxlZAorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgQHByb3BlcnR5CisgICAgZGVm
IHJlc3RhcnRfYWZ0ZXIoc2VsZik6CisgICAgICAgIGZvciBtZXRhIGluIHNlbGYuaXRlcm1ldGEo
Tm9uZSk6CisgICAgICAgICAgICByZXN0YXJ0X2FmdGVyID0gbWV0YS5yZXN0YXJ0X2FmdGVyCisg
ICAgICAgICAgICBpZiByZXN0YXJ0X2FmdGVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAg
IHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgQHByb3BlcnR5CisgICAg
ZGVmIHRhZ3Moc2VsZik6CisgICAgICAgIHRhZ3MgPSBzZXQoKQorICAgICAgICBmb3IgbWV0YSBp
biBzZWxmLml0ZXJtZXRhKCk6CisgICAgICAgICAgICBtZXRhX3RhZ3MgPSBtZXRhLnRhZ3MKKyAg
ICAgICAgICAgIGlmIGF0b21fcmVzZXQgaW4gbWV0YV90YWdzOgorICAgICAgICAgICAgICAgIHRh
Z3MgPSBtZXRhX3RhZ3MuY29weSgpCisgICAgICAgICAgICAgICAgdGFncy5yZW1vdmUoYXRvbV9y
ZXNldCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgdGFncyB8PSBtZXRhX3Rh
Z3MKKworICAgICAgICB0YWdzLmFkZCgiZGlyOiVzIiAlIHNlbGYuaWQubHN0cmlwKCIvIikuc3Bs
aXQoIi8iKVswXSkKKworICAgICAgICByZXR1cm4gdGFncworCisgICAgQHByb3BlcnR5CisgICAg
ZGVmIHByZWZzKHNlbGYpOgorICAgICAgICBwcmVmcyA9IHt9CisgICAgICAgIGZvciBtZXRhIGlu
IHNlbGYuaXRlcm1ldGEoKToKKyAgICAgICAgICAgIG1ldGFfcHJlZnMgPSBtZXRhLnByZWZzCisg
ICAgICAgICAgICBpZiBhdG9tX3Jlc2V0IGluIHByZWZzOgorICAgICAgICAgICAgICAgIHByZWZz
ID0gbWV0YV9wcmVmcy5jb3B5KCkKKyAgICAgICAgICAgICAgICBkZWwgcHJlZnNbYXRvbV9yZXNl
dF0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcHJlZnMudXBkYXRlKG1ldGFf
cHJlZnMpCisgICAgICAgIHJldHVybiBwcmVmcworCisgICAgZGVmIGV4cGVjdGVkKHNlbGYsIHN1
YnRlc3Q9Tm9uZSk6CisgICAgICAgIGlmIHN1YnRlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIGRl
ZmF1bHQgPSBzZWxmLnJlc3VsdF9jbHMuZGVmYXVsdF9leHBlY3RlZAorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgZGVmYXVsdCA9IHNlbGYuc3VidGVzdF9yZXN1bHRfY2xzLmRlZmF1bHRfZXhw
ZWN0ZWQKKworICAgICAgICBtZXRhZGF0YSA9IHNlbGYuX2dldF9tZXRhZGF0YShzdWJ0ZXN0KQor
ICAgICAgICBpZiBtZXRhZGF0YSBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHQK
KworICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gbWV0YWRhdGEuZ2V0KCJleHBlY3Rl
ZCIpCisgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgIHJldHVybiBkZWZhdWx0
CisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAiPCVzLiVzICVzPiIg
JSAoc2VsZi5fX21vZHVsZV9fLCBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi5pZCkKKwor
CitjbGFzcyBUZXN0aGFybmVzc1Rlc3QoVGVzdCk6CisgICAgcmVzdWx0X2NscyA9IFRlc3RoYXJu
ZXNzUmVzdWx0CisgICAgc3VidGVzdF9yZXN1bHRfY2xzID0gVGVzdGhhcm5lc3NTdWJ0ZXN0UmVz
dWx0CisgICAgdGVzdF90eXBlID0gInRlc3RoYXJuZXNzIgorCisgICAgQHByb3BlcnR5CisgICAg
ZGVmIGlkKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi51cmwKKworCitjbGFzcyBNYW51YWxU
ZXN0KFRlc3QpOgorICAgIHRlc3RfdHlwZSA9ICJtYW51YWwiCisKKyAgICBAcHJvcGVydHkKKyAg
ICBkZWYgaWQoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnVybAorCisKK2NsYXNzIFJlZnRl
c3RUZXN0KFRlc3QpOgorICAgIHJlc3VsdF9jbHMgPSBSZWZ0ZXN0UmVzdWx0CisgICAgdGVzdF90
eXBlID0gInJlZnRlc3QiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdHNfcm9vdCwgdXJs
LCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRhLCByZWZlcmVuY2VzLAorICAgICAgICAg
ICAgICAgICB0aW1lb3V0PURFRkFVTFRfVElNRU9VVCwgcGF0aD1Ob25lLCB2aWV3cG9ydF9zaXpl
PU5vbmUsCisgICAgICAgICAgICAgICAgIGRwaT1Ob25lLCBwcm90b2NvbD0iaHR0cCIpOgorICAg
ICAgICBUZXN0Ll9faW5pdF9fKHNlbGYsIHRlc3RzX3Jvb3QsIHVybCwgaW5oZXJpdF9tZXRhZGF0
YSwgdGVzdF9tZXRhZGF0YSwgdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICBwYXRoLCBw
cm90b2NvbCkKKworICAgICAgICBmb3IgXywgcmVmX3R5cGUgaW4gcmVmZXJlbmNlczoKKyAgICAg
ICAgICAgIGlmIHJlZl90eXBlIG5vdCBpbiAoIj09IiwgIiE9Iik6CisgICAgICAgICAgICAgICAg
cmFpc2UgVmFsdWVFcnJvcgorCisgICAgICAgIHNlbGYucmVmZXJlbmNlcyA9IHJlZmVyZW5jZXMK
KyAgICAgICAgc2VsZi52aWV3cG9ydF9zaXplID0gdmlld3BvcnRfc2l6ZQorICAgICAgICBzZWxm
LmRwaSA9IGRwaQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGZyb21fbWFuaWZlc3QoY2xz
LAorICAgICAgICAgICAgICAgICAgICAgIG1hbmlmZXN0X3Rlc3QsCisgICAgICAgICAgICAgICAg
ICAgICAgaW5oZXJpdF9tZXRhZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICB0ZXN0X21ldGFk
YXRhLAorICAgICAgICAgICAgICAgICAgICAgIG5vZGVzPU5vbmUsCisgICAgICAgICAgICAgICAg
ICAgICAgcmVmZXJlbmNlc19zZWVuPU5vbmUpOgorCisgICAgICAgIHRpbWVvdXQgPSBMT05HX1RJ
TUVPVVQgaWYgbWFuaWZlc3RfdGVzdC50aW1lb3V0ID09ICJsb25nIiBlbHNlIERFRkFVTFRfVElN
RU9VVAorCisgICAgICAgIGlmIG5vZGVzIGlzIE5vbmU6CisgICAgICAgICAgICBub2RlcyA9IHt9
CisgICAgICAgIGlmIHJlZmVyZW5jZXNfc2VlbiBpcyBOb25lOgorICAgICAgICAgICAgcmVmZXJl
bmNlc19zZWVuID0gc2V0KCkKKworICAgICAgICB1cmwgPSBtYW5pZmVzdF90ZXN0LnVybAorCisg
ICAgICAgIG5vZGUgPSBjbHMobWFuaWZlc3RfdGVzdC5zb3VyY2VfZmlsZS50ZXN0c19yb290LAor
ICAgICAgICAgICAgICAgICAgIG1hbmlmZXN0X3Rlc3QudXJsLAorICAgICAgICAgICAgICAgICAg
IGluaGVyaXRfbWV0YWRhdGEsCisgICAgICAgICAgICAgICAgICAgdGVzdF9tZXRhZGF0YSwKKyAg
ICAgICAgICAgICAgICAgICBbXSwKKyAgICAgICAgICAgICAgICAgICB0aW1lb3V0PXRpbWVvdXQs
CisgICAgICAgICAgICAgICAgICAgcGF0aD1tYW5pZmVzdF90ZXN0LnBhdGgsCisgICAgICAgICAg
ICAgICAgICAgdmlld3BvcnRfc2l6ZT1tYW5pZmVzdF90ZXN0LnZpZXdwb3J0X3NpemUsCisgICAg
ICAgICAgICAgICAgICAgZHBpPW1hbmlmZXN0X3Rlc3QuZHBpLAorICAgICAgICAgICAgICAgICAg
IHByb3RvY29sPSJodHRwcyIgaWYgaGFzYXR0cihtYW5pZmVzdF90ZXN0LCAiaHR0cHMiKSBhbmQg
bWFuaWZlc3RfdGVzdC5odHRwcyBlbHNlICJodHRwIikKKworICAgICAgICBub2Rlc1t1cmxdID0g
bm9kZQorCisgICAgICAgIGZvciByZWZfdXJsLCByZWZfdHlwZSBpbiBtYW5pZmVzdF90ZXN0LnJl
ZmVyZW5jZXM6CisgICAgICAgICAgICBjb21wYXJpc29uX2tleSA9IChyZWZfdHlwZSwpICsgdHVw
bGUoc29ydGVkKFt1cmwsIHJlZl91cmxdKSkKKyAgICAgICAgICAgIGlmIHJlZl91cmwgaW4gbm9k
ZXM6CisgICAgICAgICAgICAgICAgbWFuaWZlc3Rfbm9kZSA9IHJlZl91cmwKKyAgICAgICAgICAg
ICAgICBpZiBjb21wYXJpc29uX2tleSBpbiByZWZlcmVuY2VzX3NlZW46CisgICAgICAgICAgICAg
ICAgICAgICMgV2UgaGF2ZSByZWFjaGVkIGEgY3ljbGUgc28gc3RvcCBoZXJlCisgICAgICAgICAg
ICAgICAgICAgICMgTm90ZSB0aGF0IGp1c3Qgc2VlaW5nIGEgbm9kZSBmb3IgdGhlIHNlY29uZCB0
aW1lIGlzIG5vdAorICAgICAgICAgICAgICAgICAgICAjIGVub3VnaCB0byBkZXRlY3QgYSBjeWNs
ZSBiZWNhdXNlCisgICAgICAgICAgICAgICAgICAgICMgQSAhPSBCICE9IEMgIT0gQSBtdXN0IGlu
Y2x1ZGUgQyAhPSBBCisgICAgICAgICAgICAgICAgICAgICMgYnV0IEEgPT0gQiA9PSBBIHNob3Vs
ZCBub3QgaW5jbHVkZSB0aGUgcmVkdW5kYW50IEIgPT0gQS4KKyAgICAgICAgICAgICAgICAgICAg
Y29udGludWUKKworICAgICAgICAgICAgcmVmZXJlbmNlc19zZWVuLmFkZChjb21wYXJpc29uX2tl
eSkKKworICAgICAgICAgICAgbWFuaWZlc3Rfbm9kZSA9IG1hbmlmZXN0X3Rlc3QubWFuaWZlc3Qu
Z2V0X3JlZmVyZW5jZShyZWZfdXJsKQorICAgICAgICAgICAgaWYgbWFuaWZlc3Rfbm9kZToKKyAg
ICAgICAgICAgICAgICByZWZlcmVuY2UgPSBSZWZ0ZXN0VGVzdC5mcm9tX21hbmlmZXN0KG1hbmlm
ZXN0X25vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBub2RlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZXNfc2VlbikKKyAgICAgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICAgICAgcmVmZXJlbmNlID0gUmVmdGVzdFRlc3QobWFuaWZlc3RfdGVzdC5zb3Vy
Y2VfZmlsZS50ZXN0c19yb290LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlZl91cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW10s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9uZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXSkKKworICAgICAgICAgICAgbm9kZS5y
ZWZlcmVuY2VzLmFwcGVuZCgocmVmZXJlbmNlLCByZWZfdHlwZSkpCisKKyAgICAgICAgcmV0dXJu
IG5vZGUKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpZChzZWxmKToKKyAgICAgICAgcmV0dXJu
IHNlbGYudXJsCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYga2V5cyhzZWxmKToKKyAgICAgICAg
cmV0dXJuICgicmVmdHlwZSIsICJyZWZ1cmwiKQorCisKK2NsYXNzIFdkc3BlY1Rlc3QoVGVzdCk6
CisgICAgcmVzdWx0X2NscyA9IFdkc3BlY1Jlc3VsdAorICAgIHN1YnRlc3RfcmVzdWx0X2NscyA9
IFdkc3BlY1N1YnRlc3RSZXN1bHQKKyAgICB0ZXN0X3R5cGUgPSAid2RzcGVjIgorCisKK21hbmlm
ZXN0X3Rlc3RfY2xzID0geyJyZWZ0ZXN0IjogUmVmdGVzdFRlc3QsCisgICAgICAgICAgICAgICAg
ICAgICAidGVzdGhhcm5lc3MiOiBUZXN0aGFybmVzc1Rlc3QsCisgICAgICAgICAgICAgICAgICAg
ICAibWFudWFsIjogTWFudWFsVGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICJ3ZHNwZWMiOiBX
ZHNwZWNUZXN0fQorCisKK2RlZiBmcm9tX21hbmlmZXN0KG1hbmlmZXN0X3Rlc3QsIGluaGVyaXRf
bWV0YWRhdGEsIHRlc3RfbWV0YWRhdGEpOgorICAgIHRlc3RfY2xzID0gbWFuaWZlc3RfdGVzdF9j
bHNbbWFuaWZlc3RfdGVzdC5pdGVtX3R5cGVdCisgICAgcmV0dXJuIHRlc3RfY2xzLmZyb21fbWFu
aWZlc3QobWFuaWZlc3RfdGVzdCwgaW5oZXJpdF9tZXRhZGF0YSwgdGVzdF9tZXRhZGF0YSkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0c2VydmUvZG9jcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvZG9jcy93M2MtaW1wb3J0LmxvZwpp
bmRleCA1YWFlYTVjNDE5NjVhODhhY2RiNzM2NzJjZjc2Njg1YzNjMmU2ZmJlLi5iM2EwOWI0NWU5
MzhmMDk3YWU2MDY2MTAyYzg5OTVhYWNlZTQxNDI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL2RvY3MvdzNjLWlt
cG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRzZXJ2ZS9kb2NzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAogVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUlu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0aHVi
OgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL2Z1bmN0
aW9uYWwvZG9jcm9vdC9zdWJkaXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwv
ZG9jcm9vdC9zdWJkaXIvdzNjLWltcG9ydC5sb2cKaW5kZXggMTJhYTU4YTdkZTk5ODBlY2ExZGM1
MTNkZGI4ZDc1MjY4OTdiZTZjYi4uY2FhM2Q3NjE0MWVkZjE5NGQ0YzQxODMyMzQ4MTU3MDg1Zjc1
NGVkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5jdGlvbmFsL2RvY3Jvb3Qvc3ViZGlyL3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC9kb2Nyb290L3N1YmRpci93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5jdGlvbmFsL2RvY3Jvb3QvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNl
cnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC93M2MtaW1wb3J0LmxvZwppbmRleCAzYjUzMzhh
Y2IyOGNlNjQzZDU3M2M3MWY2Njc5ZjNmNGUxYzkyNGYxLi41ZTY1ZTBkZjJlYTkwYjJkMzdmMzkx
NTgyMjgwYzllOWFkNTVlYzQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9v
dC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC93M2MtaW1w
b3J0LmxvZwpAQCAtMSw3ICsxLDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFczQyBDU1Mgb3IgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nz
c3dnLXRlc3QKK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKIAlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5jdGlvbmFsL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0
cy9mdW5jdGlvbmFsL3czYy1pbXBvcnQubG9nCmluZGV4IGRlYWM0NGYxMmUwMzI2NGM4ZGY1YjJm
Y2JlYjBjMGRmYTUxYWY1ZDQuLjNkZGI3NjhjODE3MTJjMTIyODQyZDM4MDViMWMzNzU5OTNiMDQx
MDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC93M2MtaW1wb3J0LmxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZl
L3Rlc3RzL2Z1bmN0aW9uYWwvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw2IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXM0MgQ1NTIG9yIFdQVCBnaXRodWI6Ci0J
aHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy10ZXN0CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CiAJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNl
cnZlL3czYy1pbXBvcnQubG9nCmluZGV4IGFlMzUwYTY0ODg3NGY3MWU2MmVjMjY0OTczYmY2NmU5
OGJlMjQ4ZmQuLmVmMDcwMmMxZGY3YjBlNzQ3Mjc1ZTRkMThkY2JiYTljODg3NzMxY2QgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0c2VydmUvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsx
LDYgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3Ig
V1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKIAlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93
cHRzZXJ2ZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0c2VydmUvdzNjLWltcG9ydC5sb2cKaW5kZXgg
MTY5OTNlNzZkMDliNzUyZTgxNWEyZGZkMmZlN2RiYzVhZDdiY2UwMy4uMzE1ZDVhNWUwN2M3NWYz
YzM5ODJhMWFlOTg5YzY0YjdmNzU3ZWRlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS93M2MtaW1w
b3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNiBAQAog
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
LUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgVzNDIENTUyBvciBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctdGVzdAorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgogCWh0dHBzOi8vZ2l0aHViLmNvbS93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VybC9pbnRlcmZhY2VzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXJsL2lu
dGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4IGJhYmRhOGJiZWUyYjY5ZTc5YzNjMzQ4Zjc3Mzlm
ZjhjNjdkNmRkZGMuLmFjM2VjNWQ0NmY3N2EwYThjNDIyN2VlMzc5NmQ2YzAzYzNjMTkzMDMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdXJs
L2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdXJsL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0yMCw4ICsy
MCw2IEBAIFBBU1MgVVJMIGludGVyZmFjZTogYXR0cmlidXRlIHNlYXJjaAogUEFTUyBVUkwgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgc2VhcmNoUGFyYW1zIAogUEFTUyBVUkwgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgaGFzaCAKIFBBU1MgVVJMIGludGVyZmFjZTogb3BlcmF0aW9uIHRvSlNPTigpIAotUEFT
UyBVUkwgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgVVJMKCJodHRwOi8vZm9vIikg
Ci1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgVVJMKCJodHRwOi8vZm9vIikgCiBQQVNTIFVS
TCBpbnRlcmZhY2U6IG5ldyBVUkwoImh0dHA6Ly9mb28iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
ImhyZWYiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgVVJMIGludGVyZmFjZTogbmV3
IFVSTCgiaHR0cDovL2ZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3JpZ2luIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMSkgCiBQQVNTIFVSTCBpbnRlcmZhY2U6IG5ldyBVUkwoImh0dHA6Ly9m
b28iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInByb3RvY29sIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMikgCkBAIC00Nyw5ICs0NSw5IEBAIFBBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTog
b3BlcmF0aW9uIGdldEFsbChVU1ZTdHJpbmcpCiBQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBoYXMoVVNWU3RyaW5nKSAKIFBBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVy
ZmFjZTogb3BlcmF0aW9uIHNldChVU1ZTdHJpbmcsVVNWU3RyaW5nKSAKIEZBSUwgVGVzdGluZyBT
eW1ib2wuaXRlcmF0b3IgcHJvcGVydHkgb2YgaXRlcmFibGUgaW50ZXJmYWNlIFVSTFNlYXJjaFBh
cmFtcyBhc3NlcnRfZXF1YWxzOiBAQGl0ZXJhdG9yIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgdGhl
IHJpZ2h0IG5hbWUgZXhwZWN0ZWQgImVudHJpZXMiIGJ1dCBnb3QgIltTeW1ib2wuSXRlcmF0b3Jd
IgotRkFJTCBUZXN0aW5nIHBhaXIgaXRlcmFibGUgaW50ZXJmYWNlIFVSTFNlYXJjaFBhcmFtcyBh
c3NlcnRfZXF1YWxzOiBlbnRyaWVzIG1ldGhvZCBpcyBub3QgdGhlIHNhbWUgYXMgQEBpdGVyYXRv
ciBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gW1N5bWJvbC5JdGVyYXRvcl0oKSB7CitGQUlM
IFRlc3RpbmcgcGFpciBpdGVyYWJsZSBpbnRlcmZhY2UgVVJMU2VhcmNoUGFyYW1zIGFzc2VydF9l
cXVhbHM6IGVudHJpZXMgbWV0aG9kIGlzIG5vdCB0aGUgc2FtZSBhcyBAQGl0ZXJhdG9yIGV4cGVj
dGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBlbnRyaWVzKCkgewogICAgIFtuYXRpdmUgY29kZV0KLX0i
IGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIGVudHJpZXMoKSB7Cit9IiBidXQgZ290IGZ1bmN0
aW9uICJmdW5jdGlvbiBbU3ltYm9sLkl0ZXJhdG9yXSgpIHsKICAgICBbbmF0aXZlIGNvZGVdCiB9
IgogUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBzdHJpbmdpZmllciAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL2Rh
dGFjaGFubmVsLWlkbGhhcm5lc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvZGF0YWNoYW5uZWwtaWRsaGFybmVzcy1leHBl
Y3RlZC50eHQKaW5kZXggMDkzMTM2OTg5ZWI4MzRiNmUzNzhjMmQzMWUyZDRlNzdjYWNlZDRmZC4u
ZTRlNzA4NThiZDNiM2M2MDc0NWZhNjY5NTA3OTdjODIyZTliOTBmMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvZGF0YWNoYW5u
ZWwtaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvZGF0YWNoYW5uZWwtaWRsaGFybmVzcy1leHBlY3Rl
ZC50eHQKQEAgLTMwLDggKzMwLDYgQEAgUEFTUyBSVENEYXRhQ2hhbm5lbCBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBzZW5kKFVTVlN0cmluZykKIFBBU1MgUlRDRGF0YUNoYW5uZWwgaW50ZXJmYWNlOiBv
cGVyYXRpb24gc2VuZChCbG9iKSAKIFBBU1MgUlRDRGF0YUNoYW5uZWwgaW50ZXJmYWNlOiBvcGVy
YXRpb24gc2VuZChBcnJheUJ1ZmZlcikgCiBQQVNTIFJUQ0RhdGFDaGFubmVsIGludGVyZmFjZTog
b3BlcmF0aW9uIHNlbmQoQXJyYXlCdWZmZXJWaWV3KSAKLVBBU1MgUlRDRGF0YUNoYW5uZWwgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBjaGFubmVsIAotRkFJTCBTdHJpbmdpZmljYXRpb24g
b2YgY2hhbm5lbCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5h
cnJheS5tZW1iZXJzW3RoaXMuYmFzZV0uaGFzX3N0cmluZ2lmaWVyJykKIFBBU1MgUlRDRGF0YUNo
YW5uZWwgaW50ZXJmYWNlOiBjaGFubmVsIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFiZWwiIHdp
dGggdGhlIHByb3BlciB0eXBlICgwKSAKIFBBU1MgUlRDRGF0YUNoYW5uZWwgaW50ZXJmYWNlOiBj
aGFubmVsIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3JkZXJlZCIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgKDEpIAogUEFTUyBSVENEYXRhQ2hhbm5lbCBpbnRlcmZhY2U6IGNoYW5uZWwgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJtYXhQYWNrZXRMaWZlVGltZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIp
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKaW5kZXggM2Mw
ZjNiN2ExNGMxYmI1NjAxNjQ1ZTY0NTIxYzY0ZGU1NzQ4MGEyNC4uNzBhY2ZlMDEwN2NkYjgyYTRk
YTY4Nzg0ZDY5ZjEwNjFiZmYwMDFhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sy
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lkbGhhcm5l
c3MtZXhwZWN0ZWQudHh0CkBAIC02LDExICs2LDYgQEAgUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUodW5zaWduZWQgbG9uZykK
IFBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25yZXNvdXJjZXRpbWluZ2J1
ZmZlcmZ1bGwgCiBQQVNTIFBlcmZvcm1hbmNlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
d2luZG93LnBlcmZvcm1hbmNlIAogUEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygd2luZG93LnBlcmZv
cm1hbmNlIAotUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IHdpbmRvdy5wZXJmb3JtYW5jZSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImdldEVudHJpZXMiIHdpdGggdGhlIHByb3BlciB0eXBlICgw
KSAKLVBBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiB3aW5kb3cucGVyZm9ybWFuY2UgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJnZXRFbnRyaWVzQnlUeXBlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
MSkgCi1QQVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTogY2FsbGluZyBnZXRFbnRyaWVzQnlUeXBl
KERPTVN0cmluZykgb24gd2luZG93LnBlcmZvcm1hbmNlIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTogd2luZG93
LnBlcmZvcm1hbmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZ2V0RW50cmllc0J5TmFtZSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDIpIAotUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IGNhbGxp
bmcgZ2V0RW50cmllc0J5TmFtZShET01TdHJpbmcsRE9NU3RyaW5nKSBvbiB3aW5kb3cucGVyZm9y
bWFuY2Ugd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1Mg
UGVyZm9ybWFuY2UgaW50ZXJmYWNlOiB3aW5kb3cucGVyZm9ybWFuY2UgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJjbGVhclJlc291cmNlVGltaW5ncyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDMpIAog
UEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IHdpbmRvdy5wZXJmb3JtYW5jZSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgKDQpIAogUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IGNhbGxpbmcgc2V0UmVzb3Vy
Y2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGxvbmcpIG9uIHdpbmRvdy5wZXJmb3JtYW5jZSB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9icm93c2Vycy9icm93c2luZy10aGUtd2ViL2hpc3RvcnktdHJhdmVyc2FsL3BlcnNpc3Rl
ZC11c2VyLXN0YXRlLXJlc3RvcmF0aW9uL3Njcm9sbC1yZXN0b3JhdGlvbi1mcmFnbWVudC1zY3Jv
bGxpbmctY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvYnJvd3Npbmct
dGhlLXdlYi9oaXN0b3J5LXRyYXZlcnNhbC9wZXJzaXN0ZWQtdXNlci1zdGF0ZS1yZXN0b3JhdGlv
bi9zY3JvbGwtcmVzdG9yYXRpb24tZnJhZ21lbnQtc2Nyb2xsaW5nLWNyb3NzLW9yaWdpbi1leHBl
Y3RlZC50eHQKaW5kZXggZjYwOTM5OTE5YTRiYTIyOTUwNDAwNjcxNGQ3NjY1ZTU5NDY4OGFmZi4u
NDYzYjU5ODUxYWFmYzA2NjI2MzRmYzUxOWEzN2YyOTQ2NjRlYjNiOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9icm93c2Vycy9icm93c2luZy10aGUtd2ViL2hpc3RvcnktdHJhdmVyc2FsL3BlcnNpc3RlZC11
c2VyLXN0YXRlLXJlc3RvcmF0aW9uL3Njcm9sbC1yZXN0b3JhdGlvbi1mcmFnbWVudC1zY3JvbGxp
bmctY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5n
LXRoZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwvcGVyc2lzdGVkLXVzZXItc3RhdGUtcmVzdG9yYXRp
b24vc2Nyb2xsLXJlc3RvcmF0aW9uLWZyYWdtZW50LXNjcm9sbGluZy1jcm9zcy1vcmlnaW4tZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI0NDg6IEVy
cm9yOiBhc3NlcnRfZXF1YWxzOiBzaG91bGQgc2Nyb2xsIHRvIGZyYWdtZW50IGV4cGVjdGVkIDgw
MCBidXQgZ290IDAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNTM0OiBFcnJvcjogYXNzZXJ0X2Vx
dWFsczogc2hvdWxkIHNjcm9sbCB0byBmcmFnbWVudCBleHBlY3RlZCA4MDAgYnV0IGdvdCAwCiAK
IAogSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2RvbS9yZWZsZWN0aW9uLWVtYmVkZGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxl
Y3Rpb24tZW1iZWRkZWQtZXhwZWN0ZWQudHh0CmluZGV4IGNkNDk2YzhlMDJmYmJlYjAyYjhhYjAx
MDM2MmE5NjEwZjcwMmViNjMuLjFhMzZlY2I1ZmZlOTI1MjY2ZWFmZTQxYTQ0MjBlMzE1MGE1NTE5
MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZW1iZWRkZWQtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24tZW1iZWRkZWQtZXhwZWN0ZWQudHh0CkBAIC0xOSwx
OSArMTksMTkgQEAgQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc4NjogVGhlIGxhbmd1YWdlIGNvbnRh
aW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlzIG5vdCBhIHYKIENPTlNPTEUgTUVTU0FHRTogbGlu
ZSA3ODY6IFRoZSBsYW5ndWFnZSAnbnVsbCcgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdl
IHRhZy4KIENPTlNPTEUgTUVTU0FHRTogbGluZSA3ODY6IFRoZSBsYW5ndWFnZSAndGVzdC10b1N0
cmluZycgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KIENPTlNPTEUgTUVTU0FH
RTogbGluZSA3ODY6IFRoZSBsYW5ndWFnZSAndGVzdC12YWx1ZU9mJyBpcyBub3QgYSB2YWxpZCBC
Q1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5n
dWFnZSBjb250YWlucyBhIG51bGwgY2hhcmFjdGVyIGFuZCBpcyBub3QgYSB2YWxpZCBCQ1AgNDcg
bGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSAn
dW5kZWZpbmVkJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSAnNycgaXMgbm90IGEgdmFsaWQgQkNQIDQ3
IGxhbmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2Ug
JzEuNScgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJ3RydWUnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBs
YW5ndWFnZSB0YWcuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNjogVGhlIGxhbmd1YWdlICdm
YWxzZScgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJ1tvYmplY3QgT2JqZWN0XScgaXMgbm90IGEgdmFs
aWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUg
bGFuZ3VhZ2UgJ0luZmluaXR5JyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRoZSBsYW5ndWFnZSAnLUluZmluaXR5JyBpcyBu
b3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0
MDY6IFRoZSBsYW5ndWFnZSBjb250YWlucyBhIG51bGwgY2hhcmFjdGVyIGFuZCBpcyBub3QgYSB2
YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDY6IFRo
ZSBsYW5ndWFnZSAnbnVsbCcgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAxNDA2OiBUaGUgbGFuZ3VhZ2UgJ3Rlc3QtdG9TdHJpbmcnIGlz
IG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTQwNjogVGhlIGxhbmd1YWdlICd0ZXN0LXZhbHVlT2YnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBs
YW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlIGNv
bnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFn
ZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlICd1bmRlZmlu
ZWQnIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlICc3JyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3Vh
Z2UgdGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFnZSAnMS41JyBp
cyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE0MDU6IFRoZSBsYW5ndWFnZSAndHJ1ZScgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdl
IHRhZy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBUaGUgbGFuZ3VhZ2UgJ2ZhbHNlJyBp
cyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE0MDU6IFRoZSBsYW5ndWFnZSAnW29iamVjdCBPYmplY3RdJyBpcyBub3QgYSB2YWxpZCBCQ1Ag
NDcgbGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFn
ZSAnSW5maW5pdHknIGlzIG5vdCBhIHZhbGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1YWdlICctSW5maW5pdHknIGlzIG5vdCBhIHZh
bGlkIEJDUCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhl
IGxhbmd1YWdlIGNvbnRhaW5zIGEgbnVsbCBjaGFyYWN0ZXIgYW5kIGlzIG5vdCBhIHZhbGlkIEJD
UCA0NyBsYW5ndWFnZSB0YWcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQwNTogVGhlIGxhbmd1
YWdlICdudWxsJyBpcyBub3QgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE0MDU6IFRoZSBsYW5ndWFnZSAndGVzdC10b1N0cmluZycgaXMgbm90IGEg
dmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNDA1OiBU
aGUgbGFuZ3VhZ2UgJ3Rlc3QtdmFsdWVPZicgaXMgbm90IGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdl
IHRhZy4KIEltcGxlbWVudGVycyBsb29raW5nIHRvIGZpeCBidWdzIG1pZ2h0IHdhbnQgdG8gdXNl
IHRoZSBvcmlnaW5hbCB2ZXJzaW9uIG9mIHRoaXMgc3VpdGUncyB0ZXN0IGZyYW1ld29yaywgd2hp
Y2ggY29udmVuaWVudGx5IGFnZ3JlZ2F0ZXMgc2ltaWxhciBlcnJvcnMgYW5kIG9ubHkgcmVwb3J0
cyBmYWlsdXJlcy4gVGhpcyBmaWxlIGlzIChwYXJ0IG9mKSB0aGUgYXV0aG9yaXRhdGl2ZSBjb25m
b3JtYW5jZSB0ZXN0IHN1aXRlLCBhbmQgaXMgc3VpdGFibGUgZm9yIGluY29ycG9yYXRpb24gaW50
byBhdXRvbWF0ZWQgdGVzdCBzdWl0ZXMuCiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL2lu
dGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL2ludGVyZmFjZXMtZXhwZWN0ZWQu
dHh0CmluZGV4IGQwYTJkMWE4MjFhYmJlY2JiYjkwNWMwNDgxOTI2NzUwODM1Y2E2YjQuLmFmMWJl
Mjk3Mzk5MWVkMDNmOGVlNWU2MzEzNTcwODUyZGUzZTlmN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNv
dXJjZS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvaW50ZXJmYWNl
cy1leHBlY3RlZC50eHQKQEAgLTIxLDggKzIxLDYgQEAgUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBlbmRPZlN0cmVhbShFbmRPZlN0cmVhbUVycm9yKQogUEFTUyBNZWRpYVNv
dXJjZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRMaXZlU2Vla2FibGVSYW5nZShkb3VibGUsZG91
YmxlKSAKIFBBU1MgTWVkaWFTb3VyY2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gY2xlYXJMaXZlU2Vl
a2FibGVSYW5nZSgpIAogUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpc1R5
cGVTdXBwb3J0ZWQoRE9NU3RyaW5nKSAKLVBBU1MgTWVkaWFTb3VyY2UgbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBtZWRpYVNvdXJjZSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG1lZGlh
U291cmNlIAogUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAic291cmNlQnVmZmVycyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAog
UEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAiYWN0aXZlU291cmNlQnVmZmVycyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAogUEFT
UyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAicmVhZHlTdGF0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIApAQCAtNDEsMTIgKzM5LDYg
QEAgUEFTUyBNZWRpYVNvdXJjZSBpbnRlcmZhY2U6IGNhbGxpbmcgc2V0TGl2ZVNlZWthYmxlUmFu
Z2UoZG91YmxlLGRvdWJsZSkgb24gbWVkaWEKIFBBU1MgTWVkaWFTb3VyY2UgaW50ZXJmYWNlOiBt
ZWRpYVNvdXJjZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNsZWFyTGl2ZVNlZWthYmxlUmFuZ2Ui
IHdpdGggdGhlIHByb3BlciB0eXBlICgxMSkgCiBQQVNTIE1lZGlhU291cmNlIGludGVyZmFjZTog
bWVkaWFTb3VyY2UgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpc1R5cGVTdXBwb3J0ZWQiIHdpdGgg
dGhlIHByb3BlciB0eXBlICgxMikgCiBQQVNTIE1lZGlhU291cmNlIGludGVyZmFjZTogY2FsbGlu
ZyBpc1R5cGVTdXBwb3J0ZWQoRE9NU3RyaW5nKSBvbiBtZWRpYVNvdXJjZSB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZh
Y2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWRkRXZlbnRMaXN0ZW5lciIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNh
bGxpbmcgYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsRXZlbnRMaXN0ZW5lcixib29sZWFuKSBv
biBtZWRpYVNvdXJjZSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEpIAot
UEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3ZlRXZlbnRMaXN0ZW5lcihE
T01TdHJpbmcsRXZlbnRMaXN0ZW5lcixib29sZWFuKSBvbiBtZWRpYVNvdXJjZSB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRl
cmZhY2U6IG1lZGlhU291cmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzcGF0Y2hFdmVudCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IGNh
bGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gbWVkaWFTb3VyY2Ugd2l0aCB0b28gZmV3IGFy
Z3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgU291cmNlQnVmZmVyIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIFNv
dXJjZUJ1ZmZlciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgU291cmNlQnVmZmVyIGlu
dGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTY5LDggKzYxLDYgQEAgUEFTUyBTb3VyY2VCdWZmZXIg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9ydAogUEFTUyBTb3VyY2VCdWZmZXIgaW50ZXJmYWNl
OiBvcGVyYXRpb24gYXBwZW5kQnVmZmVyKEJ1ZmZlclNvdXJjZSkgCiBQQVNTIFNvdXJjZUJ1ZmZl
ciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhYm9ydCgpIAogUEFTUyBTb3VyY2VCdWZmZXIgaW50ZXJm
YWNlOiBvcGVyYXRpb24gcmVtb3ZlKGRvdWJsZSx1bnJlc3RyaWN0ZWQgZG91YmxlKSAKLVBBU1Mg
U291cmNlQnVmZmVyIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygc291cmNlQnVmZmVyIAot
UEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygc291cmNlQnVmZmVyIAogUEFTUyBTb3VyY2VCdWZmZXIg
aW50ZXJmYWNlOiBzb3VyY2VCdWZmZXIgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtb2RlIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAoMCkgCiBQQVNTIFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2U6IHNvdXJj
ZUJ1ZmZlciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwZGF0aW5nIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAoMSkgCiBQQVNTIFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2U6IHNvdXJjZUJ1ZmZlciBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImJ1ZmZlcmVkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCkBA
IC05MCwxMiArODAsNiBAQCBQQVNTIFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2U6IGNhbGxpbmcgYXBw
ZW5kQnVmZmVyKEJ1ZmZlclNvdXJjZSkgb24gc291cmNlQnVmZmVyCiBQQVNTIFNvdXJjZUJ1ZmZl
ciBpbnRlcmZhY2U6IHNvdXJjZUJ1ZmZlciBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFib3J0IiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMTUpIAogUEFTUyBTb3VyY2VCdWZmZXIgaW50ZXJmYWNlOiBz
b3VyY2VCdWZmZXIgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmUiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgxNikgCiBQQVNTIFNvdXJjZUJ1ZmZlciBpbnRlcmZhY2U6IGNhbGxpbmcgcmVtb3Zl
KGRvdWJsZSx1bnJlc3RyaWN0ZWQgZG91YmxlKSBvbiBzb3VyY2VCdWZmZXIgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBzb3VyY2VCdWZmZXIgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhZGRFdmVudExpc3RlbmVy
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTog
Y2FsbGluZyBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZyxFdmVudExpc3RlbmVyLGJvb2xlYW4p
IG9uIHNvdXJjZUJ1ZmZlciB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IHNvdXJjZUJ1ZmZlciBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInJlbW92ZUV2ZW50TGlzdGVuZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgx
KSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIHJlbW92ZUV2ZW50TGlzdGVu
ZXIoRE9NU3RyaW5nLEV2ZW50TGlzdGVuZXIsYm9vbGVhbikgb24gc291cmNlQnVmZmVyIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogc291cmNlQnVmZmVyIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzcGF0Y2hF
dmVudCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZh
Y2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gc291cmNlQnVmZmVyIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIFNvdXJjZUJ1ZmZlckxp
c3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKIFBBU1MgU291cmNlQnVmZmVyTGlzdCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1Mg
U291cmNlQnVmZmVyTGlzdCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCkBAIC0xMDQsMTUgKzg4LDcg
QEAgUEFTUyBTb3VyY2VCdWZmZXJMaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUKIFBBU1MgU291cmNlQnVmZmVyTGlzdCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBsZW5ndGggCiBQQVNTIFNvdXJjZUJ1ZmZlckxpc3QgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25hZGRzb3VyY2VidWZmZXIgCiBQQVNTIFNvdXJjZUJ1ZmZlckxpc3QgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25yZW1vdmVzb3VyY2VidWZmZXIgCi1QQVNTIFNvdXJjZUJ1ZmZlckxp
c3QgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJz
IAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyAKIFBB
U1MgU291cmNlQnVmZmVyTGlzdCBpbnRlcmZhY2U6IG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJsZW5ndGgiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAK
IFBBU1MgU291cmNlQnVmZmVyTGlzdCBpbnRlcmZhY2U6IG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZl
cnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmFkZHNvdXJjZWJ1ZmZlciIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDEpIAogUEFTUyBTb3VyY2VCdWZmZXJMaXN0IGludGVyZmFjZTogbWVkaWFTb3Vy
Y2Uuc291cmNlQnVmZmVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucmVtb3Zlc291cmNlYnVm
ZmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMikgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFj
ZTogbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2
ZW50TGlzdGVuZXIiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKLVBBU1MgRXZlbnRUYXJnZXQg
aW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLEV2ZW50TGlzdGVu
ZXIsYm9vbGVhbikgb24gbWVkaWFTb3VyY2Uuc291cmNlQnVmZmVycyB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6
IG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmVF
dmVudExpc3RlbmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCi1QQVNTIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZyxFdmVudExp
c3RlbmVyLGJvb2xlYW4pIG9uIG1lZGlhU291cmNlLnNvdXJjZUJ1ZmZlcnMgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBtZWRpYVNvdXJjZS5zb3VyY2VCdWZmZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlz
cGF0Y2hFdmVudCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIAotUEFTUyBFdmVudFRhcmdldCBp
bnRlcmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gbWVkaWFTb3VyY2Uuc291
cmNlQnVmZmVycyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>